{"version":3,"file":"static/js/3115.8f5973ad.chunk.js","mappings":"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","sources":["../node_modules/@rc-component/portal/es/Context.js","../node_modules/@rc-component/portal/es/useDom.js","../node_modules/@rc-component/portal/es/useScrollLocker.js","../node_modules/@rc-component/portal/es/util.js","../node_modules/@rc-component/portal/es/mock.js","../node_modules/@rc-component/portal/es/Portal.js","../node_modules/@rc-component/portal/es/index.js","../node_modules/@rc-component/trigger/es/Popup/Arrow.js","../node_modules/@rc-component/trigger/es/Popup/Mask.js","../node_modules/@rc-component/trigger/es/Popup/PopupContent.js","../node_modules/@rc-component/trigger/es/Popup/index.js","../node_modules/@rc-component/trigger/es/TriggerWrapper.js","../node_modules/@rc-component/trigger/es/context.js","../node_modules/@rc-component/trigger/es/hooks/useAction.js","../node_modules/@rc-component/trigger/es/util.js","../node_modules/@rc-component/trigger/es/hooks/useAlign.js","../node_modules/@rc-component/trigger/es/index.js","../node_modules/@rc-component/trigger/es/hooks/useWatch.js","../node_modules/@rc-component/trigger/es/hooks/useWinClick.js","../node_modules/antd/es/_util/motion.js","../node_modules/antd/es/_util/responsiveObserver.js","../node_modules/antd/es/_util/wave/style.js","../node_modules/antd/es/_util/wave/util.js","../node_modules/antd/es/_util/wave/WaveEffect.js","../node_modules/antd/es/_util/wave/index.js","../node_modules/antd/es/_util/wave/useWave.js","../node_modules/antd/es/_util/wave/interface.js","../node_modules/antd/es/config-provider/hooks/useSize.js","../node_modules/antd/es/space/Compact.js","../node_modules/antd/es/space/style/compact.js","../node_modules/antd/es/space/style/index.js","../node_modules/antd/es/style/compact-item.js","../node_modules/antd/es/style/motion/motion.js","../node_modules/rc-resize-observer/es/Collection.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/rc-resize-observer/es/utils/observerUtil.js","../node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","../node_modules/rc-resize-observer/es/SingleObserver/index.js","../node_modules/rc-resize-observer/es/index.js","../node_modules/rc-util/es/Children/toArray.js","../node_modules/rc-util/es/Dom/isVisible.js","../node_modules/rc-util/es/getScrollBarSize.js","../node_modules/rc-util/es/hooks/useId.js","../node_modules/rc-util/es/isMobile.js"],"sourcesContent":["import * as React from 'react';\nvar OrderContext = /*#__PURE__*/React.createContext(null);\nexport default OrderContext;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport OrderContext from \"./Context\";\nvar EMPTY_LIST = [];\n\n/**\n * Will add `div` to document. Nest call will keep order\n * @param render Render DOM in document\n */\nexport default function useDom(render, debug) {\n var _React$useState = React.useState(function () {\n if (!canUseDom()) {\n return null;\n }\n var defaultEle = document.createElement('div');\n if (process.env.NODE_ENV !== 'production' && debug) {\n defaultEle.setAttribute('data-debug', debug);\n }\n return defaultEle;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n ele = _React$useState2[0];\n\n // ========================== Order ==========================\n var appendedRef = React.useRef(false);\n var queueCreate = React.useContext(OrderContext);\n var _React$useState3 = React.useState(EMPTY_LIST),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n queue = _React$useState4[0],\n setQueue = _React$useState4[1];\n var mergedQueueCreate = queueCreate || (appendedRef.current ? undefined : function (appendFn) {\n setQueue(function (origin) {\n var newQueue = [appendFn].concat(_toConsumableArray(origin));\n return newQueue;\n });\n });\n\n // =========================== DOM ===========================\n function append() {\n if (!ele.parentElement) {\n document.body.appendChild(ele);\n }\n appendedRef.current = true;\n }\n function cleanup() {\n var _ele$parentElement;\n (_ele$parentElement = ele.parentElement) === null || _ele$parentElement === void 0 ? void 0 : _ele$parentElement.removeChild(ele);\n appendedRef.current = false;\n }\n useLayoutEffect(function () {\n if (render) {\n if (queueCreate) {\n queueCreate(append);\n } else {\n append();\n }\n } else {\n cleanup();\n }\n return cleanup;\n }, [render]);\n useLayoutEffect(function () {\n if (queue.length) {\n queue.forEach(function (appendFn) {\n return appendFn();\n });\n setQueue(EMPTY_LIST);\n }\n }, [queue]);\n return [ele, mergedQueueCreate];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { updateCSS, removeCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport { isBodyOverflowing } from \"./util\";\nvar UNIQUE_ID = \"rc-util-locker-\".concat(Date.now());\nvar uuid = 0;\nexport default function useScrollLocker(lock) {\n var mergedLock = !!lock;\n var _React$useState = React.useState(function () {\n uuid += 1;\n return \"\".concat(UNIQUE_ID, \"_\").concat(uuid);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n id = _React$useState2[0];\n useLayoutEffect(function () {\n if (mergedLock) {\n var scrollbarSize = getTargetScrollBarSize(document.body).width;\n var isOverflow = isBodyOverflowing();\n updateCSS(\"\\nhtml body {\\n overflow-y: hidden;\\n \".concat(isOverflow ? \"width: calc(100% - \".concat(scrollbarSize, \"px);\") : '', \"\\n}\"), id);\n } else {\n removeCSS(id);\n }\n return function () {\n removeCSS(id);\n };\n }, [mergedLock, id]);\n}","/**\n * Test usage export. Do not use in your production\n */\nexport function isBodyOverflowing() {\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;\n}","export var inline = false;\nexport function inlineMock(nextInline) {\n if (typeof nextInline === 'boolean') {\n inline = nextInline;\n }\n return inline;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport warning from \"rc-util/es/warning\";\nimport { supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport OrderContext from \"./Context\";\nimport useDom from \"./useDom\";\nimport useScrollLocker from \"./useScrollLocker\";\nimport { inlineMock } from \"./mock\";\nvar getPortalContainer = function getPortalContainer(getContainer) {\n if (getContainer === false) {\n return false;\n }\n if (!canUseDom() || !getContainer) {\n return null;\n }\n if (typeof getContainer === 'string') {\n return document.querySelector(getContainer);\n }\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n return getContainer;\n};\nvar Portal = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var open = props.open,\n autoLock = props.autoLock,\n getContainer = props.getContainer,\n debug = props.debug,\n _props$autoDestroy = props.autoDestroy,\n autoDestroy = _props$autoDestroy === void 0 ? true : _props$autoDestroy,\n children = props.children;\n var _React$useState = React.useState(open),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n shouldRender = _React$useState2[0],\n setShouldRender = _React$useState2[1];\n var mergedRender = shouldRender || open;\n\n // ========================= Warning =========================\n if (process.env.NODE_ENV !== 'production') {\n warning(canUseDom() || !open, \"Portal only work in client side. Please call 'useEffect' to show Portal instead default render in SSR.\");\n }\n\n // ====================== Should Render ======================\n React.useEffect(function () {\n if (autoDestroy || open) {\n setShouldRender(open);\n }\n }, [open, autoDestroy]);\n\n // ======================== Container ========================\n var _React$useState3 = React.useState(function () {\n return getPortalContainer(getContainer);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n innerContainer = _React$useState4[0],\n setInnerContainer = _React$useState4[1];\n React.useEffect(function () {\n var customizeContainer = getPortalContainer(getContainer);\n\n // Tell component that we check this in effect which is safe to be `null`\n setInnerContainer(customizeContainer !== null && customizeContainer !== void 0 ? customizeContainer : null);\n });\n var _useDom = useDom(mergedRender && !innerContainer, debug),\n _useDom2 = _slicedToArray(_useDom, 2),\n defaultContainer = _useDom2[0],\n queueCreate = _useDom2[1];\n var mergedContainer = innerContainer !== null && innerContainer !== void 0 ? innerContainer : defaultContainer;\n\n // ========================= Locker ==========================\n useScrollLocker(autoLock && open && canUseDom() && (mergedContainer === defaultContainer || mergedContainer === document.body));\n\n // =========================== Ref ===========================\n var childRef = null;\n if (children && supportRef(children) && ref) {\n var _ref = children;\n childRef = _ref.ref;\n }\n var mergedRef = useComposeRef(childRef, ref);\n\n // ========================= Render ==========================\n // Do not render when nothing need render\n // When innerContainer is `undefined`, it may not ready since user use ref in the same render\n if (!mergedRender || !canUseDom() || innerContainer === undefined) {\n return null;\n }\n\n // Render inline\n var renderInline = mergedContainer === false || inlineMock();\n var reffedChildren = children;\n if (ref) {\n reffedChildren = /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n });\n }\n return /*#__PURE__*/React.createElement(OrderContext.Provider, {\n value: queueCreate\n }, renderInline ? reffedChildren : /*#__PURE__*/createPortal(reffedChildren, mergedContainer));\n});\nif (process.env.NODE_ENV !== 'production') {\n Portal.displayName = 'Portal';\n}\nexport default Portal;","import Portal from \"./Portal\";\nimport { inlineMock } from \"./mock\";\nexport { inlineMock };\nexport default Portal;","import classNames from 'classnames';\nimport * as React from 'react';\nexport default function Arrow(props) {\n var prefixCls = props.prefixCls,\n align = props.align,\n arrow = props.arrow,\n arrowPos = props.arrowPos;\n var _ref = arrow || {},\n className = _ref.className,\n content = _ref.content;\n var _arrowPos$x = arrowPos.x,\n x = _arrowPos$x === void 0 ? 0 : _arrowPos$x,\n _arrowPos$y = arrowPos.y,\n y = _arrowPos$y === void 0 ? 0 : _arrowPos$y;\n var arrowRef = React.useRef();\n\n // Skip if no align\n if (!align || !align.points) {\n return null;\n }\n var alignStyle = {\n position: 'absolute'\n };\n\n // Skip if no need to align\n if (align.autoArrow !== false) {\n var popupPoints = align.points[0];\n var targetPoints = align.points[1];\n var popupTB = popupPoints[0];\n var popupLR = popupPoints[1];\n var targetTB = targetPoints[0];\n var targetLR = targetPoints[1];\n\n // Top & Bottom\n if (popupTB === targetTB || !['t', 'b'].includes(popupTB)) {\n alignStyle.top = y;\n } else if (popupTB === 't') {\n alignStyle.top = 0;\n } else {\n alignStyle.bottom = 0;\n }\n\n // Left & Right\n if (popupLR === targetLR || !['l', 'r'].includes(popupLR)) {\n alignStyle.left = x;\n } else if (popupLR === 'l') {\n alignStyle.left = 0;\n } else {\n alignStyle.right = 0;\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: arrowRef,\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), className),\n style: alignStyle\n }, content);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport * as React from 'react';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n open = props.open,\n zIndex = props.zIndex,\n mask = props.mask,\n motion = props.motion;\n if (!mask) {\n return null;\n }\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n motionAppear: true,\n visible: open,\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}","import * as React from 'react';\nvar PopupContent = /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (_, next) {\n return next.cache;\n});\nif (process.env.NODE_ENV !== 'production') {\n PopupContent.displayName = 'PopupContent';\n}\nexport default PopupContent;","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 classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport ResizeObserver from 'rc-resize-observer';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport Arrow from \"./Arrow\";\nimport Mask from \"./Mask\";\nimport PopupContent from \"./PopupContent\";\nvar Popup = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var popup = props.popup,\n className = props.className,\n prefixCls = props.prefixCls,\n style = props.style,\n target = props.target,\n _onVisibleChanged = props.onVisibleChanged,\n open = props.open,\n keepDom = props.keepDom,\n fresh = props.fresh,\n onClick = props.onClick,\n mask = props.mask,\n arrow = props.arrow,\n arrowPos = props.arrowPos,\n align = props.align,\n motion = props.motion,\n maskMotion = props.maskMotion,\n forceRender = props.forceRender,\n getPopupContainer = props.getPopupContainer,\n autoDestroy = props.autoDestroy,\n Portal = props.portal,\n zIndex = props.zIndex,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onPointerEnter = props.onPointerEnter,\n ready = props.ready,\n offsetX = props.offsetX,\n offsetY = props.offsetY,\n offsetR = props.offsetR,\n offsetB = props.offsetB,\n onAlign = props.onAlign,\n onPrepare = props.onPrepare,\n stretch = props.stretch,\n targetWidth = props.targetWidth,\n targetHeight = props.targetHeight;\n var childNode = typeof popup === 'function' ? popup() : popup;\n\n // We can not remove holder only when motion finished.\n var isNodeVisible = open || keepDom;\n\n // ======================= Container ========================\n var getPopupContainerNeedParams = (getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer.length) > 0;\n var _React$useState = React.useState(!getPopupContainer || !getPopupContainerNeedParams),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n show = _React$useState2[0],\n setShow = _React$useState2[1];\n\n // Delay to show since `getPopupContainer` need target element\n useLayoutEffect(function () {\n if (!show && getPopupContainerNeedParams && target) {\n setShow(true);\n }\n }, [show, getPopupContainerNeedParams, target]);\n\n // ========================= Render =========================\n if (!show) {\n return null;\n }\n\n // >>>>> Offset\n var AUTO = 'auto';\n var offsetStyle = {\n left: '-1000vw',\n top: '-1000vh',\n right: AUTO,\n bottom: AUTO\n };\n\n // Set align style\n if (ready || !open) {\n var _experimental;\n var points = align.points;\n var dynamicInset = align.dynamicInset || ((_experimental = align._experimental) === null || _experimental === void 0 ? void 0 : _experimental.dynamicInset);\n var alignRight = dynamicInset && points[0][1] === 'r';\n var alignBottom = dynamicInset && points[0][0] === 'b';\n if (alignRight) {\n offsetStyle.right = offsetR;\n offsetStyle.left = AUTO;\n } else {\n offsetStyle.left = offsetX;\n offsetStyle.right = AUTO;\n }\n if (alignBottom) {\n offsetStyle.bottom = offsetB;\n offsetStyle.top = AUTO;\n } else {\n offsetStyle.top = offsetY;\n offsetStyle.bottom = AUTO;\n }\n }\n\n // >>>>> Misc\n var miscStyle = {};\n if (stretch) {\n if (stretch.includes('height') && targetHeight) {\n miscStyle.height = targetHeight;\n } else if (stretch.includes('minHeight') && targetHeight) {\n miscStyle.minHeight = targetHeight;\n }\n if (stretch.includes('width') && targetWidth) {\n miscStyle.width = targetWidth;\n } else if (stretch.includes('minWidth') && targetWidth) {\n miscStyle.minWidth = targetWidth;\n }\n }\n if (!open) {\n miscStyle.pointerEvents = 'none';\n }\n return /*#__PURE__*/React.createElement(Portal, {\n open: forceRender || isNodeVisible,\n getContainer: getPopupContainer && function () {\n return getPopupContainer(target);\n },\n autoDestroy: autoDestroy\n }, /*#__PURE__*/React.createElement(Mask, {\n prefixCls: prefixCls,\n open: open,\n zIndex: zIndex,\n mask: mask,\n motion: maskMotion\n }), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onAlign,\n disabled: !open\n }, function (resizeObserverRef) {\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n motionAppear: true,\n motionEnter: true,\n motionLeave: true,\n removeOnLeave: false,\n forceRender: forceRender,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onPrepare,\n onEnterPrepare: onPrepare,\n visible: open,\n onVisibleChanged: function onVisibleChanged(nextVisible) {\n var _motion$onVisibleChan;\n motion === null || motion === void 0 || (_motion$onVisibleChan = motion.onVisibleChanged) === null || _motion$onVisibleChan === void 0 || _motion$onVisibleChan.call(motion, nextVisible);\n _onVisibleChanged(nextVisible);\n }\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var cls = classNames(prefixCls, motionClassName, className);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: composeRef(resizeObserverRef, ref, motionRef),\n className: cls,\n style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n '--arrow-x': \"\".concat(arrowPos.x || 0, \"px\"),\n '--arrow-y': \"\".concat(arrowPos.y || 0, \"px\")\n }, offsetStyle), miscStyle), motionStyle), {}, {\n boxSizing: 'border-box',\n zIndex: zIndex\n }, style),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onPointerEnter: onPointerEnter,\n onClick: onClick\n }, arrow && /*#__PURE__*/React.createElement(Arrow, {\n prefixCls: prefixCls,\n arrow: arrow,\n arrowPos: arrowPos,\n align: align\n }), /*#__PURE__*/React.createElement(PopupContent, {\n cache: !open && !fresh\n }, childNode));\n });\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Popup.displayName = 'Popup';\n}\nexport default Popup;","import { fillRef, supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nvar TriggerWrapper = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var children = props.children,\n getTriggerDOMNode = props.getTriggerDOMNode;\n var canUseRef = supportRef(children);\n\n // When use `getTriggerDOMNode`, we should do additional work to get the real dom\n var setRef = React.useCallback(function (node) {\n fillRef(ref, getTriggerDOMNode ? getTriggerDOMNode(node) : node);\n }, [getTriggerDOMNode]);\n var mergedRef = useComposeRef(setRef, children.ref);\n return canUseRef ? /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n }) : children;\n});\nif (process.env.NODE_ENV !== 'production') {\n TriggerWrapper.displayName = 'TriggerWrapper';\n}\nexport default TriggerWrapper;","import * as React from 'react';\nvar TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;","import * as React from 'react';\nfunction toArray(val) {\n return val ? Array.isArray(val) ? val : [val] : [];\n}\nexport default function useAction(mobile, action, showAction, hideAction) {\n return React.useMemo(function () {\n var mergedShowAction = toArray(showAction !== null && showAction !== void 0 ? showAction : action);\n var mergedHideAction = toArray(hideAction !== null && hideAction !== void 0 ? hideAction : action);\n var showActionSet = new Set(mergedShowAction);\n var hideActionSet = new Set(mergedHideAction);\n if (mobile) {\n if (showActionSet.has('hover')) {\n showActionSet.delete('hover');\n showActionSet.add('click');\n }\n if (hideActionSet.has('hover')) {\n hideActionSet.delete('hover');\n hideActionSet.add('click');\n }\n }\n return [showActionSet, hideActionSet];\n }, [mobile, action, showAction, hideAction]);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nfunction isPointsEq() {\n var a1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var a2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var isAlignPoint = arguments.length > 2 ? arguments[2] : undefined;\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n for (var i = 0; i < placements.length; i += 1) {\n var _builtinPlacements$pl;\n var placement = placements[i];\n if (isPointsEq((_builtinPlacements$pl = builtinPlacements[placement]) === null || _builtinPlacements$pl === void 0 ? void 0 : _builtinPlacements$pl.points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n return '';\n}\n\n/** @deprecated We should not use this if we can refactor all deps */\nexport function getMotion(prefixCls, motion, animation, transitionName) {\n if (motion) {\n return motion;\n }\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n return null;\n}\nexport function getWin(ele) {\n return ele.ownerDocument.defaultView;\n}\n\n/**\n * Get all the scrollable parent elements of the element\n * @param ele The element to be detected\n * @param areaOnly Only return the parent which will cut visible area\n */\nexport function collectScroller(ele) {\n var scrollerList = [];\n var current = ele === null || ele === void 0 ? void 0 : ele.parentElement;\n var scrollStyle = ['hidden', 'scroll', 'clip', 'auto'];\n while (current) {\n var _getWin$getComputedSt = getWin(current).getComputedStyle(current),\n overflowX = _getWin$getComputedSt.overflowX,\n overflowY = _getWin$getComputedSt.overflowY,\n overflow = _getWin$getComputedSt.overflow;\n if ([overflowX, overflowY, overflow].some(function (o) {\n return scrollStyle.includes(o);\n })) {\n scrollerList.push(current);\n }\n current = current.parentElement;\n }\n return scrollerList;\n}\nexport function toNum(num) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return Number.isNaN(num) ? defaultValue : num;\n}\nfunction getPxValue(val) {\n return toNum(parseFloat(val), 0);\n}\n/**\n *\n *\n * **************************************\n * * Border *\n * * ************************** *\n * * * * * *\n * * B * * S * B *\n * * o * * c * o *\n * * r * Content * r * r *\n * * d * * o * d *\n * * e * * l * e *\n * * r ******************** l * r *\n * * * Scroll * *\n * * ************************** *\n * * Border *\n * **************************************\n *\n */\n/**\n * Get visible area of element\n */\nexport function getVisibleArea(initArea, scrollerList) {\n var visibleArea = _objectSpread({}, initArea);\n (scrollerList || []).forEach(function (ele) {\n if (ele instanceof HTMLBodyElement || ele instanceof HTMLHtmlElement) {\n return;\n }\n\n // Skip if static position which will not affect visible area\n var _getWin$getComputedSt2 = getWin(ele).getComputedStyle(ele),\n overflow = _getWin$getComputedSt2.overflow,\n overflowClipMargin = _getWin$getComputedSt2.overflowClipMargin,\n borderTopWidth = _getWin$getComputedSt2.borderTopWidth,\n borderBottomWidth = _getWin$getComputedSt2.borderBottomWidth,\n borderLeftWidth = _getWin$getComputedSt2.borderLeftWidth,\n borderRightWidth = _getWin$getComputedSt2.borderRightWidth;\n var eleRect = ele.getBoundingClientRect();\n var eleOutHeight = ele.offsetHeight,\n eleInnerHeight = ele.clientHeight,\n eleOutWidth = ele.offsetWidth,\n eleInnerWidth = ele.clientWidth;\n var borderTopNum = getPxValue(borderTopWidth);\n var borderBottomNum = getPxValue(borderBottomWidth);\n var borderLeftNum = getPxValue(borderLeftWidth);\n var borderRightNum = getPxValue(borderRightWidth);\n var scaleX = toNum(Math.round(eleRect.width / eleOutWidth * 1000) / 1000);\n var scaleY = toNum(Math.round(eleRect.height / eleOutHeight * 1000) / 1000);\n\n // Original visible area\n var eleScrollWidth = (eleOutWidth - eleInnerWidth - borderLeftNum - borderRightNum) * scaleX;\n var eleScrollHeight = (eleOutHeight - eleInnerHeight - borderTopNum - borderBottomNum) * scaleY;\n\n // Cut border size\n var scaledBorderTopWidth = borderTopNum * scaleY;\n var scaledBorderBottomWidth = borderBottomNum * scaleY;\n var scaledBorderLeftWidth = borderLeftNum * scaleX;\n var scaledBorderRightWidth = borderRightNum * scaleX;\n\n // Clip margin\n var clipMarginWidth = 0;\n var clipMarginHeight = 0;\n if (overflow === 'clip') {\n var clipNum = getPxValue(overflowClipMargin);\n clipMarginWidth = clipNum * scaleX;\n clipMarginHeight = clipNum * scaleY;\n }\n\n // Region\n var eleLeft = eleRect.x + scaledBorderLeftWidth - clipMarginWidth;\n var eleTop = eleRect.y + scaledBorderTopWidth - clipMarginHeight;\n var eleRight = eleLeft + eleRect.width + 2 * clipMarginWidth - scaledBorderLeftWidth - scaledBorderRightWidth - eleScrollWidth;\n var eleBottom = eleTop + eleRect.height + 2 * clipMarginHeight - scaledBorderTopWidth - scaledBorderBottomWidth - eleScrollHeight;\n visibleArea.left = Math.max(visibleArea.left, eleLeft);\n visibleArea.top = Math.max(visibleArea.top, eleTop);\n visibleArea.right = Math.min(visibleArea.right, eleRight);\n visibleArea.bottom = Math.min(visibleArea.bottom, eleBottom);\n });\n return visibleArea;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { isDOM } from \"rc-util/es/Dom/findDOMNode\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { collectScroller, getVisibleArea, getWin, toNum } from \"../util\";\nfunction getUnitOffset(size) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var offsetStr = \"\".concat(offset);\n var cells = offsetStr.match(/^(.*)\\%$/);\n if (cells) {\n return size * (parseFloat(cells[1]) / 100);\n }\n return parseFloat(offsetStr);\n}\nfunction getNumberOffset(rect, offset) {\n var _ref = offset || [],\n _ref2 = _slicedToArray(_ref, 2),\n offsetX = _ref2[0],\n offsetY = _ref2[1];\n return [getUnitOffset(rect.width, offsetX), getUnitOffset(rect.height, offsetY)];\n}\nfunction splitPoints() {\n var points = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return [points[0], points[1]];\n}\nfunction getAlignPoint(rect, points) {\n var topBottom = points[0];\n var leftRight = points[1];\n var x;\n var y;\n\n // Top & Bottom\n if (topBottom === 't') {\n y = rect.y;\n } else if (topBottom === 'b') {\n y = rect.y + rect.height;\n } else {\n y = rect.y + rect.height / 2;\n }\n\n // Left & Right\n if (leftRight === 'l') {\n x = rect.x;\n } else if (leftRight === 'r') {\n x = rect.x + rect.width;\n } else {\n x = rect.x + rect.width / 2;\n }\n return {\n x: x,\n y: y\n };\n}\nfunction reversePoints(points, index) {\n var reverseMap = {\n t: 'b',\n b: 't',\n l: 'r',\n r: 'l'\n };\n return points.map(function (point, i) {\n if (i === index) {\n return reverseMap[point] || 'c';\n }\n return point;\n }).join('');\n}\nexport default function useAlign(open, popupEle, target, placement, builtinPlacements, popupAlign, onPopupAlign) {\n var _React$useState = React.useState({\n ready: false,\n offsetX: 0,\n offsetY: 0,\n offsetR: 0,\n offsetB: 0,\n arrowX: 0,\n arrowY: 0,\n scaleX: 1,\n scaleY: 1,\n align: builtinPlacements[placement] || {}\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n offsetInfo = _React$useState2[0],\n setOffsetInfo = _React$useState2[1];\n var alignCountRef = React.useRef(0);\n var scrollerList = React.useMemo(function () {\n if (!popupEle) {\n return [];\n }\n return collectScroller(popupEle);\n }, [popupEle]);\n\n // ========================= Flip ==========================\n // We will memo flip info.\n // If size change to make flip, it will memo the flip info and use it in next align.\n var prevFlipRef = React.useRef({});\n var resetFlipCache = function resetFlipCache() {\n prevFlipRef.current = {};\n };\n if (!open) {\n resetFlipCache();\n }\n\n // ========================= Align =========================\n var onAlign = useEvent(function () {\n if (popupEle && target && open) {\n var _popupElement$parentE, _popupElement$parentE2;\n var popupElement = popupEle;\n var doc = popupElement.ownerDocument;\n var win = getWin(popupElement);\n var _win$getComputedStyle = win.getComputedStyle(popupElement),\n width = _win$getComputedStyle.width,\n height = _win$getComputedStyle.height,\n popupPosition = _win$getComputedStyle.position;\n var originLeft = popupElement.style.left;\n var originTop = popupElement.style.top;\n var originRight = popupElement.style.right;\n var originBottom = popupElement.style.bottom;\n var originOverflow = popupElement.style.overflow;\n\n // Placement\n var placementInfo = _objectSpread(_objectSpread({}, builtinPlacements[placement]), popupAlign);\n\n // placeholder element\n var placeholderElement = doc.createElement('div');\n (_popupElement$parentE = popupElement.parentElement) === null || _popupElement$parentE === void 0 || _popupElement$parentE.appendChild(placeholderElement);\n placeholderElement.style.left = \"\".concat(popupElement.offsetLeft, \"px\");\n placeholderElement.style.top = \"\".concat(popupElement.offsetTop, \"px\");\n placeholderElement.style.position = popupPosition;\n placeholderElement.style.height = \"\".concat(popupElement.offsetHeight, \"px\");\n placeholderElement.style.width = \"\".concat(popupElement.offsetWidth, \"px\");\n\n // Reset first\n popupElement.style.left = '0';\n popupElement.style.top = '0';\n popupElement.style.right = 'auto';\n popupElement.style.bottom = 'auto';\n popupElement.style.overflow = 'hidden';\n\n // Calculate align style, we should consider `transform` case\n var targetRect;\n if (Array.isArray(target)) {\n targetRect = {\n x: target[0],\n y: target[1],\n width: 0,\n height: 0\n };\n } else {\n var rect = target.getBoundingClientRect();\n targetRect = {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n };\n }\n var popupRect = popupElement.getBoundingClientRect();\n var _doc$documentElement = doc.documentElement,\n clientWidth = _doc$documentElement.clientWidth,\n clientHeight = _doc$documentElement.clientHeight,\n scrollWidth = _doc$documentElement.scrollWidth,\n scrollHeight = _doc$documentElement.scrollHeight,\n scrollTop = _doc$documentElement.scrollTop,\n scrollLeft = _doc$documentElement.scrollLeft;\n var popupHeight = popupRect.height;\n var popupWidth = popupRect.width;\n var targetHeight = targetRect.height;\n var targetWidth = targetRect.width;\n\n // Get bounding of visible area\n var visibleRegion = {\n left: 0,\n top: 0,\n right: clientWidth,\n bottom: clientHeight\n };\n var scrollRegion = {\n left: -scrollLeft,\n top: -scrollTop,\n right: scrollWidth - scrollLeft,\n bottom: scrollHeight - scrollTop\n };\n var htmlRegion = placementInfo.htmlRegion;\n var VISIBLE = 'visible';\n var VISIBLE_FIRST = 'visibleFirst';\n if (htmlRegion !== 'scroll' && htmlRegion !== VISIBLE_FIRST) {\n htmlRegion = VISIBLE;\n }\n var isVisibleFirst = htmlRegion === VISIBLE_FIRST;\n var scrollRegionArea = getVisibleArea(scrollRegion, scrollerList);\n var visibleRegionArea = getVisibleArea(visibleRegion, scrollerList);\n var visibleArea = htmlRegion === VISIBLE ? visibleRegionArea : scrollRegionArea;\n\n // When set to `visibleFirst`,\n // the check `adjust` logic will use `visibleRegion` for check first.\n var adjustCheckVisibleArea = isVisibleFirst ? visibleRegionArea : visibleArea;\n\n // Record right & bottom align data\n popupElement.style.left = 'auto';\n popupElement.style.top = 'auto';\n popupElement.style.right = '0';\n popupElement.style.bottom = '0';\n var popupMirrorRect = popupElement.getBoundingClientRect();\n\n // Reset back\n popupElement.style.left = originLeft;\n popupElement.style.top = originTop;\n popupElement.style.right = originRight;\n popupElement.style.bottom = originBottom;\n popupElement.style.overflow = originOverflow;\n (_popupElement$parentE2 = popupElement.parentElement) === null || _popupElement$parentE2 === void 0 || _popupElement$parentE2.removeChild(placeholderElement);\n\n // Calculate scale\n var _scaleX = toNum(Math.round(popupWidth / parseFloat(width) * 1000) / 1000);\n var _scaleY = toNum(Math.round(popupHeight / parseFloat(height) * 1000) / 1000);\n\n // No need to align since it's not visible in view\n if (_scaleX === 0 || _scaleY === 0 || isDOM(target) && !isVisible(target)) {\n return;\n }\n\n // Offset\n var offset = placementInfo.offset,\n targetOffset = placementInfo.targetOffset;\n var _getNumberOffset = getNumberOffset(popupRect, offset),\n _getNumberOffset2 = _slicedToArray(_getNumberOffset, 2),\n popupOffsetX = _getNumberOffset2[0],\n popupOffsetY = _getNumberOffset2[1];\n var _getNumberOffset3 = getNumberOffset(targetRect, targetOffset),\n _getNumberOffset4 = _slicedToArray(_getNumberOffset3, 2),\n targetOffsetX = _getNumberOffset4[0],\n targetOffsetY = _getNumberOffset4[1];\n targetRect.x -= targetOffsetX;\n targetRect.y -= targetOffsetY;\n\n // Points\n var _ref3 = placementInfo.points || [],\n _ref4 = _slicedToArray(_ref3, 2),\n popupPoint = _ref4[0],\n targetPoint = _ref4[1];\n var targetPoints = splitPoints(targetPoint);\n var popupPoints = splitPoints(popupPoint);\n var targetAlignPoint = getAlignPoint(targetRect, targetPoints);\n var popupAlignPoint = getAlignPoint(popupRect, popupPoints);\n\n // Real align info may not same as origin one\n var nextAlignInfo = _objectSpread({}, placementInfo);\n\n // Next Offset\n var nextOffsetX = targetAlignPoint.x - popupAlignPoint.x + popupOffsetX;\n var nextOffsetY = targetAlignPoint.y - popupAlignPoint.y + popupOffsetY;\n\n // ============== Intersection ===============\n // Get area by position. Used for check if flip area is better\n function getIntersectionVisibleArea(offsetX, offsetY) {\n var area = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : visibleArea;\n var l = popupRect.x + offsetX;\n var t = popupRect.y + offsetY;\n var r = l + popupWidth;\n var b = t + popupHeight;\n var visibleL = Math.max(l, area.left);\n var visibleT = Math.max(t, area.top);\n var visibleR = Math.min(r, area.right);\n var visibleB = Math.min(b, area.bottom);\n return Math.max(0, (visibleR - visibleL) * (visibleB - visibleT));\n }\n var originIntersectionVisibleArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY);\n\n // As `visibleFirst`, we prepare this for check\n var originIntersectionRecommendArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY, visibleRegionArea);\n\n // ========================== Overflow ===========================\n var targetAlignPointTL = getAlignPoint(targetRect, ['t', 'l']);\n var popupAlignPointTL = getAlignPoint(popupRect, ['t', 'l']);\n var targetAlignPointBR = getAlignPoint(targetRect, ['b', 'r']);\n var popupAlignPointBR = getAlignPoint(popupRect, ['b', 'r']);\n var overflow = placementInfo.overflow || {};\n var adjustX = overflow.adjustX,\n adjustY = overflow.adjustY,\n shiftX = overflow.shiftX,\n shiftY = overflow.shiftY;\n var supportAdjust = function supportAdjust(val) {\n if (typeof val === 'boolean') {\n return val;\n }\n return val >= 0;\n };\n\n // Prepare position\n var nextPopupY;\n var nextPopupBottom;\n var nextPopupX;\n var nextPopupRight;\n function syncNextPopupPosition() {\n nextPopupY = popupRect.y + nextOffsetY;\n nextPopupBottom = nextPopupY + popupHeight;\n nextPopupX = popupRect.x + nextOffsetX;\n nextPopupRight = nextPopupX + popupWidth;\n }\n syncNextPopupPosition();\n\n // >>>>>>>>>> Top & Bottom\n var needAdjustY = supportAdjust(adjustY);\n var sameTB = popupPoints[0] === targetPoints[0];\n\n // Bottom to Top\n if (needAdjustY && popupPoints[0] === 't' && (nextPopupBottom > adjustCheckVisibleArea.bottom || prevFlipRef.current.bt)) {\n var tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n tmpNextOffsetY -= popupHeight - targetHeight;\n } else {\n tmpNextOffsetY = targetAlignPointTL.y - popupAlignPointBR.y - popupOffsetY;\n }\n var newVisibleArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY);\n var newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.bt = true;\n nextOffsetY = tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextAlignInfo.points = [reversePoints(popupPoints, 0), reversePoints(targetPoints, 0)];\n } else {\n prevFlipRef.current.bt = false;\n }\n }\n\n // Top to Bottom\n if (needAdjustY && popupPoints[0] === 'b' && (nextPopupY < adjustCheckVisibleArea.top || prevFlipRef.current.tb)) {\n var _tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n _tmpNextOffsetY += popupHeight - targetHeight;\n } else {\n _tmpNextOffsetY = targetAlignPointBR.y - popupAlignPointTL.y - popupOffsetY;\n }\n var _newVisibleArea = getIntersectionVisibleArea(nextOffsetX, _tmpNextOffsetY);\n var _newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, _tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n _newVisibleArea > originIntersectionVisibleArea || _newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n _newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.tb = true;\n nextOffsetY = _tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextAlignInfo.points = [reversePoints(popupPoints, 0), reversePoints(targetPoints, 0)];\n } else {\n prevFlipRef.current.tb = false;\n }\n }\n\n // >>>>>>>>>> Left & Right\n var needAdjustX = supportAdjust(adjustX);\n\n // >>>>> Flip\n var sameLR = popupPoints[1] === targetPoints[1];\n\n // Right to Left\n if (needAdjustX && popupPoints[1] === 'l' && (nextPopupRight > adjustCheckVisibleArea.right || prevFlipRef.current.rl)) {\n var tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n tmpNextOffsetX -= popupWidth - targetWidth;\n } else {\n tmpNextOffsetX = targetAlignPointTL.x - popupAlignPointBR.x - popupOffsetX;\n }\n var _newVisibleArea2 = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY);\n var _newVisibleRecommendArea2 = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n _newVisibleArea2 > originIntersectionVisibleArea || _newVisibleArea2 === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n _newVisibleRecommendArea2 >= originIntersectionRecommendArea)) {\n prevFlipRef.current.rl = true;\n nextOffsetX = tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextAlignInfo.points = [reversePoints(popupPoints, 1), reversePoints(targetPoints, 1)];\n } else {\n prevFlipRef.current.rl = false;\n }\n }\n\n // Left to Right\n if (needAdjustX && popupPoints[1] === 'r' && (nextPopupX < adjustCheckVisibleArea.left || prevFlipRef.current.lr)) {\n var _tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n _tmpNextOffsetX += popupWidth - targetWidth;\n } else {\n _tmpNextOffsetX = targetAlignPointBR.x - popupAlignPointTL.x - popupOffsetX;\n }\n var _newVisibleArea3 = getIntersectionVisibleArea(_tmpNextOffsetX, nextOffsetY);\n var _newVisibleRecommendArea3 = getIntersectionVisibleArea(_tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n _newVisibleArea3 > originIntersectionVisibleArea || _newVisibleArea3 === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n _newVisibleRecommendArea3 >= originIntersectionRecommendArea)) {\n prevFlipRef.current.lr = true;\n nextOffsetX = _tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextAlignInfo.points = [reversePoints(popupPoints, 1), reversePoints(targetPoints, 1)];\n } else {\n prevFlipRef.current.lr = false;\n }\n }\n\n // ============================ Shift ============================\n syncNextPopupPosition();\n var numShiftX = shiftX === true ? 0 : shiftX;\n if (typeof numShiftX === 'number') {\n // Left\n if (nextPopupX < visibleRegionArea.left) {\n nextOffsetX -= nextPopupX - visibleRegionArea.left - popupOffsetX;\n if (targetRect.x + targetWidth < visibleRegionArea.left + numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.left + targetWidth - numShiftX;\n }\n }\n\n // Right\n if (nextPopupRight > visibleRegionArea.right) {\n nextOffsetX -= nextPopupRight - visibleRegionArea.right - popupOffsetX;\n if (targetRect.x > visibleRegionArea.right - numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.right + numShiftX;\n }\n }\n }\n var numShiftY = shiftY === true ? 0 : shiftY;\n if (typeof numShiftY === 'number') {\n // Top\n if (nextPopupY < visibleRegionArea.top) {\n nextOffsetY -= nextPopupY - visibleRegionArea.top - popupOffsetY;\n\n // When target if far away from visible area\n // Stop shift\n if (targetRect.y + targetHeight < visibleRegionArea.top + numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.top + targetHeight - numShiftY;\n }\n }\n\n // Bottom\n if (nextPopupBottom > visibleRegionArea.bottom) {\n nextOffsetY -= nextPopupBottom - visibleRegionArea.bottom - popupOffsetY;\n if (targetRect.y > visibleRegionArea.bottom - numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.bottom + numShiftY;\n }\n }\n }\n\n // ============================ Arrow ============================\n // Arrow center align\n var popupLeft = popupRect.x + nextOffsetX;\n var popupRight = popupLeft + popupWidth;\n var popupTop = popupRect.y + nextOffsetY;\n var popupBottom = popupTop + popupHeight;\n var targetLeft = targetRect.x;\n var targetRight = targetLeft + targetWidth;\n var targetTop = targetRect.y;\n var targetBottom = targetTop + targetHeight;\n var maxLeft = Math.max(popupLeft, targetLeft);\n var minRight = Math.min(popupRight, targetRight);\n var xCenter = (maxLeft + minRight) / 2;\n var nextArrowX = xCenter - popupLeft;\n var maxTop = Math.max(popupTop, targetTop);\n var minBottom = Math.min(popupBottom, targetBottom);\n var yCenter = (maxTop + minBottom) / 2;\n var nextArrowY = yCenter - popupTop;\n onPopupAlign === null || onPopupAlign === void 0 || onPopupAlign(popupEle, nextAlignInfo);\n\n // Additional calculate right & bottom position\n var offsetX4Right = popupMirrorRect.right - popupRect.x - (nextOffsetX + popupRect.width);\n var offsetY4Bottom = popupMirrorRect.bottom - popupRect.y - (nextOffsetY + popupRect.height);\n setOffsetInfo({\n ready: true,\n offsetX: nextOffsetX / _scaleX,\n offsetY: nextOffsetY / _scaleY,\n offsetR: offsetX4Right / _scaleX,\n offsetB: offsetY4Bottom / _scaleY,\n arrowX: nextArrowX / _scaleX,\n arrowY: nextArrowY / _scaleY,\n scaleX: _scaleX,\n scaleY: _scaleY,\n align: nextAlignInfo\n });\n }\n });\n var triggerAlign = function triggerAlign() {\n alignCountRef.current += 1;\n var id = alignCountRef.current;\n\n // Merge all align requirement into one frame\n Promise.resolve().then(function () {\n if (alignCountRef.current === id) {\n onAlign();\n }\n });\n };\n\n // Reset ready status when placement & open changed\n var resetReady = function resetReady() {\n setOffsetInfo(function (ori) {\n return _objectSpread(_objectSpread({}, ori), {}, {\n ready: false\n });\n });\n };\n useLayoutEffect(resetReady, [placement]);\n useLayoutEffect(function () {\n if (!open) {\n resetReady();\n }\n }, [open]);\n return [offsetInfo.ready, offsetInfo.offsetX, offsetInfo.offsetY, offsetInfo.offsetR, offsetInfo.offsetB, offsetInfo.arrowX, offsetInfo.arrowY, offsetInfo.scaleX, offsetInfo.scaleY, offsetInfo.align, triggerAlign];\n}","import _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 = [\"prefixCls\", \"children\", \"action\", \"showAction\", \"hideAction\", \"popupVisible\", \"defaultPopupVisible\", \"onPopupVisibleChange\", \"afterPopupVisibleChange\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"focusDelay\", \"blurDelay\", \"mask\", \"maskClosable\", \"getPopupContainer\", \"forceRender\", \"autoDestroy\", \"destroyPopupOnHide\", \"popup\", \"popupClassName\", \"popupStyle\", \"popupPlacement\", \"builtinPlacements\", \"popupAlign\", \"zIndex\", \"stretch\", \"getPopupClassNameFromAlign\", \"fresh\", \"alignPoint\", \"onPopupClick\", \"onPopupAlign\", \"arrow\", \"popupMotion\", \"maskMotion\", \"popupTransitionName\", \"popupAnimation\", \"maskTransitionName\", \"maskAnimation\", \"className\", \"getTriggerDOMNode\"];\nimport Portal from '@rc-component/portal';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport { isDOM } from \"rc-util/es/Dom/findDOMNode\";\nimport { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useId from \"rc-util/es/hooks/useId\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport * as React from 'react';\nimport Popup from \"./Popup\";\nimport TriggerWrapper from \"./TriggerWrapper\";\nimport TriggerContext from \"./context\";\nimport useAction from \"./hooks/useAction\";\nimport useAlign from \"./hooks/useAlign\";\nimport useWatch from \"./hooks/useWatch\";\nimport useWinClick from \"./hooks/useWinClick\";\nimport { getAlignPopupClassName, getMotion } from \"./util\";\n\n// Removed Props List\n// Seems this can be auto\n// getDocument?: (element?: HTMLElement) => Document;\n// New version will not wrap popup with `rc-trigger-popup-content` when multiple children\nexport function generateTrigger() {\n var PortalComponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Portal;\n var Trigger = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-trigger-popup' : _props$prefixCls,\n children = props.children,\n _props$action = props.action,\n action = _props$action === void 0 ? 'hover' : _props$action,\n showAction = props.showAction,\n hideAction = props.hideAction,\n popupVisible = props.popupVisible,\n defaultPopupVisible = props.defaultPopupVisible,\n onPopupVisibleChange = props.onPopupVisibleChange,\n afterPopupVisibleChange = props.afterPopupVisibleChange,\n mouseEnterDelay = props.mouseEnterDelay,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n focusDelay = props.focusDelay,\n blurDelay = props.blurDelay,\n mask = props.mask,\n _props$maskClosable = props.maskClosable,\n maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable,\n getPopupContainer = props.getPopupContainer,\n forceRender = props.forceRender,\n autoDestroy = props.autoDestroy,\n destroyPopupOnHide = props.destroyPopupOnHide,\n popup = props.popup,\n popupClassName = props.popupClassName,\n popupStyle = props.popupStyle,\n popupPlacement = props.popupPlacement,\n _props$builtinPlaceme = props.builtinPlacements,\n builtinPlacements = _props$builtinPlaceme === void 0 ? {} : _props$builtinPlaceme,\n popupAlign = props.popupAlign,\n zIndex = props.zIndex,\n stretch = props.stretch,\n getPopupClassNameFromAlign = props.getPopupClassNameFromAlign,\n fresh = props.fresh,\n alignPoint = props.alignPoint,\n onPopupClick = props.onPopupClick,\n onPopupAlign = props.onPopupAlign,\n arrow = props.arrow,\n popupMotion = props.popupMotion,\n maskMotion = props.maskMotion,\n popupTransitionName = props.popupTransitionName,\n popupAnimation = props.popupAnimation,\n maskTransitionName = props.maskTransitionName,\n maskAnimation = props.maskAnimation,\n className = props.className,\n getTriggerDOMNode = props.getTriggerDOMNode,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedAutoDestroy = autoDestroy || destroyPopupOnHide || false;\n\n // =========================== Mobile ===========================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mobile = _React$useState2[0],\n setMobile = _React$useState2[1];\n useLayoutEffect(function () {\n setMobile(isMobile());\n }, []);\n\n // ========================== Context ===========================\n var subPopupElements = React.useRef({});\n var parentContext = React.useContext(TriggerContext);\n var context = React.useMemo(function () {\n return {\n registerSubPopup: function registerSubPopup(id, subPopupEle) {\n subPopupElements.current[id] = subPopupEle;\n parentContext === null || parentContext === void 0 || parentContext.registerSubPopup(id, subPopupEle);\n }\n };\n }, [parentContext]);\n\n // =========================== Popup ============================\n var id = useId();\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n popupEle = _React$useState4[0],\n setPopupEle = _React$useState4[1];\n var setPopupRef = useEvent(function (node) {\n if (isDOM(node) && popupEle !== node) {\n setPopupEle(node);\n }\n parentContext === null || parentContext === void 0 || parentContext.registerSubPopup(id, node);\n });\n\n // =========================== Target ===========================\n // Use state to control here since `useRef` update not trigger render\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n targetEle = _React$useState6[0],\n setTargetEle = _React$useState6[1];\n\n // Used for forwardRef target. Not use internal\n var externalForwardRef = React.useRef(null);\n var setTargetRef = useEvent(function (node) {\n if (isDOM(node) && targetEle !== node) {\n setTargetEle(node);\n externalForwardRef.current = node;\n }\n });\n\n // ========================== Children ==========================\n var child = React.Children.only(children);\n var originChildProps = (child === null || child === void 0 ? void 0 : child.props) || {};\n var cloneProps = {};\n var inPopupOrChild = useEvent(function (ele) {\n var _getShadowRoot, _getShadowRoot2;\n var childDOM = targetEle;\n return (childDOM === null || childDOM === void 0 ? void 0 : childDOM.contains(ele)) || ((_getShadowRoot = getShadowRoot(childDOM)) === null || _getShadowRoot === void 0 ? void 0 : _getShadowRoot.host) === ele || ele === childDOM || (popupEle === null || popupEle === void 0 ? void 0 : popupEle.contains(ele)) || ((_getShadowRoot2 = getShadowRoot(popupEle)) === null || _getShadowRoot2 === void 0 ? void 0 : _getShadowRoot2.host) === ele || ele === popupEle || Object.values(subPopupElements.current).some(function (subPopupEle) {\n return (subPopupEle === null || subPopupEle === void 0 ? void 0 : subPopupEle.contains(ele)) || ele === subPopupEle;\n });\n });\n\n // =========================== Motion ===========================\n var mergePopupMotion = getMotion(prefixCls, popupMotion, popupAnimation, popupTransitionName);\n var mergeMaskMotion = getMotion(prefixCls, maskMotion, maskAnimation, maskTransitionName);\n\n // ============================ Open ============================\n var _React$useState7 = React.useState(defaultPopupVisible || false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n internalOpen = _React$useState8[0],\n setInternalOpen = _React$useState8[1];\n\n // Render still use props as first priority\n var mergedOpen = popupVisible !== null && popupVisible !== void 0 ? popupVisible : internalOpen;\n\n // We use effect sync here in case `popupVisible` back to `undefined`\n var setMergedOpen = useEvent(function (nextOpen) {\n if (popupVisible === undefined) {\n setInternalOpen(nextOpen);\n }\n });\n useLayoutEffect(function () {\n setInternalOpen(popupVisible || false);\n }, [popupVisible]);\n var openRef = React.useRef(mergedOpen);\n openRef.current = mergedOpen;\n var lastTriggerRef = React.useRef([]);\n lastTriggerRef.current = [];\n var internalTriggerOpen = useEvent(function (nextOpen) {\n var _lastTriggerRef$curre;\n setMergedOpen(nextOpen);\n\n // Enter or Pointer will both trigger open state change\n // We only need take one to avoid duplicated change event trigger\n // Use `lastTriggerRef` to record last open type\n if (((_lastTriggerRef$curre = lastTriggerRef.current[lastTriggerRef.current.length - 1]) !== null && _lastTriggerRef$curre !== void 0 ? _lastTriggerRef$curre : mergedOpen) !== nextOpen) {\n lastTriggerRef.current.push(nextOpen);\n onPopupVisibleChange === null || onPopupVisibleChange === void 0 || onPopupVisibleChange(nextOpen);\n }\n });\n\n // Trigger for delay\n var delayRef = React.useRef();\n var clearDelay = function clearDelay() {\n clearTimeout(delayRef.current);\n };\n var triggerOpen = function triggerOpen(nextOpen) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n clearDelay();\n if (delay === 0) {\n internalTriggerOpen(nextOpen);\n } else {\n delayRef.current = setTimeout(function () {\n internalTriggerOpen(nextOpen);\n }, delay * 1000);\n }\n };\n React.useEffect(function () {\n return clearDelay;\n }, []);\n\n // ========================== Motion ============================\n var _React$useState9 = React.useState(false),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n inMotion = _React$useState10[0],\n setInMotion = _React$useState10[1];\n useLayoutEffect(function (firstMount) {\n if (!firstMount || mergedOpen) {\n setInMotion(true);\n }\n }, [mergedOpen]);\n var _React$useState11 = React.useState(null),\n _React$useState12 = _slicedToArray(_React$useState11, 2),\n motionPrepareResolve = _React$useState12[0],\n setMotionPrepareResolve = _React$useState12[1];\n\n // =========================== Align ============================\n var _React$useState13 = React.useState([0, 0]),\n _React$useState14 = _slicedToArray(_React$useState13, 2),\n mousePos = _React$useState14[0],\n setMousePos = _React$useState14[1];\n var setMousePosByEvent = function setMousePosByEvent(event) {\n setMousePos([event.clientX, event.clientY]);\n };\n var _useAlign = useAlign(mergedOpen, popupEle, alignPoint ? mousePos : targetEle, popupPlacement, builtinPlacements, popupAlign, onPopupAlign),\n _useAlign2 = _slicedToArray(_useAlign, 11),\n ready = _useAlign2[0],\n offsetX = _useAlign2[1],\n offsetY = _useAlign2[2],\n offsetR = _useAlign2[3],\n offsetB = _useAlign2[4],\n arrowX = _useAlign2[5],\n arrowY = _useAlign2[6],\n scaleX = _useAlign2[7],\n scaleY = _useAlign2[8],\n alignInfo = _useAlign2[9],\n onAlign = _useAlign2[10];\n var _useAction = useAction(mobile, action, showAction, hideAction),\n _useAction2 = _slicedToArray(_useAction, 2),\n showActions = _useAction2[0],\n hideActions = _useAction2[1];\n var clickToShow = showActions.has('click');\n var clickToHide = hideActions.has('click') || hideActions.has('contextMenu');\n var triggerAlign = useEvent(function () {\n if (!inMotion) {\n onAlign();\n }\n });\n var onScroll = function onScroll() {\n if (openRef.current && alignPoint && clickToHide) {\n triggerOpen(false);\n }\n };\n useWatch(mergedOpen, targetEle, popupEle, triggerAlign, onScroll);\n useLayoutEffect(function () {\n triggerAlign();\n }, [mousePos, popupPlacement]);\n\n // When no builtinPlacements and popupAlign changed\n useLayoutEffect(function () {\n if (mergedOpen && !(builtinPlacements !== null && builtinPlacements !== void 0 && builtinPlacements[popupPlacement])) {\n triggerAlign();\n }\n }, [JSON.stringify(popupAlign)]);\n var alignedClassName = React.useMemo(function () {\n var baseClassName = getAlignPopupClassName(builtinPlacements, prefixCls, alignInfo, alignPoint);\n return classNames(baseClassName, getPopupClassNameFromAlign === null || getPopupClassNameFromAlign === void 0 ? void 0 : getPopupClassNameFromAlign(alignInfo));\n }, [alignInfo, getPopupClassNameFromAlign, builtinPlacements, prefixCls, alignPoint]);\n\n // ============================ Refs ============================\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: externalForwardRef.current,\n forceAlign: triggerAlign\n };\n });\n\n // ========================== Stretch ===========================\n var _React$useState15 = React.useState(0),\n _React$useState16 = _slicedToArray(_React$useState15, 2),\n targetWidth = _React$useState16[0],\n setTargetWidth = _React$useState16[1];\n var _React$useState17 = React.useState(0),\n _React$useState18 = _slicedToArray(_React$useState17, 2),\n targetHeight = _React$useState18[0],\n setTargetHeight = _React$useState18[1];\n var syncTargetSize = function syncTargetSize() {\n if (stretch && targetEle) {\n var rect = targetEle.getBoundingClientRect();\n setTargetWidth(rect.width);\n setTargetHeight(rect.height);\n }\n };\n var onTargetResize = function onTargetResize() {\n syncTargetSize();\n triggerAlign();\n };\n\n // ========================== Motion ============================\n var onVisibleChanged = function onVisibleChanged(visible) {\n setInMotion(false);\n onAlign();\n afterPopupVisibleChange === null || afterPopupVisibleChange === void 0 || afterPopupVisibleChange(visible);\n };\n\n // We will trigger align when motion is in prepare\n var onPrepare = function onPrepare() {\n return new Promise(function (resolve) {\n syncTargetSize();\n setMotionPrepareResolve(function () {\n return resolve;\n });\n });\n };\n useLayoutEffect(function () {\n if (motionPrepareResolve) {\n onAlign();\n motionPrepareResolve();\n setMotionPrepareResolve(null);\n }\n }, [motionPrepareResolve]);\n\n // =========================== Action ===========================\n /**\n * Util wrapper for trigger action\n */\n function wrapperAction(eventName, nextOpen, delay, preEvent) {\n cloneProps[eventName] = function (event) {\n var _originChildProps$eve;\n preEvent === null || preEvent === void 0 || preEvent(event);\n triggerOpen(nextOpen, delay);\n\n // Pass to origin\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n (_originChildProps$eve = originChildProps[eventName]) === null || _originChildProps$eve === void 0 || _originChildProps$eve.call.apply(_originChildProps$eve, [originChildProps, event].concat(args));\n };\n }\n\n // ======================= Action: Click ========================\n if (clickToShow || clickToHide) {\n cloneProps.onClick = function (event) {\n var _originChildProps$onC;\n if (openRef.current && clickToHide) {\n triggerOpen(false);\n } else if (!openRef.current && clickToShow) {\n setMousePosByEvent(event);\n triggerOpen(true);\n }\n\n // Pass to origin\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n (_originChildProps$onC = originChildProps.onClick) === null || _originChildProps$onC === void 0 || _originChildProps$onC.call.apply(_originChildProps$onC, [originChildProps, event].concat(args));\n };\n }\n\n // Click to hide is special action since click popup element should not hide\n useWinClick(mergedOpen, clickToHide, targetEle, popupEle, mask, maskClosable, inPopupOrChild, triggerOpen);\n\n // ======================= Action: Hover ========================\n var hoverToShow = showActions.has('hover');\n var hoverToHide = hideActions.has('hover');\n var onPopupMouseEnter;\n var onPopupMouseLeave;\n if (hoverToShow) {\n // Compatible with old browser which not support pointer event\n wrapperAction('onMouseEnter', true, mouseEnterDelay, function (event) {\n setMousePosByEvent(event);\n });\n wrapperAction('onPointerEnter', true, mouseEnterDelay, function (event) {\n setMousePosByEvent(event);\n });\n onPopupMouseEnter = function onPopupMouseEnter() {\n // Only trigger re-open when popup is visible\n if (mergedOpen || inMotion) {\n triggerOpen(true, mouseEnterDelay);\n }\n };\n\n // Align Point\n if (alignPoint) {\n cloneProps.onMouseMove = function (event) {\n var _originChildProps$onM;\n // setMousePosByEvent(event);\n (_originChildProps$onM = originChildProps.onMouseMove) === null || _originChildProps$onM === void 0 || _originChildProps$onM.call(originChildProps, event);\n };\n }\n }\n if (hoverToHide) {\n wrapperAction('onMouseLeave', false, mouseLeaveDelay);\n wrapperAction('onPointerLeave', false, mouseLeaveDelay);\n onPopupMouseLeave = function onPopupMouseLeave() {\n triggerOpen(false, mouseLeaveDelay);\n };\n }\n\n // ======================= Action: Focus ========================\n if (showActions.has('focus')) {\n wrapperAction('onFocus', true, focusDelay);\n }\n if (hideActions.has('focus')) {\n wrapperAction('onBlur', false, blurDelay);\n }\n\n // ==================== Action: ContextMenu =====================\n if (showActions.has('contextMenu')) {\n cloneProps.onContextMenu = function (event) {\n var _originChildProps$onC2;\n if (openRef.current && hideActions.has('contextMenu')) {\n triggerOpen(false);\n } else {\n setMousePosByEvent(event);\n triggerOpen(true);\n }\n event.preventDefault();\n\n // Pass to origin\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n (_originChildProps$onC2 = originChildProps.onContextMenu) === null || _originChildProps$onC2 === void 0 || _originChildProps$onC2.call.apply(_originChildProps$onC2, [originChildProps, event].concat(args));\n };\n }\n\n // ========================= ClassName ==========================\n if (className) {\n cloneProps.className = classNames(originChildProps.className, className);\n }\n\n // =========================== Render ===========================\n var mergedChildrenProps = _objectSpread(_objectSpread({}, originChildProps), cloneProps);\n\n // Pass props into cloneProps for nest usage\n var passedProps = {};\n var passedEventList = ['onContextMenu', 'onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur'];\n passedEventList.forEach(function (eventName) {\n if (restProps[eventName]) {\n passedProps[eventName] = function () {\n var _mergedChildrenProps$;\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n (_mergedChildrenProps$ = mergedChildrenProps[eventName]) === null || _mergedChildrenProps$ === void 0 || _mergedChildrenProps$.call.apply(_mergedChildrenProps$, [mergedChildrenProps].concat(args));\n restProps[eventName].apply(restProps, args);\n };\n }\n });\n\n // Child Node\n var triggerNode = /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({}, mergedChildrenProps), passedProps));\n var arrowPos = {\n x: arrowX,\n y: arrowY\n };\n var innerArrow = arrow ? _objectSpread({}, arrow !== true ? arrow : {}) : null;\n\n // Render\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ResizeObserver, {\n disabled: !mergedOpen,\n ref: setTargetRef,\n onResize: onTargetResize\n }, /*#__PURE__*/React.createElement(TriggerWrapper, {\n getTriggerDOMNode: getTriggerDOMNode\n }, triggerNode)), /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Popup, {\n portal: PortalComponent,\n ref: setPopupRef,\n prefixCls: prefixCls,\n popup: popup,\n className: classNames(popupClassName, alignedClassName),\n style: popupStyle,\n target: targetEle,\n onMouseEnter: onPopupMouseEnter,\n onMouseLeave: onPopupMouseLeave\n // https://github.com/ant-design/ant-design/issues/43924\n ,\n onPointerEnter: onPopupMouseEnter,\n zIndex: zIndex\n // Open\n ,\n open: mergedOpen,\n keepDom: inMotion,\n fresh: fresh\n // Click\n ,\n onClick: onPopupClick\n // Mask\n ,\n mask: mask\n // Motion\n ,\n motion: mergePopupMotion,\n maskMotion: mergeMaskMotion,\n onVisibleChanged: onVisibleChanged,\n onPrepare: onPrepare\n // Portal\n ,\n forceRender: forceRender,\n autoDestroy: mergedAutoDestroy,\n getPopupContainer: getPopupContainer\n // Arrow\n ,\n align: alignInfo,\n arrow: innerArrow,\n arrowPos: arrowPos\n // Align\n ,\n ready: ready,\n offsetX: offsetX,\n offsetY: offsetY,\n offsetR: offsetR,\n offsetB: offsetB,\n onAlign: triggerAlign\n // Stretch\n ,\n stretch: stretch,\n targetWidth: targetWidth / scaleX,\n targetHeight: targetHeight / scaleY\n })));\n });\n if (process.env.NODE_ENV !== 'production') {\n Trigger.displayName = 'Trigger';\n }\n return Trigger;\n}\nexport default generateTrigger(Portal);","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { collectScroller, getWin } from \"../util\";\nexport default function useWatch(open, target, popup, onAlign, onScroll) {\n useLayoutEffect(function () {\n if (open && target && popup) {\n var targetElement = target;\n var popupElement = popup;\n var targetScrollList = collectScroller(targetElement);\n var popupScrollList = collectScroller(popupElement);\n var win = getWin(popupElement);\n var mergedList = new Set([win].concat(_toConsumableArray(targetScrollList), _toConsumableArray(popupScrollList)));\n function notifyScroll() {\n onAlign();\n onScroll();\n }\n mergedList.forEach(function (scroller) {\n scroller.addEventListener('scroll', notifyScroll, {\n passive: true\n });\n });\n win.addEventListener('resize', notifyScroll, {\n passive: true\n });\n\n // First time always do align\n onAlign();\n return function () {\n mergedList.forEach(function (scroller) {\n scroller.removeEventListener('scroll', notifyScroll);\n win.removeEventListener('resize', notifyScroll);\n });\n };\n }\n }, [open, target, popup]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { warning } from \"rc-util/es/warning\";\nimport { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { getWin } from \"../util\";\nexport default function useWinClick(open, clickToHide, targetEle, popupEle, mask, maskClosable, inPopupOrChild, triggerOpen) {\n var openRef = React.useRef(open);\n\n // Window click to hide should be lock to avoid trigger lock immediately\n var lockRef = React.useRef(false);\n if (openRef.current !== open) {\n lockRef.current = true;\n openRef.current = open;\n }\n React.useEffect(function () {\n var id = raf(function () {\n lockRef.current = false;\n });\n return function () {\n raf.cancel(id);\n };\n }, [open]);\n\n // Click to hide is special action since click popup element should not hide\n React.useEffect(function () {\n if (clickToHide && popupEle && (!mask || maskClosable)) {\n var genClickEvents = function genClickEvents() {\n var clickInside = false;\n\n // User may mouseDown inside and drag out of popup and mouse up\n // Record here to prevent close\n var onWindowMouseDown = function onWindowMouseDown(_ref) {\n var target = _ref.target;\n clickInside = inPopupOrChild(target);\n };\n var onWindowClick = function onWindowClick(_ref2) {\n var target = _ref2.target;\n if (!lockRef.current && openRef.current && !clickInside && !inPopupOrChild(target)) {\n triggerOpen(false);\n }\n };\n return [onWindowMouseDown, onWindowClick];\n };\n\n // Events\n var _genClickEvents = genClickEvents(),\n _genClickEvents2 = _slicedToArray(_genClickEvents, 2),\n onWinMouseDown = _genClickEvents2[0],\n onWinClick = _genClickEvents2[1];\n var _genClickEvents3 = genClickEvents(),\n _genClickEvents4 = _slicedToArray(_genClickEvents3, 2),\n onShadowMouseDown = _genClickEvents4[0],\n onShadowClick = _genClickEvents4[1];\n var win = getWin(popupEle);\n win.addEventListener('mousedown', onWinMouseDown, true);\n win.addEventListener('click', onWinClick, true);\n win.addEventListener('contextmenu', onWinClick, true);\n\n // shadow root\n var targetShadowRoot = getShadowRoot(targetEle);\n if (targetShadowRoot) {\n targetShadowRoot.addEventListener('mousedown', onShadowMouseDown, true);\n targetShadowRoot.addEventListener('click', onShadowClick, true);\n targetShadowRoot.addEventListener('contextmenu', onShadowClick, true);\n }\n\n // Warning if target and popup not in same root\n if (process.env.NODE_ENV !== 'production') {\n var _targetEle$getRootNod, _popupEle$getRootNode;\n var targetRoot = targetEle === null || targetEle === void 0 || (_targetEle$getRootNod = targetEle.getRootNode) === null || _targetEle$getRootNod === void 0 ? void 0 : _targetEle$getRootNod.call(targetEle);\n var popupRoot = (_popupEle$getRootNode = popupEle.getRootNode) === null || _popupEle$getRootNode === void 0 ? void 0 : _popupEle$getRootNode.call(popupEle);\n warning(targetRoot === popupRoot, \"trigger element and popup element should in same shadow root.\");\n }\n return function () {\n win.removeEventListener('mousedown', onWinMouseDown, true);\n win.removeEventListener('click', onWinClick, true);\n win.removeEventListener('contextmenu', onWinClick, true);\n if (targetShadowRoot) {\n targetShadowRoot.removeEventListener('mousedown', onShadowMouseDown, true);\n targetShadowRoot.removeEventListener('click', onShadowClick, true);\n targetShadowRoot.removeEventListener('contextmenu', onShadowClick, true);\n }\n };\n }\n }, [clickToHide, targetEle, popupEle, mask, maskClosable]);\n}","// ================== Collapse Motion ==================\nconst getCollapsedHeight = () => ({\n height: 0,\n opacity: 0\n});\nconst getRealHeight = node => {\n const {\n scrollHeight\n } = node;\n return {\n height: scrollHeight,\n opacity: 1\n };\n};\nconst getCurrentHeight = node => ({\n height: node ? node.offsetHeight : 0\n});\nconst skipOpacityTransition = (_, event) => (event === null || event === void 0 ? void 0 : event.deadline) === true || event.propertyName === 'height';\nconst initCollapseMotion = function () {\n let rootCls = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ant';\n return {\n motionName: `${rootCls}-motion-collapse`,\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500\n };\n};\nconst SelectPlacements = ['bottomLeft', 'bottomRight', 'topLeft', 'topRight'];\nconst getTransitionName = (rootPrefixCls, motion, transitionName) => {\n if (transitionName !== undefined) {\n return transitionName;\n }\n return `${rootPrefixCls}-${motion}`;\n};\nexport { getTransitionName };\nexport default initCollapseMotion;","import React from 'react';\nimport { useToken } from '../theme/internal';\nexport const responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nconst getResponsiveMap = token => ({\n xs: `(max-width: ${token.screenXSMax}px)`,\n sm: `(min-width: ${token.screenSM}px)`,\n md: `(min-width: ${token.screenMD}px)`,\n lg: `(min-width: ${token.screenLG}px)`,\n xl: `(min-width: ${token.screenXL}px)`,\n xxl: `(min-width: ${token.screenXXL}px)`\n});\n/**\n * Ensures that the breakpoints token are valid, in good order\n * For each breakpoint : screenMin <= screen <= screenMax and screenMax <= nextScreenMin\n */\nconst validateBreakpoints = token => {\n const indexableToken = token;\n const revBreakpoints = [].concat(responsiveArray).reverse();\n revBreakpoints.forEach((breakpoint, i) => {\n const breakpointUpper = breakpoint.toUpperCase();\n const screenMin = `screen${breakpointUpper}Min`;\n const screen = `screen${breakpointUpper}`;\n if (!(indexableToken[screenMin] <= indexableToken[screen])) {\n throw new Error(`${screenMin}<=${screen} fails : !(${indexableToken[screenMin]}<=${indexableToken[screen]})`);\n }\n if (i < revBreakpoints.length - 1) {\n const screenMax = `screen${breakpointUpper}Max`;\n if (!(indexableToken[screen] <= indexableToken[screenMax])) {\n throw new Error(`${screen}<=${screenMax} fails : !(${indexableToken[screen]}<=${indexableToken[screenMax]})`);\n }\n const nextBreakpointUpperMin = revBreakpoints[i + 1].toUpperCase();\n const nextScreenMin = `screen${nextBreakpointUpperMin}Min`;\n if (!(indexableToken[screenMax] <= indexableToken[nextScreenMin])) {\n throw new Error(`${screenMax}<=${nextScreenMin} fails : !(${indexableToken[screenMax]}<=${indexableToken[nextScreenMin]})`);\n }\n }\n });\n return token;\n};\nexport default function useResponsiveObserver() {\n const [, token] = useToken();\n const responsiveMap = getResponsiveMap(validateBreakpoints(token));\n // To avoid repeat create instance, we add `useMemo` here.\n return React.useMemo(() => {\n const subscribers = new Map();\n let subUid = -1;\n let screens = {};\n return {\n matchHandlers: {},\n dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(func => func(screens));\n return subscribers.size >= 1;\n },\n 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(paramToken) {\n subscribers.delete(paramToken);\n if (!subscribers.size) this.unregister();\n },\n unregister() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const 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() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const listener = _ref => {\n let {\n matches\n } = _ref;\n this.dispatch(Object.assign(Object.assign({}, screens), {\n [screen]: matches\n }));\n };\n const mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n this.matchHandlers[matchMediaQuery] = {\n mql,\n listener\n };\n listener(mql);\n });\n },\n responsiveMap\n };\n }, [token]);\n}\nexport const matchScreen = (screens, screenSizes) => {\n if (screenSizes && typeof screenSizes === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (screens[breakpoint] && screenSizes[breakpoint] !== undefined) {\n return screenSizes[breakpoint];\n }\n }\n }\n};","import { genComponentStyleHook } from '../../theme/internal';\nconst genWaveStyle = token => {\n const {\n componentCls,\n colorPrimary\n } = token;\n return {\n [componentCls]: {\n position: 'absolute',\n background: 'transparent',\n pointerEvents: 'none',\n boxSizing: 'border-box',\n color: `var(--wave-color, ${colorPrimary})`,\n boxShadow: `0 0 0 0 currentcolor`,\n opacity: 0.2,\n // =================== Motion ===================\n '&.wave-motion-appear': {\n transition: [`box-shadow 0.4s ${token.motionEaseOutCirc}`, `opacity 2s ${token.motionEaseOutCirc}`].join(','),\n '&-active': {\n boxShadow: `0 0 0 6px currentcolor`,\n opacity: 0\n },\n '&.wave-quick': {\n transition: [`box-shadow 0.3s ${token.motionEaseInOut}`, `opacity 0.35s ${token.motionEaseInOut}`].join(',')\n }\n }\n }\n };\n};\nexport default genComponentStyleHook('Wave', token => [genWaveStyle(token)]);","export function isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n const match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n}\nexport function isValidWaveColor(color) {\n return color && color !== '#fff' && color !== '#ffffff' && color !== 'rgb(255, 255, 255)' && color !== 'rgba(255, 255, 255, 1)' && isNotGrey(color) && !/rgba\\((?:\\d*, ){3}0\\)/.test(color) &&\n // any transparent rgba color\n color !== 'transparent';\n}\nexport function getTargetWaveColor(node) {\n const {\n borderTopColor,\n borderColor,\n backgroundColor\n } = getComputedStyle(node);\n if (isValidWaveColor(borderTopColor)) {\n return borderTopColor;\n }\n if (isValidWaveColor(borderColor)) {\n return borderColor;\n }\n if (isValidWaveColor(backgroundColor)) {\n return backgroundColor;\n }\n return null;\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { render, unmount } from \"rc-util/es/React/render\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { getTargetWaveColor } from './util';\nimport { TARGET_CLS } from './interface';\nfunction validateNum(value) {\n return Number.isNaN(value) ? 0 : value;\n}\nconst WaveEffect = props => {\n const {\n className,\n target,\n component\n } = props;\n const divRef = React.useRef(null);\n const [color, setWaveColor] = React.useState(null);\n const [borderRadius, setBorderRadius] = React.useState([]);\n const [left, setLeft] = React.useState(0);\n const [top, setTop] = React.useState(0);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const [enabled, setEnabled] = React.useState(false);\n const waveStyle = {\n left,\n top,\n width,\n height,\n borderRadius: borderRadius.map(radius => `${radius}px`).join(' ')\n };\n if (color) {\n waveStyle['--wave-color'] = color;\n }\n function syncPos() {\n const nodeStyle = getComputedStyle(target);\n // Get wave color from target\n setWaveColor(getTargetWaveColor(target));\n const isStatic = nodeStyle.position === 'static';\n // Rect\n const {\n borderLeftWidth,\n borderTopWidth\n } = nodeStyle;\n setLeft(isStatic ? target.offsetLeft : validateNum(-parseFloat(borderLeftWidth)));\n setTop(isStatic ? target.offsetTop : validateNum(-parseFloat(borderTopWidth)));\n setWidth(target.offsetWidth);\n setHeight(target.offsetHeight);\n // Get border radius\n const {\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius\n } = nodeStyle;\n setBorderRadius([borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius].map(radius => validateNum(parseFloat(radius))));\n }\n React.useEffect(() => {\n if (target) {\n // We need delay to check position here\n // since UI may change after click\n const id = raf(() => {\n syncPos();\n setEnabled(true);\n });\n // Add resize observer to follow size\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(syncPos);\n resizeObserver.observe(target);\n }\n return () => {\n raf.cancel(id);\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n }\n }, []);\n if (!enabled) {\n return null;\n }\n const isSmallComponent = (component === 'Checkbox' || component === 'Radio') && (target === null || target === void 0 ? void 0 : target.classList.contains(TARGET_CLS));\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: true,\n motionAppear: true,\n motionName: \"wave-motion\",\n motionDeadline: 5000,\n onAppearEnd: (_, event) => {\n var _a;\n if (event.deadline || event.propertyName === 'opacity') {\n const holder = (_a = divRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;\n unmount(holder).then(() => {\n holder === null || holder === void 0 ? void 0 : holder.remove();\n });\n }\n return false;\n }\n }, _ref => {\n let {\n className: motionClassName\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: divRef,\n className: classNames(className, {\n 'wave-quick': isSmallComponent\n }, motionClassName),\n style: waveStyle\n });\n });\n};\nconst showWaveEffect = (target, info) => {\n var _a;\n const {\n component\n } = info;\n // Skip for unchecked checkbox\n if (component === 'Checkbox' && !((_a = target.querySelector('input')) === null || _a === void 0 ? void 0 : _a.checked)) {\n return;\n }\n // Create holder\n const holder = document.createElement('div');\n holder.style.position = 'absolute';\n holder.style.left = '0px';\n holder.style.top = '0px';\n target === null || target === void 0 ? void 0 : target.insertBefore(holder, target === null || target === void 0 ? void 0 : target.firstChild);\n render( /*#__PURE__*/React.createElement(WaveEffect, Object.assign({}, info, {\n target: target\n })), holder);\n};\nexport default showWaveEffect;","import classNames from 'classnames';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport React, { useContext, useRef } from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport { cloneElement } from '../reactNode';\nimport useStyle from './style';\nimport useWave from './useWave';\nconst Wave = props => {\n const {\n children,\n disabled,\n component\n } = props;\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const containerRef = useRef(null);\n // ============================== Style ===============================\n const prefixCls = getPrefixCls('wave');\n const [, hashId] = useStyle(prefixCls);\n // =============================== Wave ===============================\n const showWave = useWave(containerRef, classNames(prefixCls, hashId), component);\n // ============================== Effect ==============================\n React.useEffect(() => {\n const node = containerRef.current;\n if (!node || node.nodeType !== 1 || disabled) {\n return;\n }\n // Click handler\n const onClick = e => {\n // Fix radio button click twice\n if (!isVisible(e.target) ||\n // No need wave\n !node.getAttribute || node.getAttribute('disabled') || node.disabled || node.className.includes('disabled') || node.className.includes('-leave')) {\n return;\n }\n showWave(e);\n };\n // Bind events\n node.addEventListener('click', onClick, true);\n return () => {\n node.removeEventListener('click', onClick, true);\n };\n }, [disabled]);\n // ============================== Render ==============================\n if (! /*#__PURE__*/React.isValidElement(children)) {\n return children !== null && children !== void 0 ? children : null;\n }\n const ref = supportRef(children) ? composeRef(children.ref, containerRef) : containerRef;\n return cloneElement(children, {\n ref\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n Wave.displayName = 'Wave';\n}\nexport default Wave;","import * as React from 'react';\nimport { useEvent } from 'rc-util';\nimport raf from \"rc-util/es/raf\";\nimport showWaveEffect from './WaveEffect';\nimport { ConfigContext } from '../../config-provider';\nimport useToken from '../../theme/useToken';\nimport { TARGET_CLS } from './interface';\nexport default function useWave(nodeRef, className, component) {\n const {\n wave\n } = React.useContext(ConfigContext);\n const [, token, hashId] = useToken();\n const showWave = useEvent(event => {\n const node = nodeRef.current;\n if ((wave === null || wave === void 0 ? void 0 : wave.disabled) || !node) {\n return;\n }\n const targetNode = node.querySelector(`.${TARGET_CLS}`) || node;\n const {\n showEffect\n } = wave || {};\n // Customize wave effect\n (showEffect || showWaveEffect)(targetNode, {\n className,\n token,\n component,\n event,\n hashId\n });\n });\n const rafId = React.useRef();\n // Merge trigger event into one for each frame\n const showDebounceWave = event => {\n raf.cancel(rafId.current);\n rafId.current = raf(() => {\n showWave(event);\n });\n };\n return showDebounceWave;\n}","export const TARGET_CLS = 'ant-wave-target';","import React from 'react';\nimport SizeContext from '../SizeContext';\nconst useSize = customSize => {\n const size = React.useContext(SizeContext);\n const mergedSize = React.useMemo(() => {\n if (!customSize) {\n return size;\n }\n if (typeof customSize === 'string') {\n return customSize !== null && customSize !== void 0 ? customSize : size;\n }\n if (customSize instanceof Function) {\n return customSize(size);\n }\n return size;\n }, [customSize, size]);\n return mergedSize;\n};\nexport default useSize;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\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};\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport useStyle from './style';\nexport const SpaceCompactItemContext = /*#__PURE__*/React.createContext(null);\nexport const useCompactItemContext = (prefixCls, direction) => {\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const compactItemClassnames = React.useMemo(() => {\n if (!compactItemContext) {\n return '';\n }\n const {\n compactDirection,\n isFirstItem,\n isLastItem\n } = compactItemContext;\n const separator = compactDirection === 'vertical' ? '-vertical-' : '-';\n return classNames(`${prefixCls}-compact${separator}item`, {\n [`${prefixCls}-compact${separator}first-item`]: isFirstItem,\n [`${prefixCls}-compact${separator}last-item`]: isLastItem,\n [`${prefixCls}-compact${separator}item-rtl`]: direction === 'rtl'\n });\n }, [prefixCls, direction, compactItemContext]);\n return {\n compactSize: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactSize,\n compactDirection: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactDirection,\n compactItemClassnames\n };\n};\nexport const NoCompactStyle = _ref => {\n let {\n children\n } = _ref;\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: null\n }, children);\n};\nconst CompactItem = _a => {\n var {\n children\n } = _a,\n otherProps = __rest(_a, [\"children\"]);\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: otherProps\n }, children);\n};\nconst Compact = props => {\n const {\n getPrefixCls,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size,\n direction,\n block,\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children\n } = props,\n restProps = __rest(props, [\"size\", \"direction\", \"block\", \"prefixCls\", \"className\", \"rootClassName\", \"children\"]);\n const mergedSize = useSize(ctx => size !== null && size !== void 0 ? size : ctx);\n const prefixCls = getPrefixCls('space-compact', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const clx = classNames(prefixCls, hashId, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-vertical`]: direction === 'vertical'\n }, className, rootClassName);\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const childNodes = toArray(children);\n const nodes = React.useMemo(() => childNodes.map((child, i) => {\n const key = child && child.key || `${prefixCls}-item-${i}`;\n return /*#__PURE__*/React.createElement(CompactItem, {\n key: key,\n compactSize: mergedSize,\n compactDirection: direction,\n isFirstItem: i === 0 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isFirstItem)),\n isLastItem: i === childNodes.length - 1 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isLastItem))\n }, child);\n }), [size, childNodes, compactItemContext]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: clx\n }, restProps), nodes));\n};\nexport default Compact;","const genSpaceCompactStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n '&-block': {\n display: 'flex',\n width: '100%'\n },\n '&-vertical': {\n flexDirection: 'column'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genSpaceCompactStyle;","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genSpaceCompactStyle from './compact';\nconst genSpaceStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n display: 'inline-flex',\n '&-rtl': {\n direction: 'rtl'\n },\n '&-vertical': {\n flexDirection: 'column'\n },\n '&-align': {\n flexDirection: 'column',\n '&-center': {\n alignItems: 'center'\n },\n '&-start': {\n alignItems: 'flex-start'\n },\n '&-end': {\n alignItems: 'flex-end'\n },\n '&-baseline': {\n alignItems: 'baseline'\n }\n },\n [`${componentCls}-item:empty`]: {\n display: 'none'\n }\n }\n };\n};\nconst genSpaceGapStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n '&-gap-row-small': {\n rowGap: token.spaceGapSmallSize\n },\n '&-gap-row-middle': {\n rowGap: token.spaceGapMiddleSize\n },\n '&-gap-row-large': {\n rowGap: token.spaceGapLargeSize\n },\n '&-gap-col-small': {\n columnGap: token.spaceGapSmallSize\n },\n '&-gap-col-middle': {\n columnGap: token.spaceGapMiddleSize\n },\n '&-gap-col-large': {\n columnGap: token.spaceGapLargeSize\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Space', token => {\n const spaceToken = mergeToken(token, {\n spaceGapSmallSize: token.paddingXS,\n spaceGapMiddleSize: token.padding,\n spaceGapLargeSize: token.paddingLG\n });\n return [genSpaceStyle(spaceToken), genSpaceGapStyle(spaceToken), genSpaceCompactStyle(spaceToken)];\n}, () => ({}), {\n // Space component don't apply extra font style\n // https://github.com/ant-design/ant-design/issues/40315\n resetStyle: false\n});","// handle border collapse\nfunction compactItemBorder(token, parentCls, options) {\n const {\n focusElCls,\n focus,\n borderElCls\n } = options;\n const childCombinator = borderElCls ? '> *' : '';\n const hoverEffects = ['hover', focus ? 'focus' : null, 'active'].filter(Boolean).map(n => `&:${n} ${childCombinator}`).join(',');\n return {\n [`&-item:not(${parentCls}-last-item)`]: {\n marginInlineEnd: -token.lineWidth\n },\n '&-item': Object.assign(Object.assign({\n [hoverEffects]: {\n zIndex: 2\n }\n }, focusElCls ? {\n [`&${focusElCls}`]: {\n zIndex: 2\n }\n } : {}), {\n [`&[disabled] ${childCombinator}`]: {\n zIndex: 0\n }\n })\n };\n}\n// handle border-radius\nfunction compactItemBorderRadius(prefixCls, parentCls, options) {\n const {\n borderElCls\n } = options;\n const childCombinator = borderElCls ? `> ${borderElCls}` : '';\n return {\n [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item) ${childCombinator}`]: {\n borderRadius: 0\n },\n [`&-item:not(${parentCls}-last-item)${parentCls}-first-item`]: {\n [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`&-item:not(${parentCls}-first-item)${parentCls}-last-item`]: {\n [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n };\n}\nexport function genCompactItemStyle(token) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n focus: true\n };\n const {\n componentCls\n } = token;\n const compactCls = `${componentCls}-compact`;\n return {\n [compactCls]: Object.assign(Object.assign({}, compactItemBorder(token, compactCls, options)), compactItemBorderRadius(componentCls, compactCls, options))\n };\n}","const initMotionCommon = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\n// FIXME: origin less code seems same as initMotionCommon. Maybe we can safe remove\nconst initMotionCommonLeave = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\nexport const initMotion = function (motionCls, inKeyframes, outKeyframes, duration) {\n let sameLevel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: Object.assign(Object.assign({}, initMotionCommon(duration)), {\n animationPlayState: 'paused'\n }),\n [`${sameLevelPrefix}${motionCls}-leave`]: Object.assign(Object.assign({}, initMotionCommonLeave(duration)), {\n animationPlayState: 'paused'\n }),\n [`\n ${sameLevelPrefix}${motionCls}-enter${motionCls}-enter-active,\n ${sameLevelPrefix}${motionCls}-appear${motionCls}-appear-active\n `]: {\n animationName: inKeyframes,\n animationPlayState: 'running'\n },\n [`${sameLevelPrefix}${motionCls}-leave${motionCls}-leave-active`]: {\n animationName: outKeyframes,\n animationPlayState: 'running',\n pointerEvents: 'none'\n }\n };\n};","import * as React from 'react';\nexport var CollectionContext = /*#__PURE__*/React.createContext(null);\n/**\n * Collect all the resize event from children ResizeObserver\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 || onBatchResize(resizeInfosRef.current);\n resizeInfosRef.current = [];\n }\n });\n\n // Continue bubbling if parent exist\n onCollectionResize === null || onCollectionResize === void 0 || onCollectionResize(size, element, data);\n }, [onBatchResize, onCollectionResize]);\n return /*#__PURE__*/React.createElement(CollectionContext.Provider, {\n value: onResize\n }, children);\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 */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\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 */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\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 */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\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 */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\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 */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\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 */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\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 */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\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 */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\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 */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\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 */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\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 */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\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 */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\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 */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\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 */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\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 */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\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 */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\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 */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\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 */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\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 */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\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 */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\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 */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\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 */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\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 */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\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 */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\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 */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\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 */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\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 */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\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 */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\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 */\r\nvar ResizeObserver = /** @class */ (function () {\r\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 */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import ResizeObserver from 'resize-observer-polyfill';\n// =============================== Const ===============================\nvar elementListeners = new Map();\nfunction onResize(entities) {\n entities.forEach(function (entity) {\n var _elementListeners$get;\n var target = entity.target;\n (_elementListeners$get = elementListeners.get(target)) === null || _elementListeners$get === void 0 || _elementListeners$get.forEach(function (listener) {\n return listener(target);\n });\n });\n}\n\n// Note: ResizeObserver polyfill not support option to measure border-box resize\nvar resizeObserver = new ResizeObserver(onResize);\n\n// Dev env only\nexport var _el = process.env.NODE_ENV !== 'production' ? elementListeners : null; // eslint-disable-line\nexport var _rs = process.env.NODE_ENV !== 'production' ? onResize : null; // eslint-disable-line\n\n// ============================== Observe ==============================\nexport function observe(element, callback) {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set());\n resizeObserver.observe(element);\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 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 */\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n var _super = _createSuper(DomWrapper);\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n return _super.apply(this, arguments);\n }\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return DomWrapper;\n}(React.Component);\nexport { DomWrapper as default };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { CollectionContext } from \"../Collection\";\nimport { observe, unobserve } from \"../utils/observerUtil\";\nimport DomWrapper from \"./DomWrapper\";\nfunction SingleObserver(props, ref) {\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);\n\n // =========================== Children ===========================\n var isRenderProps = typeof children === 'function';\n var mergedChildren = isRenderProps ? children(elementRef) : children;\n\n // ============================= Size =============================\n var sizeRef = React.useRef({\n width: -1,\n height: -1,\n offsetWidth: -1,\n offsetHeight: -1\n });\n\n // ============================= Ref ==============================\n var canRef = !isRenderProps && /*#__PURE__*/React.isValidElement(mergedChildren) && supportRef(mergedChildren);\n var originRef = canRef ? mergedChildren.ref : null;\n var mergedRef = useComposeRef(originRef, elementRef);\n var getDom = function getDom() {\n var _elementRef$current;\n return findDOMNode(elementRef.current) || (\n // Support `nativeElement` format\n elementRef.current && _typeof(elementRef.current) === 'object' ? findDOMNode((_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.nativeElement) : null) || findDOMNode(wrapperRef.current);\n };\n React.useImperativeHandle(ref, function () {\n return getDom();\n });\n\n // =========================== Observe ============================\n var propsRef = React.useRef(props);\n propsRef.current = props;\n\n // Handler\n var onInternalResize = React.useCallback(function (target) {\n var _propsRef$current = propsRef.current,\n onResize = _propsRef$current.onResize,\n data = _propsRef$current.data;\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n\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 var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\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;\n\n // IE is strange, right?\n var mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n var mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;\n var sizeInfo = _objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n });\n\n // Let collection know what happened\n onCollectionResize === null || onCollectionResize === void 0 || onCollectionResize(sizeInfo, target, data);\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 }, []);\n\n // Dynamic observe\n React.useEffect(function () {\n var currentElement = getDom();\n if (currentElement && !disabled) {\n observe(currentElement, onInternalResize);\n }\n return function () {\n return unobserve(currentElement, onInternalResize);\n };\n }, [elementRef.current, disabled]);\n\n // ============================ Render ============================\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperRef\n }, canRef ? /*#__PURE__*/React.cloneElement(mergedChildren, {\n ref: mergedRef\n }) : mergedChildren);\n}\nvar RefSingleObserver = /*#__PURE__*/React.forwardRef(SingleObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefSingleObserver.displayName = 'SingleObserver';\n}\nexport default RefSingleObserver;","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';\nimport { _rs } from \"./utils/observerUtil\";\nexport { /** @private Test only for mock trigger resize event */\n_rs };\nfunction ResizeObserver(props, ref) {\n var children = props.children;\n var childNodes = typeof children === 'function' ? [children] : toArray(children);\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 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 ref: index === 0 ? ref : undefined\n }), child);\n });\n}\nvar RefResizeObserver = /*#__PURE__*/React.forwardRef(ResizeObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefResizeObserver.displayName = 'ResizeObserver';\n}\nRefResizeObserver.Collection = Collection;\nexport default RefResizeObserver;","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","export default (function (element) {\n if (!element) {\n return false;\n }\n if (element instanceof Element) {\n if (element.offsetParent) {\n return true;\n }\n if (element.getBBox) {\n var _getBBox = element.getBBox(),\n width = _getBBox.width,\n height = _getBBox.height;\n if (width || height) {\n return true;\n }\n }\n if (element.getBoundingClientRect) {\n var _element$getBoundingC = element.getBoundingClientRect(),\n _width = _element$getBoundingC.width,\n _height = _element$getBoundingC.height;\n if (_width || _height) {\n return true;\n }\n }\n }\n return false;\n});","/* eslint-disable no-param-reassign */\n\nvar cached;\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n var outer = document.createElement('div');\n var outerStyle = outer.style;\n outerStyle.position = 'absolute';\n outerStyle.top = '0';\n outerStyle.left = '0';\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n outer.appendChild(inner);\n document.body.appendChild(outer);\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n document.body.removeChild(outer);\n cached = widthContained - widthScroll;\n }\n return cached;\n}\nfunction ensureSize(str) {\n var match = str.match(/^(.*)px$/);\n var value = Number(match === null || match === void 0 ? void 0 : match[1]);\n return Number.isNaN(value) ? getScrollBarSize() : value;\n}\nexport function getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n var _getComputedStyle = getComputedStyle(target, '::-webkit-scrollbar'),\n width = _getComputedStyle.width,\n height = _getComputedStyle.height;\n return {\n width: ensureSize(width),\n height: ensureSize(height)\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction getUseId() {\n // We need fully clone React function here to avoid webpack warning React 17 do not export `useId`\n var fullClone = _objectSpread({}, React);\n return fullClone.useId;\n}\nvar uuid = 0;\n\n/** @private Note only worked in develop env. Not work in production. */\nexport function resetUuid() {\n if (process.env.NODE_ENV !== 'production') {\n uuid = 0;\n }\n}\nvar useOriginId = getUseId();\nexport default useOriginId ?\n// Use React `useId`\nfunction useId(id) {\n var reactId = useOriginId();\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n return reactId;\n} :\n// Use compatible of `useId`\nfunction useCompatId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState('ssr-id'),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n var nextId = uuid;\n uuid += 1;\n setInnerId(\"rc_unique_\".concat(nextId));\n }, []);\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n\n // Return react native id or inner id\n return innerId;\n};","export default (function () {\n if (typeof navigator === 'undefined' || typeof window === 'undefined') {\n return false;\n }\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n return /(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});"],"names":["React","EMPTY_LIST","UNIQUE_ID","concat","Date","now","uuid","useScrollLocker","lock","mergedLock","_React$useState","id","_slicedToArray","useLayoutEffect","scrollbarSize","getTargetScrollBarSize","document","body","width","isOverflow","scrollHeight","window","innerHeight","documentElement","clientHeight","innerWidth","offsetWidth","updateCSS","removeCSS","inline","getPortalContainer","getContainer","canUseDom","querySelector","props","ref","open","autoLock","_props$autoDestroy","debug","autoDestroy","children","_React$useState2","shouldRender","setShouldRender","mergedRender","_React$useState3","_React$useState4","innerContainer","setInnerContainer","customizeContainer","_useDom","render","createElement","ele","appendedRef","queueCreate","OrderContext","queue","setQueue","mergedQueueCreate","current","undefined","appendFn","origin","_toConsumableArray","append","parentElement","appendChild","cleanup","_ele$parentElement","removeChild","length","forEach","useDom","_useDom2","defaultContainer","mergedContainer","childRef","supportRef","mergedRef","useComposeRef","nextInline","renderInline","reffedChildren","Provider","value","createPortal","Arrow","prefixCls","align","arrow","arrowPos","_ref","className","content","_arrowPos$x","x","_arrowPos$y","y","arrowRef","points","alignStyle","position","autoArrow","popupPoints","targetPoints","popupTB","popupLR","targetTB","targetLR","includes","top","bottom","left","right","classNames","style","Mask","zIndex","mask","motion","CSSMotion","_extends","motionAppear","visible","removeOnLeave","_","next","cache","popup","target","_onVisibleChanged","onVisibleChanged","keepDom","fresh","onClick","maskMotion","forceRender","getPopupContainer","Portal","portal","onMouseEnter","onMouseLeave","onPointerEnter","ready","offsetX","offsetY","offsetR","offsetB","onAlign","onPrepare","stretch","targetWidth","targetHeight","childNode","isNodeVisible","getPopupContainerNeedParams","show","setShow","AUTO","offsetStyle","_experimental","dynamicInset","alignRight","alignBottom","miscStyle","height","minHeight","minWidth","pointerEvents","ResizeObserver","onResize","disabled","resizeObserverRef","motionEnter","motionLeave","leavedClassName","onAppearPrepare","onEnterPrepare","nextVisible","_motion$onVisibleChan","call","motionRef","motionClassName","motionStyle","cls","composeRef","_objectSpread","boxSizing","PopupContent","getTriggerDOMNode","canUseRef","setRef","node","fillRef","toArray","val","Array","isArray","isPointsEq","a1","arguments","a2","getMotion","animation","transitionName","motionName","getWin","ownerDocument","defaultView","collectScroller","scrollerList","scrollStyle","_getWin$getComputedSt","getComputedStyle","overflowX","overflowY","overflow","some","o","push","toNum","num","defaultValue","Number","isNaN","getPxValue","parseFloat","getVisibleArea","initArea","visibleArea","HTMLBodyElement","HTMLHtmlElement","_getWin$getComputedSt2","overflowClipMargin","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","eleRect","getBoundingClientRect","eleOutHeight","offsetHeight","eleInnerHeight","eleOutWidth","eleInnerWidth","clientWidth","borderTopNum","borderBottomNum","borderLeftNum","borderRightNum","scaleX","Math","round","scaleY","eleScrollWidth","eleScrollHeight","scaledBorderTopWidth","scaledBorderBottomWidth","scaledBorderLeftWidth","scaledBorderRightWidth","clipMarginWidth","clipMarginHeight","clipNum","eleLeft","eleTop","eleRight","eleBottom","max","min","getUnitOffset","size","offsetStr","cells","match","getNumberOffset","rect","offset","_ref2","splitPoints","getAlignPoint","topBottom","leftRight","reversePoints","index","reverseMap","t","b","l","r","map","point","i","join","_excluded","PortalComponent","_props$prefixCls","_props$action","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","_props$mouseLeaveDela","mouseLeaveDelay","focusDelay","blurDelay","_props$maskClosable","maskClosable","destroyPopupOnHide","popupClassName","popupStyle","popupPlacement","_props$builtinPlaceme","builtinPlacements","popupAlign","getPopupClassNameFromAlign","alignPoint","onPopupClick","onPopupAlign","popupMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","restProps","_objectWithoutProperties","mergedAutoDestroy","mobile","setMobile","isMobile","subPopupElements","parentContext","TriggerContext","context","registerSubPopup","subPopupEle","useId","popupEle","setPopupEle","setPopupRef","useEvent","isDOM","_React$useState5","_React$useState6","targetEle","setTargetEle","externalForwardRef","setTargetRef","child","only","originChildProps","cloneProps","inPopupOrChild","_getShadowRoot","_getShadowRoot2","childDOM","contains","getShadowRoot","host","Object","values","mergePopupMotion","mergeMaskMotion","_React$useState7","_React$useState8","internalOpen","setInternalOpen","mergedOpen","setMergedOpen","nextOpen","openRef","lastTriggerRef","internalTriggerOpen","_lastTriggerRef$curre","delayRef","clearDelay","clearTimeout","triggerOpen","delay","setTimeout","_React$useState9","_React$useState10","inMotion","setInMotion","firstMount","_React$useState11","_React$useState12","motionPrepareResolve","setMotionPrepareResolve","_React$useState13","_React$useState14","mousePos","setMousePos","setMousePosByEvent","event","clientX","clientY","_useAlign","placement","arrowX","arrowY","offsetInfo","setOffsetInfo","alignCountRef","prevFlipRef","_popupElement$parentE","_popupElement$parentE2","targetRect","popupElement","doc","_win$getComputedStyle","popupPosition","originLeft","originTop","originRight","originBottom","originOverflow","placementInfo","placeholderElement","offsetLeft","offsetTop","popupRect","_doc$documentElement","scrollWidth","scrollTop","scrollLeft","popupHeight","popupWidth","visibleRegion","scrollRegion","htmlRegion","VISIBLE","VISIBLE_FIRST","isVisibleFirst","scrollRegionArea","visibleRegionArea","adjustCheckVisibleArea","popupMirrorRect","_scaleX","_scaleY","isVisible","targetOffset","_getNumberOffset","_getNumberOffset2","popupOffsetX","popupOffsetY","_getNumberOffset3","_getNumberOffset4","targetOffsetX","targetOffsetY","_ref3","_ref4","popupPoint","targetAlignPoint","popupAlignPoint","nextAlignInfo","nextOffsetX","nextOffsetY","getIntersectionVisibleArea","area","visibleL","visibleT","visibleR","visibleB","nextPopupY","nextPopupBottom","nextPopupX","nextPopupRight","originIntersectionVisibleArea","originIntersectionRecommendArea","targetAlignPointTL","popupAlignPointTL","targetAlignPointBR","popupAlignPointBR","adjustX","adjustY","shiftX","shiftY","supportAdjust","syncNextPopupPosition","needAdjustY","sameTB","bt","tmpNextOffsetY","newVisibleArea","newVisibleRecommendArea","tb","_tmpNextOffsetY","_newVisibleArea","_newVisibleRecommendArea","needAdjustX","sameLR","rl","tmpNextOffsetX","_newVisibleArea2","_newVisibleRecommendArea2","lr","_tmpNextOffsetX","_newVisibleArea3","_newVisibleRecommendArea3","numShiftX","numShiftY","popupLeft","popupRight","popupTop","popupBottom","targetLeft","targetRight","targetTop","targetBottom","nextArrowX","nextArrowY","offsetX4Right","offsetY4Bottom","resetReady","ori","Promise","resolve","then","useAlign","_useAlign2","alignInfo","_useAction","mergedShowAction","mergedHideAction","showActionSet","Set","hideActionSet","has","delete","add","useAction","_useAction2","showActions","hideActions","clickToShow","clickToHide","triggerAlign","onScroll","targetScrollList","popupScrollList","win","mergedList","notifyScroll","scroller","addEventListener","passive","removeEventListener","useWatch","JSON","stringify","alignedClassName","baseClassName","isAlignPoint","placements","keys","_builtinPlacements$pl","getAlignPopupClassName","nativeElement","forceAlign","_React$useState15","_React$useState16","setTargetWidth","_React$useState17","_React$useState18","setTargetHeight","syncTargetSize","wrapperAction","eventName","preEvent","_originChildProps$eve","_len","args","_key","apply","_originChildProps$onC","_len2","_key2","lockRef","raf","cancel","genClickEvents","clickInside","_genClickEvents","_genClickEvents2","onWinMouseDown","onWinClick","_genClickEvents3","_genClickEvents4","onShadowMouseDown","onShadowClick","targetShadowRoot","useWinClick","onPopupMouseEnter","onPopupMouseLeave","hoverToShow","hoverToHide","onMouseMove","_originChildProps$onM","onContextMenu","_originChildProps$onC2","preventDefault","_len3","_key3","mergedChildrenProps","passedProps","_mergedChildrenProps$","_len4","_key4","triggerNode","innerArrow","TriggerWrapper","Popup","getCollapsedHeight","opacity","getRealHeight","getCurrentHeight","skipOpacityTransition","deadline","propertyName","getTransitionName","rootPrefixCls","onAppearStart","onEnterStart","onAppearActive","onEnterActive","onLeaveStart","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","motionDeadline","responsiveArray","getResponsiveMap","token","xs","screenXSMax","sm","screenSM","md","screenMD","lg","screenLG","xl","screenXL","xxl","screenXXL","validateBreakpoints","indexableToken","revBreakpoints","reverse","breakpoint","breakpointUpper","toUpperCase","screenMin","screen","Error","screenMax","nextBreakpointUpperMin","nextScreenMin","useResponsiveObserver","useToken","responsiveMap","subscribers","Map","subUid","screens","matchHandlers","dispatch","pointMap","func","subscribe","this","register","set","unsubscribe","paramToken","unregister","matchMediaQuery","handler","mql","removeListener","listener","clear","matches","assign","matchMedia","addListener","matchScreen","screenSizes","genWaveStyle","componentCls","colorPrimary","background","color","boxShadow","transition","motionEaseOutCirc","motionEaseInOut","genComponentStyleHook","isValidWaveColor","isNotGrey","test","validateNum","WaveEffect","component","divRef","setWaveColor","borderRadius","setBorderRadius","setLeft","setTop","setWidth","setHeight","enabled","setEnabled","waveStyle","radius","syncPos","nodeStyle","borderTopColor","borderColor","backgroundColor","getTargetWaveColor","isStatic","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","resizeObserver","observe","disconnect","isSmallComponent","classList","TARGET_CLS","_a","holder","unmount","remove","showWaveEffect","info","checked","insertBefore","firstChild","getPrefixCls","useContext","ConfigContext","containerRef","useRef","hashId","useStyle","showWave","nodeRef","wave","targetNode","showEffect","rafId","useWave","nodeType","e","getAttribute","cloneElement","customSize","SizeContext","Function","__rest","s","p","prototype","hasOwnProperty","indexOf","getOwnPropertySymbols","propertyIsEnumerable","SpaceCompactItemContext","useCompactItemContext","direction","compactItemContext","compactItemClassnames","compactDirection","isFirstItem","isLastItem","separator","compactSize","NoCompactStyle","CompactItem","otherProps","directionConfig","block","customizePrefixCls","rootClassName","mergedSize","useSize","ctx","wrapSSR","clx","childNodes","nodes","key","display","flexDirection","genSpaceStyle","alignItems","genSpaceGapStyle","rowGap","spaceGapSmallSize","spaceGapMiddleSize","spaceGapLargeSize","columnGap","spaceToken","mergeToken","paddingXS","padding","paddingLG","genSpaceCompactStyle","resetStyle","compactItemBorder","parentCls","options","focusElCls","focus","borderElCls","childCombinator","hoverEffects","filter","Boolean","n","marginInlineEnd","lineWidth","compactItemBorderRadius","borderStartEndRadius","borderEndEndRadius","borderStartStartRadius","borderEndStartRadius","genCompactItemStyle","compactCls","initMotionCommon","duration","animationDuration","animationFillMode","initMotionCommonLeave","initMotion","motionCls","inKeyframes","outKeyframes","sameLevelPrefix","animationPlayState","animationName","CollectionContext","MapShim","getIndex","arr","result","entry","class_1","__entries__","defineProperty","get","enumerable","configurable","entries","splice","callback","_i","isBrowser","global$1","global","self","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","getInstance","instance_","defineConfigurable","writable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","reduce","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","create","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","_this","observation","WeakMap","method","elementListeners","entities","entity","_elementListeners$get","DomWrapper","_React$Component","_inherits","_super","_createSuper","_classCallCheck","_createClass","SingleObserver","elementRef","wrapperRef","onCollectionResize","isRenderProps","mergedChildren","sizeRef","canRef","originRef","getDom","_elementRef$current","findDOMNode","_typeof","propsRef","onInternalResize","_propsRef$current","data","_target$getBoundingCl","fixedWidth","floor","fixedHeight","mergedOffsetWidth","mergedOffsetHeight","sizeInfo","element","currentElement","RefResizeObserver","Collection","onBatchResize","resizeIdRef","resizeInfosRef","currentId","option","ret","keepEmpty","isFragment","offsetParent","_getBBox","_element$getBoundingC","_width","_height","cached","getScrollBarSize","inner","outer","outerStyle","visibility","widthContained","widthScroll","ensureSize","str","_getComputedStyle","useOriginId","reactId","innerId","setInnerId","nextId","navigator","agent","userAgent","vendor","opera","substr"],"sourceRoot":""}