{"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
\n
\n 元素 6 高 100px 宽 50px
\n
\n
\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n\n return null;\n}\n\nvar getParent$1 = utils.getParent;\n\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n\n for (parent = getParent$1(element); // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n\n return false;\n}\n/**\n * 获得元素的显示部分的区域\n */\n\n\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el); // add border\n\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right, // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n\n el = getOffsetParent(el);\n } // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n\n\n var originalPosition = null;\n\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n\n var bodyStyle = window.getComputedStyle(body);\n\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n } // Reset element position after calculate the visible area\n\n\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n } // Left edge inside and right edge outside viewport, try to resize it.\n\n\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n } // Right edge outside viewport, try to move it.\n\n\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n } // Top edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n } // Top edge inside and bottom edge outside viewport, try to resize it.\n\n\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n } // Bottom edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n\n offset.width = w;\n offset.height = h;\n return offset;\n}\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n };\n}\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n var n;\n\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\n\n\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n var alwaysByViewport = !!(overflow && overflow.alwaysByViewport); // 当前节点可以被放置的显示区域\n\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport); // 当前节点所占的区域, left/top/width/height\n\n var elRegion = getRegion(source); // 将 offset 转换成数值,支持百分比\n\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置\n\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域\n\n var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整\n\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n }); // 偏移量也反下\n\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n }); // 偏移量也反下\n\n\n var _newOffset = flipOffset(offset, 1);\n\n var _newTargetOffset = flipOffset(targetOffset, 1);\n\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n } // 如果失败,重新计算当前节点将要被放置的位置\n\n\n if (fail) {\n elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points; // 重置对应部分的翻转逻辑\n\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n } // 2. 只有指定了可以调整当前方向才调整\n\n\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整,甚至可能会调整高度宽度\n\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n } // need judge to in case set fixed with in css on height auto element\n\n\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n } // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如
\n\n\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n var targetRegion = getRegion(target);\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point\n\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2(_objectSpread2({}, align), {}, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport contains from \"rc-util/es/Dom/contains\";\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement) && typeof activeElement.focus === 'function') {\n activeElement.focus();\n }\n}\nexport function monitorResize(element, callback) {\n var prevWidth = null;\n var prevHeight = null;\n\n function onResize(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n target = _ref2[0].target;\n\n if (!document.documentElement.contains(target)) return;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (prevWidth !== fixedWidth || prevHeight !== fixedHeight) {\n // https://webkit.org/blog/9997/resizeobserver-in-webkit/\n Promise.resolve().then(function () {\n callback({\n width: fixedWidth,\n height: fixedHeight\n });\n });\n }\n\n prevWidth = fixedWidth;\n prevHeight = fixedHeight;\n }\n\n var resizeObserver = new ResizeObserver(onResize);\n\n if (element) {\n resizeObserver.observe(element);\n }\n\n return function () {\n resizeObserver.disconnect();\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/**\n * Removed props:\n * - childrenProps\n */\n\nimport React from 'react';\nimport { composeRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport isEqual from 'lodash/isEqual';\nimport { isSamePoint, restoreFocus, monitorResize } from './util';\nimport useBuffer from './hooks/useBuffer';\n\nfunction getElement(func) {\n if (typeof func !== 'function') return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (_typeof(point) !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function Align(_ref, ref) {\n var children = _ref.children,\n disabled = _ref.disabled,\n target = _ref.target,\n align = _ref.align,\n onAlign = _ref.onAlign,\n monitorWindowResize = _ref.monitorWindowResize,\n _ref$monitorBufferTim = _ref.monitorBufferTime,\n monitorBufferTime = _ref$monitorBufferTim === void 0 ? 0 : _ref$monitorBufferTim;\n var cacheRef = React.useRef({});\n var nodeRef = React.useRef();\n var childNode = React.Children.only(children); // ===================== Align ======================\n // We save the props here to avoid closure makes props ood\n\n var forceAlignPropsRef = React.useRef({});\n forceAlignPropsRef.current.disabled = disabled;\n forceAlignPropsRef.current.target = target;\n forceAlignPropsRef.current.align = align;\n forceAlignPropsRef.current.onAlign = onAlign;\n\n var _useBuffer = useBuffer(function () {\n var _forceAlignPropsRef$c = forceAlignPropsRef.current,\n latestDisabled = _forceAlignPropsRef$c.disabled,\n latestTarget = _forceAlignPropsRef$c.target,\n latestAlign = _forceAlignPropsRef$c.align,\n latestOnAlign = _forceAlignPropsRef$c.onAlign;\n\n if (!latestDisabled && latestTarget) {\n var source = nodeRef.current;\n var result;\n var element = getElement(latestTarget);\n var point = getPoint(latestTarget);\n cacheRef.current.element = element;\n cacheRef.current.point = point;\n cacheRef.current.align = latestAlign; // IE lose focus after element realign\n // We should record activeElement and restore later\n // IE lose focus after element realign\n // We should record activeElement and restore later\n\n var _document = document,\n activeElement = _document.activeElement; // We only align when element is visible\n // We only align when element is visible\n\n if (element && isVisible(element)) {\n result = alignElement(source, element, latestAlign);\n } else if (point) {\n result = alignPoint(source, point, latestAlign);\n }\n\n restoreFocus(activeElement, source);\n\n if (latestOnAlign && result) {\n latestOnAlign(source, result);\n }\n\n return true;\n }\n\n return false;\n }, monitorBufferTime),\n _useBuffer2 = _slicedToArray(_useBuffer, 2),\n _forceAlign = _useBuffer2[0],\n cancelForceAlign = _useBuffer2[1]; // ===================== Effect =====================\n // Listen for target updated\n\n\n var resizeMonitor = React.useRef({\n cancel: function cancel() {}\n }); // Listen for source updated\n\n var sourceResizeMonitor = React.useRef({\n cancel: function cancel() {}\n });\n React.useEffect(function () {\n var element = getElement(target);\n var point = getPoint(target);\n\n if (nodeRef.current !== sourceResizeMonitor.current.element) {\n sourceResizeMonitor.current.cancel();\n sourceResizeMonitor.current.element = nodeRef.current;\n sourceResizeMonitor.current.cancel = monitorResize(nodeRef.current, _forceAlign);\n }\n\n if (cacheRef.current.element !== element || !isSamePoint(cacheRef.current.point, point) || !isEqual(cacheRef.current.align, align)) {\n _forceAlign(); // Add resize observer\n\n\n if (resizeMonitor.current.element !== element) {\n resizeMonitor.current.cancel();\n resizeMonitor.current.element = element;\n resizeMonitor.current.cancel = monitorResize(element, _forceAlign);\n }\n }\n }); // Listen for disabled change\n\n React.useEffect(function () {\n if (!disabled) {\n _forceAlign();\n } else {\n cancelForceAlign();\n }\n }, [disabled]); // Listen for window resize\n\n var winResizeRef = React.useRef(null);\n React.useEffect(function () {\n if (monitorWindowResize) {\n if (!winResizeRef.current) {\n winResizeRef.current = addEventListener(window, 'resize', _forceAlign);\n }\n } else if (winResizeRef.current) {\n winResizeRef.current.remove();\n winResizeRef.current = null;\n }\n }, [monitorWindowResize]); // Clear all if unmount\n\n React.useEffect(function () {\n return function () {\n resizeMonitor.current.cancel();\n sourceResizeMonitor.current.cancel();\n if (winResizeRef.current) winResizeRef.current.remove();\n cancelForceAlign();\n };\n }, []); // ====================== Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {\n return _forceAlign(true);\n }\n };\n }); // ===================== Render =====================\n\n if ( /*#__PURE__*/React.isValidElement(childNode)) {\n childNode = /*#__PURE__*/React.cloneElement(childNode, {\n ref: composeRef(childNode.ref, nodeRef)\n });\n }\n\n return childNode;\n};\n\nvar RcAlign = /*#__PURE__*/React.forwardRef(Align);\nRcAlign.displayName = 'Align';\nexport default RcAlign;","import React from 'react';\nexport default (function (callback, buffer) {\n var calledRef = React.useRef(false);\n var timeoutRef = React.useRef(null);\n\n function cancelTrigger() {\n window.clearTimeout(timeoutRef.current);\n }\n\n function trigger(force) {\n if (!calledRef.current || force === true) {\n if (callback() === false) {\n // Not delay since callback cancelled self\n return;\n }\n\n calledRef.current = true;\n cancelTrigger();\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n }, buffer);\n } else {\n cancelTrigger();\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n trigger();\n }, buffer);\n }\n }\n\n return [trigger, function () {\n calledRef.current = false;\n cancelTrigger();\n }];\n});","// export this package's api\nimport Align from './Align';\nexport default Align;","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nvar StatusQueue = ['measure', 'align', null, 'motion'];\nexport default (function (visible, doMeasure) {\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setInternalStatus = _useState2[1];\n\n var rafRef = useRef();\n var destroyRef = useRef(false);\n\n function setStatus(nextStatus) {\n if (!destroyRef.current) {\n setInternalStatus(nextStatus);\n }\n }\n\n function cancelRaf() {\n raf.cancel(rafRef.current);\n }\n\n function goNextStatus(callback) {\n cancelRaf();\n rafRef.current = raf(function () {\n // Only align should be manually trigger\n setStatus(function (prev) {\n switch (status) {\n case 'align':\n return 'motion';\n\n case 'motion':\n return 'stable';\n\n default:\n }\n\n return prev;\n });\n callback === null || callback === void 0 ? void 0 : callback();\n });\n } // Init status\n\n\n useEffect(function () {\n setStatus('measure');\n }, [visible]); // Go next status\n\n useEffect(function () {\n switch (status) {\n case 'measure':\n doMeasure();\n break;\n\n default:\n }\n\n if (status) {\n rafRef.current = raf( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var index, nextStatus;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n index = StatusQueue.indexOf(status);\n nextStatus = StatusQueue[index + 1];\n\n if (nextStatus && index !== -1) {\n setStatus(nextStatus);\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n }\n }, [status]);\n useEffect(function () {\n return function () {\n destroyRef.current = true;\n cancelRaf();\n };\n }, []);\n return [status, goNextStatus];\n});","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 * as React from 'react';\nimport { useRef, useState } from 'react';\nimport Align from 'rc-align';\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nimport useVisibleStatus from './useVisibleStatus';\nimport { getMotion } from '../utils/legacyUtil';\nimport useStretchStyle from './useStretchStyle';\nvar PopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var visible = props.visible,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n children = props.children,\n zIndex = props.zIndex,\n stretch = props.stretch,\n destroyPopupOnHide = props.destroyPopupOnHide,\n forceRender = props.forceRender,\n align = props.align,\n point = props.point,\n getRootDomNode = props.getRootDomNode,\n getClassNameFromAlign = props.getClassNameFromAlign,\n onAlign = props.onAlign,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onMouseDown = props.onMouseDown,\n onTouchStart = props.onTouchStart;\n var alignRef = useRef();\n var elementRef = useRef();\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n alignedClassName = _useState2[0],\n setAlignedClassName = _useState2[1]; // ======================= Measure ========================\n\n\n var _useStretchStyle = useStretchStyle(stretch),\n _useStretchStyle2 = _slicedToArray(_useStretchStyle, 2),\n stretchStyle = _useStretchStyle2[0],\n measureStretchStyle = _useStretchStyle2[1];\n\n function doMeasure() {\n if (stretch) {\n measureStretchStyle(getRootDomNode());\n }\n } // ======================== Status ========================\n\n\n var _useVisibleStatus = useVisibleStatus(visible, doMeasure),\n _useVisibleStatus2 = _slicedToArray(_useVisibleStatus, 2),\n status = _useVisibleStatus2[0],\n goNextStatus = _useVisibleStatus2[1]; // ======================== Aligns ========================\n\n\n var prepareResolveRef = useRef(); // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n function getAlignTarget() {\n if (point) {\n return point;\n }\n\n return getRootDomNode;\n }\n\n function forceAlign() {\n var _alignRef$current;\n\n (_alignRef$current = alignRef.current) === null || _alignRef$current === void 0 ? void 0 : _alignRef$current.forceAlign();\n }\n\n function onInternalAlign(popupDomNode, matchAlign) {\n var nextAlignedClassName = getClassNameFromAlign(matchAlign);\n\n if (alignedClassName !== nextAlignedClassName) {\n setAlignedClassName(nextAlignedClassName);\n }\n\n if (status === 'align') {\n // Repeat until not more align needed\n if (alignedClassName !== nextAlignedClassName) {\n Promise.resolve().then(function () {\n forceAlign();\n });\n } else {\n goNextStatus(function () {\n var _prepareResolveRef$cu;\n\n (_prepareResolveRef$cu = prepareResolveRef.current) === null || _prepareResolveRef$cu === void 0 ? void 0 : _prepareResolveRef$cu.call(prepareResolveRef);\n });\n }\n\n onAlign === null || onAlign === void 0 ? void 0 : onAlign(popupDomNode, matchAlign);\n }\n } // ======================== Motion ========================\n\n\n var motion = _objectSpread({}, getMotion(props));\n\n ['onAppearEnd', 'onEnterEnd', 'onLeaveEnd'].forEach(function (eventName) {\n var originHandler = motion[eventName];\n\n motion[eventName] = function (element, event) {\n goNextStatus();\n return originHandler === null || originHandler === void 0 ? void 0 : originHandler(element, event);\n };\n });\n\n function onShowPrepare() {\n return new Promise(function (resolve) {\n prepareResolveRef.current = resolve;\n });\n } // Go to stable directly when motion not provided\n\n\n React.useEffect(function () {\n if (!motion.motionName && status === 'motion') {\n goNextStatus();\n }\n }, [motion.motionName, status]); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: forceAlign,\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread(_objectSpread({}, stretchStyle), {}, {\n zIndex: zIndex,\n opacity: status === 'motion' || status === 'stable' || !visible ? undefined : 0,\n pointerEvents: status === 'stable' ? undefined : 'none'\n }, style); // Align status\n\n\n var alignDisabled = true;\n\n if ((align === null || align === void 0 ? void 0 : align.points) && (status === 'align' || status === 'stable')) {\n alignDisabled = false;\n }\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onShowPrepare,\n onEnterPrepare: onShowPrepare,\n removeOnLeave: destroyPopupOnHide,\n forceRender: forceRender\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, className, alignedClassName, motionClassName);\n return /*#__PURE__*/React.createElement(Align, {\n target: getAlignTarget(),\n key: \"popup\",\n ref: alignRef,\n monitorWindowResize: true,\n disabled: alignDisabled,\n align: align,\n onAlign: onInternalAlign\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDownCapture: onMouseDown,\n onTouchStartCapture: onTouchStart,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode));\n });\n});\nPopupInner.displayName = 'PopupInner';\nexport default PopupInner;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default (function (stretch) {\n var _React$useState = React.useState({\n width: 0,\n height: 0\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n targetSize = _React$useState2[0],\n setTargetSize = _React$useState2[1];\n\n function measureStretch(element) {\n setTargetSize({\n width: element.offsetWidth,\n height: element.offsetHeight\n });\n } // Merge stretch style\n\n\n var style = React.useMemo(function () {\n var sizeStyle = {};\n\n if (stretch) {\n var width = targetSize.width,\n height = targetSize.height; // Stretch with target\n\n if (stretch.indexOf('height') !== -1 && height) {\n sizeStyle.height = height;\n } else if (stretch.indexOf('minHeight') !== -1 && height) {\n sizeStyle.minHeight = height;\n }\n\n if (stretch.indexOf('width') !== -1 && width) {\n sizeStyle.width = width;\n } else if (stretch.indexOf('minWidth') !== -1 && width) {\n sizeStyle.minWidth = width;\n }\n }\n\n return sizeStyle;\n }, [stretch, targetSize]);\n return [style, measureStretch];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nvar MobilePopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n children = props.children,\n _props$mobile = props.mobile;\n _props$mobile = _props$mobile === void 0 ? {} : _props$mobile;\n var popupClassName = _props$mobile.popupClassName,\n popupStyle = _props$mobile.popupStyle,\n _props$mobile$popupMo = _props$mobile.popupMotion,\n popupMotion = _props$mobile$popupMo === void 0 ? {} : _props$mobile$popupMo,\n popupRender = _props$mobile.popupRender;\n var elementRef = React.useRef(); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {},\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread({\n zIndex: zIndex\n }, popupStyle);\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n } // Mobile support additional render\n\n\n if (popupRender) {\n childNode = popupRender(childNode);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n removeOnLeave: true\n }, popupMotion), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, popupClassName, motionClassName);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode);\n });\n});\nMobilePopupInner.displayName = 'MobilePopupInner';\nexport default MobilePopupInner;","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\";\nvar _excluded = [\"visible\", \"mobile\"];\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport isMobile from \"rc-util/es/isMobile\";\nimport Mask from './Mask';\nimport PopupInner from './PopupInner';\nimport MobilePopupInner from './MobilePopupInner';\nvar Popup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var visible = _ref.visible,\n mobile = _ref.mobile,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _useState = useState(visible),\n _useState2 = _slicedToArray(_useState, 2),\n innerVisible = _useState2[0],\n serInnerVisible = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n inMobile = _useState4[0],\n setInMobile = _useState4[1];\n\n var cloneProps = _objectSpread(_objectSpread({}, props), {}, {\n visible: innerVisible\n }); // We check mobile in visible changed here.\n // And this also delay set `innerVisible` to avoid popup component render flash\n\n\n useEffect(function () {\n serInnerVisible(visible);\n\n if (visible && mobile) {\n setInMobile(isMobile());\n }\n }, [visible, mobile]);\n var popupNode = inMobile ? /*#__PURE__*/React.createElement(MobilePopupInner, _extends({}, cloneProps, {\n mobile: mobile,\n ref: ref\n })) : /*#__PURE__*/React.createElement(PopupInner, _extends({}, cloneProps, {\n ref: ref\n })); // We can use fragment directly but this may failed some selector usage. Keep as origin logic\n\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Mask, cloneProps), popupNode);\n});\nPopup.displayName = 'Popup';\nexport default Popup;","import * as React from 'react';\nvar TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport raf from \"rc-util/es/raf\";\nimport contains from \"rc-util/es/Dom/contains\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport Portal from \"rc-util/es/Portal\";\nimport classNames from 'classnames';\nimport { getAlignFromPlacement, getAlignPopupClassName } from './utils/alignUtil';\nimport Popup from './Popup';\nimport TriggerContext from './context';\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument(element) {\n if (element) {\n return element.ownerDocument;\n }\n\n return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n/**\n * Internal usage. Do not use in your code since this will be removed.\n */\n\nexport function generateTrigger(PortalComponent) {\n var Trigger = /*#__PURE__*/function (_React$Component) {\n _inherits(Trigger, _React$Component);\n\n var _super = _createSuper(Trigger);\n\n function Trigger(props) {\n var _this;\n\n _classCallCheck(this, Trigger);\n\n _this = _super.call(this, props);\n _this.popupRef = /*#__PURE__*/React.createRef();\n _this.triggerRef = /*#__PURE__*/React.createRef();\n _this.attachId = void 0;\n _this.clickOutsideHandler = void 0;\n _this.touchOutsideHandler = void 0;\n _this.contextMenuOutsideHandler1 = void 0;\n _this.contextMenuOutsideHandler2 = void 0;\n _this.mouseDownTimeout = void 0;\n _this.focusTime = void 0;\n _this.preClickTime = void 0;\n _this.preTouchTime = void 0;\n _this.delayTimer = void 0;\n _this.hasPopupMouseDown = void 0;\n\n _this.onMouseEnter = function (e) {\n var mouseEnterDelay = _this.props.mouseEnterDelay;\n\n _this.fireEvents('onMouseEnter', e);\n\n _this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n };\n\n _this.onMouseMove = function (e) {\n _this.fireEvents('onMouseMove', e);\n\n _this.setPoint(e);\n };\n\n _this.onMouseLeave = function (e) {\n _this.fireEvents('onMouseLeave', e);\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n };\n\n _this.onPopupMouseEnter = function () {\n _this.clearDelayTimer();\n };\n\n _this.onPopupMouseLeave = function (e) {\n var _this$popupRef$curren; // https://github.com/react-component/trigger/pull/13\n // react bug?\n\n\n if (e.relatedTarget && !e.relatedTarget.setTimeout && contains((_this$popupRef$curren = _this.popupRef.current) === null || _this$popupRef$curren === void 0 ? void 0 : _this$popupRef$curren.getElement(), e.relatedTarget)) {\n return;\n }\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n };\n\n _this.onFocus = function (e) {\n _this.fireEvents('onFocus', e); // incase focusin and focusout\n\n\n _this.clearDelayTimer();\n\n if (_this.isFocusToShow()) {\n _this.focusTime = Date.now();\n\n _this.delaySetPopupVisible(true, _this.props.focusDelay);\n }\n };\n\n _this.onMouseDown = function (e) {\n _this.fireEvents('onMouseDown', e);\n\n _this.preClickTime = Date.now();\n };\n\n _this.onTouchStart = function (e) {\n _this.fireEvents('onTouchStart', e);\n\n _this.preTouchTime = Date.now();\n };\n\n _this.onBlur = function (e) {\n _this.fireEvents('onBlur', e);\n\n _this.clearDelayTimer();\n\n if (_this.isBlurToHide()) {\n _this.delaySetPopupVisible(false, _this.props.blurDelay);\n }\n };\n\n _this.onContextMenu = function (e) {\n e.preventDefault();\n\n _this.fireEvents('onContextMenu', e);\n\n _this.setPopupVisible(true, e);\n };\n\n _this.onContextMenuClose = function () {\n if (_this.isContextMenuToShow()) {\n _this.close();\n }\n };\n\n _this.onClick = function (event) {\n _this.fireEvents('onClick', event); // focus will trigger click\n\n\n if (_this.focusTime) {\n var preTime;\n\n if (_this.preClickTime && _this.preTouchTime) {\n preTime = Math.min(_this.preClickTime, _this.preTouchTime);\n } else if (_this.preClickTime) {\n preTime = _this.preClickTime;\n } else if (_this.preTouchTime) {\n preTime = _this.preTouchTime;\n }\n\n if (Math.abs(preTime - _this.focusTime) < 20) {\n return;\n }\n\n _this.focusTime = 0;\n }\n\n _this.preClickTime = 0;\n _this.preTouchTime = 0; // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n\n if (_this.isClickToShow() && (_this.isClickToHide() || _this.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n\n var nextVisible = !_this.state.popupVisible;\n\n if (_this.isClickToHide() && !nextVisible || nextVisible && _this.isClickToShow()) {\n _this.setPopupVisible(!_this.state.popupVisible, event);\n }\n };\n\n _this.onPopupMouseDown = function () {\n _this.hasPopupMouseDown = true;\n clearTimeout(_this.mouseDownTimeout);\n _this.mouseDownTimeout = window.setTimeout(function () {\n _this.hasPopupMouseDown = false;\n }, 0);\n\n if (_this.context) {\n var _this$context;\n\n (_this$context = _this.context).onPopupMouseDown.apply(_this$context, arguments);\n }\n };\n\n _this.onDocumentClick = function (event) {\n if (_this.props.mask && !_this.props.maskClosable) {\n return;\n }\n\n var target = event.target;\n\n var root = _this.getRootDomNode();\n\n var popupNode = _this.getPopupDomNode();\n\n if ( // mousedown on the target should also close popup when action is contextMenu.\n // https://github.com/ant-design/ant-design/issues/29853\n (!contains(root, target) || _this.isContextMenuOnly()) && !contains(popupNode, target) && !_this.hasPopupMouseDown) {\n _this.close();\n }\n };\n\n _this.getRootDomNode = function () {\n var getTriggerDOMNode = _this.props.getTriggerDOMNode;\n\n if (getTriggerDOMNode) {\n return getTriggerDOMNode(_this.triggerRef.current);\n }\n\n try {\n var domNode = findDOMNode(_this.triggerRef.current);\n\n if (domNode) {\n return domNode;\n }\n } catch (err) {// Do nothing\n }\n\n return ReactDOM.findDOMNode(_assertThisInitialized(_this));\n };\n\n _this.getPopupClassNameFromAlign = function (align) {\n var className = [];\n var _this$props = _this.props,\n popupPlacement = _this$props.popupPlacement,\n builtinPlacements = _this$props.builtinPlacements,\n prefixCls = _this$props.prefixCls,\n alignPoint = _this$props.alignPoint,\n getPopupClassNameFromAlign = _this$props.getPopupClassNameFromAlign;\n\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n\n return className.join(' ');\n };\n\n _this.getComponent = function () {\n var _this$props2 = _this.props,\n prefixCls = _this$props2.prefixCls,\n destroyPopupOnHide = _this$props2.destroyPopupOnHide,\n popupClassName = _this$props2.popupClassName,\n onPopupAlign = _this$props2.onPopupAlign,\n popupMotion = _this$props2.popupMotion,\n popupAnimation = _this$props2.popupAnimation,\n popupTransitionName = _this$props2.popupTransitionName,\n popupStyle = _this$props2.popupStyle,\n mask = _this$props2.mask,\n maskAnimation = _this$props2.maskAnimation,\n maskTransitionName = _this$props2.maskTransitionName,\n maskMotion = _this$props2.maskMotion,\n zIndex = _this$props2.zIndex,\n popup = _this$props2.popup,\n stretch = _this$props2.stretch,\n alignPoint = _this$props2.alignPoint,\n mobile = _this$props2.mobile,\n forceRender = _this$props2.forceRender;\n var _this$state = _this.state,\n popupVisible = _this$state.popupVisible,\n point = _this$state.point;\n\n var align = _this.getPopupAlign();\n\n var mouseProps = {};\n\n if (_this.isMouseEnterToShow()) {\n mouseProps.onMouseEnter = _this.onPopupMouseEnter;\n }\n\n if (_this.isMouseLeaveToHide()) {\n mouseProps.onMouseLeave = _this.onPopupMouseLeave;\n }\n\n mouseProps.onMouseDown = _this.onPopupMouseDown;\n mouseProps.onTouchStart = _this.onPopupMouseDown;\n return /*#__PURE__*/React.createElement(Popup, _extends({\n prefixCls: prefixCls,\n destroyPopupOnHide: destroyPopupOnHide,\n visible: popupVisible,\n point: alignPoint && point,\n className: popupClassName,\n align: align,\n onAlign: onPopupAlign,\n animation: popupAnimation,\n getClassNameFromAlign: _this.getPopupClassNameFromAlign\n }, mouseProps, {\n stretch: stretch,\n getRootDomNode: _this.getRootDomNode,\n style: popupStyle,\n mask: mask,\n zIndex: zIndex,\n transitionName: popupTransitionName,\n maskAnimation: maskAnimation,\n maskTransitionName: maskTransitionName,\n maskMotion: maskMotion,\n ref: _this.popupRef,\n motion: popupMotion,\n mobile: mobile,\n forceRender: forceRender\n }), typeof popup === 'function' ? popup() : popup);\n };\n\n _this.attachParent = function (popupContainer) {\n raf.cancel(_this.attachId);\n var _this$props3 = _this.props,\n getPopupContainer = _this$props3.getPopupContainer,\n getDocument = _this$props3.getDocument;\n\n var domNode = _this.getRootDomNode();\n\n var mountNode;\n\n if (!getPopupContainer) {\n mountNode = getDocument(_this.getRootDomNode()).body;\n } else if (domNode || getPopupContainer.length === 0) {\n // Compatible for legacy getPopupContainer with domNode argument.\n // If no need `domNode` argument, will call directly.\n // https://codesandbox.io/s/eloquent-mclean-ss93m?file=/src/App.js\n mountNode = getPopupContainer(domNode);\n }\n\n if (mountNode) {\n mountNode.appendChild(popupContainer);\n } else {\n // Retry after frame render in case parent not ready\n _this.attachId = raf(function () {\n _this.attachParent(popupContainer);\n });\n }\n };\n\n _this.getContainer = function () {\n var getDocument = _this.props.getDocument;\n var popupContainer = getDocument(_this.getRootDomNode()).createElement('div'); // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n\n _this.attachParent(popupContainer);\n\n return popupContainer;\n };\n\n _this.setPoint = function (point) {\n var alignPoint = _this.props.alignPoint;\n if (!alignPoint || !point) return;\n\n _this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n };\n\n _this.handlePortalUpdate = function () {\n if (_this.state.prevPopupVisible !== _this.state.popupVisible) {\n _this.props.afterPopupVisibleChange(_this.state.popupVisible);\n }\n };\n\n _this.triggerContextValue = {\n onPopupMouseDown: _this.onPopupMouseDown\n };\n\n var _popupVisible;\n\n if ('popupVisible' in props) {\n _popupVisible = !!props.popupVisible;\n } else {\n _popupVisible = !!props.defaultPopupVisible;\n }\n\n _this.state = {\n prevPopupVisible: _popupVisible,\n popupVisible: _popupVisible\n };\n ALL_HANDLERS.forEach(function (h) {\n _this[\"fire\".concat(h)] = function (e) {\n _this.fireEvents(h, e);\n };\n });\n return _this;\n }\n\n _createClass(Trigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.componentDidUpdate();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var props = this.props;\n var state = this.state; // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n\n if (state.popupVisible) {\n var currentDocument;\n\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n currentDocument = props.getDocument(this.getRootDomNode());\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n } // always hide on mobile\n\n\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);\n } // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n\n\n if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.contextMenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextMenuClose);\n } // close popup when trigger type contains 'onContextMenu' and window is blur.\n\n\n if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n this.contextMenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextMenuClose);\n }\n\n return;\n }\n\n this.clearOutsideHandler();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n raf.cancel(this.attachId);\n }\n }, {\n key: \"getPopupDomNode\",\n value: function getPopupDomNode() {\n var _this$popupRef$curren2; // for test\n\n\n return ((_this$popupRef$curren2 = this.popupRef.current) === null || _this$popupRef$curren2 === void 0 ? void 0 : _this$popupRef$curren2.getElement()) || null;\n }\n }, {\n key: \"getPopupAlign\",\n value: function getPopupAlign() {\n var props = this.props;\n var popupPlacement = props.popupPlacement,\n popupAlign = props.popupAlign,\n builtinPlacements = props.builtinPlacements;\n\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n\n return popupAlign;\n }\n }, {\n key: \"setPopupVisible\",\n value:\n /**\n * @param popupVisible Show or not the popup element\n * @param event SyntheticEvent, used for `pointAlign`\n */\n function setPopupVisible(popupVisible, event) {\n var alignPoint = this.props.alignPoint;\n var prevPopupVisible = this.state.popupVisible;\n this.clearDelayTimer();\n\n if (prevPopupVisible !== popupVisible) {\n if (!('popupVisible' in this.props)) {\n this.setState({\n popupVisible: popupVisible,\n prevPopupVisible: prevPopupVisible\n });\n }\n\n this.props.onPopupVisibleChange(popupVisible);\n } // Always record the point position since mouseEnterDelay will delay the show\n\n\n if (alignPoint && event && popupVisible) {\n this.setPoint(event);\n }\n }\n }, {\n key: \"delaySetPopupVisible\",\n value: function delaySetPopupVisible(visible, delayS, event) {\n var _this2 = this;\n\n var delay = delayS * 1000;\n this.clearDelayTimer();\n\n if (delay) {\n var point = event ? {\n pageX: event.pageX,\n pageY: event.pageY\n } : null;\n this.delayTimer = window.setTimeout(function () {\n _this2.setPopupVisible(visible, point);\n\n _this2.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n }\n }, {\n key: \"clearDelayTimer\",\n value: function clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n }, {\n key: \"clearOutsideHandler\",\n value: function clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextMenuOutsideHandler1) {\n this.contextMenuOutsideHandler1.remove();\n this.contextMenuOutsideHandler1 = null;\n }\n\n if (this.contextMenuOutsideHandler2) {\n this.contextMenuOutsideHandler2.remove();\n this.contextMenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n }\n }, {\n key: \"createTwoChains\",\n value: function createTwoChains(event) {\n var childPros = this.props.children.props;\n var props = this.props;\n\n if (childPros[event] && props[event]) {\n return this[\"fire\".concat(event)];\n }\n\n return childPros[event] || props[event];\n }\n }, {\n key: \"isClickToShow\",\n value: function isClickToShow() {\n var _this$props4 = this.props,\n action = _this$props4.action,\n showAction = _this$props4.showAction;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isContextMenuOnly\",\n value: function isContextMenuOnly() {\n var action = this.props.action;\n return action === 'contextMenu' || action.length === 1 && action[0] === 'contextMenu';\n }\n }, {\n key: \"isContextMenuToShow\",\n value: function isContextMenuToShow() {\n var _this$props5 = this.props,\n action = _this$props5.action,\n showAction = _this$props5.showAction;\n return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n }\n }, {\n key: \"isClickToHide\",\n value: function isClickToHide() {\n var _this$props6 = this.props,\n action = _this$props6.action,\n hideAction = _this$props6.hideAction;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isMouseEnterToShow\",\n value: function isMouseEnterToShow() {\n var _this$props7 = this.props,\n action = _this$props7.action,\n showAction = _this$props7.showAction;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n }\n }, {\n key: \"isMouseLeaveToHide\",\n value: function isMouseLeaveToHide() {\n var _this$props8 = this.props,\n action = _this$props8.action,\n hideAction = _this$props8.hideAction;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n }\n }, {\n key: \"isFocusToShow\",\n value: function isFocusToShow() {\n var _this$props9 = this.props,\n action = _this$props9.action,\n showAction = _this$props9.showAction;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n }\n }, {\n key: \"isBlurToHide\",\n value: function isBlurToHide() {\n var _this$props10 = this.props,\n action = _this$props10.action,\n hideAction = _this$props10.hideAction;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n }\n }, {\n key: \"forcePopupAlign\",\n value: function forcePopupAlign() {\n if (this.state.popupVisible) {\n var _this$popupRef$curren3;\n\n (_this$popupRef$curren3 = this.popupRef.current) === null || _this$popupRef$curren3 === void 0 ? void 0 : _this$popupRef$curren3.forceAlign();\n }\n }\n }, {\n key: \"fireEvents\",\n value: function fireEvents(type, e) {\n var childCallback = this.props.children.props[type];\n\n if (childCallback) {\n childCallback(e);\n }\n\n var callback = this.props[type];\n\n if (callback) {\n callback(e);\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n this.setPopupVisible(false);\n }\n }, {\n key: \"render\",\n value: function render() {\n var popupVisible = this.state.popupVisible;\n var _this$props11 = this.props,\n children = _this$props11.children,\n forceRender = _this$props11.forceRender,\n alignPoint = _this$props11.alignPoint,\n className = _this$props11.className,\n autoDestroy = _this$props11.autoDestroy;\n var child = React.Children.only(children);\n var newChildProps = {\n key: 'trigger'\n }; // ============================== Visible Handlers ==============================\n // >>> ContextMenu\n\n if (this.isContextMenuToShow()) {\n newChildProps.onContextMenu = this.onContextMenu;\n } else {\n newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n } // >>> Click\n\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.onClick = this.onClick;\n newChildProps.onMouseDown = this.onMouseDown;\n newChildProps.onTouchStart = this.onTouchStart;\n } else {\n newChildProps.onClick = this.createTwoChains('onClick');\n newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n } // >>> Hover(enter)\n\n\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseEnter = this.onMouseEnter; // Point align\n\n if (alignPoint) {\n newChildProps.onMouseMove = this.onMouseMove;\n }\n } else {\n newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n } // >>> Hover(leave)\n\n\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseLeave = this.onMouseLeave;\n } else {\n newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n } // >>> Focus\n\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.onFocus = this.onFocus;\n newChildProps.onBlur = this.onBlur;\n } else {\n newChildProps.onFocus = this.createTwoChains('onFocus');\n newChildProps.onBlur = this.createTwoChains('onBlur');\n } // =================================== Render ===================================\n\n\n var childrenClassName = classNames(child && child.props && child.props.className, className);\n\n if (childrenClassName) {\n newChildProps.className = childrenClassName;\n }\n\n var cloneProps = _objectSpread({}, newChildProps);\n\n if (supportRef(child)) {\n cloneProps.ref = composeRef(this.triggerRef, child.ref);\n }\n\n var trigger = /*#__PURE__*/React.cloneElement(child, cloneProps);\n var portal; // prevent unmounting after it's rendered\n\n if (popupVisible || this.popupRef.current || forceRender) {\n portal = /*#__PURE__*/React.createElement(PortalComponent, {\n key: \"portal\",\n getContainer: this.getContainer,\n didUpdate: this.handlePortalUpdate\n }, this.getComponent());\n }\n\n if (!popupVisible && autoDestroy) {\n portal = null;\n }\n\n return /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: this.triggerContextValue\n }, trigger, portal);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref, prevState) {\n var popupVisible = _ref.popupVisible;\n var newState = {};\n\n if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {\n newState.popupVisible = popupVisible;\n newState.prevPopupVisible = prevState.popupVisible;\n }\n\n return newState;\n }\n }]);\n\n return Trigger;\n }(React.Component);\n\n Trigger.contextType = TriggerContext;\n Trigger.defaultProps = {\n prefixCls: 'rc-trigger-popup',\n getPopupClassNameFromAlign: returnEmptyString,\n getDocument: returnDocument,\n onPopupVisibleChange: noop,\n afterPopupVisibleChange: noop,\n onPopupAlign: noop,\n popupClassName: '',\n mouseEnterDelay: 0,\n mouseLeaveDelay: 0.1,\n focusDelay: 0,\n blurDelay: 0.15,\n popupStyle: {},\n destroyPopupOnHide: false,\n popupAlign: {},\n defaultPopupVisible: false,\n mask: false,\n maskClosable: true,\n action: [],\n showAction: [],\n hideAction: [],\n autoDestroy: false\n };\n return Trigger;\n}\nexport default generateTrigger(Portal);","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback);\n }\n }\n };\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n return root.contains(n);\n}","export default (function (element) {\n if (!element) {\n return false;\n }\n\n if (element.offsetParent) {\n return true;\n }\n\n if (element.getBBox) {\n var box = element.getBBox();\n\n if (box.width || box.height) {\n return true;\n }\n }\n\n if (element.getBoundingClientRect) {\n var _box = element.getBoundingClientRect();\n\n if (_box.width || _box.height) {\n return true;\n }\n }\n\n return false;\n});","import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDom from './Dom/canUseDom';\nvar Portal = /*#__PURE__*/forwardRef(function (props, ref) {\n var didUpdate = props.didUpdate,\n getContainer = props.getContainer,\n children = props.children;\n var containerRef = useRef(); // Ref return nothing, only for wrapper check exist\n\n useImperativeHandle(ref, function () {\n return {};\n }); // Create container in client side with sync to avoid useEffect not get ref\n\n var initRef = useRef(false);\n\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n initRef.current = true;\n } // [Legacy] Used by `rc-trigger`\n\n\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 ? void 0 : didUpdate(props);\n });\n useEffect(function () {\n return function () {\n var _containerRef$current, _containerRef$current2; // [Legacy] This should not be handle by Portal but parent PortalWrapper instead.\n // Since some component use `Portal` directly, we have to keep the logic here.\n\n\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.parentNode) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? /*#__PURE__*/ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;","export default (function () {\n if (typeof navigator === 'undefined' || typeof window === 'undefined') {\n return false;\n }\n\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(agent === null || agent === void 0 ? void 0 : agent.substr(0, 4))) {\n return true;\n }\n\n return false;\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nexport default function omit(obj, fields) {\n var clone = _objectSpread({}, obj);\n\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n\n return clone;\n}","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\n\n/* eslint-disable require-jsdoc, valid-jsdoc */\nvar MapShim = function () {\n if (typeof Map !== 'undefined') {\n return Map;\n }\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\n\n\n function getIndex(arr, key) {\n var result = -1;\n arr.some(function (entry, index) {\n if (entry[0] === key) {\n result = index;\n return true;\n }\n\n return false;\n });\n return result;\n }\n\n return function () {\n function class_1() {\n this.__entries__ = [];\n }\n\n Object.defineProperty(class_1.prototype, \"size\", {\n /**\r\n * @returns {boolean}\r\n */\n get: function get() {\n return this.__entries__.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\n\n class_1.prototype.get = function (key) {\n var index = getIndex(this.__entries__, key);\n var entry = this.__entries__[index];\n return entry && entry[1];\n };\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.set = function (key, value) {\n var index = getIndex(this.__entries__, key);\n\n if (~index) {\n this.__entries__[index][1] = value;\n } else {\n this.__entries__.push([key, value]);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.delete = function (key) {\n var entries = this.__entries__;\n var index = getIndex(entries, key);\n\n if (~index) {\n entries.splice(index, 1);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.has = function (key) {\n return !!~getIndex(this.__entries__, key);\n };\n /**\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.clear = function () {\n this.__entries__.splice(0);\n };\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.forEach = function (callback, ctx) {\n if (ctx === void 0) {\n ctx = null;\n }\n\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\n var entry = _a[_i];\n callback.call(ctx, entry[1], entry[0]);\n }\n };\n\n return class_1;\n }();\n}();\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\n\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document; // Returns global object of a current environment.\n\nvar global$1 = function () {\n if (typeof global !== 'undefined' && global.Math === Math) {\n return global;\n }\n\n if (typeof self !== 'undefined' && self.Math === Math) {\n return self;\n }\n\n if (typeof window !== 'undefined' && window.Math === Math) {\n return window;\n } // eslint-disable-next-line no-new-func\n\n\n return Function('return this')();\n}();\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\n\n\nvar requestAnimationFrame$1 = function () {\n if (typeof requestAnimationFrame === 'function') {\n // It's required to use a bounded function because IE sometimes throws\n // an \"Invalid calling object\" error if rAF is invoked without the global\n // object on the left hand side.\n return requestAnimationFrame.bind(global$1);\n }\n\n return function (callback) {\n return setTimeout(function () {\n return callback(Date.now());\n }, 1000 / 60);\n };\n}(); // Defines minimum timeout before adding a trailing call.\n\n\nvar trailingTimeout = 2;\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\n\nfunction throttle(callback, delay) {\n var leadingCall = false,\n trailingCall = false,\n lastCallTime = 0;\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\n\n function resolvePending() {\n if (leadingCall) {\n leadingCall = false;\n callback();\n }\n\n if (trailingCall) {\n proxy();\n }\n }\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\n\n\n function timeoutCallback() {\n requestAnimationFrame$1(resolvePending);\n }\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\n\n\n function proxy() {\n var timeStamp = Date.now();\n\n if (leadingCall) {\n // Reject immediately following calls.\n if (timeStamp - lastCallTime < trailingTimeout) {\n return;\n } // Schedule new call to be in invoked when the pending one is resolved.\n // This is important for \"transitions\" which never actually start\n // immediately so there is a chance that we might miss one if change\n // happens amids the pending invocation.\n\n\n trailingCall = true;\n } else {\n leadingCall = true;\n trailingCall = false;\n setTimeout(timeoutCallback, delay);\n }\n\n lastCallTime = timeStamp;\n }\n\n return proxy;\n} // Minimum delay before invoking the update of observers.\n\n\nvar REFRESH_DELAY = 20; // A list of substrings of CSS properties used to find transition events that\n// might affect dimensions of observed elements.\n\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight']; // Check if MutationObserver is available.\n\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\n\nvar ResizeObserverController = function () {\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\n function ResizeObserverController() {\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\n this.connected_ = false;\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\n\n this.mutationEventsAdded_ = false;\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\n\n this.mutationsObserver_ = null;\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\n\n this.observers_ = [];\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\n }\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.addObserver = function (observer) {\n if (!~this.observers_.indexOf(observer)) {\n this.observers_.push(observer);\n } // Add listeners if they haven't been added yet.\n\n\n if (!this.connected_) {\n this.connect_();\n }\n };\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.removeObserver = function (observer) {\n var observers = this.observers_;\n var index = observers.indexOf(observer); // Remove observer if it's present in registry.\n\n if (~index) {\n observers.splice(index, 1);\n } // Remove listeners if controller has no connected observers.\n\n\n if (!observers.length && this.connected_) {\n this.disconnect_();\n }\n };\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.refresh = function () {\n var changesDetected = this.updateObservers_(); // Continue running updates if changes have been detected as there might\n // be future ones caused by CSS transitions.\n\n if (changesDetected) {\n this.refresh();\n }\n };\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\n\n\n ResizeObserverController.prototype.updateObservers_ = function () {\n // Collect observers that have active observations.\n var activeObservers = this.observers_.filter(function (observer) {\n return observer.gatherActive(), observer.hasActive();\n }); // Deliver notifications in a separate cycle in order to avoid any\n // collisions between observers, e.g. when multiple instances of\n // ResizeObserver are tracking the same element and the callback of one\n // of them changes content dimensions of the observed target. Sometimes\n // this may result in notifications being blocked for the rest of observers.\n\n activeObservers.forEach(function (observer) {\n return observer.broadcastActive();\n });\n return activeObservers.length > 0;\n };\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.connect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already added.\n if (!isBrowser || this.connected_) {\n return;\n } // Subscription to the \"Transitionend\" event is used as a workaround for\n // delayed transitions. This way it's possible to capture at least the\n // final state of an element.\n\n\n document.addEventListener('transitionend', this.onTransitionEnd_);\n window.addEventListener('resize', this.refresh);\n\n if (mutationObserverSupported) {\n this.mutationsObserver_ = new MutationObserver(this.refresh);\n this.mutationsObserver_.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n } else {\n document.addEventListener('DOMSubtreeModified', this.refresh);\n this.mutationEventsAdded_ = true;\n }\n\n this.connected_ = true;\n };\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.disconnect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already removed.\n if (!isBrowser || !this.connected_) {\n return;\n }\n\n document.removeEventListener('transitionend', this.onTransitionEnd_);\n window.removeEventListener('resize', this.refresh);\n\n if (this.mutationsObserver_) {\n this.mutationsObserver_.disconnect();\n }\n\n if (this.mutationEventsAdded_) {\n document.removeEventListener('DOMSubtreeModified', this.refresh);\n }\n\n this.mutationsObserver_ = null;\n this.mutationEventsAdded_ = false;\n this.connected_ = false;\n };\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\n var _b = _a.propertyName,\n propertyName = _b === void 0 ? '' : _b; // Detect whether transition may affect dimensions of an element.\n\n var isReflowProperty = transitionKeys.some(function (key) {\n return !!~propertyName.indexOf(key);\n });\n\n if (isReflowProperty) {\n this.refresh();\n }\n };\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\n\n\n ResizeObserverController.getInstance = function () {\n if (!this.instance_) {\n this.instance_ = new ResizeObserverController();\n }\n\n return this.instance_;\n };\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\n\n\n ResizeObserverController.instance_ = null;\n return ResizeObserverController;\n}();\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\n\n\nvar defineConfigurable = function defineConfigurable(target, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var key = _a[_i];\n Object.defineProperty(target, key, {\n value: props[key],\n enumerable: false,\n writable: false,\n configurable: true\n });\n }\n\n return target;\n};\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\n\n\nvar getWindowOf = function getWindowOf(target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView; // Return the local global object if it's not possible extract one from\n // provided element.\n\n return ownerGlobal || global$1;\n}; // Placeholder of an empty content rectangle.\n\n\nvar emptyRect = createRectInit(0, 0, 0, 0);\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\n\nfunction toFloat(value) {\n return parseFloat(value) || 0;\n}\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\n\n\nfunction getBordersSize(styles) {\n var positions = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n positions[_i - 1] = arguments[_i];\n }\n\n return positions.reduce(function (size, position) {\n var value = styles['border-' + position + '-width'];\n return size + toFloat(value);\n }, 0);\n}\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\n\n\nfunction getPaddings(styles) {\n var positions = ['top', 'right', 'bottom', 'left'];\n var paddings = {};\n\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\n var position = positions_1[_i];\n var value = styles['padding-' + position];\n paddings[position] = toFloat(value);\n }\n\n return paddings;\n}\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getSVGContentRect(target) {\n var bbox = target.getBBox();\n return createRectInit(0, 0, bbox.width, bbox.height);\n}\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getHTMLElementContentRect(target) {\n // Client width & height properties can't be\n // used exclusively as they provide rounded values.\n var clientWidth = target.clientWidth,\n clientHeight = target.clientHeight; // By this condition we can catch all non-replaced inline, hidden and\n // detached elements. Though elements with width & height properties less\n // than 0.5 will be discarded as well.\n //\n // Without it we would need to implement separate methods for each of\n // those cases and it's not possible to perform a precise and performance\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\n // gives wrong results for elements with width & height less than 0.5.\n\n if (!clientWidth && !clientHeight) {\n return emptyRect;\n }\n\n var styles = getWindowOf(target).getComputedStyle(target);\n var paddings = getPaddings(styles);\n var horizPad = paddings.left + paddings.right;\n var vertPad = paddings.top + paddings.bottom; // Computed styles of width & height are being used because they are the\n // only dimensions available to JS that contain non-rounded values. It could\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\n // affected by CSS transformations let alone paddings, borders and scroll bars.\n\n var width = toFloat(styles.width),\n height = toFloat(styles.height); // Width & height include paddings and borders when the 'border-box' box\n // model is applied (except for IE).\n\n if (styles.boxSizing === 'border-box') {\n // Following conditions are required to handle Internet Explorer which\n // doesn't include paddings and borders to computed CSS dimensions.\n //\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\n // properties then it's either IE, and thus we don't need to subtract\n // anything, or an element merely doesn't have paddings/borders styles.\n if (Math.round(width + horizPad) !== clientWidth) {\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\n }\n\n if (Math.round(height + vertPad) !== clientHeight) {\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\n }\n } // Following steps can't be applied to the document's root element as its\n // client[Width/Height] properties represent viewport area of the window.\n // Besides, it's as well not necessary as the itself neither has\n // rendered scroll bars nor it can be clipped.\n\n\n if (!isDocumentElement(target)) {\n // In some browsers (only in Firefox, actually) CSS width & height\n // include scroll bars size which can be removed at this step as scroll\n // bars are the only difference between rounded dimensions + paddings\n // and \"client\" properties, though that is not always true in Chrome.\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\n var horizScrollbar = Math.round(height + vertPad) - clientHeight; // Chrome has a rather weird rounding of \"client\" properties.\n // E.g. for an element with content width of 314.2px it sometimes gives\n // the client width of 315px and for the width of 314.7px it may give\n // 314px. And it doesn't happen all the time. So just ignore this delta\n // as a non-relevant.\n\n if (Math.abs(vertScrollbar) !== 1) {\n width -= vertScrollbar;\n }\n\n if (Math.abs(horizScrollbar) !== 1) {\n height -= horizScrollbar;\n }\n }\n\n return createRectInit(paddings.left, paddings.top, width, height);\n}\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\n\n\nvar isSVGGraphicsElement = function () {\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\n // interface.\n if (typeof SVGGraphicsElement !== 'undefined') {\n return function (target) {\n return target instanceof getWindowOf(target).SVGGraphicsElement;\n };\n } // If it's so, then check that element is at least an instance of the\n // SVGElement and that it has the \"getBBox\" method.\n // eslint-disable-next-line no-extra-parens\n\n\n return function (target) {\n return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function';\n };\n}();\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\n\n\nfunction isDocumentElement(target) {\n return target === getWindowOf(target).document.documentElement;\n}\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getContentRect(target) {\n if (!isBrowser) {\n return emptyRect;\n }\n\n if (isSVGGraphicsElement(target)) {\n return getSVGContentRect(target);\n }\n\n return getHTMLElementContentRect(target);\n}\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\n\n\nfunction createReadOnlyRect(_a) {\n var x = _a.x,\n y = _a.y,\n width = _a.width,\n height = _a.height; // If DOMRectReadOnly is available use it as a prototype for the rectangle.\n\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\n var rect = Object.create(Constr.prototype); // Rectangle's properties are not writable and non-enumerable.\n\n defineConfigurable(rect, {\n x: x,\n y: y,\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: height + y,\n left: x\n });\n return rect;\n}\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction createRectInit(x, y, width, height) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n}\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\n\n\nvar ResizeObservation = function () {\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\n function ResizeObservation(target) {\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastWidth = 0;\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\n\n this.broadcastHeight = 0;\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\n\n this.contentRect_ = createRectInit(0, 0, 0, 0);\n this.target = target;\n }\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\n\n\n ResizeObservation.prototype.isActive = function () {\n var rect = getContentRect(this.target);\n this.contentRect_ = rect;\n return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;\n };\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\n\n\n ResizeObservation.prototype.broadcastRect = function () {\n var rect = this.contentRect_;\n this.broadcastWidth = rect.width;\n this.broadcastHeight = rect.height;\n return rect;\n };\n\n return ResizeObservation;\n}();\n\nvar ResizeObserverEntry = function () {\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\n function ResizeObserverEntry(target, rectInit) {\n var contentRect = createReadOnlyRect(rectInit); // According to the specification following properties are not writable\n // and are also not enumerable in the native implementation.\n //\n // Property accessors are not being used as they'd require to define a\n // private WeakMap storage which may cause memory leaks in browsers that\n // don't support this type of collections.\n\n defineConfigurable(this, {\n target: target,\n contentRect: contentRect\n });\n }\n\n return ResizeObserverEntry;\n}();\n\nvar ResizeObserverSPI = function () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\n function ResizeObserverSPI(callback, controller, callbackCtx) {\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\n this.activeObservations_ = [];\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\n\n this.observations_ = new MapShim();\n\n if (typeof callback !== 'function') {\n throw new TypeError('The callback provided as parameter 1 is not a function.');\n }\n\n this.callback_ = callback;\n this.controller_ = controller;\n this.callbackCtx_ = callbackCtx;\n }\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.observe = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is already being observed.\n\n if (observations.has(target)) {\n return;\n }\n\n observations.set(target, new ResizeObservation(target));\n this.controller_.addObserver(this); // Force the update of observations.\n\n this.controller_.refresh();\n };\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.unobserve = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is not being observed.\n\n if (!observations.has(target)) {\n return;\n }\n\n observations.delete(target);\n\n if (!observations.size) {\n this.controller_.removeObserver(this);\n }\n };\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.disconnect = function () {\n this.clearActive();\n this.observations_.clear();\n this.controller_.removeObserver(this);\n };\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.gatherActive = function () {\n var _this = this;\n\n this.clearActive();\n this.observations_.forEach(function (observation) {\n if (observation.isActive()) {\n _this.activeObservations_.push(observation);\n }\n });\n };\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.broadcastActive = function () {\n // Do nothing if observer doesn't have active observations.\n if (!this.hasActive()) {\n return;\n }\n\n var ctx = this.callbackCtx_; // Create ResizeObserverEntry instance for every active observation.\n\n var entries = this.activeObservations_.map(function (observation) {\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\n });\n this.callback_.call(ctx, entries, ctx);\n this.clearActive();\n };\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n };\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\n\n\n ResizeObserverSPI.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n };\n\n return ResizeObserverSPI;\n}(); // Registry of internal observers. If WeakMap is not available use current shim\n// for the Map collection as it has all required methods and because WeakMap\n// can't be fully polyfilled anyway.\n\n\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\n\nvar ResizeObserver = function () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\n function ResizeObserver(callback) {\n if (!(this instanceof ResizeObserver)) {\n throw new TypeError('Cannot call a class as a function.');\n }\n\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n\n var controller = ResizeObserverController.getInstance();\n var observer = new ResizeObserverSPI(callback, controller, this);\n observers.set(this, observer);\n }\n\n return ResizeObserver;\n}(); // Expose public methods of ResizeObserver.\n\n\n['observe', 'unobserve', 'disconnect'].forEach(function (method) {\n ResizeObserver.prototype[method] = function () {\n var _a;\n\n return (_a = observers.get(this))[method].apply(_a, arguments);\n };\n});\n\nvar index = function () {\n // Export existing implementation if available.\n if (typeof global$1.ResizeObserver !== 'undefined') {\n return global$1.ResizeObserver;\n }\n\n return ResizeObserver;\n}();\n\nexport default index;","import React from \"react\"\nimport Seal from \"../images/seal/guide-star-seal.svg\"\n\nexport default function Footer() {\n return (\n \n )\n}\n"],"names":["_React$useState","_React$useState2","flexible","setFlexible","responsiveArray","responsiveMap","xs","sm","md","lg","xl","xxl","subscribers","Map","subUid","screens","responsiveObserve","matchHandlers","dispatch","pointMap","forEach","func","size","subscribe","this","register","set","unsubscribe","token","unregister","_this","Object","keys","screen","matchMediaQuery","handler","mql","removeListener","listener","clear","_this2","_ref","matches","window","matchMedia","addListener","flexGapSupported","canUseDocElement","document","documentElement","detectFlexGapSupported","undefined","flex","createElement","style","display","flexDirection","rowGap","appendChild","body","scrollHeight","removeChild","tuple","_len","arguments","length","args","Array","_key","tupleNum","_len2","_key2","RowContext","createContext","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","propertyIsEnumerable","sizes","Col","props","ref","_classNames","_React$useContext","getPrefixCls","direction","_React$useContext2","gutter","wrap","supportFlexGap","customizePrefixCls","prefixCls","span","order","offset","push","pull","className","children","others","sizeClassObj","_extends2","sizeProps","propSize","concat","classes","mergedStyle","horizontalGutter","paddingLeft","paddingRight","verticalGutter","paddingTop","paddingBottom","test","parseFlex","minWidth","displayName","Row","justify","align","_props$gutter","setScreens","gutterRef","currentGutter","current","isArray","results","gutters","g","index","breakpoint","rowStyle","marginLeft","marginRight","_gutters","marginTop","marginBottom","rowContext","value","UNDEFINED","InternalItem","invalidate","item","renderItem","responsive","registerSize","itemKey","_props$component","component","Component","restProps","mergedHidden","internalRegisterSize","width","overflowStyle","childNode","opacity","height","overflowY","pointerEvents","position","overflowProps","itemNode","onResize","offsetWidth","Item","InternalRawItem","context","OverflowContext","_restProps","contextClassName","restContext","Provider","RawItem","RESPONSIVE","INVALIDATE","defaultRenderRest","omittedItems","Overflow","_props$prefixCls","_props$data","data","renderRawItem","_props$itemWidth","itemWidth","ssr","maxCount","renderRest","renderRawRest","suffix","itemComponent","onVisibleChange","createUseState","_useState","useState","forceUpdate","statesRef","useRef","destroyRef","walkingIndex","beforeFrameId","useEffect","defaultValue","myIndex","val","raf","useBatchFrameState","fullySSR","_createUseState","_createUseState2","containerWidth","setContainerWidth","mergedContainerWidth","_createUseState3","_createUseState4","itemWidths","setItemWidths","_createUseState5","_createUseState6","prevRestWidth","setPrevRestWidth","_createUseState7","_createUseState8","restWidth","setRestWidth","_createUseState9","_createUseState10","suffixWidth","setSuffixWidth","_useState2","suffixFixedStart","setSuffixFixedStart","_useState3","_useState4","displayCount","setDisplayCount","mergedDisplayCount","Number","MAX_SAFE_INTEGER","_useState5","_useState6","restReady","setRestReady","itemPrefixCls","mergedRestWidth","Math","max","isResponsive","showRest","mergedData","useMemo","items","slice","min","getKey","useCallback","mergedRenderItem","updateDisplayCount","count","notReady","key","origin","clone","delete","getItemWidth","get","totalWidth","len","lastIndex","currentItemWidth","displayRest","suffixStyle","left","top","restNode","itemSharedProps","internalRenderItemNode","restContextProps","_","mergedRenderRest","overflowNode","map","element","clientWidth","ForwardOverflow","elementListeners","resizeObserver","entities","entity","_elementListeners$get","target","DomWrapper","_React$Component","_super","apply","CollectionContext","SingleObserver","disabled","elementRef","wrapperRef","onCollectionResize","sizeRef","offsetHeight","canRef","originRef","mergedRef","propsRef","onInternalResize","_propsRef$current","_target$getBoundingCl","getBoundingClientRect","fixedWidth","floor","fixedHeight","mergedOffsetWidth","round","mergedOffsetHeight","sizeInfo","Promise","resolve","then","callback","currentElement","findDOMNode","has","Set","observe","add","unobserve","ResizeObserver","toArray","child","Collection","onBatchResize","resizeIdRef","resizeInfosRef","currentId","isPointsEq","a1","a2","isAlignPoint","getMotion","motion","animation","transitionName","motionName","Mask","visible","zIndex","mask","maskMotion","maskAnimation","maskTransitionName","motionAppear","removeOnLeave","vendorPrefix","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread2","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","obj","Symbol","iterator","constructor","configurable","writable","jsCssMap","Webkit","Moz","ms","O","getVendorPrefix","getTransitionName","getTransformName","setTransitionProperty","node","name","transitionProperty","setTransform","transform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","elem","originalStyle","css","el","v","getScroll","w","ret","method","d","getScrollLeft","getScrollTop","getOffset","pos","box","x","y","doc","ownerDocument","docElem","clientLeft","clientTop","getClientPosition","defaultView","parentWindow","isWindow","getDocument","nodeType","_RE_NUM_NO_PX","RegExp","RE_POS","getOffsetDirection","dir","option","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","off","_dir","_off","setTransform$1","originalXY","getComputedStyle","getPropertyValue","matrix","replace","split","parseFloat","getTransformXY","resultXY","xy","arr","match2d","match","join","setTransformXY","each","fn","isBorderBoxFn","cs","computedStyle","rsLeft","pixelLeft","BOX_MODELS","swap","options","getPBMWidth","which","prop","j","cssProp","domUtils","getParent","parent","host","parentNode","getWH","ex","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","win","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","mix","to","from","first","charAt","toUpperCase","includeMargin","utils","getWindow","setTimeout","ignoreShake","oriOffset","oLeft","toFixed","oTop","tLeft","tTop","useCssTransform","setOffset","overflow","getWindowScrollLeft","getWindowScrollTop","merge","getOffsetParent","positionStyle","nodeName","toLowerCase","getParent$1","getVisibleRectForElement","alwaysByViewport","visibleRect","right","Infinity","bottom","navigator","userAgent","clientHeight","originalPosition","scrollX","scrollY","documentWidth","scrollWidth","documentHeight","bodyStyle","overflowX","innerWidth","innerHeight","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","h","outerWidth","outerHeight","getAlignOffset","region","V","H","getElFuturePos","elRegion","refNodeRegion","points","targetOffset","p1","p2","diff","isFailX","elFuturePos","isFailY","flip","reg","m","flipOffset","convertOffset","str","offsetLen","parseInt","substring","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","adjustX","adjustY","newPoints","l","r","newOffset","newTargetOffset","isCompleteFailX","_newPoints","b","_newOffset","_newTargetOffset","isCompleteFailY","isStillFailX","isStillFailY","_newPoints2","resizeWidth","resizeHeight","adjustForViewport","alignElement","refNode","isTargetNotOutOfVisible","targetRegion","isOutOfVisibleRect","__getOffsetParent","__getVisibleRectForElement","monitorResize","prevWidth","prevHeight","contains","disconnect","getElement","getPoint","point","Align","onAlign","monitorWindowResize","_ref$monitorBufferTim","monitorBufferTime","cacheRef","nodeRef","forceAlignPropsRef","_useBuffer","buffer","calledRef","timeoutRef","cancelTrigger","clearTimeout","trigger","force","useBuffer","_forceAlignPropsRef$c","latestDisabled","latestTarget","latestAlign","latestOnAlign","result","activeElement","isVisible","tgtPoint","pageX","pageY","clientX","clientY","pointInView","alignPoint","container","focus","restoreFocus","_useBuffer2","_forceAlign","cancelForceAlign","resizeMonitor","cancel","sourceResizeMonitor","prev","next","winResizeRef","addEventListener","remove","forceAlign","RcAlign","StatusQueue","PopupInner","stretch","destroyPopupOnHide","forceRender","getRootDomNode","getClassNameFromAlign","onMouseEnter","onMouseLeave","onMouseDown","onTouchStart","alignRef","alignedClassName","setAlignedClassName","_useStretchStyle","targetSize","setTargetSize","sizeStyle","minHeight","useStretchStyle","_useStretchStyle2","stretchStyle","measureStretchStyle","_useVisibleStatus","doMeasure","status","setInternalStatus","rafRef","setStatus","nextStatus","cancelRaf","_callee","_context","stop","useVisibleStatus","_useVisibleStatus2","goNextStatus","prepareResolveRef","_alignRef$current","onInternalAlign","popupDomNode","matchAlign","nextAlignedClassName","_prepareResolveRef$cu","onShowPrepare","eventName","originHandler","event","alignDisabled","leavedClassName","onAppearPrepare","onEnterPrepare","motionRef","motionClassName","motionStyle","mergedClassName","onMouseDownCapture","onTouchStartCapture","MobilePopupInner","_props$mobile","mobile","popupClassName","popupStyle","_props$mobile$popupMo","popupMotion","popupRender","_excluded","Popup","innerVisible","serInnerVisible","inMobile","setInMobile","cloneProps","isMobile","popupNode","noop","returnEmptyString","returnDocument","ALL_HANDLERS","PortalComponent","Trigger","Portal","_popupVisible","popupRef","triggerRef","attachId","clickOutsideHandler","touchOutsideHandler","contextMenuOutsideHandler1","contextMenuOutsideHandler2","mouseDownTimeout","focusTime","preClickTime","preTouchTime","delayTimer","hasPopupMouseDown","mouseEnterDelay","fireEvents","delaySetPopupVisible","onMouseMove","setPoint","mouseLeaveDelay","onPopupMouseEnter","clearDelayTimer","onPopupMouseLeave","_this$popupRef$curren","relatedTarget","onFocus","isFocusToShow","Date","now","focusDelay","onBlur","isBlurToHide","blurDelay","onContextMenu","preventDefault","setPopupVisible","onContextMenuClose","isContextMenuToShow","close","onClick","preTime","abs","isClickToShow","isClickToHide","nextVisible","state","popupVisible","onPopupMouseDown","_this$context","onDocumentClick","maskClosable","root","getPopupDomNode","isContextMenuOnly","getTriggerDOMNode","domNode","err","getPopupClassNameFromAlign","_this$props","popupPlacement","builtinPlacements","placements","placement","getAlignPopupClassName","getComponent","_this$props2","onPopupAlign","popupAnimation","popupTransitionName","popup","_this$state","getPopupAlign","mouseProps","isMouseEnterToShow","isMouseLeaveToHide","attachParent","popupContainer","mountNode","_this$props3","getPopupContainer","getContainer","setState","handlePortalUpdate","prevPopupVisible","afterPopupVisibleChange","triggerContextValue","defaultPopupVisible","componentDidUpdate","currentDocument","clearOutsideHandler","_this$popupRef$curren2","popupAlign","placementStr","baseAlign","getAlignFromPlacement","onPopupVisibleChange","delayS","delay","childPros","_this$props4","action","showAction","_this$props5","_this$props6","hideAction","_this$props7","_this$props8","_this$props9","_this$props10","_this$popupRef$curren3","type","childCallback","_this$props11","autoDestroy","newChildProps","createTwoChains","childrenClassName","portal","didUpdate","prevState","newState","contextType","defaultProps","addEventListenerWrap","eventType","cb","removeEventListener","n","offsetParent","getBBox","_box","forwardRef","containerRef","useImperativeHandle","initRef","_containerRef$current","_containerRef$current2","agent","vendor","opera","substr","omit","fields","MapShim","getIndex","some","entry","class_1","__entries__","entries","splice","ctx","_i","_a","isBrowser","global$1","self","Function","requestAnimationFrame$1","requestAnimationFrame","bind","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","attributes","childList","characterData","subtree","_b","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","reduce","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","create","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","clearActive","observation","WeakMap","Footer","href","getFullYear"],"sourceRoot":""}