{"version":3,"file":"29.6ef526f942e0c1ccf8a2.chunk.js","mappings":"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","sources":["webpack://LessMeeting/./node_modules/rc-tooltip/es/Popup.js","webpack://LessMeeting/./node_modules/rc-util/es/React/isFragment.js","webpack://LessMeeting/./node_modules/rc-util/es/ref.js","webpack://LessMeeting/./node_modules/rc-util/es/hooks/useMemo.js","webpack://LessMeeting/./node_modules/@rc-component/portal/es/Context.js","webpack://LessMeeting/./node_modules/@rc-component/portal/es/useDom.js","webpack://LessMeeting/./node_modules/rc-util/es/Dom/dynamicCSS.js","webpack://LessMeeting/./node_modules/rc-util/es/Dom/contains.js","webpack://LessMeeting/./node_modules/@rc-component/portal/es/useScrollLocker.js","webpack://LessMeeting/./node_modules/rc-util/es/getScrollBarSize.js","webpack://LessMeeting/./node_modules/@rc-component/portal/es/util.js","webpack://LessMeeting/./node_modules/@rc-component/portal/es/mock.js","webpack://LessMeeting/./node_modules/@rc-component/portal/es/Portal.js","webpack://LessMeeting/./node_modules/@rc-component/portal/es/index.js","webpack://LessMeeting/./node_modules/rc-util/es/Children/toArray.js","webpack://LessMeeting/./node_modules/rc-util/es/Dom/findDOMNode.js","webpack://LessMeeting/./node_modules/rc-resize-observer/es/Collection.js","webpack://LessMeeting/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://LessMeeting/./node_modules/rc-resize-observer/es/utils/observerUtil.js","webpack://LessMeeting/./node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","webpack://LessMeeting/./node_modules/rc-resize-observer/es/SingleObserver/index.js","webpack://LessMeeting/./node_modules/rc-resize-observer/es/index.js","webpack://LessMeeting/./node_modules/rc-util/es/Dom/shadow.js","webpack://LessMeeting/./node_modules/rc-util/es/hooks/useId.js","webpack://LessMeeting/./node_modules/rc-motion/es/context.js","webpack://LessMeeting/./node_modules/rc-motion/es/DomWrapper.js","webpack://LessMeeting/./node_modules/rc-util/es/utils/set.js","webpack://LessMeeting/./node_modules/rc-motion/es/interface.js","webpack://LessMeeting/./node_modules/rc-motion/es/util/motion.js","webpack://LessMeeting/./node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack://LessMeeting/./node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack://LessMeeting/./node_modules/rc-util/es/raf.js","webpack://LessMeeting/./node_modules/rc-motion/es/hooks/useStepQueue.js","webpack://LessMeeting/./node_modules/rc-motion/es/hooks/useStatus.js","webpack://LessMeeting/./node_modules/rc-util/es/hooks/useSyncState.js","webpack://LessMeeting/./node_modules/rc-motion/es/hooks/useNextFrame.js","webpack://LessMeeting/./node_modules/rc-motion/es/CSSMotion.js","webpack://LessMeeting/./node_modules/rc-motion/es/util/diff.js","webpack://LessMeeting/./node_modules/rc-motion/es/CSSMotionList.js","webpack://LessMeeting/./node_modules/rc-motion/es/index.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/Popup/Arrow.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/Popup/Mask.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/Popup/PopupContent.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/Popup/index.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/TriggerWrapper.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/context.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/hooks/useAction.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/util.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/hooks/useAlign.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/index.js","webpack://LessMeeting/./node_modules/rc-util/es/isMobile.js","webpack://LessMeeting/./node_modules/rc-util/es/Dom/isVisible.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/hooks/useWatch.js","webpack://LessMeeting/./node_modules/@rc-component/trigger/es/hooks/useWinClick.js","webpack://LessMeeting/./node_modules/rc-tooltip/es/placements.js","webpack://LessMeeting/./node_modules/rc-tooltip/es/Tooltip.js","webpack://LessMeeting/./node_modules/rc-tooltip/es/index.js","webpack://LessMeeting/./node_modules/react-is/cjs/react-is.production.min.js","webpack://LessMeeting/./node_modules/react-is/index.js"],"sourcesContent":["import classNames from 'classnames';\nimport * as React from 'react';\nexport default function Popup(props) {\n var children = props.children,\n prefixCls = props.prefixCls,\n id = props.id,\n innerStyle = props.overlayInnerStyle,\n bodyClassName = props.bodyClassName,\n className = props.className,\n style = props.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), className),\n style: style\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-inner\"), bodyClassName),\n id: id,\n role: \"tooltip\",\n style: innerStyle\n }, typeof children === 'function' ? children() : children));\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar REACT_ELEMENT_TYPE_18 = Symbol.for('react.element');\nvar REACT_ELEMENT_TYPE_19 = Symbol.for('react.transitional.element');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\n\n/**\n * Compatible with React 18 or 19 to check if node is a Fragment.\n */\nexport default function isFragment(object) {\n return (\n // Base object type\n object && _typeof(object) === 'object' && (\n // React Element type\n object.$$typeof === REACT_ELEMENT_TYPE_18 || object.$$typeof === REACT_ELEMENT_TYPE_19) &&\n // React Fragment type\n object.type === REACT_FRAGMENT_TYPE\n );\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isValidElement, version } from 'react';\nimport { ForwardRef, isMemo } from 'react-is';\nimport useMemo from \"./hooks/useMemo\";\nimport isFragment from \"./React/isFragment\";\nvar ReactMajorVersion = Number(version.split('.')[0]);\nexport var fillRef = function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n};\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport var composeRef = function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n var refList = refs.filter(Boolean);\n if (refList.length <= 1) {\n return refList[0];\n }\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n};\nexport var useComposeRef = function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length !== next.length || prev.every(function (ref, i) {\n return ref !== next[i];\n });\n });\n};\nexport var supportRef = function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n if (!nodeOrComponent) {\n return false;\n }\n\n // React 19 no need `forwardRef` anymore. So just pass if is a React element.\n if (isReactElement(nodeOrComponent) && ReactMajorVersion >= 19) {\n return true;\n }\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n\n // Function component node\n if (typeof type === 'function' && !((_type$prototype = type.prototype) !== null && _type$prototype !== void 0 && _type$prototype.render) && type.$$typeof !== ForwardRef) {\n return false;\n }\n\n // Class component\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) !== null && _nodeOrComponent$prot !== void 0 && _nodeOrComponent$prot.render) && nodeOrComponent.$$typeof !== ForwardRef) {\n return false;\n }\n return true;\n};\nfunction isReactElement(node) {\n return /*#__PURE__*/isValidElement(node) && !isFragment(node);\n}\nexport var supportNodeRef = function supportNodeRef(node) {\n return isReactElement(node) && supportRef(node);\n};\n\n/**\n * In React 19. `ref` is not a property from node.\n * But a property from `props.ref`.\n * To check if `props.ref` exist or fallback to `ref`.\n */\nexport var getNodeRef = function getNodeRef(node) {\n if (node && isReactElement(node)) {\n var ele = node;\n\n // Source from:\n // https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/getReactNodeRef/getReactNodeRef.ts\n return ele.props.propertyIsEnumerable('ref') ? ele.props.ref : ele.ref;\n }\n return null;\n};","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n return cacheRef.current.value;\n}","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 _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport canUseDom from \"./canUseDom\";\nimport contains from \"./contains\";\nvar APPEND_ORDER = 'data-rc-order';\nvar APPEND_PRIORITY = 'data-rc-priority';\nvar MARK_KEY = \"rc-util-key\";\nvar containerCache = new Map();\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n var head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(function (node) {\n return node.tagName === 'STYLE';\n });\n}\nexport function injectCSS(css) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!canUseDom()) {\n return null;\n }\n var csp = option.csp,\n prepend = option.prepend,\n _option$priority = option.priority,\n priority = _option$priority === void 0 ? 0 : _option$priority;\n var mergedOrder = getOrder(prepend);\n var isPrependQueue = mergedOrder === 'prependQueue';\n var styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, mergedOrder);\n if (isPrependQueue && priority) {\n styleNode.setAttribute(APPEND_PRIORITY, \"\".concat(priority));\n }\n if (csp !== null && csp !== void 0 && csp.nonce) {\n styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce;\n }\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (isPrependQueue) {\n var existStyle = (option.styles || findStyles(container)).filter(function (node) {\n // Ignore style which not injected by rc-util with prepend\n if (!['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER))) {\n return false;\n }\n\n // Ignore style which priority less then new style\n var nodePriority = Number(node.getAttribute(APPEND_PRIORITY) || 0);\n return priority >= nodePriority;\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return (option.styles || findStyles(container)).find(function (node) {\n return node.getAttribute(getMark(option)) === key;\n });\n}\nexport function removeCSS(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n if (existNode) {\n var container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n var cachedRealContainer = containerCache.get(container);\n\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key) {\n var originOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(originOption);\n var styles = findStyles(container);\n var option = _objectSpread(_objectSpread({}, originOption), {}, {\n styles: styles\n });\n\n // Sync real parent\n syncRealContainer(container, option);\n var existNode = findExistNode(key, option);\n if (existNode) {\n var _option$csp, _option$csp2;\n if ((_option$csp = option.csp) !== null && _option$csp !== void 0 && _option$csp.nonce && existNode.nonce !== ((_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce)) {\n var _option$csp3;\n existNode.nonce = (_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\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}","/* eslint-disable no-param-reassign */\nimport { removeCSS, updateCSS } from \"./Dom/dynamicCSS\";\nvar cached;\nfunction measureScrollbarSize(ele) {\n var randomId = \"rc-scrollbar-measure-\".concat(Math.random().toString(36).substring(7));\n var measureEle = document.createElement('div');\n measureEle.id = randomId;\n\n // Create Style\n var measureStyle = measureEle.style;\n measureStyle.position = 'absolute';\n measureStyle.left = '0';\n measureStyle.top = '0';\n measureStyle.width = '100px';\n measureStyle.height = '100px';\n measureStyle.overflow = 'scroll';\n\n // Clone Style if needed\n var fallbackWidth;\n var fallbackHeight;\n if (ele) {\n var targetStyle = getComputedStyle(ele);\n measureStyle.scrollbarColor = targetStyle.scrollbarColor;\n measureStyle.scrollbarWidth = targetStyle.scrollbarWidth;\n\n // Set Webkit style\n var webkitScrollbarStyle = getComputedStyle(ele, '::-webkit-scrollbar');\n var width = parseInt(webkitScrollbarStyle.width, 10);\n var height = parseInt(webkitScrollbarStyle.height, 10);\n\n // Try wrap to handle CSP case\n try {\n var widthStyle = width ? \"width: \".concat(webkitScrollbarStyle.width, \";\") : '';\n var heightStyle = height ? \"height: \".concat(webkitScrollbarStyle.height, \";\") : '';\n updateCSS(\"\\n#\".concat(randomId, \"::-webkit-scrollbar {\\n\").concat(widthStyle, \"\\n\").concat(heightStyle, \"\\n}\"), randomId);\n } catch (e) {\n // Can't wrap, just log error\n console.error(e);\n\n // Get from style directly\n fallbackWidth = width;\n fallbackHeight = height;\n }\n }\n document.body.appendChild(measureEle);\n\n // Measure. Get fallback style if provided\n var scrollWidth = ele && fallbackWidth && !isNaN(fallbackWidth) ? fallbackWidth : measureEle.offsetWidth - measureEle.clientWidth;\n var scrollHeight = ele && fallbackHeight && !isNaN(fallbackHeight) ? fallbackHeight : measureEle.offsetHeight - measureEle.clientHeight;\n\n // Clean up\n document.body.removeChild(measureEle);\n removeCSS(randomId);\n return {\n width: scrollWidth,\n height: scrollHeight\n };\n}\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n cached = measureScrollbarSize();\n }\n return cached.width;\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 return measureScrollbarSize(target);\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 isFragment from \"../React/isFragment\";\nimport React from 'react';\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}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nexport function isDOM(node) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element\n // Since XULElement is also subclass of Element, we only need HTMLElement and SVGElement\n return node instanceof HTMLElement || node instanceof SVGElement;\n}\n\n/**\n * Retrieves a DOM node via a ref, and does not invoke `findDOMNode`.\n */\nexport function getDOM(node) {\n if (node && _typeof(node) === 'object' && isDOM(node.nativeElement)) {\n return node.nativeElement;\n }\n if (isDOM(node)) {\n return node;\n }\n return null;\n}\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\nexport default function findDOMNode(node) {\n var domNode = getDOM(node);\n if (domNode) {\n return domNode;\n }\n if (node instanceof React.Component) {\n var _ReactDOM$findDOMNode;\n return (_ReactDOM$findDOMNode = ReactDOM.findDOMNode) === null || _ReactDOM$findDOMNode === void 0 ? void 0 : _ReactDOM$findDOMNode.call(ReactDOM, node);\n }\n return null;\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<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<ResizeObserverSPI>}\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 <html> 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 (<html>).\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<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\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, getNodeRef } 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 ? getNodeRef(mergedChildren) : 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;","function getRoot(ele) {\n var _ele$getRootNode;\n return ele === null || ele === void 0 || (_ele$getRootNode = ele.getRootNode) === null || _ele$getRootNode === void 0 ? void 0 : _ele$getRootNode.call(ele);\n}\n\n/**\n * Check if is in shadowRoot\n */\nexport function inShadow(ele) {\n return getRoot(ele) instanceof ShadowRoot;\n}\n\n/**\n * Return shadowRoot if possible\n */\nexport function getShadowRoot(ele) {\n return inShadow(ele) ? getRoot(ele) : null;\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};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport var Context = /*#__PURE__*/React.createContext({});\nexport default function MotionProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: props\n }, children);\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';\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 default DomWrapper;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from \"./get\";\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n var clone;\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n }\n\n // Delete prop if `removeIfUndefined` and value is undefined\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n return clone;\n}\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n return internalSet(entity, paths, value, removeIfUndefined);\n}\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\nfunction createEmpty(source) {\n return Array.isArray(source) ? [] : {};\n}\nvar keys = typeof Reflect === 'undefined' ? Object.keys : Reflect.ownKeys;\n\n/**\n * Merge objects which will create\n */\nexport function merge() {\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n var clone = createEmpty(sources[0]);\n sources.forEach(function (src) {\n function internalMerge(path, parentLoopSet) {\n var loopSet = new Set(parentLoopSet);\n var value = get(src, path);\n var isArr = Array.isArray(value);\n if (isArr || isObject(value)) {\n // Only add not loop obj\n if (!loopSet.has(value)) {\n loopSet.add(value);\n var originValue = get(clone, path);\n if (isArr) {\n // Array will always be override\n clone = set(clone, path, []);\n } else if (!originValue || _typeof(originValue) !== 'object') {\n // Init container if not exist\n clone = set(clone, path, createEmpty(value));\n }\n keys(value).forEach(function (key) {\n internalMerge([].concat(_toConsumableArray(path), [key]), loopSet);\n });\n }\n } else {\n clone = set(clone, path, value);\n }\n }\n internalMerge([]);\n });\n return clone;\n}","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';\n/**\n * Used for disabled motion case.\n * Prepare stage will still work but start & active will be skipped.\n */\nexport var STEP_PREPARED = 'prepared';","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\";\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n style = _document$createEleme.style;\n}\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n var prefixMap = vendorPrefixes[eventName];\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from \"../util/motion\";\nexport default (function (onInternalMotionEnd) {\n var cacheElementRef = useRef();\n\n // Remove events\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n }\n\n // Patch events\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd);\n\n // Save as cache in case dom removed trigger by `motionDeadline`\n cacheElementRef.current = element;\n }\n }\n\n // Clean up when removed\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { useEffect, useLayoutEffect } from 'react';\n\n// It's safe to use `useLayoutEffect` but the warning is annoying\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\nvar rafUUID = 0;\nvar rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nvar wrapperRaf = function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n\n // Trigger\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n });\n\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(id);\n return caf(realId);\n};\nif (process.env.NODE_ENV !== 'production') {\n wrapperRaf.ids = function () {\n return rafIds;\n };\n}\nexport default wrapperRaf;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { STEP_ACTIVATED, STEP_ACTIVE, STEP_NONE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useNextFrame from \"./useNextFrame\";\nvar FULL_STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\nvar SIMPLE_STEP_QUEUE = [STEP_PREPARE, STEP_PREPARED];\n\n/** Skip current step */\nexport var SkipStep = false;\n/** Current step should be update in */\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, prepareOnly, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n var STEP_QUEUE = prepareOnly ? SIMPLE_STEP_QUEUE : FULL_STEP_QUEUE;\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else if (nextStep) {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEvent } from 'rc-util';\nimport useState from \"rc-util/es/hooks/useState\";\nimport useSyncState from \"rc-util/es/hooks/useSyncState\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { STATUS_APPEAR, STATUS_ENTER, STATUS_LEAVE, STATUS_NONE, STEP_ACTIVE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useDomMotionEvents from \"./useDomMotionEvents\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useStepQueue, { DoStep, isActive, SkipStep } from \"./useStepQueue\";\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n var _useSyncState = useSyncState(STATUS_NONE),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n getStatus = _useSyncState2[0],\n setStatus = _useSyncState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n style = _useState4[0],\n setStyle = _useState4[1];\n var currentStatus = getStatus();\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n\n // =========================== Dom Node ===========================\n function getDomElement() {\n return getElement();\n }\n\n // ========================== Motion End ==========================\n var activeRef = useRef(false);\n\n /**\n * Clean up status & style\n */\n function updateMotionEndStatus() {\n setStatus(STATUS_NONE);\n setStyle(null, true);\n }\n var onInternalMotionEnd = useEvent(function (event) {\n var status = getStatus();\n // Do nothing since not in any transition status.\n // This may happen when `motionDeadline` trigger.\n if (status === STATUS_NONE) {\n return;\n }\n var element = getDomElement();\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n var currentActive = activeRef.current;\n var canEnd;\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n }\n\n // Only update status when `canEnd` and not destroyed\n if (currentActive && canEnd !== false) {\n updateMotionEndStatus();\n }\n });\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0];\n\n // ============================= Step =============================\n var getEventHandlers = function getEventHandlers(targetStatus) {\n switch (targetStatus) {\n case STATUS_APPEAR:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onAppearPrepare), STEP_START, onAppearStart), STEP_ACTIVE, onAppearActive);\n case STATUS_ENTER:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onEnterPrepare), STEP_START, onEnterStart), STEP_ACTIVE, onEnterActive);\n case STATUS_LEAVE:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onLeavePrepare), STEP_START, onLeaveStart), STEP_ACTIVE, onLeaveActive);\n default:\n return {};\n }\n };\n var eventHandlers = React.useMemo(function () {\n return getEventHandlers(currentStatus);\n }, [currentStatus]);\n var _useStepQueue = useStepQueue(currentStatus, !supportMotion, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n if (!onPrepare) {\n return SkipStep;\n }\n return onPrepare(getDomElement());\n }\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n if (step === STEP_ACTIVE && currentStatus !== STATUS_NONE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n if (step === STEP_PREPARED) {\n updateMotionEndStatus();\n }\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n var active = isActive(step);\n activeRef.current = active;\n\n // ============================ Status ============================\n var visibleRef = useRef(null);\n\n // Update with new status\n useIsomorphicLayoutEffect(function () {\n // When use Suspense, the `visible` will repeat trigger,\n // But not real change of the `visible`, we need to skip it.\n // https://github.com/ant-design/ant-design/issues/44379\n if (mountedRef.current && visibleRef.current === visible) {\n return;\n }\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n // if (!supportMotion) {\n // return;\n // }\n\n var nextStatus;\n\n // Appear\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n }\n\n // Enter\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n }\n\n // Leave\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n }\n var nextEventHandlers = getEventHandlers(nextStatus);\n\n // Update to next status\n if (nextStatus && (supportMotion || nextEventHandlers[STEP_PREPARE])) {\n setStatus(nextStatus);\n startStep();\n } else {\n // Set back in case no motion but prev status has prepare step\n setStatus(STATUS_NONE);\n }\n visibleRef.current = visible;\n }, [visible]);\n\n // ============================ Effect ============================\n // Reset when motion changed\n useEffect(function () {\n if (\n // Cancel appear\n currentStatus === STATUS_APPEAR && !motionAppear ||\n // Cancel enter\n currentStatus === STATUS_ENTER && !motionEnter ||\n // Cancel leave\n currentStatus === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []);\n\n // Trigger `onVisibleChanged`\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n if (asyncVisible !== undefined && currentStatus === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 || onVisibleChanged(asyncVisible);\n }\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, currentStatus]);\n\n // ============================ Styles ============================\n var mergedStyle = style;\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n return [currentStatus, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useEvent from \"./useEvent\";\n/**\n * Same as React.useState but will always get latest state.\n * This is useful when React merge multiple state updates into one.\n * e.g. onTransitionEnd trigger multiple event at once will be merged state update in React.\n */\nexport default function useSyncState(defaultValue) {\n var _React$useReducer = React.useReducer(function (x) {\n return x + 1;\n }, 0),\n _React$useReducer2 = _slicedToArray(_React$useReducer, 2),\n forceUpdate = _React$useReducer2[1];\n var currentValueRef = React.useRef(defaultValue);\n var getValue = useEvent(function () {\n return currentValueRef.current;\n });\n var setValue = useEvent(function (updater) {\n currentValueRef.current = typeof updater === 'function' ? updater(currentValueRef.current) : updater;\n forceUpdate();\n });\n return [getValue, setValue];\n}","import raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport classNames from 'classnames';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, getNodeRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport { Context } from \"./context\";\nimport DomWrapper from \"./DomWrapper\";\nimport useStatus from \"./hooks/useStatus\";\nimport { isActive } from \"./hooks/useStepQueue\";\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from \"./interface\";\nimport { getTransitionName, supportTransition } from \"./util/motion\";\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n function isSupportTransition(props, contextMotion) {\n return !!(props.motionName && transitionSupport && contextMotion !== false);\n }\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var _React$useContext = React.useContext(Context),\n contextMotion = _React$useContext.motion;\n var supportMotion = isSupportTransition(props, contextMotion);\n\n // Ref to the react node, it may be a HTMLElement\n var nodeRef = useRef();\n // Ref to the dom wrapper in case ref can not pass to HTMLElement\n var wrapperNodeRef = useRef();\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3];\n\n // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n var renderedRef = React.useRef(mergedVisible);\n if (mergedVisible) {\n renderedRef.current = true;\n }\n\n // ====================== Refs ======================\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]);\n\n // ===================== Render =====================\n var motionChildren;\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current && leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender || !removeOnLeave && !leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n // In motion\n var statusSuffix;\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n var motionCls = getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix));\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), _defineProperty(_defineProperty({}, motionCls, motionCls && statusSuffix), motionName, typeof motionName === 'string')),\n style: statusStyle\n }), setNodeRef);\n }\n\n // Auto inject ref if child node not have `ref` props\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var originNodeRef = getNodeRef(motionChildren);\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys);\n\n // Check prev keys to insert or keep\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n }\n\n // If not hit, it means key is removed\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n });\n\n // Add rest to the list\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n });\n\n // Update `STATUS_ADD` to `STATUS_KEEP`\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from \"./CSSMotion\";\nimport { diffKeys, parseKeys, STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED } from \"./util/diff\";\nimport { supportTransition } from \"./util/motion\";\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearPrepare', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n var _super = _createSuper(CSSMotionList);\n function CSSMotionList() {\n var _this;\n _classCallCheck(this, CSSMotionList);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n keyEntities: []\n });\n // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n _defineProperty(_assertThisInitialized(_this), \"removeKey\", function (removeKey) {\n _this.setState(function (prevState) {\n var nextKeyEntities = prevState.keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n return {\n keyEntities: nextKeyEntities\n };\n }, function () {\n var keyEntities = _this.state.keyEntities;\n var restKeysCount = keyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n if (restKeysCount === 0 && _this.props.onAllRemoved) {\n _this.props.onAllRemoved();\n }\n });\n });\n return _this;\n }\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var keyEntities = this.state.keyEntities;\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2, index) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 || _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n if (!changedVisible) {\n _this2.removeKey(eventProps.key);\n }\n }\n }), function (props, ref) {\n return children(_objectSpread(_objectSpread({}, props), {}, {\n index: index\n }), ref);\n });\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n });\n\n // Remove if already mark as removed\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n return true;\n })\n };\n }\n }]);\n return CSSMotionList;\n }(React.Component);\n _defineProperty(CSSMotionList, \"defaultProps\", {\n component: 'div'\n });\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from \"./CSSMotion\";\nimport CSSMotionList from \"./CSSMotionList\";\nexport { default as Provider } from \"./context\";\nexport { CSSMotionList };\nexport default CSSMotion;","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 onPointerDownCapture = props.onPointerDownCapture,\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 onPointerDownCapture: onPointerDownCapture\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, getNodeRef, 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, getNodeRef(children));\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, _popupRect$x, _popupRect$y, _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$x, _rect$y;\n var rect = target.getBoundingClientRect();\n rect.x = (_rect$x = rect.x) !== null && _rect$x !== void 0 ? _rect$x : rect.left;\n rect.y = (_rect$y = rect.y) !== null && _rect$y !== void 0 ? _rect$y : rect.top;\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 popupRect.x = (_popupRect$x = popupRect.x) !== null && _popupRect$x !== void 0 ? _popupRect$x : popupRect.left;\n popupRect.y = (_popupRect$y = popupRect.y) !== null && _popupRect$y !== void 0 ? _popupRect$y : popupRect.top;\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 if (_scaleX === 1) {\n nextOffsetX = Math.round(nextOffsetX);\n offsetX4Right = Math.round(offsetX4Right);\n }\n if (_scaleY === 1) {\n nextOffsetY = Math.round(nextOffsetY);\n offsetY4Bottom = Math.round(offsetY4Bottom);\n }\n var nextOffsetInfo = {\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 setOffsetInfo(nextOffsetInfo);\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\n// New version will not wrap popup with `rc-trigger-popup-content` when multiple children\n\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\n // Used for forwardRef popup. Not use internal\n var externalPopupRef = React.useRef(null);\n var setPopupRef = useEvent(function (node) {\n externalPopupRef.current = 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(null),\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 !== null ? 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 popupElement: externalPopupRef.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 var onPopupPointerDown = 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(event) {\n // Only trigger re-open when popup is visible\n if ((mergedOpen || inMotion) && popupEle !== null && popupEle !== void 0 && popupEle.contains(event.target)) {\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 onPointerDownCapture: onPopupPointerDown\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);","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});","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});","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 { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport { warning } from \"rc-util/es/warning\";\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 openRef.current = open;\n var popupPointerDownRef = React.useRef(false);\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 onPointerDown = function onPointerDown() {\n popupPointerDownRef.current = false;\n };\n var onTriggerClose = function onTriggerClose(e) {\n var _e$composedPath;\n if (openRef.current && !inPopupOrChild(((_e$composedPath = e.composedPath) === null || _e$composedPath === void 0 || (_e$composedPath = _e$composedPath.call(e)) === null || _e$composedPath === void 0 ? void 0 : _e$composedPath[0]) || e.target) && !popupPointerDownRef.current) {\n triggerOpen(false);\n }\n };\n var win = getWin(popupEle);\n win.addEventListener('pointerdown', onPointerDown, true);\n win.addEventListener('mousedown', onTriggerClose, true);\n win.addEventListener('contextmenu', onTriggerClose, true);\n\n // shadow root\n var targetShadowRoot = getShadowRoot(targetEle);\n if (targetShadowRoot) {\n targetShadowRoot.addEventListener('mousedown', onTriggerClose, true);\n targetShadowRoot.addEventListener('contextmenu', onTriggerClose, 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('pointerdown', onPointerDown, true);\n win.removeEventListener('mousedown', onTriggerClose, true);\n win.removeEventListener('contextmenu', onTriggerClose, true);\n if (targetShadowRoot) {\n targetShadowRoot.removeEventListener('mousedown', onTriggerClose, true);\n targetShadowRoot.removeEventListener('contextmenu', onTriggerClose, true);\n }\n };\n }\n }, [clickToHide, targetEle, popupEle, mask, maskClosable]);\n function onPopupPointerDown() {\n popupPointerDownRef.current = true;\n }\n return onPopupPointerDown;\n}","var autoAdjustOverflowTopBottom = {\n shiftX: 64,\n adjustY: 1\n};\nvar autoAdjustOverflowLeftRight = {\n adjustX: 1,\n shiftY: true\n};\nvar targetOffset = [0, 0];\nexport var placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [-4, 0],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"children\", \"onVisibleChange\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"motion\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\", \"getTooltipContainer\", \"overlayInnerStyle\", \"arrowContent\", \"overlay\", \"id\", \"showArrow\", \"classNames\", \"styles\"];\nimport Trigger from '@rc-component/trigger';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { placements } from \"./placements\";\nimport Popup from \"./Popup\";\nimport useId from \"rc-util/es/hooks/useId\";\nvar Tooltip = function Tooltip(props, ref) {\n var overlayClassName = props.overlayClassName,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n _props$mouseEnterDela = props.mouseEnterDelay,\n mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0 : _props$mouseEnterDela,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n overlayStyle = props.overlayStyle,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-tooltip' : _props$prefixCls,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n afterVisibleChange = props.afterVisibleChange,\n transitionName = props.transitionName,\n animation = props.animation,\n motion = props.motion,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'right' : _props$placement,\n _props$align = props.align,\n align = _props$align === void 0 ? {} : _props$align,\n _props$destroyTooltip = props.destroyTooltipOnHide,\n destroyTooltipOnHide = _props$destroyTooltip === void 0 ? false : _props$destroyTooltip,\n defaultVisible = props.defaultVisible,\n getTooltipContainer = props.getTooltipContainer,\n overlayInnerStyle = props.overlayInnerStyle,\n arrowContent = props.arrowContent,\n overlay = props.overlay,\n id = props.id,\n _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow,\n tooltipClassNames = props.classNames,\n tooltipStyles = props.styles,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedId = useId(id);\n var triggerRef = useRef(null);\n useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n var extraProps = _objectSpread({}, restProps);\n if ('visible' in props) {\n extraProps.popupVisible = props.visible;\n }\n var getPopupElement = function getPopupElement() {\n return /*#__PURE__*/React.createElement(Popup, {\n key: \"content\",\n prefixCls: prefixCls,\n id: mergedId,\n bodyClassName: tooltipClassNames === null || tooltipClassNames === void 0 ? void 0 : tooltipClassNames.body,\n overlayInnerStyle: _objectSpread(_objectSpread({}, overlayInnerStyle), tooltipStyles === null || tooltipStyles === void 0 ? void 0 : tooltipStyles.body)\n }, overlay);\n };\n var getChildren = function getChildren() {\n var child = React.Children.only(children);\n var originalProps = (child === null || child === void 0 ? void 0 : child.props) || {};\n var childProps = _objectSpread(_objectSpread({}, originalProps), {}, {\n 'aria-describedby': overlay ? mergedId : null\n });\n return /*#__PURE__*/React.cloneElement(children, childProps);\n };\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n popupClassName: classNames(overlayClassName, tooltipClassNames === null || tooltipClassNames === void 0 ? void 0 : tooltipClassNames.root),\n prefixCls: prefixCls,\n popup: getPopupElement,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n ref: triggerRef,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n onPopupVisibleChange: onVisibleChange,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupMotion: motion,\n defaultPopupVisible: defaultVisible,\n autoDestroy: destroyTooltipOnHide,\n mouseLeaveDelay: mouseLeaveDelay,\n popupStyle: _objectSpread(_objectSpread({}, overlayStyle), tooltipStyles === null || tooltipStyles === void 0 ? void 0 : tooltipStyles.root),\n mouseEnterDelay: mouseEnterDelay,\n arrow: showArrow\n }, extraProps), getChildren());\n};\nexport default /*#__PURE__*/forwardRef(Tooltip);","import Popup from \"./Popup\";\nimport Tooltip from \"./Tooltip\";\nexport { Popup };\nexport default Tooltip;","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n"],"names":["Popup","props","children","prefixCls","id","innerStyle","overlayInnerStyle","bodyClassName","className","style","concat","role","REACT_ELEMENT_TYPE_18","Symbol","for","REACT_ELEMENT_TYPE_19","REACT_FRAGMENT_TYPE","isFragment","object","$$typeof","type","ReactMajorVersion","Number","version","split","fillRef","ref","node","current","composeRef","_len","arguments","length","refs","Array","_key","refList","filter","Boolean","forEach","useComposeRef","_len2","_key2","getValue","apply","condition","shouldUpdate","prev","next","every","i","cacheRef","value","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isReactElement","isMemo","prototype","render","ForwardRef","isValidElement","getNodeRef","ele","propertyIsEnumerable","EMPTY_LIST","APPEND_ORDER","APPEND_PRIORITY","containerCache","Map","getMark","mark","undefined","startsWith","getContainer","option","attachTo","document","querySelector","body","findStyles","container","from","get","tagName","injectCSS","css","canUseDom","csp","prepend","_option$priority","priority","mergedOrder","getOrder","isPrependQueue","styleNode","createElement","setAttribute","nonce","innerHTML","firstChild","existStyle","styles","includes","getAttribute","nodePriority","insertBefore","nextSibling","appendChild","findExistNode","key","find","removeCSS","existNode","removeChild","updateCSS","originOption","cachedRealContainer","root","n","contains","parentNode","placeholderStyle","set","syncRealContainer","_option$csp","_option$csp2","_option$csp3","newNode","UNIQUE_ID","Date","now","uuid","useScrollLocker","lock","mergedLock","_React$useState","useLayoutEffect","scrollbarSize","target","Element","randomId","Math","random","toString","substring","measureEle","fallbackWidth","fallbackHeight","measureStyle","position","left","top","width","height","overflow","targetStyle","getComputedStyle","scrollbarColor","scrollbarWidth","webkitScrollbarStyle","parseInt","widthStyle","heightStyle","e","console","error","scrollWidth","isNaN","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","measureScrollbarSize","isOverflow","window","innerHeight","documentElement","innerWidth","inline","getPortalContainer","Portal","open","autoLock","_props$autoDestroy","debug","autoDestroy","_React$useState2","shouldRender","setShouldRender","mergedRender","_React$useState3","_React$useState4","innerContainer","setInnerContainer","customizeContainer","_useDom","appendedRef","queueCreate","queue","setQueue","mergedQueueCreate","appendFn","origin","append","parentElement","cleanup","_ele$parentElement","useDom","_useDom2","defaultContainer","mergedContainer","childRef","mergedRef","renderInline","reffedChildren","Provider","createPortal","toArray","ret","child","keepEmpty","isArray","push","isDOM","HTMLElement","SVGElement","findDOMNode","_ReactDOM$findDOMNode","domNode","nativeElement","getDOM","call","CollectionContext","MapShim","getIndex","arr","result","some","entry","index","class_1","this","__entries__","Object","defineProperty","enumerable","configurable","delete","entries","splice","has","clear","callback","ctx","_i","_a","isBrowser","global$1","g","self","Function","requestAnimationFrame$1","requestAnimationFrame","bind","setTimeout","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","keys","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","positions","reduce","size","isSVGGraphicsElement","SVGGraphicsElement","getBBox","getContentRect","bbox","getSVGContentRect","paddings","positions_1","getPaddings","horizPad","right","vertPad","bottom","boxSizing","round","isDocumentElement","vertScrollbar","horizScrollbar","abs","getHTMLElementContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","create","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","_this","observation","map","WeakMap","ResizeObserver","method","elementListeners","resizeObserver","entities","entity","_elementListeners$get","listener","DomWrapper","_React$Component","_super","SingleObserver","disabled","elementRef","wrapperRef","onCollectionResize","isRenderProps","mergedChildren","sizeRef","canRef","originRef","getDom","_elementRef$current","propsRef","onInternalResize","_propsRef$current","onResize","data","_target$getBoundingCl","getBoundingClientRect","fixedWidth","floor","fixedHeight","mergedOffsetWidth","mergedOffsetHeight","sizeInfo","Promise","resolve","then","element","currentElement","Set","add","RefResizeObserver","Collection","_ref","onBatchResize","resizeIdRef","resizeInfosRef","currentId","getRoot","_ele$getRootNode","getRootNode","getShadowRoot","ShadowRoot","inShadow","useOriginId","useId","reactId","innerId","setInnerId","nextId","Reflect","ownKeys","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","STEP_PREPARED","makePrefixMap","styleProp","eventName","prefixes","toLowerCase","domSupport","win","vendorPrefixes","animationend","transitionend","animation","transition","_document$createEleme","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","len","hasOwnProperty","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionName","transitionType","replace","match","toUpperCase","useEffect","raf","caf","num","clearTimeout","handle","cancelAnimationFrame","rafUUID","rafIds","wrapperRaf","callRef","leftTimes","realId","cancel","FULL_STEP_QUEUE","SIMPLE_STEP_QUEUE","SkipStep","step","useStatus","supportMotion","visible","getElement","defaultValue","_React$useReducer","forceUpdate","currentValueRef","_ref$motionEnter","motionEnter","_ref$motionAppear","motionAppear","_ref$motionLeave","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","_useState","useState","_useState2","asyncVisible","setAsyncVisible","_useSyncState","useEvent","updater","_useSyncState2","getStatus","setStatus","_useState3","_useState4","setStyle","currentStatus","mountedRef","useRef","deadlineRef","getDomElement","activeRef","updateMotionEndStatus","onInternalMotionEnd","event","status","deadline","canEnd","currentActive","_useDomMotionEvents","cacheElementRef","removeMotionEvents","useDomMotionEvents","patchMotionEvents","getEventHandlers","targetStatus","eventHandlers","_useStepQueue","prepareOnly","setStep","_useNextFrame","nextFrameRef","cancelNextFrame","nextFrame","delay","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","STEP_QUEUE","nextStep","info","doNext","useStepQueue","newStep","onPrepare","_eventHandlers$step","_useStepQueue2","startStep","active","visibleRef","nextStatus","isMounted","nextEventHandlers","firstMountChangeRef","mergedStyle","config","transitionSupport","CSSMotion","_props$visible","_props$removeOnLeave","removeOnLeave","forceRender","motionName","leavedClassName","eventProps","contextMotion","isSupportTransition","motion","nodeRef","wrapperNodeRef","_useStatus","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","motionChildren","setNodeRef","mergedProps","display","statusSuffix","motionCls","displayName","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","String","parseKeys","_excluded2","MOTION_PROP_NAMES","CSSMotionList","args","keyEntities","removeKey","setState","prevState","state","onAllRemoved","_this2","_this$props","component","_onVisibleChanged","restProps","Component","motionProps","prop","_ref2","changedVisible","_ref3","_ref4","parsedKeyObjects","mixedKeyEntities","prevKeys","currentKeys","list","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","slice","obj","matchKey","diffKeys","prevEntity","_ref5","Arrow","align","arrow","arrowPos","content","_arrowPos$x","_arrowPos$y","arrowRef","points","alignStyle","autoArrow","popupPoints","targetPoints","popupTB","popupLR","targetTB","targetLR","Mask","zIndex","mask","_","cache","popup","keepDom","fresh","onClick","maskMotion","getPopupContainer","portal","onMouseEnter","onMouseLeave","onPointerEnter","onPointerDownCapture","ready","offsetX","offsetY","offsetR","offsetB","onAlign","stretch","targetWidth","targetHeight","childNode","isNodeVisible","getPopupContainerNeedParams","show","setShow","AUTO","offsetStyle","_experimental","dynamicInset","alignRight","alignBottom","miscStyle","minHeight","minWidth","pointerEvents","resizeObserverRef","nextVisible","_motion$onVisibleChan","motionRef","motionClassName","motionStyle","cls","getTriggerDOMNode","canUseRef","setRef","val","isPointsEq","a1","a2","getMotion","getWin","collectScroller","scrollerList","scrollStyle","_getWin$getComputedSt","overflowX","overflowY","o","toNum","getPxValue","getVisibleArea","initArea","visibleArea","HTMLBodyElement","HTMLHtmlElement","_getWin$getComputedSt2","overflowClipMargin","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","eleRect","eleOutHeight","eleInnerHeight","eleOutWidth","eleInnerWidth","borderTopNum","borderBottomNum","borderLeftNum","borderRightNum","scaleX","scaleY","eleScrollWidth","eleScrollHeight","scaledBorderTopWidth","scaledBorderBottomWidth","scaledBorderLeftWidth","scaledBorderRightWidth","clipMarginWidth","clipMarginHeight","clipNum","eleLeft","eleTop","eleRight","eleBottom","max","min","getUnitOffset","offsetStr","cells","getNumberOffset","offset","splitPoints","getAlignPoint","topBottom","leftRight","reversePoints","reverseMap","t","b","l","r","point","join","PortalComponent","Trigger","_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","mergedAutoDestroy","mobile","setMobile","navigator","agent","userAgent","vendor","opera","test","substr","isMobile","subPopupElements","parentContext","context","registerSubPopup","subPopupEle","popupEle","setPopupEle","externalPopupRef","setPopupRef","_React$useState5","_React$useState6","targetEle","setTargetEle","externalForwardRef","setTargetRef","only","originChildProps","cloneProps","inPopupOrChild","_getShadowRoot","_getShadowRoot2","childDOM","host","values","mergePopupMotion","mergeMaskMotion","_React$useState7","_React$useState8","internalOpen","setInternalOpen","mergedOpen","setMergedOpen","nextOpen","openRef","lastTriggerRef","internalTriggerOpen","_lastTriggerRef$curre","delayRef","clearDelay","triggerOpen","_React$useState9","_React$useState10","inMotion","setInMotion","firstMount","_React$useState11","_React$useState12","motionPrepareResolve","setMotionPrepareResolve","_React$useState13","_React$useState14","mousePos","setMousePos","setMousePosByEvent","clientX","clientY","_useAlign","placement","arrowX","arrowY","offsetInfo","setOffsetInfo","alignCountRef","prevFlipRef","_popupElement$parentE","_popupRect$x","_popupRect$y","_popupElement$parentE2","targetRect","popupElement","doc","_win$getComputedStyle","popupPosition","originLeft","originTop","originRight","originBottom","originOverflow","placementInfo","placeholderElement","offsetLeft","offsetTop","_rect$x","_rect$y","popupRect","_doc$documentElement","scrollTop","scrollLeft","popupHeight","popupWidth","visibleRegion","scrollRegion","htmlRegion","VISIBLE","VISIBLE_FIRST","isVisibleFirst","scrollRegionArea","visibleRegionArea","adjustCheckVisibleArea","popupMirrorRect","_scaleX","_scaleY","offsetParent","_getBBox","_element$getBoundingC","_width","_height","isVisible","targetOffset","_getNumberOffset","_getNumberOffset2","popupOffsetX","popupOffsetY","_getNumberOffset3","_getNumberOffset4","targetOffsetX","targetOffsetY","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","useAlign","_useAlign2","alignInfo","_useAction","mergedShowAction","mergedHideAction","showActionSet","hideActionSet","useAction","_useAction2","showActions","hideActions","clickToShow","clickToHide","triggerAlign","targetScrollList","popupScrollList","mergedList","notifyScroll","scroller","passive","useWatch","JSON","stringify","alignedClassName","baseClassName","isAlignPoint","placements","_builtinPlacements$pl","getAlignPopupClassName","forceAlign","_React$useState15","_React$useState16","setTargetWidth","_React$useState17","_React$useState18","setTargetHeight","syncTargetSize","wrapperAction","preEvent","_originChildProps$eve","_originChildProps$onC","onPopupMouseEnter","onPopupMouseLeave","onPopupPointerDown","popupPointerDownRef","onPointerDown","onTriggerClose","_e$composedPath","composedPath","targetShadowRoot","useWinClick","hoverToShow","hoverToHide","onMouseMove","_originChildProps$onM","onContextMenu","_originChildProps$onC2","preventDefault","_len3","_key3","mergedChildrenProps","passedProps","_mergedChildrenProps$","_len4","_key4","triggerNode","innerArrow","autoAdjustOverflowTopBottom","autoAdjustOverflowLeftRight","topLeft","leftTop","topRight","rightTop","bottomRight","rightBottom","bottomLeft","leftBottom","Tooltip","overlayClassName","_props$trigger","trigger","_props$mouseEnterDela","overlayStyle","onVisibleChange","afterVisibleChange","_props$placement","_props$align","_props$destroyTooltip","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlay","arrowContent","_props$showArrow","showArrow","tooltipClassNames","classNames","tooltipStyles","mergedId","triggerRef","useImperativeHandle","originalProps","childProps","extraProps","forwardRef","u","c","d","f","h","k","m","p","q","v","a","exports","isValidElementType","getModuleId","typeOf","module"],"sourceRoot":""}