{"version":3,"file":"f12adedf7f6d559035418bd8b1c8b6f7b4db32fa-dc9b023bb2f7cb642d8b.js","mappings":"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","sources":["webpack://gatsby-starter-default/./node_modules/antd/es/_util/hooks/useFlexGapSupport.js","webpack://gatsby-starter-default/./node_modules/antd/es/_util/responsiveObserve.js","webpack://gatsby-starter-default/./node_modules/antd/es/_util/styleChecker.js","webpack://gatsby-starter-default/./node_modules/antd/es/_util/type.js","webpack://gatsby-starter-default/./node_modules/antd/es/grid/RowContext.js","webpack://gatsby-starter-default/./node_modules/antd/es/grid/col.js","webpack://gatsby-starter-default/./node_modules/antd/es/grid/row.js","webpack://gatsby-starter-default/./node_modules/rc-overflow/es/Item.js","webpack://gatsby-starter-default/./node_modules/rc-overflow/es/RawItem.js","webpack://gatsby-starter-default/./node_modules/rc-overflow/es/Overflow.js","webpack://gatsby-starter-default/./node_modules/rc-overflow/es/hooks/useBatchFrameState.js","webpack://gatsby-starter-default/./node_modules/rc-overflow/es/index.js","webpack://gatsby-starter-default/./node_modules/rc-resize-observer/es/utils/observerUtil.js","webpack://gatsby-starter-default/./node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","webpack://gatsby-starter-default/./node_modules/rc-resize-observer/es/Collection.js","webpack://gatsby-starter-default/./node_modules/rc-resize-observer/es/SingleObserver/index.js","webpack://gatsby-starter-default/./node_modules/rc-resize-observer/es/index.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/utils/alignUtil.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/utils/legacyUtil.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/Popup/Mask.js","webpack://gatsby-starter-default/./node_modules/dom-align/dist-web/index.js","webpack://gatsby-starter-default/./node_modules/rc-align/es/util.js","webpack://gatsby-starter-default/./node_modules/rc-align/es/Align.js","webpack://gatsby-starter-default/./node_modules/rc-align/es/hooks/useBuffer.js","webpack://gatsby-starter-default/./node_modules/rc-align/es/index.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/Popup/useVisibleStatus.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/Popup/PopupInner.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/Popup/useStretchStyle.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/Popup/MobilePopupInner.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/Popup/index.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/context.js","webpack://gatsby-starter-default/./node_modules/rc-trigger/es/index.js","webpack://gatsby-starter-default/./node_modules/rc-util/es/Dom/addEventListener.js","webpack://gatsby-starter-default/./node_modules/rc-util/es/Dom/contains.js","webpack://gatsby-starter-default/./node_modules/rc-util/es/Dom/isVisible.js","webpack://gatsby-starter-default/./node_modules/rc-util/es/Portal.js","webpack://gatsby-starter-default/./node_modules/rc-util/es/isMobile.js","webpack://gatsby-starter-default/./node_modules/rc-util/es/omit.js","webpack://gatsby-starter-default/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://gatsby-starter-default/./src/components/footer.js"],"sourcesContent":["import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { detectFlexGapSupported } from '../styleChecker';\nexport default (function () {\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n flexible = _React$useState2[0],\n setFlexible = _React$useState2[1];\n\n React.useEffect(function () {\n setFlexible(detectFlexGapSupported());\n }, []);\n return flexible;\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nexport var responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport var responsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)'\n};\nvar subscribers = new Map();\nvar subUid = -1;\nvar screens = {};\nvar responsiveObserve = {\n matchHandlers: {},\n dispatch: function dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(function (func) {\n return func(screens);\n });\n return subscribers.size >= 1;\n },\n subscribe: function subscribe(func) {\n if (!subscribers.size) this.register();\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe: function unsubscribe(token) {\n subscribers[\"delete\"](token);\n if (!subscribers.size) this.unregister();\n },\n unregister: function unregister() {\n var _this = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n var handler = _this.matchHandlers[matchMediaQuery];\n handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n },\n register: function register() {\n var _this2 = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n\n var listener = function listener(_ref) {\n var matches = _ref.matches;\n\n _this2.dispatch(_extends(_extends({}, screens), _defineProperty({}, screen, matches)));\n };\n\n var mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n _this2.matchHandlers[matchMediaQuery] = {\n mql: mql,\n listener: listener\n };\n listener(mql);\n });\n }\n};\nexport default responsiveObserve;","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nexport var canUseDocElement = function canUseDocElement() {\n return canUseDom() && window.document.documentElement;\n};\nexport { isStyleSupport };\nvar flexGapSupported;\nexport var detectFlexGapSupported = function detectFlexGapSupported() {\n if (!canUseDocElement()) {\n return false;\n }\n\n if (flexGapSupported !== undefined) {\n return flexGapSupported;\n } // create flex container with row-gap set\n\n\n var flex = document.createElement('div');\n flex.style.display = 'flex';\n flex.style.flexDirection = 'column';\n flex.style.rowGap = '1px'; // create two, elements inside it\n\n flex.appendChild(document.createElement('div'));\n flex.appendChild(document.createElement('div')); // append to the DOM (needed to obtain scrollHeight)\n\n document.body.appendChild(flex);\n flexGapSupported = flex.scrollHeight === 1; // flex container should be 1px high from the row-gap\n\n document.body.removeChild(flex);\n return flexGapSupported;\n};","// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead\nexport var tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args;\n};\nexport var tupleNum = function tupleNum() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args;\n};","import { createContext } from 'react';\nvar RowContext = /*#__PURE__*/createContext({});\nexport default RowContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RowContext from './RowContext';\nimport { ConfigContext } from '../config-provider';\n\nfunction parseFlex(flex) {\n if (typeof flex === 'number') {\n return \"\".concat(flex, \" \").concat(flex, \" auto\");\n }\n\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return \"0 0 \".concat(flex);\n }\n\n return flex;\n}\n\nvar sizes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nvar Col = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _React$useContext2 = React.useContext(RowContext),\n gutter = _React$useContext2.gutter,\n wrap = _React$useContext2.wrap,\n supportFlexGap = _React$useContext2.supportFlexGap;\n\n var customizePrefixCls = props.prefixCls,\n span = props.span,\n order = props.order,\n offset = props.offset,\n push = props.push,\n pull = props.pull,\n className = props.className,\n children = props.children,\n flex = props.flex,\n style = props.style,\n others = __rest(props, [\"prefixCls\", \"span\", \"order\", \"offset\", \"push\", \"pull\", \"className\", \"children\", \"flex\", \"style\"]);\n\n var prefixCls = getPrefixCls('col', customizePrefixCls);\n var sizeClassObj = {};\n sizes.forEach(function (size) {\n var _extends2;\n\n var sizeProps = {};\n var propSize = props[size];\n\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (_typeof(propSize) === 'object') {\n sizeProps = propSize || {};\n }\n\n delete others[size];\n sizeClassObj = _extends(_extends({}, sizeClassObj), (_extends2 = {}, _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-\").concat(sizeProps.span), sizeProps.span !== undefined), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-order-\").concat(sizeProps.order), sizeProps.order || sizeProps.order === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-offset-\").concat(sizeProps.offset), sizeProps.offset || sizeProps.offset === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-push-\").concat(sizeProps.push), sizeProps.push || sizeProps.push === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-pull-\").concat(sizeProps.pull), sizeProps.pull || sizeProps.pull === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _extends2));\n });\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(span), span !== undefined), _defineProperty(_classNames, \"\".concat(prefixCls, \"-order-\").concat(order), order), _defineProperty(_classNames, \"\".concat(prefixCls, \"-offset-\").concat(offset), offset), _defineProperty(_classNames, \"\".concat(prefixCls, \"-push-\").concat(push), push), _defineProperty(_classNames, \"\".concat(prefixCls, \"-pull-\").concat(pull), pull), _classNames), className, sizeClassObj);\n var mergedStyle = {}; // Horizontal gutter use padding\n\n if (gutter && gutter[0] > 0) {\n var horizontalGutter = gutter[0] / 2;\n mergedStyle.paddingLeft = horizontalGutter;\n mergedStyle.paddingRight = horizontalGutter;\n } // Vertical gutter use padding when gap not support\n\n\n if (gutter && gutter[1] > 0 && !supportFlexGap) {\n var verticalGutter = gutter[1] / 2;\n mergedStyle.paddingTop = verticalGutter;\n mergedStyle.paddingBottom = verticalGutter;\n }\n\n if (flex) {\n mergedStyle.flex = parseFlex(flex); // Hack for Firefox to avoid size issue\n // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553\n\n if (wrap === false && !mergedStyle.minWidth) {\n mergedStyle.minWidth = 0;\n }\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n style: _extends(_extends({}, mergedStyle), style),\n className: classes,\n ref: ref\n }), children);\n});\nCol.displayName = 'Col';\nexport default Col;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport RowContext from './RowContext';\nimport { tuple } from '../_util/type';\nimport ResponsiveObserve, { responsiveArray } from '../_util/responsiveObserve';\nimport useFlexGapSupport from '../_util/hooks/useFlexGapSupport';\nvar RowAligns = tuple('top', 'middle', 'bottom', 'stretch');\nvar RowJustify = tuple('start', 'end', 'center', 'space-around', 'space-between');\nvar Row = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var customizePrefixCls = props.prefixCls,\n justify = props.justify,\n align = props.align,\n className = props.className,\n style = props.style,\n children = props.children,\n _props$gutter = props.gutter,\n gutter = _props$gutter === void 0 ? 0 : _props$gutter,\n wrap = props.wrap,\n others = __rest(props, [\"prefixCls\", \"justify\", \"align\", \"className\", \"style\", \"children\", \"gutter\", \"wrap\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _React$useState = React.useState({\n xs: true,\n sm: true,\n md: true,\n lg: true,\n xl: true,\n xxl: true\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n screens = _React$useState2[0],\n setScreens = _React$useState2[1];\n\n var supportFlexGap = useFlexGapSupport();\n var gutterRef = React.useRef(gutter); // ================================== Effect ==================================\n\n React.useEffect(function () {\n var token = ResponsiveObserve.subscribe(function (screen) {\n var currentGutter = gutterRef.current || 0;\n\n if (!Array.isArray(currentGutter) && _typeof(currentGutter) === 'object' || Array.isArray(currentGutter) && (_typeof(currentGutter[0]) === 'object' || _typeof(currentGutter[1]) === 'object')) {\n setScreens(screen);\n }\n });\n return function () {\n return ResponsiveObserve.unsubscribe(token);\n };\n }, []); // ================================== Render ==================================\n\n var getGutter = function getGutter() {\n var results = [0, 0];\n var normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, 0];\n normalizedGutter.forEach(function (g, index) {\n if (_typeof(g) === 'object') {\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g || 0;\n }\n });\n return results;\n };\n\n var prefixCls = getPrefixCls('row', customizePrefixCls);\n var gutters = getGutter();\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-no-wrap\"), wrap === false), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(justify), justify), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(align), align), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className); // Add gutter related style\n\n var rowStyle = {};\n var horizontalGutter = gutters[0] > 0 ? gutters[0] / -2 : undefined;\n var verticalGutter = gutters[1] > 0 ? gutters[1] / -2 : undefined;\n\n if (horizontalGutter) {\n rowStyle.marginLeft = horizontalGutter;\n rowStyle.marginRight = horizontalGutter;\n }\n\n if (supportFlexGap) {\n // Set gap direct if flex gap support\n var _gutters = _slicedToArray(gutters, 2);\n\n rowStyle.rowGap = _gutters[1];\n } else if (verticalGutter) {\n rowStyle.marginTop = verticalGutter;\n rowStyle.marginBottom = verticalGutter;\n }\n\n var rowContext = React.useMemo(function () {\n return {\n gutter: gutters,\n wrap: wrap,\n supportFlexGap: supportFlexGap\n };\n }, [gutters, wrap, supportFlexGap]);\n return /*#__PURE__*/React.createElement(RowContext.Provider, {\n value: rowContext\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classes,\n style: _extends(_extends({}, rowStyle), style),\n ref: ref\n }), children));\n});\nRow.displayName = 'Row';\nexport default Row;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer'; // Use shared variable to save bundle size\n\nvar UNDEFINED = undefined;\n\nfunction InternalItem(props, ref) {\n var prefixCls = props.prefixCls,\n invalidate = props.invalidate,\n item = props.item,\n renderItem = props.renderItem,\n responsive = props.responsive,\n registerSize = props.registerSize,\n itemKey = props.itemKey,\n className = props.className,\n style = props.style,\n children = props.children,\n display = props.display,\n order = props.order,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"invalidate\", \"item\", \"renderItem\", \"responsive\", \"registerSize\", \"itemKey\", \"className\", \"style\", \"children\", \"display\", \"order\", \"component\"]);\n\n var mergedHidden = responsive && !display; // ================================ Effect ================================\n\n function internalRegisterSize(width) {\n registerSize(itemKey, width);\n }\n\n React.useEffect(function () {\n return function () {\n internalRegisterSize(null);\n };\n }, []); // ================================ Render ================================\n\n var childNode = renderItem && item !== UNDEFINED ? renderItem(item) : children;\n var overflowStyle;\n\n if (!invalidate) {\n overflowStyle = {\n opacity: mergedHidden ? 0 : 1,\n height: mergedHidden ? 0 : UNDEFINED,\n overflowY: mergedHidden ? 'hidden' : UNDEFINED,\n order: responsive ? order : UNDEFINED,\n pointerEvents: mergedHidden ? 'none' : UNDEFINED,\n position: mergedHidden ? 'absolute' : UNDEFINED\n };\n }\n\n var overflowProps = {};\n\n if (mergedHidden) {\n overflowProps['aria-hidden'] = true;\n }\n\n var itemNode = /*#__PURE__*/React.createElement(Component, _extends({\n className: classNames(!invalidate && prefixCls, className),\n style: _objectSpread(_objectSpread({}, overflowStyle), style)\n }, overflowProps, restProps, {\n ref: ref\n }), childNode);\n\n if (responsive) {\n itemNode = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize(_ref) {\n var offsetWidth = _ref.offsetWidth;\n internalRegisterSize(offsetWidth);\n }\n }, itemNode);\n }\n\n return itemNode;\n}\n\nvar Item = /*#__PURE__*/React.forwardRef(InternalItem);\nItem.displayName = 'Item';\nexport default Item;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Item from './Item';\nimport { OverflowContext } from './Overflow';\n\nvar InternalRawItem = function InternalRawItem(props, ref) {\n var context = React.useContext(OverflowContext); // Render directly when context not provided\n\n if (!context) {\n var _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _restProps = _objectWithoutProperties(props, [\"component\"]);\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, _restProps, {\n ref: ref\n }));\n }\n\n var contextClassName = context.className,\n restContext = _objectWithoutProperties(context, [\"className\"]);\n\n var className = props.className,\n restProps = _objectWithoutProperties(props, [\"className\"]); // Do not pass context to sub item to avoid multiple measure\n\n\n return /*#__PURE__*/React.createElement(OverflowContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(Item, _extends({\n ref: ref,\n className: classNames(contextClassName, className)\n }, restContext, restProps)));\n};\n\nvar RawItem = /*#__PURE__*/React.forwardRef(InternalRawItem);\nRawItem.displayName = 'RawItem';\nexport default RawItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { useState, useMemo, useCallback } from 'react';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport Item from './Item';\nimport { useBatchFrameState } from './hooks/useBatchFrameState';\nimport RawItem from './RawItem';\nexport var OverflowContext = /*#__PURE__*/React.createContext(null);\nvar RESPONSIVE = 'responsive';\nvar INVALIDATE = 'invalidate';\n\nfunction defaultRenderRest(omittedItems) {\n return \"+ \".concat(omittedItems.length, \" ...\");\n}\n\nfunction Overflow(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-overflow' : _props$prefixCls,\n _props$data = props.data,\n data = _props$data === void 0 ? [] : _props$data,\n renderItem = props.renderItem,\n renderRawItem = props.renderRawItem,\n itemKey = props.itemKey,\n _props$itemWidth = props.itemWidth,\n itemWidth = _props$itemWidth === void 0 ? 10 : _props$itemWidth,\n ssr = props.ssr,\n style = props.style,\n className = props.className,\n maxCount = props.maxCount,\n renderRest = props.renderRest,\n renderRawRest = props.renderRawRest,\n suffix = props.suffix,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n itemComponent = props.itemComponent,\n onVisibleChange = props.onVisibleChange,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"data\", \"renderItem\", \"renderRawItem\", \"itemKey\", \"itemWidth\", \"ssr\", \"style\", \"className\", \"maxCount\", \"renderRest\", \"renderRawRest\", \"suffix\", \"component\", \"itemComponent\", \"onVisibleChange\"]);\n\n var createUseState = useBatchFrameState();\n var fullySSR = ssr === 'full';\n\n var _createUseState = createUseState(null),\n _createUseState2 = _slicedToArray(_createUseState, 2),\n containerWidth = _createUseState2[0],\n setContainerWidth = _createUseState2[1];\n\n var mergedContainerWidth = containerWidth || 0;\n\n var _createUseState3 = createUseState(new Map()),\n _createUseState4 = _slicedToArray(_createUseState3, 2),\n itemWidths = _createUseState4[0],\n setItemWidths = _createUseState4[1];\n\n var _createUseState5 = createUseState(0),\n _createUseState6 = _slicedToArray(_createUseState5, 2),\n prevRestWidth = _createUseState6[0],\n setPrevRestWidth = _createUseState6[1];\n\n var _createUseState7 = createUseState(0),\n _createUseState8 = _slicedToArray(_createUseState7, 2),\n restWidth = _createUseState8[0],\n setRestWidth = _createUseState8[1];\n\n var _createUseState9 = createUseState(0),\n _createUseState10 = _slicedToArray(_createUseState9, 2),\n suffixWidth = _createUseState10[0],\n setSuffixWidth = _createUseState10[1];\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n suffixFixedStart = _useState2[0],\n setSuffixFixedStart = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n displayCount = _useState4[0],\n setDisplayCount = _useState4[1];\n\n var mergedDisplayCount = React.useMemo(function () {\n if (displayCount === null && fullySSR) {\n return Number.MAX_SAFE_INTEGER;\n }\n\n return displayCount || 0;\n }, [displayCount, containerWidth]);\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n restReady = _useState6[0],\n setRestReady = _useState6[1];\n\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\"); // Always use the max width to avoid blink\n\n var mergedRestWidth = Math.max(prevRestWidth, restWidth); // ================================= Data =================================\n\n var isResponsive = data.length && maxCount === RESPONSIVE;\n var invalidate = maxCount === INVALIDATE;\n /**\n * When is `responsive`, we will always render rest node to get the real width of it for calculation\n */\n\n var showRest = isResponsive || typeof maxCount === 'number' && data.length > maxCount;\n var mergedData = useMemo(function () {\n var items = data;\n\n if (isResponsive) {\n if (containerWidth === null && fullySSR) {\n items = data;\n } else {\n items = data.slice(0, Math.min(data.length, mergedContainerWidth / itemWidth));\n }\n } else if (typeof maxCount === 'number') {\n items = data.slice(0, maxCount);\n }\n\n return items;\n }, [data, itemWidth, containerWidth, maxCount, isResponsive]);\n var omittedItems = useMemo(function () {\n if (isResponsive) {\n return data.slice(mergedDisplayCount + 1);\n }\n\n return data.slice(mergedData.length);\n }, [data, mergedData, isResponsive, mergedDisplayCount]); // ================================= Item =================================\n\n var getKey = useCallback(function (item, index) {\n var _ref;\n\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n\n return (_ref = itemKey && (item === null || item === void 0 ? void 0 : item[itemKey])) !== null && _ref !== void 0 ? _ref : index;\n }, [itemKey]);\n var mergedRenderItem = useCallback(renderItem || function (item) {\n return item;\n }, [renderItem]);\n\n function updateDisplayCount(count, notReady) {\n setDisplayCount(count);\n\n if (!notReady) {\n setRestReady(count < data.length - 1);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(count);\n }\n } // ================================= Size =================================\n\n\n function onOverflowResize(_, element) {\n setContainerWidth(element.clientWidth);\n }\n\n function registerSize(key, width) {\n setItemWidths(function (origin) {\n var clone = new Map(origin);\n\n if (width === null) {\n clone.delete(key);\n } else {\n clone.set(key, width);\n }\n\n return clone;\n });\n }\n\n function registerOverflowSize(_, width) {\n setRestWidth(width);\n setPrevRestWidth(restWidth);\n }\n\n function registerSuffixSize(_, width) {\n setSuffixWidth(width);\n } // ================================ Effect ================================\n\n\n function getItemWidth(index) {\n return itemWidths.get(getKey(mergedData[index], index));\n }\n\n React.useLayoutEffect(function () {\n if (mergedContainerWidth && mergedRestWidth && mergedData) {\n var totalWidth = suffixWidth;\n var len = mergedData.length;\n var lastIndex = len - 1; // When data count change to 0, reset this since not loop will reach\n\n if (!len) {\n updateDisplayCount(0);\n setSuffixFixedStart(null);\n return;\n }\n\n for (var i = 0; i < len; i += 1) {\n var currentItemWidth = getItemWidth(i); // Break since data not ready\n\n if (currentItemWidth === undefined) {\n updateDisplayCount(i - 1, true);\n break;\n } // Find best match\n\n\n totalWidth += currentItemWidth;\n\n if ( // Only one means `totalWidth` is the final width\n lastIndex === 0 && totalWidth <= mergedContainerWidth || // Last two width will be the final width\n i === lastIndex - 1 && totalWidth + getItemWidth(lastIndex) <= mergedContainerWidth) {\n // Additional check if match the end\n updateDisplayCount(lastIndex);\n setSuffixFixedStart(null);\n break;\n } else if (totalWidth + mergedRestWidth > mergedContainerWidth) {\n // Can not hold all the content to show rest\n updateDisplayCount(i - 1);\n setSuffixFixedStart(totalWidth - currentItemWidth - suffixWidth + restWidth);\n break;\n }\n }\n\n if (suffix && getItemWidth(0) + suffixWidth > mergedContainerWidth) {\n setSuffixFixedStart(null);\n }\n }\n }, [mergedContainerWidth, itemWidths, restWidth, suffixWidth, getKey, mergedData]); // ================================ Render ================================\n\n var displayRest = restReady && !!omittedItems.length;\n var suffixStyle = {};\n\n if (suffixFixedStart !== null && isResponsive) {\n suffixStyle = {\n position: 'absolute',\n left: suffixFixedStart,\n top: 0\n };\n }\n\n var itemSharedProps = {\n prefixCls: itemPrefixCls,\n responsive: isResponsive,\n component: itemComponent,\n invalidate: invalidate\n }; // >>>>> Choice render fun by `renderRawItem`\n\n var internalRenderItemNode = renderRawItem ? function (item, index) {\n var key = getKey(item, index);\n return /*#__PURE__*/React.createElement(OverflowContext.Provider, {\n key: key,\n value: _objectSpread(_objectSpread({}, itemSharedProps), {}, {\n order: index,\n item: item,\n itemKey: key,\n registerSize: registerSize,\n display: index <= mergedDisplayCount\n })\n }, renderRawItem(item, index));\n } : function (item, index) {\n var key = getKey(item, index);\n return /*#__PURE__*/React.createElement(Item, _extends({}, itemSharedProps, {\n order: index,\n key: key,\n item: item,\n renderItem: mergedRenderItem,\n itemKey: key,\n registerSize: registerSize,\n display: index <= mergedDisplayCount\n }));\n }; // >>>>> Rest node\n\n var restNode;\n var restContextProps = {\n order: displayRest ? mergedDisplayCount : Number.MAX_SAFE_INTEGER,\n className: \"\".concat(itemPrefixCls, \"-rest\"),\n registerSize: registerOverflowSize,\n display: displayRest\n };\n\n if (!renderRawRest) {\n var mergedRenderRest = renderRest || defaultRenderRest;\n restNode = /*#__PURE__*/React.createElement(Item, _extends({}, itemSharedProps, restContextProps), typeof mergedRenderRest === 'function' ? mergedRenderRest(omittedItems) : mergedRenderRest);\n } else if (renderRawRest) {\n restNode = /*#__PURE__*/React.createElement(OverflowContext.Provider, {\n value: _objectSpread(_objectSpread({}, itemSharedProps), restContextProps)\n }, renderRawRest(omittedItems));\n }\n\n var overflowNode = /*#__PURE__*/React.createElement(Component, _extends({\n className: classNames(!invalidate && prefixCls, className),\n style: style,\n ref: ref\n }, restProps), mergedData.map(internalRenderItemNode), showRest ? restNode : null, suffix && /*#__PURE__*/React.createElement(Item, _extends({}, itemSharedProps, {\n order: mergedDisplayCount,\n className: \"\".concat(itemPrefixCls, \"-suffix\"),\n registerSize: registerSuffixSize,\n display: true,\n style: suffixStyle\n }), suffix));\n\n if (isResponsive) {\n overflowNode = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onOverflowResize\n }, overflowNode);\n }\n\n return overflowNode;\n}\n\nvar ForwardOverflow = /*#__PURE__*/React.forwardRef(Overflow);\nForwardOverflow.displayName = 'Overflow';\nForwardOverflow.Item = RawItem;\nForwardOverflow.RESPONSIVE = RESPONSIVE;\nForwardOverflow.INVALIDATE = INVALIDATE; // Convert to generic type\n\nexport default ForwardOverflow;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\nimport raf from \"rc-util/es/raf\";\n/**\n * State generate. Return a `setState` but it will flush all state with one render to save perf.\n * This is not a realization of `unstable_batchedUpdates`.\n */\n\nexport function useBatchFrameState() {\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n\n var statesRef = useRef([]);\n var destroyRef = useRef(false);\n var walkingIndex = 0;\n var beforeFrameId = 0;\n useEffect(function () {\n return function () {\n destroyRef.current = true;\n };\n }, []);\n\n function createState(defaultValue) {\n var myIndex = walkingIndex;\n walkingIndex += 1; // Fill value if not exist yet\n\n if (statesRef.current.length < myIndex + 1) {\n statesRef.current[myIndex] = defaultValue;\n } // Return filled as `setState`\n\n\n var value = statesRef.current[myIndex];\n\n function setValue(val) {\n statesRef.current[myIndex] = typeof val === 'function' ? val(statesRef.current[myIndex]) : val;\n raf.cancel(beforeFrameId); // Flush with batch\n\n beforeFrameId = raf(function () {\n if (!destroyRef.current) {\n forceUpdate({});\n }\n });\n }\n\n return [value, setValue];\n }\n\n return createState;\n}","import Overflow from './Overflow';\nexport default Overflow;","import ResizeObserver from 'resize-observer-polyfill'; // =============================== Const ===============================\n\nvar elementListeners = new Map();\n\nfunction onResize(entities) {\n entities.forEach(function (entity) {\n var _elementListeners$get;\n\n var target = entity.target;\n (_elementListeners$get = elementListeners.get(target)) === null || _elementListeners$get === void 0 ? void 0 : _elementListeners$get.forEach(function (listener) {\n return listener(target);\n });\n });\n} // Note: ResizeObserver polyfill not support option to measure border-box resize\n\n\nvar resizeObserver = new ResizeObserver(onResize); // Dev env only\n\nexport var _el = process.env.NODE_ENV !== 'production' ? elementListeners : null; // eslint-disable-line\n\nexport var _rs = process.env.NODE_ENV !== 'production' ? onResize : null; // eslint-disable-line\n// ============================== Observe ==============================\n\nexport function observe(element, callback) {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set());\n resizeObserver.observe(element);\n }\n\n elementListeners.get(element).add(callback);\n}\nexport function unobserve(element, callback) {\n if (elementListeners.has(element)) {\n elementListeners.get(element).delete(callback);\n\n if (!elementListeners.get(element).size) {\n resizeObserver.unobserve(element);\n elementListeners.delete(element);\n }\n }\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n/**\n * Fallback to findDOMNode if origin ref do not provide any dom element\n */\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport { DomWrapper as default };","import * as React from 'react';\nexport var CollectionContext = /*#__PURE__*/React.createContext(null);\n/**\n * Collect all the resize event from children ResizeObserver\n */\n\nexport function Collection(_ref) {\n var children = _ref.children,\n onBatchResize = _ref.onBatchResize;\n var resizeIdRef = React.useRef(0);\n var resizeInfosRef = React.useRef([]);\n var onCollectionResize = React.useContext(CollectionContext);\n var onResize = React.useCallback(function (size, element, data) {\n resizeIdRef.current += 1;\n var currentId = resizeIdRef.current;\n resizeInfosRef.current.push({\n size: size,\n element: element,\n data: data\n });\n Promise.resolve().then(function () {\n if (currentId === resizeIdRef.current) {\n onBatchResize === null || onBatchResize === void 0 ? void 0 : onBatchResize(resizeInfosRef.current);\n resizeInfosRef.current = [];\n }\n }); // Continue bubbling if parent exist\n\n onCollectionResize === null || onCollectionResize === void 0 ? void 0 : onCollectionResize(size, element, data);\n }, [onBatchResize, onCollectionResize]);\n return /*#__PURE__*/React.createElement(CollectionContext.Provider, {\n value: onResize\n }, children);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { observe, unobserve } from '../utils/observerUtil';\nimport DomWrapper from './DomWrapper';\nimport { CollectionContext } from '../Collection';\nexport default function SingleObserver(props) {\n var children = props.children,\n disabled = props.disabled;\n var elementRef = React.useRef(null);\n var wrapperRef = React.useRef(null);\n var onCollectionResize = React.useContext(CollectionContext); // ============================= Size =============================\n\n var sizeRef = React.useRef({\n width: -1,\n height: -1,\n offsetWidth: -1,\n offsetHeight: -1\n }); // ============================= Ref ==============================\n\n var canRef = /*#__PURE__*/React.isValidElement(children) && supportRef(children);\n var originRef = canRef ? children.ref : null;\n var mergedRef = React.useMemo(function () {\n return composeRef(originRef, elementRef);\n }, [originRef, elementRef]); // =========================== Observe ============================\n\n var propsRef = React.useRef(props);\n propsRef.current = props; // Handler\n\n var onInternalResize = React.useCallback(function (target) {\n var _propsRef$current = propsRef.current,\n onResize = _propsRef$current.onResize,\n data = _propsRef$current.data;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (sizeRef.current.width !== fixedWidth || sizeRef.current.height !== fixedHeight || sizeRef.current.offsetWidth !== offsetWidth || sizeRef.current.offsetHeight !== offsetHeight) {\n var size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n };\n sizeRef.current = size; // IE is strange, right?\n\n var mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n var mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;\n\n var sizeInfo = _objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n }); // Let collection know what happened\n\n\n onCollectionResize === null || onCollectionResize === void 0 ? void 0 : onCollectionResize(sizeInfo, target, data);\n\n if (onResize) {\n // defer the callback but not defer to next frame\n Promise.resolve().then(function () {\n onResize(sizeInfo, target);\n });\n }\n }\n }, []); // Dynamic observe\n\n React.useEffect(function () {\n var currentElement = findDOMNode(elementRef.current) || findDOMNode(wrapperRef.current);\n\n if (currentElement && !disabled) {\n observe(currentElement, onInternalResize);\n }\n\n return function () {\n return unobserve(currentElement, onInternalResize);\n };\n }, [elementRef.current, disabled]); // ============================ Render ============================\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperRef\n }, canRef ? /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n }) : children);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { warning } from \"rc-util/es/warning\";\nimport SingleObserver from './SingleObserver';\nimport { Collection } from './Collection';\nvar INTERNAL_PREFIX_KEY = 'rc-observer-key';\n\nfunction ResizeObserver(props) {\n var children = props.children;\n var childNodes = toArray(children);\n\n if (process.env.NODE_ENV !== 'production') {\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Please use ResizeObserver.Collection instead.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n }\n }\n\n return childNodes.map(function (child, index) {\n var key = (child === null || child === void 0 ? void 0 : child.key) || \"\".concat(INTERNAL_PREFIX_KEY, \"-\").concat(index);\n return /*#__PURE__*/React.createElement(SingleObserver, _extends({}, props, {\n key: key\n }), child);\n });\n}\n\nResizeObserver.Collection = Collection;\nexport default ResizeObserver;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n var baseAlign = builtinPlacements[placementStr] || {};\n return _objectSpread(_objectSpread({}, baseAlign), align);\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n\n for (var i = 0; i < placements.length; i += 1) {\n var placement = placements[i];\n\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n\n return '';\n}","export function getMotion(_ref) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n animation = _ref.animation,\n transitionName = _ref.transitionName;\n\n if (motion) {\n return motion;\n }\n\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n\n return null;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from '../utils/legacyUtil';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n mask = props.mask,\n maskMotion = props.maskMotion,\n maskAnimation = props.maskAnimation,\n maskTransitionName = props.maskTransitionName;\n\n if (!mask) {\n return null;\n }\n\n var motion = {};\n\n if (maskMotion || maskTransitionName || maskAnimation) {\n motion = _objectSpread({\n motionAppear: true\n }, getMotion({\n motion: maskMotion,\n prefixCls: prefixCls,\n transitionName: maskTransitionName,\n animation: maskAnimation\n }));\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n visible: visible,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\n\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n\n if (node.nodeType === 9) {\n return node;\n }\n\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n } // force relayout\n\n\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n\n css(elem, originalStyle); // force relayout\n\n forceRelayout(elem);\n\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n\n var ret = {};\n\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n\n var _off = offset[_key] - originalOffset[_key];\n\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n\n css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem); // Revert the old values\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, ex) {\n var extra = ex;\n\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val;\n var elem = args[0]; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n\n if (val !== undefined) {\n if (elem) {\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n } // ie 这个也不是完全可行\n\n /*\n