Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Your IP : 3.144.255.247
{"version":3,"file":"static/js/984.04e314a2.chunk.js","mappings":"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","sources":["../node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js","../node_modules/@ant-design/icons/es/icons/CloseOutlined.js","../node_modules/@rc-component/portal/es/Context.js","../node_modules/@rc-component/portal/es/useDom.js","../node_modules/@rc-component/portal/es/useScrollLocker.js","../node_modules/@rc-component/portal/es/util.js","../node_modules/@rc-component/portal/es/mock.js","../node_modules/@rc-component/portal/es/Portal.js","../node_modules/@rc-component/portal/es/index.js","../node_modules/@rc-component/trigger/es/Popup/Arrow.js","../node_modules/@rc-component/trigger/es/Popup/Mask.js","../node_modules/@rc-component/trigger/es/Popup/PopupContent.js","../node_modules/@rc-component/trigger/es/Popup/index.js","../node_modules/@rc-component/trigger/es/TriggerWrapper.js","../node_modules/@rc-component/trigger/es/context.js","../node_modules/@rc-component/trigger/es/hooks/useAction.js","../node_modules/@rc-component/trigger/es/util.js","../node_modules/@rc-component/trigger/es/hooks/useAlign.js","../node_modules/@rc-component/trigger/es/index.js","../node_modules/@rc-component/trigger/es/hooks/useWatch.js","../node_modules/@rc-component/trigger/es/hooks/useWinClick.js","../node_modules/antd/es/_util/colors.js","../node_modules/antd/es/_util/hooks/useForceUpdate.js","../node_modules/antd/es/_util/hooks/useZIndex.js","../node_modules/antd/es/_util/motion.js","../node_modules/antd/es/_util/placements.js","../node_modules/antd/es/_util/responsiveObserver.js","../node_modules/antd/es/_util/zindexContext.js","../node_modules/antd/es/config-provider/hooks/useCSSVarCls.js","../node_modules/antd/es/config-provider/hooks/useSize.js","../node_modules/rc-field-form/es/FieldContext.js","../node_modules/rc-field-form/es/ListContext.js","../node_modules/rc-field-form/es/utils/typeUtil.js","../node_modules/src/util.ts","../node_modules/src/rule/required.ts","../node_modules/src/rule/url.ts","../node_modules/src/rule/type.ts","../node_modules/src/rule/enum.ts","../node_modules/src/rule/index.ts","../node_modules/src/rule/whitespace.ts","../node_modules/src/rule/range.ts","../node_modules/src/rule/pattern.ts","../node_modules/src/validator/type.ts","../node_modules/src/validator/index.ts","../node_modules/src/validator/string.ts","../node_modules/src/validator/method.ts","../node_modules/src/validator/number.ts","../node_modules/src/validator/boolean.ts","../node_modules/src/validator/regexp.ts","../node_modules/src/validator/integer.ts","../node_modules/src/validator/float.ts","../node_modules/src/validator/array.ts","../node_modules/src/validator/object.ts","../node_modules/src/validator/enum.ts","../node_modules/src/validator/pattern.ts","../node_modules/src/validator/date.ts","../node_modules/src/validator/required.ts","../node_modules/src/validator/any.ts","../node_modules/src/messages.ts","../node_modules/src/index.ts","../node_modules/rc-field-form/es/utils/messages.js","../node_modules/rc-field-form/es/utils/validateUtil.js","../node_modules/rc-field-form/es/utils/valueUtil.js","../node_modules/rc-field-form/es/Field.js","../node_modules/rc-field-form/es/List.js","../node_modules/rc-field-form/es/utils/NameMap.js","../node_modules/rc-field-form/es/useForm.js","../node_modules/rc-field-form/es/utils/asyncUtil.js","../node_modules/rc-field-form/es/FormContext.js","../node_modules/rc-field-form/es/Form.js","../node_modules/rc-field-form/es/useWatch.js","../node_modules/rc-field-form/es/index.js","../node_modules/antd/es/form/context.js","../node_modules/antd/es/grid/hooks/useBreakpoint.js","../node_modules/antd/es/space/Compact.js","../node_modules/antd/es/_util/gapSize.js","../node_modules/antd/es/space/context.js","../node_modules/antd/es/space/Item.js","../node_modules/antd/es/space/index.js","../node_modules/antd/es/space/style/compact.js","../node_modules/antd/es/space/style/index.js","../node_modules/antd/es/style/motion/motion.js","../node_modules/antd/es/style/motion/zoom.js","../node_modules/antd/es/style/placementArrow.js","../node_modules/antd/es/style/roundedArrow.js","../node_modules/antd/es/theme/interface/presetColors.js","../node_modules/antd/es/theme/util/genPresetColor.js","../node_modules/antd/es/tooltip/style/index.js","../node_modules/antd/es/tooltip/util.js","../node_modules/antd/es/tooltip/PurePanel.js","../node_modules/antd/es/tooltip/index.js","../node_modules/rc-resize-observer/es/Collection.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/rc-resize-observer/es/utils/observerUtil.js","../node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","../node_modules/rc-resize-observer/es/SingleObserver/index.js","../node_modules/rc-resize-observer/es/index.js","../node_modules/rc-tooltip/es/Popup.js","../node_modules/rc-tooltip/es/placements.js","../node_modules/rc-tooltip/es/Tooltip.js","../node_modules/rc-tooltip/es/index.js","../node_modules/rc-util/es/Children/toArray.js","../node_modules/rc-util/es/Dom/isVisible.js","../node_modules/rc-util/es/KeyCode.js","../node_modules/rc-util/es/getScrollBarSize.js","../node_modules/rc-util/es/hooks/useId.js","../node_modules/rc-util/es/isMobile.js","../node_modules/rc-util/es/pickAttrs.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js"],"sourcesContent":["// This icon file is generated automatically.\nvar CaretDownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"outlined\" };\nexport default CaretDownOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretDownOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretDownOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretDownOutlined = function CaretDownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretDownOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CaretDownOutlined.displayName = 'CaretDownOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(CaretDownOutlined);","// This icon file is generated automatically.\nvar CloseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"fill-rule\": \"evenodd\", \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z\" } }] }, \"name\": \"close\", \"theme\": \"outlined\" };\nexport default CloseOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CloseOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloseOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CloseOutlined = function CloseOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CloseOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CloseOutlined.displayName = 'CloseOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(CloseOutlined);","import * as React from 'react';\nvar OrderContext = /*#__PURE__*/React.createContext(null);\nexport default OrderContext;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport OrderContext from \"./Context\";\nvar EMPTY_LIST = [];\n\n/**\n * Will add `div` to document. Nest call will keep order\n * @param render Render DOM in document\n */\nexport default function useDom(render, debug) {\n var _React$useState = React.useState(function () {\n if (!canUseDom()) {\n return null;\n }\n var defaultEle = document.createElement('div');\n if (process.env.NODE_ENV !== 'production' && debug) {\n defaultEle.setAttribute('data-debug', debug);\n }\n return defaultEle;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n ele = _React$useState2[0];\n\n // ========================== Order ==========================\n var appendedRef = React.useRef(false);\n var queueCreate = React.useContext(OrderContext);\n var _React$useState3 = React.useState(EMPTY_LIST),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n queue = _React$useState4[0],\n setQueue = _React$useState4[1];\n var mergedQueueCreate = queueCreate || (appendedRef.current ? undefined : function (appendFn) {\n setQueue(function (origin) {\n var newQueue = [appendFn].concat(_toConsumableArray(origin));\n return newQueue;\n });\n });\n\n // =========================== DOM ===========================\n function append() {\n if (!ele.parentElement) {\n document.body.appendChild(ele);\n }\n appendedRef.current = true;\n }\n function cleanup() {\n var _ele$parentElement;\n (_ele$parentElement = ele.parentElement) === null || _ele$parentElement === void 0 ? void 0 : _ele$parentElement.removeChild(ele);\n appendedRef.current = false;\n }\n useLayoutEffect(function () {\n if (render) {\n if (queueCreate) {\n queueCreate(append);\n } else {\n append();\n }\n } else {\n cleanup();\n }\n return cleanup;\n }, [render]);\n useLayoutEffect(function () {\n if (queue.length) {\n queue.forEach(function (appendFn) {\n return appendFn();\n });\n setQueue(EMPTY_LIST);\n }\n }, [queue]);\n return [ele, mergedQueueCreate];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { updateCSS, removeCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport { isBodyOverflowing } from \"./util\";\nvar UNIQUE_ID = \"rc-util-locker-\".concat(Date.now());\nvar uuid = 0;\nexport default function useScrollLocker(lock) {\n var mergedLock = !!lock;\n var _React$useState = React.useState(function () {\n uuid += 1;\n return \"\".concat(UNIQUE_ID, \"_\").concat(uuid);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n id = _React$useState2[0];\n useLayoutEffect(function () {\n if (mergedLock) {\n var scrollbarSize = getTargetScrollBarSize(document.body).width;\n var isOverflow = isBodyOverflowing();\n updateCSS(\"\\nhtml body {\\n overflow-y: hidden;\\n \".concat(isOverflow ? \"width: calc(100% - \".concat(scrollbarSize, \"px);\") : '', \"\\n}\"), id);\n } else {\n removeCSS(id);\n }\n return function () {\n removeCSS(id);\n };\n }, [mergedLock, id]);\n}","/**\n * Test usage export. Do not use in your production\n */\nexport function isBodyOverflowing() {\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;\n}","export var inline = false;\nexport function inlineMock(nextInline) {\n if (typeof nextInline === 'boolean') {\n inline = nextInline;\n }\n return inline;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport warning from \"rc-util/es/warning\";\nimport { supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport OrderContext from \"./Context\";\nimport useDom from \"./useDom\";\nimport useScrollLocker from \"./useScrollLocker\";\nimport { inlineMock } from \"./mock\";\nvar getPortalContainer = function getPortalContainer(getContainer) {\n if (getContainer === false) {\n return false;\n }\n if (!canUseDom() || !getContainer) {\n return null;\n }\n if (typeof getContainer === 'string') {\n return document.querySelector(getContainer);\n }\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n return getContainer;\n};\nvar Portal = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var open = props.open,\n autoLock = props.autoLock,\n getContainer = props.getContainer,\n debug = props.debug,\n _props$autoDestroy = props.autoDestroy,\n autoDestroy = _props$autoDestroy === void 0 ? true : _props$autoDestroy,\n children = props.children;\n var _React$useState = React.useState(open),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n shouldRender = _React$useState2[0],\n setShouldRender = _React$useState2[1];\n var mergedRender = shouldRender || open;\n\n // ========================= Warning =========================\n if (process.env.NODE_ENV !== 'production') {\n warning(canUseDom() || !open, \"Portal only work in client side. Please call 'useEffect' to show Portal instead default render in SSR.\");\n }\n\n // ====================== Should Render ======================\n React.useEffect(function () {\n if (autoDestroy || open) {\n setShouldRender(open);\n }\n }, [open, autoDestroy]);\n\n // ======================== Container ========================\n var _React$useState3 = React.useState(function () {\n return getPortalContainer(getContainer);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n innerContainer = _React$useState4[0],\n setInnerContainer = _React$useState4[1];\n React.useEffect(function () {\n var customizeContainer = getPortalContainer(getContainer);\n\n // Tell component that we check this in effect which is safe to be `null`\n setInnerContainer(customizeContainer !== null && customizeContainer !== void 0 ? customizeContainer : null);\n });\n var _useDom = useDom(mergedRender && !innerContainer, debug),\n _useDom2 = _slicedToArray(_useDom, 2),\n defaultContainer = _useDom2[0],\n queueCreate = _useDom2[1];\n var mergedContainer = innerContainer !== null && innerContainer !== void 0 ? innerContainer : defaultContainer;\n\n // ========================= Locker ==========================\n useScrollLocker(autoLock && open && canUseDom() && (mergedContainer === defaultContainer || mergedContainer === document.body));\n\n // =========================== Ref ===========================\n var childRef = null;\n if (children && supportRef(children) && ref) {\n var _ref = children;\n childRef = _ref.ref;\n }\n var mergedRef = useComposeRef(childRef, ref);\n\n // ========================= Render ==========================\n // Do not render when nothing need render\n // When innerContainer is `undefined`, it may not ready since user use ref in the same render\n if (!mergedRender || !canUseDom() || innerContainer === undefined) {\n return null;\n }\n\n // Render inline\n var renderInline = mergedContainer === false || inlineMock();\n var reffedChildren = children;\n if (ref) {\n reffedChildren = /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n });\n }\n return /*#__PURE__*/React.createElement(OrderContext.Provider, {\n value: queueCreate\n }, renderInline ? reffedChildren : /*#__PURE__*/createPortal(reffedChildren, mergedContainer));\n});\nif (process.env.NODE_ENV !== 'production') {\n Portal.displayName = 'Portal';\n}\nexport default Portal;","import Portal from \"./Portal\";\nimport { inlineMock } from \"./mock\";\nexport { inlineMock };\nexport default Portal;","import classNames from 'classnames';\nimport * as React from 'react';\nexport default function Arrow(props) {\n var prefixCls = props.prefixCls,\n align = props.align,\n arrow = props.arrow,\n arrowPos = props.arrowPos;\n var _ref = arrow || {},\n className = _ref.className,\n content = _ref.content;\n var _arrowPos$x = arrowPos.x,\n x = _arrowPos$x === void 0 ? 0 : _arrowPos$x,\n _arrowPos$y = arrowPos.y,\n y = _arrowPos$y === void 0 ? 0 : _arrowPos$y;\n var arrowRef = React.useRef();\n\n // Skip if no align\n if (!align || !align.points) {\n return null;\n }\n var alignStyle = {\n position: 'absolute'\n };\n\n // Skip if no need to align\n if (align.autoArrow !== false) {\n var popupPoints = align.points[0];\n var targetPoints = align.points[1];\n var popupTB = popupPoints[0];\n var popupLR = popupPoints[1];\n var targetTB = targetPoints[0];\n var targetLR = targetPoints[1];\n\n // Top & Bottom\n if (popupTB === targetTB || !['t', 'b'].includes(popupTB)) {\n alignStyle.top = y;\n } else if (popupTB === 't') {\n alignStyle.top = 0;\n } else {\n alignStyle.bottom = 0;\n }\n\n // Left & Right\n if (popupLR === targetLR || !['l', 'r'].includes(popupLR)) {\n alignStyle.left = x;\n } else if (popupLR === 'l') {\n alignStyle.left = 0;\n } else {\n alignStyle.right = 0;\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: arrowRef,\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), className),\n style: alignStyle\n }, content);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport * as React from 'react';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n open = props.open,\n zIndex = props.zIndex,\n mask = props.mask,\n motion = props.motion;\n if (!mask) {\n return null;\n }\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n motionAppear: true,\n visible: open,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","import * as React from 'react';\nvar PopupContent = /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (_, next) {\n return next.cache;\n});\nif (process.env.NODE_ENV !== 'production') {\n PopupContent.displayName = 'PopupContent';\n}\nexport default PopupContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport ResizeObserver from 'rc-resize-observer';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport Arrow from \"./Arrow\";\nimport Mask from \"./Mask\";\nimport PopupContent from \"./PopupContent\";\nvar Popup = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var popup = props.popup,\n className = props.className,\n prefixCls = props.prefixCls,\n style = props.style,\n target = props.target,\n _onVisibleChanged = props.onVisibleChanged,\n open = props.open,\n keepDom = props.keepDom,\n fresh = props.fresh,\n onClick = props.onClick,\n mask = props.mask,\n arrow = props.arrow,\n arrowPos = props.arrowPos,\n align = props.align,\n motion = props.motion,\n maskMotion = props.maskMotion,\n forceRender = props.forceRender,\n getPopupContainer = props.getPopupContainer,\n autoDestroy = props.autoDestroy,\n Portal = props.portal,\n zIndex = props.zIndex,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onPointerEnter = props.onPointerEnter,\n ready = props.ready,\n offsetX = props.offsetX,\n offsetY = props.offsetY,\n offsetR = props.offsetR,\n offsetB = props.offsetB,\n onAlign = props.onAlign,\n onPrepare = props.onPrepare,\n stretch = props.stretch,\n targetWidth = props.targetWidth,\n targetHeight = props.targetHeight;\n var childNode = typeof popup === 'function' ? popup() : popup;\n\n // We can not remove holder only when motion finished.\n var isNodeVisible = open || keepDom;\n\n // ======================= Container ========================\n var getPopupContainerNeedParams = (getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer.length) > 0;\n var _React$useState = React.useState(!getPopupContainer || !getPopupContainerNeedParams),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n show = _React$useState2[0],\n setShow = _React$useState2[1];\n\n // Delay to show since `getPopupContainer` need target element\n useLayoutEffect(function () {\n if (!show && getPopupContainerNeedParams && target) {\n setShow(true);\n }\n }, [show, getPopupContainerNeedParams, target]);\n\n // ========================= Render =========================\n if (!show) {\n return null;\n }\n\n // >>>>> Offset\n var AUTO = 'auto';\n var offsetStyle = {\n left: '-1000vw',\n top: '-1000vh',\n right: AUTO,\n bottom: AUTO\n };\n\n // Set align style\n if (ready || !open) {\n var _experimental;\n var points = align.points;\n var dynamicInset = align.dynamicInset || ((_experimental = align._experimental) === null || _experimental === void 0 ? void 0 : _experimental.dynamicInset);\n var alignRight = dynamicInset && points[0][1] === 'r';\n var alignBottom = dynamicInset && points[0][0] === 'b';\n if (alignRight) {\n offsetStyle.right = offsetR;\n offsetStyle.left = AUTO;\n } else {\n offsetStyle.left = offsetX;\n offsetStyle.right = AUTO;\n }\n if (alignBottom) {\n offsetStyle.bottom = offsetB;\n offsetStyle.top = AUTO;\n } else {\n offsetStyle.top = offsetY;\n offsetStyle.bottom = AUTO;\n }\n }\n\n // >>>>> Misc\n var miscStyle = {};\n if (stretch) {\n if (stretch.includes('height') && targetHeight) {\n miscStyle.height = targetHeight;\n } else if (stretch.includes('minHeight') && targetHeight) {\n miscStyle.minHeight = targetHeight;\n }\n if (stretch.includes('width') && targetWidth) {\n miscStyle.width = targetWidth;\n } else if (stretch.includes('minWidth') && targetWidth) {\n miscStyle.minWidth = targetWidth;\n }\n }\n if (!open) {\n miscStyle.pointerEvents = 'none';\n }\n return /*#__PURE__*/React.createElement(Portal, {\n open: forceRender || isNodeVisible,\n getContainer: getPopupContainer && function () {\n return getPopupContainer(target);\n },\n autoDestroy: autoDestroy\n }, /*#__PURE__*/React.createElement(Mask, {\n prefixCls: prefixCls,\n open: open,\n zIndex: zIndex,\n mask: mask,\n motion: maskMotion\n }), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onAlign,\n disabled: !open\n }, function (resizeObserverRef) {\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n motionAppear: true,\n motionEnter: true,\n motionLeave: true,\n removeOnLeave: false,\n forceRender: forceRender,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onPrepare,\n onEnterPrepare: onPrepare,\n visible: open,\n onVisibleChanged: function onVisibleChanged(nextVisible) {\n var _motion$onVisibleChan;\n motion === null || motion === void 0 || (_motion$onVisibleChan = motion.onVisibleChanged) === null || _motion$onVisibleChan === void 0 || _motion$onVisibleChan.call(motion, nextVisible);\n _onVisibleChanged(nextVisible);\n }\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var cls = classNames(prefixCls, motionClassName, className);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: composeRef(resizeObserverRef, ref, motionRef),\n className: cls,\n style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n '--arrow-x': \"\".concat(arrowPos.x || 0, \"px\"),\n '--arrow-y': \"\".concat(arrowPos.y || 0, \"px\")\n }, offsetStyle), miscStyle), motionStyle), {}, {\n boxSizing: 'border-box',\n zIndex: zIndex\n }, style),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onPointerEnter: onPointerEnter,\n onClick: onClick\n }, arrow && /*#__PURE__*/React.createElement(Arrow, {\n prefixCls: prefixCls,\n arrow: arrow,\n arrowPos: arrowPos,\n align: align\n }), /*#__PURE__*/React.createElement(PopupContent, {\n cache: !open && !fresh\n }, childNode));\n });\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Popup.displayName = 'Popup';\n}\nexport default Popup;","import { fillRef, supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nvar TriggerWrapper = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var children = props.children,\n getTriggerDOMNode = props.getTriggerDOMNode;\n var canUseRef = supportRef(children);\n\n // When use `getTriggerDOMNode`, we should do additional work to get the real dom\n var setRef = React.useCallback(function (node) {\n fillRef(ref, getTriggerDOMNode ? getTriggerDOMNode(node) : node);\n }, [getTriggerDOMNode]);\n var mergedRef = useComposeRef(setRef, children.ref);\n return canUseRef ? /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n }) : children;\n});\nif (process.env.NODE_ENV !== 'production') {\n TriggerWrapper.displayName = 'TriggerWrapper';\n}\nexport default TriggerWrapper;","import * as React from 'react';\nvar TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;","import * as React from 'react';\nfunction toArray(val) {\n return val ? Array.isArray(val) ? val : [val] : [];\n}\nexport default function useAction(mobile, action, showAction, hideAction) {\n return React.useMemo(function () {\n var mergedShowAction = toArray(showAction !== null && showAction !== void 0 ? showAction : action);\n var mergedHideAction = toArray(hideAction !== null && hideAction !== void 0 ? hideAction : action);\n var showActionSet = new Set(mergedShowAction);\n var hideActionSet = new Set(mergedHideAction);\n if (mobile) {\n if (showActionSet.has('hover')) {\n showActionSet.delete('hover');\n showActionSet.add('click');\n }\n if (hideActionSet.has('hover')) {\n hideActionSet.delete('hover');\n hideActionSet.add('click');\n }\n }\n return [showActionSet, hideActionSet];\n }, [mobile, action, showAction, hideAction]);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nfunction isPointsEq() {\n var a1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var a2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var isAlignPoint = arguments.length > 2 ? arguments[2] : undefined;\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n for (var i = 0; i < placements.length; i += 1) {\n var _builtinPlacements$pl;\n var placement = placements[i];\n if (isPointsEq((_builtinPlacements$pl = builtinPlacements[placement]) === null || _builtinPlacements$pl === void 0 ? void 0 : _builtinPlacements$pl.points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n return '';\n}\n\n/** @deprecated We should not use this if we can refactor all deps */\nexport function getMotion(prefixCls, motion, animation, transitionName) {\n if (motion) {\n return motion;\n }\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n return null;\n}\nexport function getWin(ele) {\n return ele.ownerDocument.defaultView;\n}\n\n/**\n * Get all the scrollable parent elements of the element\n * @param ele The element to be detected\n * @param areaOnly Only return the parent which will cut visible area\n */\nexport function collectScroller(ele) {\n var scrollerList = [];\n var current = ele === null || ele === void 0 ? void 0 : ele.parentElement;\n var scrollStyle = ['hidden', 'scroll', 'clip', 'auto'];\n while (current) {\n var _getWin$getComputedSt = getWin(current).getComputedStyle(current),\n overflowX = _getWin$getComputedSt.overflowX,\n overflowY = _getWin$getComputedSt.overflowY,\n overflow = _getWin$getComputedSt.overflow;\n if ([overflowX, overflowY, overflow].some(function (o) {\n return scrollStyle.includes(o);\n })) {\n scrollerList.push(current);\n }\n current = current.parentElement;\n }\n return scrollerList;\n}\nexport function toNum(num) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return Number.isNaN(num) ? defaultValue : num;\n}\nfunction getPxValue(val) {\n return toNum(parseFloat(val), 0);\n}\n/**\n *\n *\n * **************************************\n * * Border *\n * * ************************** *\n * * * * * *\n * * B * * S * B *\n * * o * * c * o *\n * * r * Content * r * r *\n * * d * * o * d *\n * * e * * l * e *\n * * r ******************** l * r *\n * * * Scroll * *\n * * ************************** *\n * * Border *\n * **************************************\n *\n */\n/**\n * Get visible area of element\n */\nexport function getVisibleArea(initArea, scrollerList) {\n var visibleArea = _objectSpread({}, initArea);\n (scrollerList || []).forEach(function (ele) {\n if (ele instanceof HTMLBodyElement || ele instanceof HTMLHtmlElement) {\n return;\n }\n\n // Skip if static position which will not affect visible area\n var _getWin$getComputedSt2 = getWin(ele).getComputedStyle(ele),\n overflow = _getWin$getComputedSt2.overflow,\n overflowClipMargin = _getWin$getComputedSt2.overflowClipMargin,\n borderTopWidth = _getWin$getComputedSt2.borderTopWidth,\n borderBottomWidth = _getWin$getComputedSt2.borderBottomWidth,\n borderLeftWidth = _getWin$getComputedSt2.borderLeftWidth,\n borderRightWidth = _getWin$getComputedSt2.borderRightWidth;\n var eleRect = ele.getBoundingClientRect();\n var eleOutHeight = ele.offsetHeight,\n eleInnerHeight = ele.clientHeight,\n eleOutWidth = ele.offsetWidth,\n eleInnerWidth = ele.clientWidth;\n var borderTopNum = getPxValue(borderTopWidth);\n var borderBottomNum = getPxValue(borderBottomWidth);\n var borderLeftNum = getPxValue(borderLeftWidth);\n var borderRightNum = getPxValue(borderRightWidth);\n var scaleX = toNum(Math.round(eleRect.width / eleOutWidth * 1000) / 1000);\n var scaleY = toNum(Math.round(eleRect.height / eleOutHeight * 1000) / 1000);\n\n // Original visible area\n var eleScrollWidth = (eleOutWidth - eleInnerWidth - borderLeftNum - borderRightNum) * scaleX;\n var eleScrollHeight = (eleOutHeight - eleInnerHeight - borderTopNum - borderBottomNum) * scaleY;\n\n // Cut border size\n var scaledBorderTopWidth = borderTopNum * scaleY;\n var scaledBorderBottomWidth = borderBottomNum * scaleY;\n var scaledBorderLeftWidth = borderLeftNum * scaleX;\n var scaledBorderRightWidth = borderRightNum * scaleX;\n\n // Clip margin\n var clipMarginWidth = 0;\n var clipMarginHeight = 0;\n if (overflow === 'clip') {\n var clipNum = getPxValue(overflowClipMargin);\n clipMarginWidth = clipNum * scaleX;\n clipMarginHeight = clipNum * scaleY;\n }\n\n // Region\n var eleLeft = eleRect.x + scaledBorderLeftWidth - clipMarginWidth;\n var eleTop = eleRect.y + scaledBorderTopWidth - clipMarginHeight;\n var eleRight = eleLeft + eleRect.width + 2 * clipMarginWidth - scaledBorderLeftWidth - scaledBorderRightWidth - eleScrollWidth;\n var eleBottom = eleTop + eleRect.height + 2 * clipMarginHeight - scaledBorderTopWidth - scaledBorderBottomWidth - eleScrollHeight;\n visibleArea.left = Math.max(visibleArea.left, eleLeft);\n visibleArea.top = Math.max(visibleArea.top, eleTop);\n visibleArea.right = Math.min(visibleArea.right, eleRight);\n visibleArea.bottom = Math.min(visibleArea.bottom, eleBottom);\n });\n return visibleArea;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { isDOM } from \"rc-util/es/Dom/findDOMNode\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { collectScroller, getVisibleArea, getWin, toNum } from \"../util\";\nfunction getUnitOffset(size) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var offsetStr = \"\".concat(offset);\n var cells = offsetStr.match(/^(.*)\\%$/);\n if (cells) {\n return size * (parseFloat(cells[1]) / 100);\n }\n return parseFloat(offsetStr);\n}\nfunction getNumberOffset(rect, offset) {\n var _ref = offset || [],\n _ref2 = _slicedToArray(_ref, 2),\n offsetX = _ref2[0],\n offsetY = _ref2[1];\n return [getUnitOffset(rect.width, offsetX), getUnitOffset(rect.height, offsetY)];\n}\nfunction splitPoints() {\n var points = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return [points[0], points[1]];\n}\nfunction getAlignPoint(rect, points) {\n var topBottom = points[0];\n var leftRight = points[1];\n var x;\n var y;\n\n // Top & Bottom\n if (topBottom === 't') {\n y = rect.y;\n } else if (topBottom === 'b') {\n y = rect.y + rect.height;\n } else {\n y = rect.y + rect.height / 2;\n }\n\n // Left & Right\n if (leftRight === 'l') {\n x = rect.x;\n } else if (leftRight === 'r') {\n x = rect.x + rect.width;\n } else {\n x = rect.x + rect.width / 2;\n }\n return {\n x: x,\n y: y\n };\n}\nfunction reversePoints(points, index) {\n var reverseMap = {\n t: 'b',\n b: 't',\n l: 'r',\n r: 'l'\n };\n return points.map(function (point, i) {\n if (i === index) {\n return reverseMap[point] || 'c';\n }\n return point;\n }).join('');\n}\nexport default function useAlign(open, popupEle, target, placement, builtinPlacements, popupAlign, onPopupAlign) {\n var _React$useState = React.useState({\n ready: false,\n offsetX: 0,\n offsetY: 0,\n offsetR: 0,\n offsetB: 0,\n arrowX: 0,\n arrowY: 0,\n scaleX: 1,\n scaleY: 1,\n align: builtinPlacements[placement] || {}\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n offsetInfo = _React$useState2[0],\n setOffsetInfo = _React$useState2[1];\n var alignCountRef = React.useRef(0);\n var scrollerList = React.useMemo(function () {\n if (!popupEle) {\n return [];\n }\n return collectScroller(popupEle);\n }, [popupEle]);\n\n // ========================= Flip ==========================\n // We will memo flip info.\n // If size change to make flip, it will memo the flip info and use it in next align.\n var prevFlipRef = React.useRef({});\n var resetFlipCache = function resetFlipCache() {\n prevFlipRef.current = {};\n };\n if (!open) {\n resetFlipCache();\n }\n\n // ========================= Align =========================\n var onAlign = useEvent(function () {\n if (popupEle && target && open) {\n var _popupElement$parentE, _popupElement$parentE2;\n var popupElement = popupEle;\n var doc = popupElement.ownerDocument;\n var win = getWin(popupElement);\n var _win$getComputedStyle = win.getComputedStyle(popupElement),\n width = _win$getComputedStyle.width,\n height = _win$getComputedStyle.height,\n popupPosition = _win$getComputedStyle.position;\n var originLeft = popupElement.style.left;\n var originTop = popupElement.style.top;\n var originRight = popupElement.style.right;\n var originBottom = popupElement.style.bottom;\n var originOverflow = popupElement.style.overflow;\n\n // Placement\n var placementInfo = _objectSpread(_objectSpread({}, builtinPlacements[placement]), popupAlign);\n\n // placeholder element\n var placeholderElement = doc.createElement('div');\n (_popupElement$parentE = popupElement.parentElement) === null || _popupElement$parentE === void 0 || _popupElement$parentE.appendChild(placeholderElement);\n placeholderElement.style.left = \"\".concat(popupElement.offsetLeft, \"px\");\n placeholderElement.style.top = \"\".concat(popupElement.offsetTop, \"px\");\n placeholderElement.style.position = popupPosition;\n placeholderElement.style.height = \"\".concat(popupElement.offsetHeight, \"px\");\n placeholderElement.style.width = \"\".concat(popupElement.offsetWidth, \"px\");\n\n // Reset first\n popupElement.style.left = '0';\n popupElement.style.top = '0';\n popupElement.style.right = 'auto';\n popupElement.style.bottom = 'auto';\n popupElement.style.overflow = 'hidden';\n\n // Calculate align style, we should consider `transform` case\n var targetRect;\n if (Array.isArray(target)) {\n targetRect = {\n x: target[0],\n y: target[1],\n width: 0,\n height: 0\n };\n } else {\n var rect = target.getBoundingClientRect();\n targetRect = {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n };\n }\n var popupRect = popupElement.getBoundingClientRect();\n var _doc$documentElement = doc.documentElement,\n clientWidth = _doc$documentElement.clientWidth,\n clientHeight = _doc$documentElement.clientHeight,\n scrollWidth = _doc$documentElement.scrollWidth,\n scrollHeight = _doc$documentElement.scrollHeight,\n scrollTop = _doc$documentElement.scrollTop,\n scrollLeft = _doc$documentElement.scrollLeft;\n var popupHeight = popupRect.height;\n var popupWidth = popupRect.width;\n var targetHeight = targetRect.height;\n var targetWidth = targetRect.width;\n\n // Get bounding of visible area\n var visibleRegion = {\n left: 0,\n top: 0,\n right: clientWidth,\n bottom: clientHeight\n };\n var scrollRegion = {\n left: -scrollLeft,\n top: -scrollTop,\n right: scrollWidth - scrollLeft,\n bottom: scrollHeight - scrollTop\n };\n var htmlRegion = placementInfo.htmlRegion;\n var VISIBLE = 'visible';\n var VISIBLE_FIRST = 'visibleFirst';\n if (htmlRegion !== 'scroll' && htmlRegion !== VISIBLE_FIRST) {\n htmlRegion = VISIBLE;\n }\n var isVisibleFirst = htmlRegion === VISIBLE_FIRST;\n var scrollRegionArea = getVisibleArea(scrollRegion, scrollerList);\n var visibleRegionArea = getVisibleArea(visibleRegion, scrollerList);\n var visibleArea = htmlRegion === VISIBLE ? visibleRegionArea : scrollRegionArea;\n\n // When set to `visibleFirst`,\n // the check `adjust` logic will use `visibleRegion` for check first.\n var adjustCheckVisibleArea = isVisibleFirst ? visibleRegionArea : visibleArea;\n\n // Record right & bottom align data\n popupElement.style.left = 'auto';\n popupElement.style.top = 'auto';\n popupElement.style.right = '0';\n popupElement.style.bottom = '0';\n var popupMirrorRect = popupElement.getBoundingClientRect();\n\n // Reset back\n popupElement.style.left = originLeft;\n popupElement.style.top = originTop;\n popupElement.style.right = originRight;\n popupElement.style.bottom = originBottom;\n popupElement.style.overflow = originOverflow;\n (_popupElement$parentE2 = popupElement.parentElement) === null || _popupElement$parentE2 === void 0 || _popupElement$parentE2.removeChild(placeholderElement);\n\n // Calculate scale\n var _scaleX = toNum(Math.round(popupWidth / parseFloat(width) * 1000) / 1000);\n var _scaleY = toNum(Math.round(popupHeight / parseFloat(height) * 1000) / 1000);\n\n // No need to align since it's not visible in view\n if (_scaleX === 0 || _scaleY === 0 || isDOM(target) && !isVisible(target)) {\n return;\n }\n\n // Offset\n var offset = placementInfo.offset,\n targetOffset = placementInfo.targetOffset;\n var _getNumberOffset = getNumberOffset(popupRect, offset),\n _getNumberOffset2 = _slicedToArray(_getNumberOffset, 2),\n popupOffsetX = _getNumberOffset2[0],\n popupOffsetY = _getNumberOffset2[1];\n var _getNumberOffset3 = getNumberOffset(targetRect, targetOffset),\n _getNumberOffset4 = _slicedToArray(_getNumberOffset3, 2),\n targetOffsetX = _getNumberOffset4[0],\n targetOffsetY = _getNumberOffset4[1];\n targetRect.x -= targetOffsetX;\n targetRect.y -= targetOffsetY;\n\n // Points\n var _ref3 = placementInfo.points || [],\n _ref4 = _slicedToArray(_ref3, 2),\n popupPoint = _ref4[0],\n targetPoint = _ref4[1];\n var targetPoints = splitPoints(targetPoint);\n var popupPoints = splitPoints(popupPoint);\n var targetAlignPoint = getAlignPoint(targetRect, targetPoints);\n var popupAlignPoint = getAlignPoint(popupRect, popupPoints);\n\n // Real align info may not same as origin one\n var nextAlignInfo = _objectSpread({}, placementInfo);\n\n // Next Offset\n var nextOffsetX = targetAlignPoint.x - popupAlignPoint.x + popupOffsetX;\n var nextOffsetY = targetAlignPoint.y - popupAlignPoint.y + popupOffsetY;\n\n // ============== Intersection ===============\n // Get area by position. Used for check if flip area is better\n function getIntersectionVisibleArea(offsetX, offsetY) {\n var area = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : visibleArea;\n var l = popupRect.x + offsetX;\n var t = popupRect.y + offsetY;\n var r = l + popupWidth;\n var b = t + popupHeight;\n var visibleL = Math.max(l, area.left);\n var visibleT = Math.max(t, area.top);\n var visibleR = Math.min(r, area.right);\n var visibleB = Math.min(b, area.bottom);\n return Math.max(0, (visibleR - visibleL) * (visibleB - visibleT));\n }\n var originIntersectionVisibleArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY);\n\n // As `visibleFirst`, we prepare this for check\n var originIntersectionRecommendArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY, visibleRegionArea);\n\n // ========================== Overflow ===========================\n var targetAlignPointTL = getAlignPoint(targetRect, ['t', 'l']);\n var popupAlignPointTL = getAlignPoint(popupRect, ['t', 'l']);\n var targetAlignPointBR = getAlignPoint(targetRect, ['b', 'r']);\n var popupAlignPointBR = getAlignPoint(popupRect, ['b', 'r']);\n var overflow = placementInfo.overflow || {};\n var adjustX = overflow.adjustX,\n adjustY = overflow.adjustY,\n shiftX = overflow.shiftX,\n shiftY = overflow.shiftY;\n var supportAdjust = function supportAdjust(val) {\n if (typeof val === 'boolean') {\n return val;\n }\n return val >= 0;\n };\n\n // Prepare position\n var nextPopupY;\n var nextPopupBottom;\n var nextPopupX;\n var nextPopupRight;\n function syncNextPopupPosition() {\n nextPopupY = popupRect.y + nextOffsetY;\n nextPopupBottom = nextPopupY + popupHeight;\n nextPopupX = popupRect.x + nextOffsetX;\n nextPopupRight = nextPopupX + popupWidth;\n }\n syncNextPopupPosition();\n\n // >>>>>>>>>> Top & Bottom\n var needAdjustY = supportAdjust(adjustY);\n var sameTB = popupPoints[0] === targetPoints[0];\n\n // Bottom to Top\n if (needAdjustY && popupPoints[0] === 't' && (nextPopupBottom > adjustCheckVisibleArea.bottom || prevFlipRef.current.bt)) {\n var tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n tmpNextOffsetY -= popupHeight - targetHeight;\n } else {\n tmpNextOffsetY = targetAlignPointTL.y - popupAlignPointBR.y - popupOffsetY;\n }\n var newVisibleArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY);\n var newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.bt = true;\n nextOffsetY = tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextAlignInfo.points = [reversePoints(popupPoints, 0), reversePoints(targetPoints, 0)];\n } else {\n prevFlipRef.current.bt = false;\n }\n }\n\n // Top to Bottom\n if (needAdjustY && popupPoints[0] === 'b' && (nextPopupY < adjustCheckVisibleArea.top || prevFlipRef.current.tb)) {\n var _tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n _tmpNextOffsetY += popupHeight - targetHeight;\n } else {\n _tmpNextOffsetY = targetAlignPointBR.y - popupAlignPointTL.y - popupOffsetY;\n }\n var _newVisibleArea = getIntersectionVisibleArea(nextOffsetX, _tmpNextOffsetY);\n var _newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, _tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n _newVisibleArea > originIntersectionVisibleArea || _newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n _newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.tb = true;\n nextOffsetY = _tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextAlignInfo.points = [reversePoints(popupPoints, 0), reversePoints(targetPoints, 0)];\n } else {\n prevFlipRef.current.tb = false;\n }\n }\n\n // >>>>>>>>>> Left & Right\n var needAdjustX = supportAdjust(adjustX);\n\n // >>>>> Flip\n var sameLR = popupPoints[1] === targetPoints[1];\n\n // Right to Left\n if (needAdjustX && popupPoints[1] === 'l' && (nextPopupRight > adjustCheckVisibleArea.right || prevFlipRef.current.rl)) {\n var tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n tmpNextOffsetX -= popupWidth - targetWidth;\n } else {\n tmpNextOffsetX = targetAlignPointTL.x - popupAlignPointBR.x - popupOffsetX;\n }\n var _newVisibleArea2 = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY);\n var _newVisibleRecommendArea2 = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n _newVisibleArea2 > originIntersectionVisibleArea || _newVisibleArea2 === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n _newVisibleRecommendArea2 >= originIntersectionRecommendArea)) {\n prevFlipRef.current.rl = true;\n nextOffsetX = tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextAlignInfo.points = [reversePoints(popupPoints, 1), reversePoints(targetPoints, 1)];\n } else {\n prevFlipRef.current.rl = false;\n }\n }\n\n // Left to Right\n if (needAdjustX && popupPoints[1] === 'r' && (nextPopupX < adjustCheckVisibleArea.left || prevFlipRef.current.lr)) {\n var _tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n _tmpNextOffsetX += popupWidth - targetWidth;\n } else {\n _tmpNextOffsetX = targetAlignPointBR.x - popupAlignPointTL.x - popupOffsetX;\n }\n var _newVisibleArea3 = getIntersectionVisibleArea(_tmpNextOffsetX, nextOffsetY);\n var _newVisibleRecommendArea3 = getIntersectionVisibleArea(_tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n _newVisibleArea3 > originIntersectionVisibleArea || _newVisibleArea3 === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n _newVisibleRecommendArea3 >= originIntersectionRecommendArea)) {\n prevFlipRef.current.lr = true;\n nextOffsetX = _tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextAlignInfo.points = [reversePoints(popupPoints, 1), reversePoints(targetPoints, 1)];\n } else {\n prevFlipRef.current.lr = false;\n }\n }\n\n // ============================ Shift ============================\n syncNextPopupPosition();\n var numShiftX = shiftX === true ? 0 : shiftX;\n if (typeof numShiftX === 'number') {\n // Left\n if (nextPopupX < visibleRegionArea.left) {\n nextOffsetX -= nextPopupX - visibleRegionArea.left - popupOffsetX;\n if (targetRect.x + targetWidth < visibleRegionArea.left + numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.left + targetWidth - numShiftX;\n }\n }\n\n // Right\n if (nextPopupRight > visibleRegionArea.right) {\n nextOffsetX -= nextPopupRight - visibleRegionArea.right - popupOffsetX;\n if (targetRect.x > visibleRegionArea.right - numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.right + numShiftX;\n }\n }\n }\n var numShiftY = shiftY === true ? 0 : shiftY;\n if (typeof numShiftY === 'number') {\n // Top\n if (nextPopupY < visibleRegionArea.top) {\n nextOffsetY -= nextPopupY - visibleRegionArea.top - popupOffsetY;\n\n // When target if far away from visible area\n // Stop shift\n if (targetRect.y + targetHeight < visibleRegionArea.top + numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.top + targetHeight - numShiftY;\n }\n }\n\n // Bottom\n if (nextPopupBottom > visibleRegionArea.bottom) {\n nextOffsetY -= nextPopupBottom - visibleRegionArea.bottom - popupOffsetY;\n if (targetRect.y > visibleRegionArea.bottom - numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.bottom + numShiftY;\n }\n }\n }\n\n // ============================ Arrow ============================\n // Arrow center align\n var popupLeft = popupRect.x + nextOffsetX;\n var popupRight = popupLeft + popupWidth;\n var popupTop = popupRect.y + nextOffsetY;\n var popupBottom = popupTop + popupHeight;\n var targetLeft = targetRect.x;\n var targetRight = targetLeft + targetWidth;\n var targetTop = targetRect.y;\n var targetBottom = targetTop + targetHeight;\n var maxLeft = Math.max(popupLeft, targetLeft);\n var minRight = Math.min(popupRight, targetRight);\n var xCenter = (maxLeft + minRight) / 2;\n var nextArrowX = xCenter - popupLeft;\n var maxTop = Math.max(popupTop, targetTop);\n var minBottom = Math.min(popupBottom, targetBottom);\n var yCenter = (maxTop + minBottom) / 2;\n var nextArrowY = yCenter - popupTop;\n onPopupAlign === null || onPopupAlign === void 0 || onPopupAlign(popupEle, nextAlignInfo);\n\n // Additional calculate right & bottom position\n var offsetX4Right = popupMirrorRect.right - popupRect.x - (nextOffsetX + popupRect.width);\n var offsetY4Bottom = popupMirrorRect.bottom - popupRect.y - (nextOffsetY + popupRect.height);\n setOffsetInfo({\n ready: true,\n offsetX: nextOffsetX / _scaleX,\n offsetY: nextOffsetY / _scaleY,\n offsetR: offsetX4Right / _scaleX,\n offsetB: offsetY4Bottom / _scaleY,\n arrowX: nextArrowX / _scaleX,\n arrowY: nextArrowY / _scaleY,\n scaleX: _scaleX,\n scaleY: _scaleY,\n align: nextAlignInfo\n });\n }\n });\n var triggerAlign = function triggerAlign() {\n alignCountRef.current += 1;\n var id = alignCountRef.current;\n\n // Merge all align requirement into one frame\n Promise.resolve().then(function () {\n if (alignCountRef.current === id) {\n onAlign();\n }\n });\n };\n\n // Reset ready status when placement & open changed\n var resetReady = function resetReady() {\n setOffsetInfo(function (ori) {\n return _objectSpread(_objectSpread({}, ori), {}, {\n ready: false\n });\n });\n };\n useLayoutEffect(resetReady, [placement]);\n useLayoutEffect(function () {\n if (!open) {\n resetReady();\n }\n }, [open]);\n return [offsetInfo.ready, offsetInfo.offsetX, offsetInfo.offsetY, offsetInfo.offsetR, offsetInfo.offsetB, offsetInfo.arrowX, offsetInfo.arrowY, offsetInfo.scaleX, offsetInfo.scaleY, offsetInfo.align, triggerAlign];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"children\", \"action\", \"showAction\", \"hideAction\", \"popupVisible\", \"defaultPopupVisible\", \"onPopupVisibleChange\", \"afterPopupVisibleChange\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"focusDelay\", \"blurDelay\", \"mask\", \"maskClosable\", \"getPopupContainer\", \"forceRender\", \"autoDestroy\", \"destroyPopupOnHide\", \"popup\", \"popupClassName\", \"popupStyle\", \"popupPlacement\", \"builtinPlacements\", \"popupAlign\", \"zIndex\", \"stretch\", \"getPopupClassNameFromAlign\", \"fresh\", \"alignPoint\", \"onPopupClick\", \"onPopupAlign\", \"arrow\", \"popupMotion\", \"maskMotion\", \"popupTransitionName\", \"popupAnimation\", \"maskTransitionName\", \"maskAnimation\", \"className\", \"getTriggerDOMNode\"];\nimport Portal from '@rc-component/portal';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport { isDOM } from \"rc-util/es/Dom/findDOMNode\";\nimport { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useId from \"rc-util/es/hooks/useId\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport * as React from 'react';\nimport Popup from \"./Popup\";\nimport TriggerWrapper from \"./TriggerWrapper\";\nimport TriggerContext from \"./context\";\nimport useAction from \"./hooks/useAction\";\nimport useAlign from \"./hooks/useAlign\";\nimport useWatch from \"./hooks/useWatch\";\nimport useWinClick from \"./hooks/useWinClick\";\nimport { getAlignPopupClassName, getMotion } from \"./util\";\n\n// Removed Props List\n// Seems this can be auto\n// getDocument?: (element?: HTMLElement) => Document;\n\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 var setPopupRef = useEvent(function (node) {\n if (isDOM(node) && popupEle !== node) {\n setPopupEle(node);\n }\n parentContext === null || parentContext === void 0 || parentContext.registerSubPopup(id, node);\n });\n\n // =========================== Target ===========================\n // Use state to control here since `useRef` update not trigger render\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n targetEle = _React$useState6[0],\n setTargetEle = _React$useState6[1];\n\n // Used for forwardRef target. Not use internal\n var externalForwardRef = React.useRef(null);\n var setTargetRef = useEvent(function (node) {\n if (isDOM(node) && targetEle !== node) {\n setTargetEle(node);\n externalForwardRef.current = node;\n }\n });\n\n // ========================== Children ==========================\n var child = React.Children.only(children);\n var originChildProps = (child === null || child === void 0 ? void 0 : child.props) || {};\n var cloneProps = {};\n var inPopupOrChild = useEvent(function (ele) {\n var _getShadowRoot, _getShadowRoot2;\n var childDOM = targetEle;\n return (childDOM === null || childDOM === void 0 ? void 0 : childDOM.contains(ele)) || ((_getShadowRoot = getShadowRoot(childDOM)) === null || _getShadowRoot === void 0 ? void 0 : _getShadowRoot.host) === ele || ele === childDOM || (popupEle === null || popupEle === void 0 ? void 0 : popupEle.contains(ele)) || ((_getShadowRoot2 = getShadowRoot(popupEle)) === null || _getShadowRoot2 === void 0 ? void 0 : _getShadowRoot2.host) === ele || ele === popupEle || Object.values(subPopupElements.current).some(function (subPopupEle) {\n return (subPopupEle === null || subPopupEle === void 0 ? void 0 : subPopupEle.contains(ele)) || ele === subPopupEle;\n });\n });\n\n // =========================== Motion ===========================\n var mergePopupMotion = getMotion(prefixCls, popupMotion, popupAnimation, popupTransitionName);\n var mergeMaskMotion = getMotion(prefixCls, maskMotion, maskAnimation, maskTransitionName);\n\n // ============================ Open ============================\n var _React$useState7 = React.useState(defaultPopupVisible || false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n internalOpen = _React$useState8[0],\n setInternalOpen = _React$useState8[1];\n\n // Render still use props as first priority\n var mergedOpen = popupVisible !== null && popupVisible !== void 0 ? popupVisible : internalOpen;\n\n // We use effect sync here in case `popupVisible` back to `undefined`\n var setMergedOpen = useEvent(function (nextOpen) {\n if (popupVisible === undefined) {\n setInternalOpen(nextOpen);\n }\n });\n useLayoutEffect(function () {\n setInternalOpen(popupVisible || false);\n }, [popupVisible]);\n var openRef = React.useRef(mergedOpen);\n openRef.current = mergedOpen;\n var lastTriggerRef = React.useRef([]);\n lastTriggerRef.current = [];\n var internalTriggerOpen = useEvent(function (nextOpen) {\n var _lastTriggerRef$curre;\n setMergedOpen(nextOpen);\n\n // Enter or Pointer will both trigger open state change\n // We only need take one to avoid duplicated change event trigger\n // Use `lastTriggerRef` to record last open type\n if (((_lastTriggerRef$curre = lastTriggerRef.current[lastTriggerRef.current.length - 1]) !== null && _lastTriggerRef$curre !== void 0 ? _lastTriggerRef$curre : mergedOpen) !== nextOpen) {\n lastTriggerRef.current.push(nextOpen);\n onPopupVisibleChange === null || onPopupVisibleChange === void 0 || onPopupVisibleChange(nextOpen);\n }\n });\n\n // Trigger for delay\n var delayRef = React.useRef();\n var clearDelay = function clearDelay() {\n clearTimeout(delayRef.current);\n };\n var triggerOpen = function triggerOpen(nextOpen) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n clearDelay();\n if (delay === 0) {\n internalTriggerOpen(nextOpen);\n } else {\n delayRef.current = setTimeout(function () {\n internalTriggerOpen(nextOpen);\n }, delay * 1000);\n }\n };\n React.useEffect(function () {\n return clearDelay;\n }, []);\n\n // ========================== Motion ============================\n var _React$useState9 = React.useState(false),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n inMotion = _React$useState10[0],\n setInMotion = _React$useState10[1];\n useLayoutEffect(function (firstMount) {\n if (!firstMount || mergedOpen) {\n setInMotion(true);\n }\n }, [mergedOpen]);\n var _React$useState11 = React.useState(null),\n _React$useState12 = _slicedToArray(_React$useState11, 2),\n motionPrepareResolve = _React$useState12[0],\n setMotionPrepareResolve = _React$useState12[1];\n\n // =========================== Align ============================\n var _React$useState13 = React.useState([0, 0]),\n _React$useState14 = _slicedToArray(_React$useState13, 2),\n mousePos = _React$useState14[0],\n setMousePos = _React$useState14[1];\n var setMousePosByEvent = function setMousePosByEvent(event) {\n setMousePos([event.clientX, event.clientY]);\n };\n var _useAlign = useAlign(mergedOpen, popupEle, alignPoint ? mousePos : targetEle, popupPlacement, builtinPlacements, popupAlign, onPopupAlign),\n _useAlign2 = _slicedToArray(_useAlign, 11),\n ready = _useAlign2[0],\n offsetX = _useAlign2[1],\n offsetY = _useAlign2[2],\n offsetR = _useAlign2[3],\n offsetB = _useAlign2[4],\n arrowX = _useAlign2[5],\n arrowY = _useAlign2[6],\n scaleX = _useAlign2[7],\n scaleY = _useAlign2[8],\n alignInfo = _useAlign2[9],\n onAlign = _useAlign2[10];\n var _useAction = useAction(mobile, action, showAction, hideAction),\n _useAction2 = _slicedToArray(_useAction, 2),\n showActions = _useAction2[0],\n hideActions = _useAction2[1];\n var clickToShow = showActions.has('click');\n var clickToHide = hideActions.has('click') || hideActions.has('contextMenu');\n var triggerAlign = useEvent(function () {\n if (!inMotion) {\n onAlign();\n }\n });\n var onScroll = function onScroll() {\n if (openRef.current && alignPoint && clickToHide) {\n triggerOpen(false);\n }\n };\n useWatch(mergedOpen, targetEle, popupEle, triggerAlign, onScroll);\n useLayoutEffect(function () {\n triggerAlign();\n }, [mousePos, popupPlacement]);\n\n // When no builtinPlacements and popupAlign changed\n useLayoutEffect(function () {\n if (mergedOpen && !(builtinPlacements !== null && builtinPlacements !== void 0 && builtinPlacements[popupPlacement])) {\n triggerAlign();\n }\n }, [JSON.stringify(popupAlign)]);\n var alignedClassName = React.useMemo(function () {\n var baseClassName = getAlignPopupClassName(builtinPlacements, prefixCls, alignInfo, alignPoint);\n return classNames(baseClassName, getPopupClassNameFromAlign === null || getPopupClassNameFromAlign === void 0 ? void 0 : getPopupClassNameFromAlign(alignInfo));\n }, [alignInfo, getPopupClassNameFromAlign, builtinPlacements, prefixCls, alignPoint]);\n\n // ============================ Refs ============================\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: externalForwardRef.current,\n forceAlign: triggerAlign\n };\n });\n\n // ========================== Stretch ===========================\n var _React$useState15 = React.useState(0),\n _React$useState16 = _slicedToArray(_React$useState15, 2),\n targetWidth = _React$useState16[0],\n setTargetWidth = _React$useState16[1];\n var _React$useState17 = React.useState(0),\n _React$useState18 = _slicedToArray(_React$useState17, 2),\n targetHeight = _React$useState18[0],\n setTargetHeight = _React$useState18[1];\n var syncTargetSize = function syncTargetSize() {\n if (stretch && targetEle) {\n var rect = targetEle.getBoundingClientRect();\n setTargetWidth(rect.width);\n setTargetHeight(rect.height);\n }\n };\n var onTargetResize = function onTargetResize() {\n syncTargetSize();\n triggerAlign();\n };\n\n // ========================== Motion ============================\n var onVisibleChanged = function onVisibleChanged(visible) {\n setInMotion(false);\n onAlign();\n afterPopupVisibleChange === null || afterPopupVisibleChange === void 0 || afterPopupVisibleChange(visible);\n };\n\n // We will trigger align when motion is in prepare\n var onPrepare = function onPrepare() {\n return new Promise(function (resolve) {\n syncTargetSize();\n setMotionPrepareResolve(function () {\n return resolve;\n });\n });\n };\n useLayoutEffect(function () {\n if (motionPrepareResolve) {\n onAlign();\n motionPrepareResolve();\n setMotionPrepareResolve(null);\n }\n }, [motionPrepareResolve]);\n\n // =========================== Action ===========================\n /**\n * Util wrapper for trigger action\n */\n function wrapperAction(eventName, nextOpen, delay, preEvent) {\n cloneProps[eventName] = function (event) {\n var _originChildProps$eve;\n preEvent === null || preEvent === void 0 || preEvent(event);\n triggerOpen(nextOpen, delay);\n\n // Pass to origin\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n (_originChildProps$eve = originChildProps[eventName]) === null || _originChildProps$eve === void 0 || _originChildProps$eve.call.apply(_originChildProps$eve, [originChildProps, event].concat(args));\n };\n }\n\n // ======================= Action: Click ========================\n if (clickToShow || clickToHide) {\n cloneProps.onClick = function (event) {\n var _originChildProps$onC;\n if (openRef.current && clickToHide) {\n triggerOpen(false);\n } else if (!openRef.current && clickToShow) {\n setMousePosByEvent(event);\n triggerOpen(true);\n }\n\n // Pass to origin\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n (_originChildProps$onC = originChildProps.onClick) === null || _originChildProps$onC === void 0 || _originChildProps$onC.call.apply(_originChildProps$onC, [originChildProps, event].concat(args));\n };\n }\n\n // Click to hide is special action since click popup element should not hide\n useWinClick(mergedOpen, clickToHide, targetEle, popupEle, mask, maskClosable, inPopupOrChild, triggerOpen);\n\n // ======================= Action: Hover ========================\n var hoverToShow = showActions.has('hover');\n var hoverToHide = hideActions.has('hover');\n var onPopupMouseEnter;\n var onPopupMouseLeave;\n if (hoverToShow) {\n // Compatible with old browser which not support pointer event\n wrapperAction('onMouseEnter', true, mouseEnterDelay, function (event) {\n setMousePosByEvent(event);\n });\n wrapperAction('onPointerEnter', true, mouseEnterDelay, function (event) {\n setMousePosByEvent(event);\n });\n onPopupMouseEnter = function onPopupMouseEnter(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 // Mask\n ,\n mask: mask\n // Motion\n ,\n motion: mergePopupMotion,\n maskMotion: mergeMaskMotion,\n onVisibleChanged: onVisibleChanged,\n onPrepare: onPrepare\n // Portal\n ,\n forceRender: forceRender,\n autoDestroy: mergedAutoDestroy,\n getPopupContainer: getPopupContainer\n // Arrow\n ,\n align: alignInfo,\n arrow: innerArrow,\n arrowPos: arrowPos\n // Align\n ,\n ready: ready,\n offsetX: offsetX,\n offsetY: offsetY,\n offsetR: offsetR,\n offsetB: offsetB,\n onAlign: triggerAlign\n // Stretch\n ,\n stretch: stretch,\n targetWidth: targetWidth / scaleX,\n targetHeight: targetHeight / scaleY\n })));\n });\n if (process.env.NODE_ENV !== 'production') {\n Trigger.displayName = 'Trigger';\n }\n return Trigger;\n}\nexport default generateTrigger(Portal);","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { collectScroller, getWin } from \"../util\";\nexport default function useWatch(open, target, popup, onAlign, onScroll) {\n useLayoutEffect(function () {\n if (open && target && popup) {\n var targetElement = target;\n var popupElement = popup;\n var targetScrollList = collectScroller(targetElement);\n var popupScrollList = collectScroller(popupElement);\n var win = getWin(popupElement);\n var mergedList = new Set([win].concat(_toConsumableArray(targetScrollList), _toConsumableArray(popupScrollList)));\n function notifyScroll() {\n onAlign();\n onScroll();\n }\n mergedList.forEach(function (scroller) {\n scroller.addEventListener('scroll', notifyScroll, {\n passive: true\n });\n });\n win.addEventListener('resize', notifyScroll, {\n passive: true\n });\n\n // First time always do align\n onAlign();\n return function () {\n mergedList.forEach(function (scroller) {\n scroller.removeEventListener('scroll', notifyScroll);\n win.removeEventListener('resize', notifyScroll);\n });\n };\n }\n }, [open, target, popup]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { warning } from \"rc-util/es/warning\";\nimport { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { getWin } from \"../util\";\nexport default function useWinClick(open, clickToHide, targetEle, popupEle, mask, maskClosable, inPopupOrChild, triggerOpen) {\n var openRef = React.useRef(open);\n\n // Window click to hide should be lock to avoid trigger lock immediately\n var lockRef = React.useRef(false);\n if (openRef.current !== open) {\n lockRef.current = true;\n openRef.current = open;\n }\n React.useEffect(function () {\n var id = raf(function () {\n lockRef.current = false;\n });\n return function () {\n raf.cancel(id);\n };\n }, [open]);\n\n // Click to hide is special action since click popup element should not hide\n React.useEffect(function () {\n if (clickToHide && popupEle && (!mask || maskClosable)) {\n var genClickEvents = function genClickEvents() {\n var clickInside = false;\n\n // User may mouseDown inside and drag out of popup and mouse up\n // Record here to prevent close\n var onWindowMouseDown = function onWindowMouseDown(_ref) {\n var target = _ref.target;\n clickInside = inPopupOrChild(target);\n };\n var onWindowClick = function onWindowClick(_ref2) {\n var target = _ref2.target;\n if (!lockRef.current && openRef.current && !clickInside && !inPopupOrChild(target)) {\n triggerOpen(false);\n }\n };\n return [onWindowMouseDown, onWindowClick];\n };\n\n // Events\n var _genClickEvents = genClickEvents(),\n _genClickEvents2 = _slicedToArray(_genClickEvents, 2),\n onWinMouseDown = _genClickEvents2[0],\n onWinClick = _genClickEvents2[1];\n var _genClickEvents3 = genClickEvents(),\n _genClickEvents4 = _slicedToArray(_genClickEvents3, 2),\n onShadowMouseDown = _genClickEvents4[0],\n onShadowClick = _genClickEvents4[1];\n var win = getWin(popupEle);\n win.addEventListener('mousedown', onWinMouseDown, true);\n win.addEventListener('click', onWinClick, true);\n win.addEventListener('contextmenu', onWinClick, true);\n\n // shadow root\n var targetShadowRoot = getShadowRoot(targetEle);\n if (targetShadowRoot) {\n targetShadowRoot.addEventListener('mousedown', onShadowMouseDown, true);\n targetShadowRoot.addEventListener('click', onShadowClick, true);\n targetShadowRoot.addEventListener('contextmenu', onShadowClick, true);\n }\n\n // Warning if target and popup not in same root\n if (process.env.NODE_ENV !== 'production') {\n var _targetEle$getRootNod, _popupEle$getRootNode;\n var targetRoot = targetEle === null || targetEle === void 0 || (_targetEle$getRootNod = targetEle.getRootNode) === null || _targetEle$getRootNod === void 0 ? void 0 : _targetEle$getRootNod.call(targetEle);\n var popupRoot = (_popupEle$getRootNode = popupEle.getRootNode) === null || _popupEle$getRootNode === void 0 ? void 0 : _popupEle$getRootNode.call(popupEle);\n warning(targetRoot === popupRoot, \"trigger element and popup element should in same shadow root.\");\n }\n return function () {\n win.removeEventListener('mousedown', onWinMouseDown, true);\n win.removeEventListener('click', onWinClick, true);\n win.removeEventListener('contextmenu', onWinClick, true);\n if (targetShadowRoot) {\n targetShadowRoot.removeEventListener('mousedown', onShadowMouseDown, true);\n targetShadowRoot.removeEventListener('click', onShadowClick, true);\n targetShadowRoot.removeEventListener('contextmenu', onShadowClick, true);\n }\n };\n }\n }, [clickToHide, targetEle, popupEle, mask, maskClosable]);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { PresetColors } from '../theme/interface';\nconst inverseColors = PresetColors.map(color => `${color}-inverse`);\nexport const PresetStatusColorTypes = ['success', 'processing', 'error', 'default', 'warning'];\n/**\n * determine if the color keyword belongs to the `Ant Design` {@link PresetColors}.\n * @param color color to be judged\n * @param includeInverse whether to include reversed colors\n */\nexport function isPresetColor(color) {\n let includeInverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (includeInverse) {\n return [].concat(_toConsumableArray(inverseColors), _toConsumableArray(PresetColors)).includes(color);\n }\n return PresetColors.includes(color);\n}\nexport function isPresetStatusColor(color) {\n return PresetStatusColorTypes.includes(color);\n}","import * as React from 'react';\nexport default function useForceUpdate() {\n const [, forceUpdate] = React.useReducer(x => x + 1, 0);\n return forceUpdate;\n}","import React from 'react';\nimport useToken from '../../theme/useToken';\nimport zIndexContext from '../zindexContext';\n// Z-Index control range\n// Container: 1000 + offset 100 (max base + 10 * offset = 2000)\n// Popover: offset 50\n// Notification: Container Max zIndex + componentOffset\nconst CONTAINER_OFFSET = 100;\nconst CONTAINER_OFFSET_MAX_COUNT = 10;\nexport const CONTAINER_MAX_OFFSET = CONTAINER_OFFSET * CONTAINER_OFFSET_MAX_COUNT;\nexport const containerBaseZIndexOffset = {\n Modal: CONTAINER_OFFSET,\n Drawer: CONTAINER_OFFSET,\n Popover: CONTAINER_OFFSET,\n Popconfirm: CONTAINER_OFFSET,\n Tooltip: CONTAINER_OFFSET,\n Tour: CONTAINER_OFFSET\n};\nexport const consumerBaseZIndexOffset = {\n SelectLike: 50,\n Dropdown: 50,\n DatePicker: 50,\n Menu: 50,\n ImagePreview: 1\n};\nfunction isContainerType(type) {\n return type in containerBaseZIndexOffset;\n}\nexport function useZIndex(componentType, customZIndex) {\n const [, token] = useToken();\n const parentZIndex = React.useContext(zIndexContext);\n const isContainer = isContainerType(componentType);\n if (customZIndex !== undefined) {\n return [customZIndex, customZIndex];\n }\n let zIndex = parentZIndex !== null && parentZIndex !== void 0 ? parentZIndex : 0;\n if (isContainer) {\n zIndex +=\n // Use preset token zIndex by default but not stack when has parent container\n (parentZIndex ? 0 : token.zIndexPopupBase) +\n // Container offset\n containerBaseZIndexOffset[componentType];\n zIndex = Math.min(zIndex, token.zIndexPopupBase + CONTAINER_MAX_OFFSET);\n } else {\n zIndex += consumerBaseZIndexOffset[componentType];\n }\n return [parentZIndex === undefined ? customZIndex : zIndex, zIndex];\n}","// ================== Collapse Motion ==================\nconst getCollapsedHeight = () => ({\n height: 0,\n opacity: 0\n});\nconst getRealHeight = node => {\n const {\n scrollHeight\n } = node;\n return {\n height: scrollHeight,\n opacity: 1\n };\n};\nconst getCurrentHeight = node => ({\n height: node ? node.offsetHeight : 0\n});\nconst skipOpacityTransition = (_, event) => (event === null || event === void 0 ? void 0 : event.deadline) === true || event.propertyName === 'height';\nconst initCollapseMotion = function () {\n let rootCls = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ant';\n return {\n motionName: `${rootCls}-motion-collapse`,\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500\n };\n};\nconst SelectPlacements = ['bottomLeft', 'bottomRight', 'topLeft', 'topRight'];\nconst getTransitionName = (rootPrefixCls, motion, transitionName) => {\n if (transitionName !== undefined) {\n return transitionName;\n }\n return `${rootPrefixCls}-${motion}`;\n};\nexport { getTransitionName };\nexport default initCollapseMotion;","import { getArrowOffsetToken } from '../style/placementArrow';\nexport function getOverflowOptions(placement, arrowOffset, arrowWidth, autoAdjustOverflow) {\n if (autoAdjustOverflow === false) {\n return {\n adjustX: false,\n adjustY: false\n };\n }\n const overflow = autoAdjustOverflow && typeof autoAdjustOverflow === 'object' ? autoAdjustOverflow : {};\n const baseOverflow = {};\n switch (placement) {\n case 'top':\n case 'bottom':\n baseOverflow.shiftX = arrowOffset.arrowOffsetHorizontal * 2 + arrowWidth;\n baseOverflow.shiftY = true;\n baseOverflow.adjustY = true;\n break;\n case 'left':\n case 'right':\n baseOverflow.shiftY = arrowOffset.arrowOffsetVertical * 2 + arrowWidth;\n baseOverflow.shiftX = true;\n baseOverflow.adjustX = true;\n break;\n }\n const mergedOverflow = Object.assign(Object.assign({}, baseOverflow), overflow);\n // Support auto shift\n if (!mergedOverflow.shiftX) {\n mergedOverflow.adjustX = true;\n }\n if (!mergedOverflow.shiftY) {\n mergedOverflow.adjustY = true;\n }\n return mergedOverflow;\n}\nconst PlacementAlignMap = {\n left: {\n points: ['cr', 'cl']\n },\n right: {\n points: ['cl', 'cr']\n },\n top: {\n points: ['bc', 'tc']\n },\n bottom: {\n points: ['tc', 'bc']\n },\n topLeft: {\n points: ['bl', 'tl']\n },\n leftTop: {\n points: ['tr', 'tl']\n },\n topRight: {\n points: ['br', 'tr']\n },\n rightTop: {\n points: ['tl', 'tr']\n },\n bottomRight: {\n points: ['tr', 'br']\n },\n rightBottom: {\n points: ['bl', 'br']\n },\n bottomLeft: {\n points: ['tl', 'bl']\n },\n leftBottom: {\n points: ['br', 'bl']\n }\n};\nconst ArrowCenterPlacementAlignMap = {\n topLeft: {\n points: ['bl', 'tc']\n },\n leftTop: {\n points: ['tr', 'cl']\n },\n topRight: {\n points: ['br', 'tc']\n },\n rightTop: {\n points: ['tl', 'cr']\n },\n bottomRight: {\n points: ['tr', 'bc']\n },\n rightBottom: {\n points: ['bl', 'cr']\n },\n bottomLeft: {\n points: ['tl', 'bc']\n },\n leftBottom: {\n points: ['br', 'cl']\n }\n};\nconst DisableAutoArrowList = new Set(['topLeft', 'topRight', 'bottomLeft', 'bottomRight', 'leftTop', 'leftBottom', 'rightTop', 'rightBottom']);\nexport default function getPlacements(config) {\n const {\n arrowWidth,\n autoAdjustOverflow,\n arrowPointAtCenter,\n offset,\n borderRadius,\n visibleFirst\n } = config;\n const halfArrowWidth = arrowWidth / 2;\n const placementMap = {};\n Object.keys(PlacementAlignMap).forEach(key => {\n const template = arrowPointAtCenter && ArrowCenterPlacementAlignMap[key] || PlacementAlignMap[key];\n const placementInfo = Object.assign(Object.assign({}, template), {\n offset: [0, 0],\n dynamicInset: true\n });\n placementMap[key] = placementInfo;\n // Disable autoArrow since design is fixed position\n if (DisableAutoArrowList.has(key)) {\n placementInfo.autoArrow = false;\n }\n // Static offset\n switch (key) {\n case 'top':\n case 'topLeft':\n case 'topRight':\n placementInfo.offset[1] = -halfArrowWidth - offset;\n break;\n case 'bottom':\n case 'bottomLeft':\n case 'bottomRight':\n placementInfo.offset[1] = halfArrowWidth + offset;\n break;\n case 'left':\n case 'leftTop':\n case 'leftBottom':\n placementInfo.offset[0] = -halfArrowWidth - offset;\n break;\n case 'right':\n case 'rightTop':\n case 'rightBottom':\n placementInfo.offset[0] = halfArrowWidth + offset;\n break;\n }\n // Dynamic offset\n const arrowOffset = getArrowOffsetToken({\n contentRadius: borderRadius,\n limitVerticalRadius: true\n });\n if (arrowPointAtCenter) {\n switch (key) {\n case 'topLeft':\n case 'bottomLeft':\n placementInfo.offset[0] = -arrowOffset.arrowOffsetHorizontal - halfArrowWidth;\n break;\n case 'topRight':\n case 'bottomRight':\n placementInfo.offset[0] = arrowOffset.arrowOffsetHorizontal + halfArrowWidth;\n break;\n case 'leftTop':\n case 'rightTop':\n placementInfo.offset[1] = -arrowOffset.arrowOffsetHorizontal - halfArrowWidth;\n break;\n case 'leftBottom':\n case 'rightBottom':\n placementInfo.offset[1] = arrowOffset.arrowOffsetHorizontal + halfArrowWidth;\n break;\n }\n }\n // Overflow\n placementInfo.overflow = getOverflowOptions(key, arrowOffset, arrowWidth, autoAdjustOverflow);\n // VisibleFirst\n if (visibleFirst) {\n placementInfo.htmlRegion = 'visibleFirst';\n }\n });\n return placementMap;\n}","import React from 'react';\nimport { useToken } from '../theme/internal';\nexport const responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nconst getResponsiveMap = token => ({\n xs: `(max-width: ${token.screenXSMax}px)`,\n sm: `(min-width: ${token.screenSM}px)`,\n md: `(min-width: ${token.screenMD}px)`,\n lg: `(min-width: ${token.screenLG}px)`,\n xl: `(min-width: ${token.screenXL}px)`,\n xxl: `(min-width: ${token.screenXXL}px)`\n});\n/**\n * Ensures that the breakpoints token are valid, in good order\n * For each breakpoint : screenMin <= screen <= screenMax and screenMax <= nextScreenMin\n */\nconst validateBreakpoints = token => {\n const indexableToken = token;\n const revBreakpoints = [].concat(responsiveArray).reverse();\n revBreakpoints.forEach((breakpoint, i) => {\n const breakpointUpper = breakpoint.toUpperCase();\n const screenMin = `screen${breakpointUpper}Min`;\n const screen = `screen${breakpointUpper}`;\n if (!(indexableToken[screenMin] <= indexableToken[screen])) {\n throw new Error(`${screenMin}<=${screen} fails : !(${indexableToken[screenMin]}<=${indexableToken[screen]})`);\n }\n if (i < revBreakpoints.length - 1) {\n const screenMax = `screen${breakpointUpper}Max`;\n if (!(indexableToken[screen] <= indexableToken[screenMax])) {\n throw new Error(`${screen}<=${screenMax} fails : !(${indexableToken[screen]}<=${indexableToken[screenMax]})`);\n }\n const nextBreakpointUpperMin = revBreakpoints[i + 1].toUpperCase();\n const nextScreenMin = `screen${nextBreakpointUpperMin}Min`;\n if (!(indexableToken[screenMax] <= indexableToken[nextScreenMin])) {\n throw new Error(`${screenMax}<=${nextScreenMin} fails : !(${indexableToken[screenMax]}<=${indexableToken[nextScreenMin]})`);\n }\n }\n });\n return token;\n};\nexport default function useResponsiveObserver() {\n const [, token] = useToken();\n const responsiveMap = getResponsiveMap(validateBreakpoints(token));\n // To avoid repeat create instance, we add `useMemo` here.\n return React.useMemo(() => {\n const subscribers = new Map();\n let subUid = -1;\n let screens = {};\n return {\n matchHandlers: {},\n dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(func => func(screens));\n return subscribers.size >= 1;\n },\n subscribe(func) {\n if (!subscribers.size) this.register();\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe(paramToken) {\n subscribers.delete(paramToken);\n if (!subscribers.size) this.unregister();\n },\n unregister() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const handler = this.matchHandlers[matchMediaQuery];\n handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n },\n register() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const listener = _ref => {\n let {\n matches\n } = _ref;\n this.dispatch(Object.assign(Object.assign({}, screens), {\n [screen]: matches\n }));\n };\n const mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n this.matchHandlers[matchMediaQuery] = {\n mql,\n listener\n };\n listener(mql);\n });\n },\n responsiveMap\n };\n }, [token]);\n}\nexport const matchScreen = (screens, screenSizes) => {\n if (screenSizes && typeof screenSizes === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (screens[breakpoint] && screenSizes[breakpoint] !== undefined) {\n return screenSizes[breakpoint];\n }\n }\n }\n};","import React from 'react';\nconst zIndexContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n zIndexContext.displayName = 'zIndexContext';\n}\nexport default zIndexContext;","import { useToken } from '../../theme/internal';\n/**\n * This hook is only for cssVar to add root className for components.\n * If root ClassName is needed, this hook could be refactored with `-root`\n * @param prefixCls\n */\nconst useCSSVarCls = prefixCls => {\n const [,,,, cssVar] = useToken();\n return cssVar ? `${prefixCls}-css-var` : '';\n};\nexport default useCSSVarCls;","import React from 'react';\nimport SizeContext from '../SizeContext';\nconst useSize = customSize => {\n const size = React.useContext(SizeContext);\n const mergedSize = React.useMemo(() => {\n if (!customSize) {\n return size;\n }\n if (typeof customSize === 'string') {\n return customSize !== null && customSize !== void 0 ? customSize : size;\n }\n if (customSize instanceof Function) {\n return customSize(size);\n }\n return size;\n }, [customSize, size]);\n return mergedSize;\n};\nexport default useSize;","import warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nexport var HOOK_MARK = 'RC_FORM_INTERNAL_HOOKS';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar warningFunc = function warningFunc() {\n warning(false, 'Can not find FormContext. Please make sure you wrap Field under Form.');\n};\nvar Context = /*#__PURE__*/React.createContext({\n getFieldValue: warningFunc,\n getFieldsValue: warningFunc,\n getFieldError: warningFunc,\n getFieldWarning: warningFunc,\n getFieldsError: warningFunc,\n isFieldsTouched: warningFunc,\n isFieldTouched: warningFunc,\n isFieldValidating: warningFunc,\n isFieldsValidating: warningFunc,\n resetFields: warningFunc,\n setFields: warningFunc,\n setFieldValue: warningFunc,\n setFieldsValue: warningFunc,\n validateFields: warningFunc,\n submit: warningFunc,\n getInternalHooks: function getInternalHooks() {\n warningFunc();\n return {\n dispatch: warningFunc,\n initEntityValue: warningFunc,\n registerField: warningFunc,\n useSubscribe: warningFunc,\n setInitialValues: warningFunc,\n destroyForm: warningFunc,\n setCallbacks: warningFunc,\n registerWatch: warningFunc,\n getFields: warningFunc,\n setValidateMessages: warningFunc,\n setPreserve: warningFunc,\n getInitialValue: warningFunc\n };\n }\n});\nexport default Context;","import * as React from 'react';\nvar ListContext = /*#__PURE__*/React.createContext(null);\nexport default ListContext;","export function toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n return Array.isArray(value) ? value : [value];\n}\nexport function isFormInstance(form) {\n return form && !!form._init;\n}","/* eslint no-console:0 */\n\nimport {\n ValidateError,\n ValidateOption,\n RuleValuePackage,\n InternalRuleItem,\n SyncErrorType,\n RuleType,\n Value,\n Values,\n} from './interface';\n\nconst formatRegExp = /%[sdj%]/g;\n\ndeclare var ASYNC_VALIDATOR_NO_WARNING;\n\nexport let warning: (type: string, errors: SyncErrorType[]) => void = () => {};\n\n// don't print warning message when in production env or node runtime\nif (\n typeof process !== 'undefined' &&\n process.env &&\n process.env.NODE_ENV !== 'production' &&\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n) {\n warning = (type, errors) => {\n if (\n typeof console !== 'undefined' &&\n console.warn &&\n typeof ASYNC_VALIDATOR_NO_WARNING === 'undefined'\n ) {\n if (errors.every(e => typeof e === 'string')) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nexport function convertFieldsError(\n errors: ValidateError[],\n): Record<string, ValidateError[]> {\n if (!errors || !errors.length) return null;\n const fields = {};\n errors.forEach(error => {\n const field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\n\nexport function format(\n template: ((...args: any[]) => string) | string,\n ...args: any[]\n): string {\n let i = 0;\n const len = args.length;\n if (typeof template === 'function') {\n return template.apply(null, args);\n }\n if (typeof template === 'string') {\n let str = template.replace(formatRegExp, x => {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return (Number(args[i++]) as unknown) as string;\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n return str;\n }\n return template;\n}\n\nfunction isNativeStringType(type: string) {\n return (\n type === 'string' ||\n type === 'url' ||\n type === 'hex' ||\n type === 'email' ||\n type === 'date' ||\n type === 'pattern'\n );\n}\n\nexport function isEmptyValue(value: Value, type?: string) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nexport function isEmptyObject(obj: object) {\n return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(\n arr: RuleValuePackage[],\n func: ValidateFunc,\n callback: (errors: ValidateError[]) => void,\n) {\n const results: ValidateError[] = [];\n let total = 0;\n const arrLength = arr.length;\n\n function count(errors: ValidateError[]) {\n results.push(...(errors || []));\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(a => {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(\n arr: RuleValuePackage[],\n func: ValidateFunc,\n callback: (errors: ValidateError[]) => void,\n) {\n let index = 0;\n const arrLength = arr.length;\n\n function next(errors: ValidateError[]) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n const original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr: Record<string, RuleValuePackage[]>) {\n const ret: RuleValuePackage[] = [];\n Object.keys(objArr).forEach(k => {\n ret.push(...(objArr[k] || []));\n });\n return ret;\n}\n\nexport class AsyncValidationError extends Error {\n errors: ValidateError[];\n fields: Record<string, ValidateError[]>;\n\n constructor(\n errors: ValidateError[],\n fields: Record<string, ValidateError[]>,\n ) {\n super('Async Validation Error');\n this.errors = errors;\n this.fields = fields;\n }\n}\n\ntype ValidateFunc = (\n data: RuleValuePackage,\n doIt: (errors: ValidateError[]) => void,\n) => void;\n\nexport function asyncMap(\n objArr: Record<string, RuleValuePackage[]>,\n option: ValidateOption,\n func: ValidateFunc,\n callback: (errors: ValidateError[]) => void,\n source: Values,\n): Promise<Values> {\n if (option.first) {\n const pending = new Promise<Values>((resolve, reject) => {\n const next = (errors: ValidateError[]) => {\n callback(errors);\n return errors.length\n ? reject(new AsyncValidationError(errors, convertFieldsError(errors)))\n : resolve(source);\n };\n const flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n pending.catch(e => e);\n return pending;\n }\n const firstFields =\n option.firstFields === true\n ? Object.keys(objArr)\n : option.firstFields || [];\n\n const objArrKeys = Object.keys(objArr);\n const objArrLength = objArrKeys.length;\n let total = 0;\n const results: ValidateError[] = [];\n const pending = new Promise<Values>((resolve, reject) => {\n const next = (errors: ValidateError[]) => {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length\n ? reject(\n new AsyncValidationError(results, convertFieldsError(results)),\n )\n : resolve(source);\n }\n };\n if (!objArrKeys.length) {\n callback(results);\n resolve(source);\n }\n objArrKeys.forEach(key => {\n const arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending.catch(e => e);\n return pending;\n}\n\nfunction isErrorObj(\n obj: ValidateError | string | (() => string),\n): obj is ValidateError {\n return !!(obj && (obj as ValidateError).message !== undefined);\n}\n\nfunction getValue(value: Values, path: string[]) {\n let v = value;\n for (let i = 0; i < path.length; i++) {\n if (v == undefined) {\n return v;\n }\n v = v[path[i]];\n }\n return v;\n}\n\nexport function complementError(rule: InternalRuleItem, source: Values) {\n return (oe: ValidateError | (() => string) | string): ValidateError => {\n let fieldValue;\n if (rule.fullFields) {\n fieldValue = getValue(source, rule.fullFields);\n } else {\n fieldValue = source[(oe as any).field || rule.fullField];\n }\n if (isErrorObj(oe)) {\n oe.field = oe.field || rule.fullField;\n oe.fieldValue = fieldValue;\n return oe;\n }\n return {\n message: typeof oe === 'function' ? oe() : oe,\n fieldValue,\n field: ((oe as unknown) as ValidateError).field || rule.fullField,\n };\n };\n}\n\nexport function deepMerge<T extends object>(target: T, source: Partial<T>): T {\n if (source) {\n for (const s in source) {\n if (source.hasOwnProperty(s)) {\n const value = source[s];\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = {\n ...target[s],\n ...value,\n };\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}\n","import { ExecuteRule } from '../interface';\nimport { format, isEmptyValue } from '../util';\n\nconst required: ExecuteRule = (rule, value, source, errors, options, type) => {\n if (\n rule.required &&\n (!source.hasOwnProperty(rule.field) ||\n isEmptyValue(value, type || rule.type))\n ) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n};\n\nexport default required;\n","// https://github.com/kevva/url-regex/blob/master/index.js\nlet urlReg: RegExp;\n\nexport default () => {\n if (urlReg) {\n return urlReg;\n }\n\n const word = '[a-fA-F\\\\d:]';\n const b = options =>\n options && options.includeBoundaries\n ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))`\n : '';\n\n const v4 =\n '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n\n const v6seg = '[a-fA-F\\\\d]{1,4}';\n const v6 = `\n(?:\n(?:${v6seg}:){7}(?:${v6seg}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6seg}:){6}(?:${v4}|:${v6seg}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6seg}:){5}(?::${v4}|(?::${v6seg}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6seg}:){4}(?:(?::${v6seg}){0,1}:${v4}|(?::${v6seg}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6seg}:){3}(?:(?::${v6seg}){0,2}:${v4}|(?::${v6seg}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6seg}:){2}(?:(?::${v6seg}){0,3}:${v4}|(?::${v6seg}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6seg}:){1}(?:(?::${v6seg}){0,4}:${v4}|(?::${v6seg}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6seg}){0,5}:${v4}|(?::${v6seg}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replace(/\\s*\\/\\/.*$/gm, '')\n .replace(/\\n/g, '')\n .trim();\n\n // Pre-compile only the exact regexes because adding a global flag make regexes stateful\n const v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);\n const v4exact = new RegExp(`^${v4}$`);\n const v6exact = new RegExp(`^${v6}$`);\n\n const ip = options =>\n options && options.exact\n ? v46Exact\n : new RegExp(\n `(?:${b(options)}${v4}${b(options)})|(?:${b(options)}${v6}${b(\n options,\n )})`,\n 'g',\n );\n\n ip.v4 = (options?) =>\n options && options.exact\n ? v4exact\n : new RegExp(`${b(options)}${v4}${b(options)}`, 'g');\n ip.v6 = (options?) =>\n options && options.exact\n ? v6exact\n : new RegExp(`${b(options)}${v6}${b(options)}`, 'g');\n\n const protocol = `(?:(?:[a-z]+:)?//)`;\n const auth = '(?:\\\\S+(?::\\\\S*)?@)?';\n const ipv4 = ip.v4().source;\n const ipv6 = ip.v6().source;\n const host = '(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)';\n const domain =\n '(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*';\n const tld = `(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))`;\n const port = '(?::\\\\d{2,5})?';\n const path = '(?:[/?#][^\\\\s\"]*)?';\n const regex = `(?:${protocol}|www\\\\.)${auth}(?:localhost|${ipv4}|${ipv6}|${host}${domain}${tld})${port}${path}`;\n urlReg = new RegExp(`(?:^${regex}$)`, 'i');\n return urlReg;\n};\n","import { ExecuteRule, Value } from '../interface';\nimport { format } from '../util';\nimport required from './required';\nimport getUrlRegex from './url';\n/* eslint max-len:0 */\n\nconst pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/,\n // url: new RegExp(\n // '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n // 'i',\n // ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,\n};\n\nconst types = {\n integer(value: Value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float(value: Value) {\n return types.number(value) && !types.integer(value);\n },\n array(value: Value) {\n return Array.isArray(value);\n },\n regexp(value: Value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date(value: Value) {\n return (\n typeof value.getTime === 'function' &&\n typeof value.getMonth === 'function' &&\n typeof value.getYear === 'function' &&\n !isNaN(value.getTime())\n );\n },\n number(value: Value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object(value: Value) {\n return typeof value === 'object' && !types.array(value);\n },\n method(value: Value) {\n return typeof value === 'function';\n },\n email(value: Value) {\n return (\n typeof value === 'string' &&\n value.length <= 320 &&\n !!value.match(pattern.email)\n );\n },\n url(value: Value) {\n return (\n typeof value === 'string' &&\n value.length <= 2048 &&\n !!value.match(getUrlRegex())\n );\n },\n hex(value: Value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n },\n};\n\nconst type: ExecuteRule = (rule, value, source, errors, options) => {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n const custom = [\n 'integer',\n 'float',\n 'array',\n 'regexp',\n 'object',\n 'method',\n 'email',\n 'number',\n 'date',\n 'url',\n 'hex',\n ];\n const ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(\n format(options.messages.types[ruleType], rule.fullField, rule.type),\n );\n }\n // straight typeof check\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(\n format(options.messages.types[ruleType], rule.fullField, rule.type),\n );\n }\n};\n\nexport default type;\n","import { ExecuteRule } from '../interface';\nimport { format } from '../util';\n\nconst ENUM = 'enum' as const;\n\nconst enumerable: ExecuteRule = (rule, value, source, errors, options) => {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(\n format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')),\n );\n }\n};\n\nexport default enumerable;\n","import required from './required';\nimport whitespace from './whitespace';\nimport type from './type';\nimport range from './range';\nimport enumRule from './enum';\nimport pattern from './pattern';\n\nexport default {\n required,\n whitespace,\n type,\n range,\n enum: enumRule,\n pattern,\n};\n","import { ExecuteRule } from '../interface';\nimport { format } from '../util';\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nconst whitespace: ExecuteRule = (rule, value, source, errors, options) => {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n};\n\nexport default whitespace;\n","import { ExecuteRule } from '../interface';\nimport { format } from '../util';\n\nconst range: ExecuteRule = (rule, value, source, errors, options) => {\n const len = typeof rule.len === 'number';\n const min = typeof rule.min === 'number';\n const max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n const spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n let val = value;\n let key = null;\n const num = typeof value === 'number';\n const str = typeof value === 'string';\n const arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(\n format(options.messages[key].range, rule.fullField, rule.min, rule.max),\n );\n }\n};\n\nexport default range;\n","import { ExecuteRule } from '../interface';\nimport { format } from '../util';\n\nconst pattern: ExecuteRule = (rule, value, source, errors, options) => {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(\n format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n } else if (typeof rule.pattern === 'string') {\n const _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(\n format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n }\n }\n};\n\nexport default pattern;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst type: ExecuteValidator = (rule, value, callback, source, options) => {\n const ruleType = rule.type;\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, ruleType);\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default type;\n","import string from './string';\nimport method from './method';\nimport number from './number';\nimport boolean from './boolean';\nimport regexp from './regexp';\nimport integer from './integer';\nimport float from './float';\nimport array from './array';\nimport object from './object';\nimport enumValidator from './enum';\nimport pattern from './pattern';\nimport date from './date';\nimport required from './required';\nimport type from './type';\nimport any from './any';\n\nexport default {\n string,\n method,\n number,\n boolean,\n regexp,\n integer,\n float,\n array,\n object,\n enum: enumValidator,\n pattern,\n date,\n url: type,\n hex: type,\n email: type,\n required,\n any,\n};\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst string: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'string');\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n};\n\nexport default string;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst method: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default method;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst number: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default number;\n","import { isEmptyValue } from '../util';\nimport rules from '../rule';\nimport { ExecuteValidator } from '../interface';\n\nconst boolean: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default boolean;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst regexp: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default regexp;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst integer: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default integer;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst floatFn: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default floatFn;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule/index';\n\nconst array: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'array');\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default array;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst object: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default object;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst ENUM = 'enum' as const;\n\nconst enumerable: ExecuteValidator = (\n rule,\n value,\n callback,\n source,\n options,\n) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default enumerable;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst pattern: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default pattern;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst date: ExecuteValidator = (rule, value, callback, source, options) => {\n // console.log('integer rule called %j', rule);\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n // console.log('validate on %s value', value);\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'date')) {\n let dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n};\n\nexport default date;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\n\nconst required: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n};\n\nexport default required;\n","import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst any: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n }\n callback(errors);\n};\n\nexport default any;\n","import { InternalValidateMessages } from './interface';\n\nexport function newMessages(): InternalValidateMessages {\n return {\n default: 'Validation error on field %s',\n required: '%s is required',\n enum: '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid',\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s',\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters',\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s',\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length',\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s',\n },\n clone() {\n const cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n },\n };\n}\n\nexport const messages = newMessages();\n","import {\n format,\n complementError,\n asyncMap,\n warning,\n deepMerge,\n convertFieldsError,\n} from './util';\nimport validators from './validator/index';\nimport { messages as defaultMessages, newMessages } from './messages';\nimport {\n InternalRuleItem,\n InternalValidateMessages,\n Rule,\n RuleItem,\n Rules,\n ValidateCallback,\n ValidateMessages,\n ValidateOption,\n Values,\n RuleValuePackage,\n ValidateError,\n ValidateFieldsError,\n SyncErrorType,\n ValidateResult,\n} from './interface';\n\nexport * from './interface';\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nclass Schema {\n // ========================= Static =========================\n static register = function register(type: string, validator) {\n if (typeof validator !== 'function') {\n throw new Error(\n 'Cannot register a validator by type, validator is not a function',\n );\n }\n validators[type] = validator;\n };\n\n static warning = warning;\n\n static messages = defaultMessages;\n\n static validators = validators;\n\n // ======================== Instance ========================\n rules: Record<string, RuleItem[]> = null;\n _messages: InternalValidateMessages = defaultMessages;\n\n constructor(descriptor: Rules) {\n this.define(descriptor);\n }\n\n define(rules: Rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n\n Object.keys(rules).forEach(name => {\n const item: Rule = rules[name];\n this.rules[name] = Array.isArray(item) ? item : [item];\n });\n }\n\n messages(messages?: ValidateMessages) {\n if (messages) {\n this._messages = deepMerge(newMessages(), messages);\n }\n return this._messages;\n }\n\n validate(\n source: Values,\n option?: ValidateOption,\n callback?: ValidateCallback,\n ): Promise<Values>;\n validate(source: Values, callback: ValidateCallback): Promise<Values>;\n validate(source: Values): Promise<Values>;\n\n validate(source_: Values, o: any = {}, oc: any = () => {}): Promise<Values> {\n let source: Values = source_;\n let options: ValidateOption = o;\n let callback: ValidateCallback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback(null, source);\n }\n return Promise.resolve(source);\n }\n\n function complete(results: (ValidateError | ValidateError[])[]) {\n let errors: ValidateError[] = [];\n let fields: ValidateFieldsError = {};\n\n function add(e: ValidateError | ValidateError[]) {\n if (Array.isArray(e)) {\n errors = errors.concat(...e);\n } else {\n errors.push(e);\n }\n }\n\n for (let i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n callback(null, source);\n } else {\n fields = convertFieldsError(errors);\n (callback as (\n errors: ValidateError[],\n fields: ValidateFieldsError,\n ) => void)(errors, fields);\n }\n }\n\n if (options.messages) {\n let messages = this.messages();\n if (messages === defaultMessages) {\n messages = newMessages();\n }\n deepMerge(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n\n const series: Record<string, RuleValuePackage[]> = {};\n const keys = options.keys || Object.keys(this.rules);\n keys.forEach(z => {\n const arr = this.rules[z];\n let value = source[z];\n arr.forEach(r => {\n let rule: InternalRuleItem = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = { ...source };\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule,\n };\n } else {\n rule = { ...rule };\n }\n\n // Fill validator. Skip if nothing need to validate\n rule.validator = this.getValidationMethod(rule);\n if (!rule.validator) {\n return;\n }\n\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = this.getType(rule);\n series[z] = series[z] || [];\n series[z].push({\n rule,\n value,\n source,\n field: z,\n });\n });\n });\n const errorFields = {};\n return asyncMap(\n series,\n options,\n (data, doIt) => {\n const rule = data.rule;\n let deep =\n (rule.type === 'object' || rule.type === 'array') &&\n (typeof rule.fields === 'object' ||\n typeof rule.defaultField === 'object');\n deep = deep && (rule.required || (!rule.required && data.value));\n rule.field = data.field;\n\n function addFullField(key: string, schema: RuleItem) {\n return {\n ...schema,\n fullField: `${rule.fullField}.${key}`,\n fullFields: rule.fullFields ? [...rule.fullFields, key] : [key],\n };\n }\n\n function cb(e: SyncErrorType | SyncErrorType[] = []) {\n let errorList = Array.isArray(e) ? e : [e];\n if (!options.suppressWarning && errorList.length) {\n Schema.warning('async-validator:', errorList);\n }\n if (errorList.length && rule.message !== undefined) {\n errorList = [].concat(rule.message);\n }\n\n // Fill error info\n let filledErrors = errorList.map(complementError(rule, source));\n\n if (options.first && filledErrors.length) {\n errorFields[rule.field] = 1;\n return doIt(filledErrors);\n }\n if (!deep) {\n doIt(filledErrors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n filledErrors = []\n .concat(rule.message)\n .map(complementError(rule, source));\n } else if (options.error) {\n filledErrors = [\n options.error(\n rule,\n format(options.messages.required, rule.field),\n ),\n ];\n }\n return doIt(filledErrors);\n }\n\n let fieldsSchema: Record<string, Rule> = {};\n if (rule.defaultField) {\n Object.keys(data.value).map(key => {\n fieldsSchema[key] = rule.defaultField;\n });\n }\n fieldsSchema = {\n ...fieldsSchema,\n ...data.rule.fields,\n };\n\n const paredFieldsSchema: Record<string, RuleItem[]> = {};\n\n Object.keys(fieldsSchema).forEach(field => {\n const fieldSchema = fieldsSchema[field];\n const fieldSchemaList = Array.isArray(fieldSchema)\n ? fieldSchema\n : [fieldSchema];\n paredFieldsSchema[field] = fieldSchemaList.map(\n addFullField.bind(null, field),\n );\n });\n const schema = new Schema(paredFieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, errs => {\n const finalErrors = [];\n if (filledErrors && filledErrors.length) {\n finalErrors.push(...filledErrors);\n }\n if (errs && errs.length) {\n finalErrors.push(...errs);\n }\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n let res: ValidateResult;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n try {\n res = rule.validator(rule, data.value, cb, data.source, options);\n } catch (error) {\n console.error?.(error);\n // rethrow to report error\n if (!options.suppressValidatorError) {\n setTimeout(() => {\n throw error;\n }, 0);\n }\n cb(error.message);\n }\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(\n typeof rule.message === 'function'\n ? rule.message(rule.fullField || rule.field)\n : rule.message || `${rule.fullField || rule.field} fails`,\n );\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && (res as Promise<void>).then) {\n (res as Promise<void>).then(\n () => cb(),\n e => cb(e),\n );\n }\n },\n results => {\n complete(results);\n },\n source,\n );\n }\n\n getType(rule: InternalRuleItem) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (\n typeof rule.validator !== 'function' &&\n rule.type &&\n !validators.hasOwnProperty(rule.type)\n ) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n }\n\n getValidationMethod(rule: InternalRuleItem) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n const keys = Object.keys(rule);\n const messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n return validators[this.getType(rule)] || undefined;\n }\n}\n\nexport default Schema;\n","var typeTemplate = \"'${name}' is not a valid ${type}\";\nexport var defaultValidateMessages = {\n default: \"Validation error on field '${name}'\",\n required: \"'${name}' is required\",\n enum: \"'${name}' must be one of [${enum}]\",\n whitespace: \"'${name}' cannot be empty\",\n date: {\n format: \"'${name}' is invalid for format date\",\n parse: \"'${name}' could not be parsed as date\",\n invalid: \"'${name}' is invalid date\"\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: \"'${name}' must be exactly ${len} characters\",\n min: \"'${name}' must be at least ${min} characters\",\n max: \"'${name}' cannot be longer than ${max} characters\",\n range: \"'${name}' must be between ${min} and ${max} characters\"\n },\n number: {\n len: \"'${name}' must equal ${len}\",\n min: \"'${name}' cannot be less than ${min}\",\n max: \"'${name}' cannot be greater than ${max}\",\n range: \"'${name}' must be between ${min} and ${max}\"\n },\n array: {\n len: \"'${name}' must be exactly ${len} in length\",\n min: \"'${name}' cannot be less than ${min} in length\",\n max: \"'${name}' cannot be greater than ${max} in length\",\n range: \"'${name}' must be between ${min} and ${max} in length\"\n },\n pattern: {\n mismatch: \"'${name}' does not match pattern ${pattern}\"\n }\n};","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport RawAsyncValidator from 'async-validator';\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { defaultValidateMessages } from \"./messages\";\nimport { merge } from \"rc-util/es/utils/set\";\n\n// Remove incorrect original ts define\nvar AsyncValidator = RawAsyncValidator;\n\n/**\n * Replace with template.\n * `I'm ${name}` + { name: 'bamboo' } = I'm bamboo\n */\nfunction replaceMessage(template, kv) {\n return template.replace(/\\$\\{\\w+\\}/g, function (str) {\n var key = str.slice(2, -1);\n return kv[key];\n });\n}\nvar CODE_LOGIC_ERROR = 'CODE_LOGIC_ERROR';\nfunction validateRule(_x, _x2, _x3, _x4, _x5) {\n return _validateRule.apply(this, arguments);\n}\n/**\n * We use `async-validator` to validate the value.\n * But only check one value in a time to avoid namePath validate issue.\n */\nfunction _validateRule() {\n _validateRule = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name, value, rule, options, messageVariables) {\n var cloneRule, originValidator, subRuleField, validator, messages, result, subResults, kv, fillVariableResult;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n cloneRule = _objectSpread({}, rule); // Bug of `async-validator`\n // https://github.com/react-component/field-form/issues/316\n // https://github.com/react-component/field-form/issues/313\n delete cloneRule.ruleIndex;\n\n // https://github.com/ant-design/ant-design/issues/40497#issuecomment-1422282378\n AsyncValidator.warning = function () {\n return void 0;\n };\n if (cloneRule.validator) {\n originValidator = cloneRule.validator;\n cloneRule.validator = function () {\n try {\n return originValidator.apply(void 0, arguments);\n } catch (error) {\n console.error(error);\n return Promise.reject(CODE_LOGIC_ERROR);\n }\n };\n }\n\n // We should special handle array validate\n subRuleField = null;\n if (cloneRule && cloneRule.type === 'array' && cloneRule.defaultField) {\n subRuleField = cloneRule.defaultField;\n delete cloneRule.defaultField;\n }\n validator = new AsyncValidator(_defineProperty({}, name, [cloneRule]));\n messages = merge(defaultValidateMessages, options.validateMessages);\n validator.messages(messages);\n result = [];\n _context2.prev = 10;\n _context2.next = 13;\n return Promise.resolve(validator.validate(_defineProperty({}, name, value), _objectSpread({}, options)));\n case 13:\n _context2.next = 18;\n break;\n case 15:\n _context2.prev = 15;\n _context2.t0 = _context2[\"catch\"](10);\n if (_context2.t0.errors) {\n result = _context2.t0.errors.map(function (_ref4, index) {\n var message = _ref4.message;\n var mergedMessage = message === CODE_LOGIC_ERROR ? messages.default : message;\n return /*#__PURE__*/React.isValidElement(mergedMessage) ?\n /*#__PURE__*/\n // Wrap ReactNode with `key`\n React.cloneElement(mergedMessage, {\n key: \"error_\".concat(index)\n }) : mergedMessage;\n });\n }\n case 18:\n if (!(!result.length && subRuleField)) {\n _context2.next = 23;\n break;\n }\n _context2.next = 21;\n return Promise.all(value.map(function (subValue, i) {\n return validateRule(\"\".concat(name, \".\").concat(i), subValue, subRuleField, options, messageVariables);\n }));\n case 21:\n subResults = _context2.sent;\n return _context2.abrupt(\"return\", subResults.reduce(function (prev, errors) {\n return [].concat(_toConsumableArray(prev), _toConsumableArray(errors));\n }, []));\n case 23:\n // Replace message with variables\n kv = _objectSpread(_objectSpread({}, rule), {}, {\n name: name,\n enum: (rule.enum || []).join(', ')\n }, messageVariables);\n fillVariableResult = result.map(function (error) {\n if (typeof error === 'string') {\n return replaceMessage(error, kv);\n }\n return error;\n });\n return _context2.abrupt(\"return\", fillVariableResult);\n case 26:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[10, 15]]);\n }));\n return _validateRule.apply(this, arguments);\n}\nexport function validateRules(namePath, value, rules, options, validateFirst, messageVariables) {\n var name = namePath.join('.');\n\n // Fill rule with context\n var filledRules = rules.map(function (currentRule, ruleIndex) {\n var originValidatorFunc = currentRule.validator;\n var cloneRule = _objectSpread(_objectSpread({}, currentRule), {}, {\n ruleIndex: ruleIndex\n });\n\n // Replace validator if needed\n if (originValidatorFunc) {\n cloneRule.validator = function (rule, val, callback) {\n var hasPromise = false;\n\n // Wrap callback only accept when promise not provided\n var wrappedCallback = function wrappedCallback() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n // Wait a tick to make sure return type is a promise\n Promise.resolve().then(function () {\n warning(!hasPromise, 'Your validator function has already return a promise. `callback` will be ignored.');\n if (!hasPromise) {\n callback.apply(void 0, args);\n }\n });\n };\n\n // Get promise\n var promise = originValidatorFunc(rule, val, wrappedCallback);\n hasPromise = promise && typeof promise.then === 'function' && typeof promise.catch === 'function';\n\n /**\n * 1. Use promise as the first priority.\n * 2. If promise not exist, use callback with warning instead\n */\n warning(hasPromise, '`callback` is deprecated. Please return a promise instead.');\n if (hasPromise) {\n promise.then(function () {\n callback();\n }).catch(function (err) {\n callback(err || ' ');\n });\n }\n };\n }\n return cloneRule;\n }).sort(function (_ref, _ref2) {\n var w1 = _ref.warningOnly,\n i1 = _ref.ruleIndex;\n var w2 = _ref2.warningOnly,\n i2 = _ref2.ruleIndex;\n if (!!w1 === !!w2) {\n // Let keep origin order\n return i1 - i2;\n }\n if (w1) {\n return 1;\n }\n return -1;\n });\n\n // Do validate rules\n var summaryPromise;\n if (validateFirst === true) {\n // >>>>> Validate by serialization\n summaryPromise = new Promise( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resolve, reject) {\n var i, rule, errors;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n i = 0;\n case 1:\n if (!(i < filledRules.length)) {\n _context.next = 12;\n break;\n }\n rule = filledRules[i];\n _context.next = 5;\n return validateRule(name, value, rule, options, messageVariables);\n case 5:\n errors = _context.sent;\n if (!errors.length) {\n _context.next = 9;\n break;\n }\n reject([{\n errors: errors,\n rule: rule\n }]);\n return _context.abrupt(\"return\");\n case 9:\n i += 1;\n _context.next = 1;\n break;\n case 12:\n /* eslint-enable */\n\n resolve([]);\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }());\n } else {\n // >>>>> Validate by parallel\n var rulePromises = filledRules.map(function (rule) {\n return validateRule(name, value, rule, options, messageVariables).then(function (errors) {\n return {\n errors: errors,\n rule: rule\n };\n });\n });\n summaryPromise = (validateFirst ? finishOnFirstFailed(rulePromises) : finishOnAllFailed(rulePromises)).then(function (errors) {\n // Always change to rejection for Field to catch\n return Promise.reject(errors);\n });\n }\n\n // Internal catch error to avoid console error log.\n summaryPromise.catch(function (e) {\n return e;\n });\n return summaryPromise;\n}\nfunction finishOnAllFailed(_x8) {\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction _finishOnAllFailed() {\n _finishOnAllFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(rulePromises) {\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", Promise.all(rulePromises).then(function (errorsList) {\n var _ref5;\n var errors = (_ref5 = []).concat.apply(_ref5, _toConsumableArray(errorsList));\n return errors;\n }));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction finishOnFirstFailed(_x9) {\n return _finishOnFirstFailed.apply(this, arguments);\n}\nfunction _finishOnFirstFailed() {\n _finishOnFirstFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(rulePromises) {\n var count;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n count = 0;\n return _context4.abrupt(\"return\", new Promise(function (resolve) {\n rulePromises.forEach(function (promise) {\n promise.then(function (ruleError) {\n if (ruleError.errors.length) {\n resolve([ruleError]);\n }\n count += 1;\n if (count === rulePromises.length) {\n resolve([]);\n }\n });\n });\n }));\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _finishOnFirstFailed.apply(this, arguments);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport getValue from \"rc-util/es/utils/get\";\nimport setValue from \"rc-util/es/utils/set\";\nimport { toArray } from \"./typeUtil\";\nexport { getValue, setValue };\n\n/**\n * Convert name to internal supported format.\n * This function should keep since we still thinking if need support like `a.b.c` format.\n * 'a' => ['a']\n * 123 => [123]\n * ['a', 123] => ['a', 123]\n */\nexport function getNamePath(path) {\n return toArray(path);\n}\nexport function cloneByNamePathList(store, namePathList) {\n var newStore = {};\n namePathList.forEach(function (namePath) {\n var value = getValue(store, namePath);\n newStore = setValue(newStore, namePath, value);\n });\n return newStore;\n}\n\n/**\n * Check if `namePathList` includes `namePath`.\n * @param namePathList A list of `InternalNamePath[]`\n * @param namePath Compare `InternalNamePath`\n * @param partialMatch True will make `[a, b]` match `[a, b, c]`\n */\nexport function containsNamePath(namePathList, namePath) {\n var partialMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return namePathList && namePathList.some(function (path) {\n return matchNamePath(namePath, path, partialMatch);\n });\n}\n\n/**\n * Check if `namePath` is super set or equal of `subNamePath`.\n * @param namePath A list of `InternalNamePath[]`\n * @param subNamePath Compare `InternalNamePath`\n * @param partialMatch True will make `[a, b]` match `[a, b, c]`\n */\nexport function matchNamePath(namePath, subNamePath) {\n var partialMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (!namePath || !subNamePath) {\n return false;\n }\n if (!partialMatch && namePath.length !== subNamePath.length) {\n return false;\n }\n return subNamePath.every(function (nameUnit, i) {\n return namePath[i] === nameUnit;\n });\n}\n\n// Like `shallowEqual`, but we not check the data which may cause re-render\n\nexport function isSimilar(source, target) {\n if (source === target) {\n return true;\n }\n if (!source && target || source && !target) {\n return false;\n }\n if (!source || !target || _typeof(source) !== 'object' || _typeof(target) !== 'object') {\n return false;\n }\n var sourceKeys = Object.keys(source);\n var targetKeys = Object.keys(target);\n var keys = new Set([].concat(sourceKeys, targetKeys));\n return _toConsumableArray(keys).every(function (key) {\n var sourceValue = source[key];\n var targetValue = target[key];\n if (typeof sourceValue === 'function' && typeof targetValue === 'function') {\n return true;\n }\n return sourceValue === targetValue;\n });\n}\nexport function defaultGetValueFromEvent(valuePropName) {\n var event = arguments.length <= 1 ? undefined : arguments[1];\n if (event && event.target && _typeof(event.target) === 'object' && valuePropName in event.target) {\n return event.target[valuePropName];\n }\n return event;\n}\n\n/**\n * Moves an array item from one position in an array to another.\n *\n * Note: This is a pure function so a new array will be returned, instead\n * of altering the array argument.\n *\n * @param array Array in which to move an item. (required)\n * @param moveIndex The index of the item to move. (required)\n * @param toIndex The index to move item at moveIndex to. (required)\n */\nexport function move(array, moveIndex, toIndex) {\n var length = array.length;\n if (moveIndex < 0 || moveIndex >= length || toIndex < 0 || toIndex >= length) {\n return array;\n }\n var item = array[moveIndex];\n var diff = moveIndex - toIndex;\n if (diff > 0) {\n // move left\n return [].concat(_toConsumableArray(array.slice(0, toIndex)), [item], _toConsumableArray(array.slice(toIndex, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, length)));\n }\n if (diff < 0) {\n // move right\n return [].concat(_toConsumableArray(array.slice(0, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, toIndex + 1)), [item], _toConsumableArray(array.slice(toIndex + 1, length)));\n }\n return array;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\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 = [\"name\"];\nimport toChildrenArray from \"rc-util/es/Children/toArray\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport ListContext from \"./ListContext\";\nimport { toArray } from \"./utils/typeUtil\";\nimport { validateRules } from \"./utils/validateUtil\";\nimport { containsNamePath, defaultGetValueFromEvent, getNamePath, getValue } from \"./utils/valueUtil\";\nvar EMPTY_ERRORS = [];\nfunction requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {\n if (typeof shouldUpdate === 'function') {\n return shouldUpdate(prev, next, 'source' in info ? {\n source: info.source\n } : {});\n }\n return prevValue !== nextValue;\n}\n\n// eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style\n// We use Class instead of Hooks here since it will cost much code by using Hooks.\nvar Field = /*#__PURE__*/function (_React$Component) {\n _inherits(Field, _React$Component);\n var _super = _createSuper(Field);\n // ============================== Subscriptions ==============================\n function Field(props) {\n var _this;\n _classCallCheck(this, Field);\n _this = _super.call(this, props);\n\n // Register on init\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n resetCount: 0\n });\n _defineProperty(_assertThisInitialized(_this), \"cancelRegisterFunc\", null);\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n /**\n * Follow state should not management in State since it will async update by React.\n * This makes first render of form can not get correct state value.\n */\n _defineProperty(_assertThisInitialized(_this), \"touched\", false);\n /**\n * Mark when touched & validated. Currently only used for `dependencies`.\n * Note that we do not think field with `initialValue` is dirty\n * but this will be by `isFieldDirty` func.\n */\n _defineProperty(_assertThisInitialized(_this), \"dirty\", false);\n _defineProperty(_assertThisInitialized(_this), \"validatePromise\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"prevValidating\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"errors\", EMPTY_ERRORS);\n _defineProperty(_assertThisInitialized(_this), \"warnings\", EMPTY_ERRORS);\n _defineProperty(_assertThisInitialized(_this), \"cancelRegister\", function () {\n var _this$props = _this.props,\n preserve = _this$props.preserve,\n isListField = _this$props.isListField,\n name = _this$props.name;\n if (_this.cancelRegisterFunc) {\n _this.cancelRegisterFunc(isListField, preserve, getNamePath(name));\n }\n _this.cancelRegisterFunc = null;\n });\n // ================================== Utils ==================================\n _defineProperty(_assertThisInitialized(_this), \"getNamePath\", function () {\n var _this$props2 = _this.props,\n name = _this$props2.name,\n fieldContext = _this$props2.fieldContext;\n var _fieldContext$prefixN = fieldContext.prefixName,\n prefixName = _fieldContext$prefixN === void 0 ? [] : _fieldContext$prefixN;\n return name !== undefined ? [].concat(_toConsumableArray(prefixName), _toConsumableArray(name)) : [];\n });\n _defineProperty(_assertThisInitialized(_this), \"getRules\", function () {\n var _this$props3 = _this.props,\n _this$props3$rules = _this$props3.rules,\n rules = _this$props3$rules === void 0 ? [] : _this$props3$rules,\n fieldContext = _this$props3.fieldContext;\n return rules.map(function (rule) {\n if (typeof rule === 'function') {\n return rule(fieldContext);\n }\n return rule;\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"refresh\", function () {\n if (!_this.mounted) return;\n\n /**\n * Clean up current node.\n */\n _this.setState(function (_ref) {\n var resetCount = _ref.resetCount;\n return {\n resetCount: resetCount + 1\n };\n });\n });\n // Event should only trigger when meta changed\n _defineProperty(_assertThisInitialized(_this), \"metaCache\", null);\n _defineProperty(_assertThisInitialized(_this), \"triggerMetaEvent\", function (destroy) {\n var onMetaChange = _this.props.onMetaChange;\n if (onMetaChange) {\n var _meta = _objectSpread(_objectSpread({}, _this.getMeta()), {}, {\n destroy: destroy\n });\n if (!isEqual(_this.metaCache, _meta)) {\n onMetaChange(_meta);\n }\n _this.metaCache = _meta;\n } else {\n _this.metaCache = null;\n }\n });\n // ========================= Field Entity Interfaces =========================\n // Trigger by store update. Check if need update the component\n _defineProperty(_assertThisInitialized(_this), \"onStoreChange\", function (prevStore, namePathList, info) {\n var _this$props4 = _this.props,\n shouldUpdate = _this$props4.shouldUpdate,\n _this$props4$dependen = _this$props4.dependencies,\n dependencies = _this$props4$dependen === void 0 ? [] : _this$props4$dependen,\n onReset = _this$props4.onReset;\n var store = info.store;\n var namePath = _this.getNamePath();\n var prevValue = _this.getValue(prevStore);\n var curValue = _this.getValue(store);\n var namePathMatch = namePathList && containsNamePath(namePathList, namePath);\n\n // `setFieldsValue` is a quick access to update related status\n if (info.type === 'valueUpdate' && info.source === 'external' && prevValue !== curValue) {\n _this.touched = true;\n _this.dirty = true;\n _this.validatePromise = null;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n }\n switch (info.type) {\n case 'reset':\n if (!namePathList || namePathMatch) {\n // Clean up state\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = undefined;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n onReset === null || onReset === void 0 || onReset();\n _this.refresh();\n return;\n }\n break;\n\n /**\n * In case field with `preserve = false` nest deps like:\n * - A = 1 => show B\n * - B = 1 => show C\n * - Reset A, need clean B, C\n */\n case 'remove':\n {\n if (shouldUpdate) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'setField':\n {\n var data = info.data;\n if (namePathMatch) {\n if ('touched' in data) {\n _this.touched = data.touched;\n }\n if ('validating' in data && !('originRCField' in data)) {\n _this.validatePromise = data.validating ? Promise.resolve([]) : null;\n }\n if ('errors' in data) {\n _this.errors = data.errors || EMPTY_ERRORS;\n }\n if ('warnings' in data) {\n _this.warnings = data.warnings || EMPTY_ERRORS;\n }\n _this.dirty = true;\n _this.triggerMetaEvent();\n _this.reRender();\n return;\n } else if ('value' in data && containsNamePath(namePathList, namePath, true)) {\n // Contains path with value should also check\n _this.reRender();\n return;\n }\n\n // Handle update by `setField` with `shouldUpdate`\n if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'dependenciesUpdate':\n {\n /**\n * Trigger when marked `dependencies` updated. Related fields will all update\n */\n var dependencyList = dependencies.map(getNamePath);\n // No need for `namePathMath` check and `shouldUpdate` check, since `valueUpdate` will be\n // emitted earlier and they will work there\n // If set it may cause unnecessary twice rerendering\n if (dependencyList.some(function (dependency) {\n return containsNamePath(info.relatedFields, dependency);\n })) {\n _this.reRender();\n return;\n }\n break;\n }\n default:\n // 1. If `namePath` exists in `namePathList`, means it's related value and should update\n // For example <List name=\"list\"><Field name={['list', 0]}></List>\n // If `namePathList` is [['list']] (List value update), Field should be updated\n // If `namePathList` is [['list', 0]] (Field value update), List shouldn't be updated\n // 2.\n // 2.1 If `dependencies` is set, `name` is not set and `shouldUpdate` is not set,\n // don't use `shouldUpdate`. `dependencies` is view as a shortcut if `shouldUpdate`\n // is not provided\n // 2.2 If `shouldUpdate` provided, use customize logic to update the field\n // else to check if value changed\n if (namePathMatch || (!dependencies.length || namePath.length || shouldUpdate) && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n if (shouldUpdate === true) {\n _this.reRender();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"validateRules\", function (options) {\n // We should fixed namePath & value to avoid developer change then by form function\n var namePath = _this.getNamePath();\n var currentValue = _this.getValue();\n var _ref2 = options || {},\n triggerName = _ref2.triggerName,\n _ref2$validateOnly = _ref2.validateOnly,\n validateOnly = _ref2$validateOnly === void 0 ? false : _ref2$validateOnly;\n\n // Force change to async to avoid rule OOD under renderProps field\n var rootPromise = Promise.resolve().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var _this$props5, _this$props5$validate, validateFirst, messageVariables, validateDebounce, filteredRules, promise;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (_this.mounted) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\", []);\n case 2:\n _this$props5 = _this.props, _this$props5$validate = _this$props5.validateFirst, validateFirst = _this$props5$validate === void 0 ? false : _this$props5$validate, messageVariables = _this$props5.messageVariables, validateDebounce = _this$props5.validateDebounce; // Start validate\n filteredRules = _this.getRules();\n if (triggerName) {\n filteredRules = filteredRules.filter(function (rule) {\n return rule;\n }).filter(function (rule) {\n var validateTrigger = rule.validateTrigger;\n if (!validateTrigger) {\n return true;\n }\n var triggerList = toArray(validateTrigger);\n return triggerList.includes(triggerName);\n });\n }\n\n // Wait for debounce. Skip if no `triggerName` since its from `validateFields / submit`\n if (!(validateDebounce && triggerName)) {\n _context.next = 10;\n break;\n }\n _context.next = 8;\n return new Promise(function (resolve) {\n setTimeout(resolve, validateDebounce);\n });\n case 8:\n if (!(_this.validatePromise !== rootPromise)) {\n _context.next = 10;\n break;\n }\n return _context.abrupt(\"return\", []);\n case 10:\n promise = validateRules(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var ruleErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EMPTY_ERRORS;\n if (_this.validatePromise === rootPromise) {\n var _ruleErrors$forEach;\n _this.validatePromise = null;\n\n // Get errors & warnings\n var nextErrors = [];\n var nextWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 || _ruleErrors$forEach.call(ruleErrors, function (_ref4) {\n var warningOnly = _ref4.rule.warningOnly,\n _ref4$errors = _ref4.errors,\n errors = _ref4$errors === void 0 ? EMPTY_ERRORS : _ref4$errors;\n if (warningOnly) {\n nextWarnings.push.apply(nextWarnings, _toConsumableArray(errors));\n } else {\n nextErrors.push.apply(nextErrors, _toConsumableArray(errors));\n }\n });\n _this.errors = nextErrors;\n _this.warnings = nextWarnings;\n _this.triggerMetaEvent();\n _this.reRender();\n }\n });\n return _context.abrupt(\"return\", promise);\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n if (validateOnly) {\n return rootPromise;\n }\n _this.validatePromise = rootPromise;\n _this.dirty = true;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n\n // Force trigger re-render since we need sync renderProps with new meta\n _this.reRender();\n return rootPromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"isFieldValidating\", function () {\n return !!_this.validatePromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"isFieldTouched\", function () {\n return _this.touched;\n });\n _defineProperty(_assertThisInitialized(_this), \"isFieldDirty\", function () {\n // Touched or validate or has initialValue\n if (_this.dirty || _this.props.initialValue !== undefined) {\n return true;\n }\n\n // Form set initialValue\n var fieldContext = _this.props.fieldContext;\n var _fieldContext$getInte = fieldContext.getInternalHooks(HOOK_MARK),\n getInitialValue = _fieldContext$getInte.getInitialValue;\n if (getInitialValue(_this.getNamePath()) !== undefined) {\n return true;\n }\n return false;\n });\n _defineProperty(_assertThisInitialized(_this), \"getErrors\", function () {\n return _this.errors;\n });\n _defineProperty(_assertThisInitialized(_this), \"getWarnings\", function () {\n return _this.warnings;\n });\n _defineProperty(_assertThisInitialized(_this), \"isListField\", function () {\n return _this.props.isListField;\n });\n _defineProperty(_assertThisInitialized(_this), \"isList\", function () {\n return _this.props.isList;\n });\n _defineProperty(_assertThisInitialized(_this), \"isPreserve\", function () {\n return _this.props.preserve;\n });\n // ============================= Child Component =============================\n _defineProperty(_assertThisInitialized(_this), \"getMeta\", function () {\n // Make error & validating in cache to save perf\n _this.prevValidating = _this.isFieldValidating();\n var meta = {\n touched: _this.isFieldTouched(),\n validating: _this.prevValidating,\n errors: _this.errors,\n warnings: _this.warnings,\n name: _this.getNamePath(),\n validated: _this.validatePromise === null\n };\n return meta;\n });\n // Only return validate child node. If invalidate, will do nothing about field.\n _defineProperty(_assertThisInitialized(_this), \"getOnlyChild\", function (children) {\n // Support render props\n if (typeof children === 'function') {\n var _meta2 = _this.getMeta();\n return _objectSpread(_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), _meta2, _this.props.fieldContext))), {}, {\n isFunction: true\n });\n }\n\n // Filed element only\n var childList = toChildrenArray(children);\n if (childList.length !== 1 || ! /*#__PURE__*/React.isValidElement(childList[0])) {\n return {\n child: childList,\n isFunction: false\n };\n }\n return {\n child: childList[0],\n isFunction: false\n };\n });\n // ============================== Field Control ==============================\n _defineProperty(_assertThisInitialized(_this), \"getValue\", function (store) {\n var getFieldsValue = _this.props.fieldContext.getFieldsValue;\n var namePath = _this.getNamePath();\n return getValue(store || getFieldsValue(true), namePath);\n });\n _defineProperty(_assertThisInitialized(_this), \"getControlled\", function () {\n var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _this$props6 = _this.props,\n trigger = _this$props6.trigger,\n validateTrigger = _this$props6.validateTrigger,\n getValueFromEvent = _this$props6.getValueFromEvent,\n normalize = _this$props6.normalize,\n valuePropName = _this$props6.valuePropName,\n getValueProps = _this$props6.getValueProps,\n fieldContext = _this$props6.fieldContext;\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;\n var namePath = _this.getNamePath();\n var getInternalHooks = fieldContext.getInternalHooks,\n getFieldsValue = fieldContext.getFieldsValue;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n dispatch = _getInternalHooks.dispatch;\n var value = _this.getValue();\n var mergedGetValueProps = getValueProps || function (val) {\n return _defineProperty({}, valuePropName, val);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var originTriggerFunc = childProps[trigger];\n var control = _objectSpread(_objectSpread({}, childProps), mergedGetValueProps(value));\n\n // Add trigger\n control[trigger] = function () {\n // Mark as touched\n _this.touched = true;\n _this.dirty = true;\n _this.triggerMetaEvent();\n var newValue;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (getValueFromEvent) {\n newValue = getValueFromEvent.apply(void 0, args);\n } else {\n newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));\n }\n if (normalize) {\n newValue = normalize(newValue, value, getFieldsValue(true));\n }\n dispatch({\n type: 'updateValue',\n namePath: namePath,\n value: newValue\n });\n if (originTriggerFunc) {\n originTriggerFunc.apply(void 0, args);\n }\n };\n\n // Add validateTrigger\n var validateTriggerList = toArray(mergedValidateTrigger || []);\n validateTriggerList.forEach(function (triggerName) {\n // Wrap additional function of component, so that we can get latest value from store\n var originTrigger = control[triggerName];\n control[triggerName] = function () {\n if (originTrigger) {\n originTrigger.apply(void 0, arguments);\n }\n\n // Always use latest rules\n var rules = _this.props.rules;\n if (rules && rules.length) {\n // We dispatch validate to root,\n // since it will update related data with other field with same name\n dispatch({\n type: 'validateField',\n namePath: namePath,\n triggerName: triggerName\n });\n }\n };\n });\n return control;\n });\n if (props.fieldContext) {\n var getInternalHooks = props.fieldContext.getInternalHooks;\n var _getInternalHooks2 = getInternalHooks(HOOK_MARK),\n initEntityValue = _getInternalHooks2.initEntityValue;\n initEntityValue(_assertThisInitialized(_this));\n }\n return _this;\n }\n _createClass(Field, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props7 = this.props,\n shouldUpdate = _this$props7.shouldUpdate,\n fieldContext = _this$props7.fieldContext;\n this.mounted = true;\n\n // Register on init\n if (fieldContext) {\n var getInternalHooks = fieldContext.getInternalHooks;\n var _getInternalHooks3 = getInternalHooks(HOOK_MARK),\n registerField = _getInternalHooks3.registerField;\n this.cancelRegisterFunc = registerField(this);\n }\n\n // One more render for component in case fields not ready\n if (shouldUpdate === true) {\n this.reRender();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRegister();\n this.triggerMetaEvent(true);\n this.mounted = false;\n }\n }, {\n key: \"reRender\",\n value: function reRender() {\n if (!this.mounted) return;\n this.forceUpdate();\n }\n }, {\n key: \"render\",\n value: function render() {\n var resetCount = this.state.resetCount;\n var children = this.props.children;\n var _this$getOnlyChild = this.getOnlyChild(children),\n child = _this$getOnlyChild.child,\n isFunction = _this$getOnlyChild.isFunction;\n\n // Not need to `cloneElement` since user can handle this in render function self\n var returnChildNode;\n if (isFunction) {\n returnChildNode = child;\n } else if ( /*#__PURE__*/React.isValidElement(child)) {\n returnChildNode = /*#__PURE__*/React.cloneElement(child, this.getControlled(child.props));\n } else {\n warning(!child, '`children` of Field is not validate ReactElement.');\n returnChildNode = child;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: resetCount\n }, returnChildNode);\n }\n }]);\n return Field;\n}(React.Component);\n_defineProperty(Field, \"contextType\", FieldContext);\n_defineProperty(Field, \"defaultProps\", {\n trigger: 'onChange',\n valuePropName: 'value'\n});\nfunction WrapperField(_ref6) {\n var name = _ref6.name,\n restProps = _objectWithoutProperties(_ref6, _excluded);\n var fieldContext = React.useContext(FieldContext);\n var listContext = React.useContext(ListContext);\n var namePath = name !== undefined ? getNamePath(name) : undefined;\n var key = 'keep';\n if (!restProps.isListField) {\n key = \"_\".concat((namePath || []).join('_'));\n }\n\n // Warning if it's a directly list field.\n // We can still support multiple level field preserve.\n if (process.env.NODE_ENV !== 'production' && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {\n warning(false, '`preserve` should not apply on Form.List fields.');\n }\n return /*#__PURE__*/React.createElement(Field, _extends({\n key: key,\n name: namePath,\n isListField: !!listContext\n }, restProps, {\n fieldContext: fieldContext\n }));\n}\nexport default WrapperField;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport FieldContext from \"./FieldContext\";\nimport Field from \"./Field\";\nimport { move as _move, getNamePath } from \"./utils/valueUtil\";\nimport ListContext from \"./ListContext\";\nfunction List(_ref) {\n var name = _ref.name,\n initialValue = _ref.initialValue,\n children = _ref.children,\n rules = _ref.rules,\n validateTrigger = _ref.validateTrigger,\n isListField = _ref.isListField;\n var context = React.useContext(FieldContext);\n var wrapperListContext = React.useContext(ListContext);\n var keyRef = React.useRef({\n keys: [],\n id: 0\n });\n var keyManager = keyRef.current;\n var prefixName = React.useMemo(function () {\n var parentPrefixName = getNamePath(context.prefixName) || [];\n return [].concat(_toConsumableArray(parentPrefixName), _toConsumableArray(getNamePath(name)));\n }, [context.prefixName, name]);\n var fieldContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, context), {}, {\n prefixName: prefixName\n });\n }, [context, prefixName]);\n\n // List context\n var listContext = React.useMemo(function () {\n return {\n getKey: function getKey(namePath) {\n var len = prefixName.length;\n var pathName = namePath[len];\n return [keyManager.keys[pathName], namePath.slice(len + 1)];\n }\n };\n }, [prefixName]);\n\n // User should not pass `children` as other type.\n if (typeof children !== 'function') {\n warning(false, 'Form.List only accepts function as children.');\n return null;\n }\n var shouldUpdate = function shouldUpdate(prevValue, nextValue, _ref2) {\n var source = _ref2.source;\n if (source === 'internal') {\n return false;\n }\n return prevValue !== nextValue;\n };\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: listContext\n }, /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: fieldContext\n }, /*#__PURE__*/React.createElement(Field, {\n name: [],\n shouldUpdate: shouldUpdate,\n rules: rules,\n validateTrigger: validateTrigger,\n initialValue: initialValue,\n isList: true,\n isListField: isListField !== null && isListField !== void 0 ? isListField : !!wrapperListContext\n }, function (_ref3, meta) {\n var _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? [] : _ref3$value,\n onChange = _ref3.onChange;\n var getFieldValue = context.getFieldValue;\n var getNewValue = function getNewValue() {\n var values = getFieldValue(prefixName || []);\n return values || [];\n };\n /**\n * Always get latest value in case user update fields by `form` api.\n */\n var operations = {\n add: function add(defaultValue, index) {\n // Mapping keys\n var newValue = getNewValue();\n if (index >= 0 && index <= newValue.length) {\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys.slice(0, index)), [keyManager.id], _toConsumableArray(keyManager.keys.slice(index)));\n onChange([].concat(_toConsumableArray(newValue.slice(0, index)), [defaultValue], _toConsumableArray(newValue.slice(index))));\n } else {\n if (process.env.NODE_ENV !== 'production' && (index < 0 || index > newValue.length)) {\n warning(false, 'The second parameter of the add function should be a valid positive number.');\n }\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys), [keyManager.id]);\n onChange([].concat(_toConsumableArray(newValue), [defaultValue]));\n }\n keyManager.id += 1;\n },\n remove: function remove(index) {\n var newValue = getNewValue();\n var indexSet = new Set(Array.isArray(index) ? index : [index]);\n if (indexSet.size <= 0) {\n return;\n }\n keyManager.keys = keyManager.keys.filter(function (_, keysIndex) {\n return !indexSet.has(keysIndex);\n });\n\n // Trigger store change\n onChange(newValue.filter(function (_, valueIndex) {\n return !indexSet.has(valueIndex);\n }));\n },\n move: function move(from, to) {\n if (from === to) {\n return;\n }\n var newValue = getNewValue();\n\n // Do not handle out of range\n if (from < 0 || from >= newValue.length || to < 0 || to >= newValue.length) {\n return;\n }\n keyManager.keys = _move(keyManager.keys, from, to);\n\n // Trigger store change\n onChange(_move(newValue, from, to));\n }\n };\n var listValue = value || [];\n if (!Array.isArray(listValue)) {\n listValue = [];\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"Current value of '\".concat(prefixName.join(' > '), \"' is not an array type.\"));\n }\n }\n return children(listValue.map(function (__, index) {\n var key = keyManager.keys[index];\n if (key === undefined) {\n keyManager.keys[index] = keyManager.id;\n key = keyManager.keys[index];\n keyManager.id += 1;\n }\n return {\n name: index,\n key: key,\n isListField: true\n };\n }), operations, meta);\n })));\n}\nexport default List;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar SPLIT = '__@field_split__';\n\n/**\n * Convert name path into string to fast the fetch speed of Map.\n */\nfunction normalize(namePath) {\n return namePath.map(function (cell) {\n return \"\".concat(_typeof(cell), \":\").concat(cell);\n })\n // Magic split\n .join(SPLIT);\n}\n\n/**\n * NameMap like a `Map` but accepts `string[]` as key.\n */\nvar NameMap = /*#__PURE__*/function () {\n function NameMap() {\n _classCallCheck(this, NameMap);\n _defineProperty(this, \"kvs\", new Map());\n }\n _createClass(NameMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.kvs.set(normalize(key), value);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.kvs.get(normalize(key));\n }\n }, {\n key: \"update\",\n value: function update(key, updater) {\n var origin = this.get(key);\n var next = updater(origin);\n if (!next) {\n this.delete(key);\n } else {\n this.set(key, next);\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this.kvs.delete(normalize(key));\n }\n\n // Since we only use this in test, let simply realize this\n }, {\n key: \"map\",\n value: function map(callback) {\n return _toConsumableArray(this.kvs.entries()).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n var cells = key.split(SPLIT);\n return callback({\n key: cells.map(function (cell) {\n var _cell$match = cell.match(/^([^:]*):(.*)$/),\n _cell$match2 = _slicedToArray(_cell$match, 3),\n type = _cell$match2[1],\n unit = _cell$match2[2];\n return type === 'number' ? Number(unit) : unit;\n }),\n value: value\n });\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var json = {};\n this.map(function (_ref3) {\n var key = _ref3.key,\n value = _ref3.value;\n json[key.join('.')] = value;\n return null;\n });\n return json;\n }\n }]);\n return NameMap;\n}();\nexport default NameMap;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"name\"];\nimport { merge } from \"rc-util/es/utils/set\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { HOOK_MARK } from \"./FieldContext\";\nimport { allPromiseFinish } from \"./utils/asyncUtil\";\nimport { defaultValidateMessages } from \"./utils/messages\";\nimport NameMap from \"./utils/NameMap\";\nimport { cloneByNamePathList, containsNamePath, getNamePath, getValue, matchNamePath, setValue } from \"./utils/valueUtil\";\nexport var FormStore = /*#__PURE__*/_createClass(function FormStore(forceRootUpdate) {\n var _this = this;\n _classCallCheck(this, FormStore);\n _defineProperty(this, \"formHooked\", false);\n _defineProperty(this, \"forceRootUpdate\", void 0);\n _defineProperty(this, \"subscribable\", true);\n _defineProperty(this, \"store\", {});\n _defineProperty(this, \"fieldEntities\", []);\n _defineProperty(this, \"initialValues\", {});\n _defineProperty(this, \"callbacks\", {});\n _defineProperty(this, \"validateMessages\", null);\n _defineProperty(this, \"preserve\", null);\n _defineProperty(this, \"lastValidatePromise\", null);\n _defineProperty(this, \"getForm\", function () {\n return {\n getFieldValue: _this.getFieldValue,\n getFieldsValue: _this.getFieldsValue,\n getFieldError: _this.getFieldError,\n getFieldWarning: _this.getFieldWarning,\n getFieldsError: _this.getFieldsError,\n isFieldsTouched: _this.isFieldsTouched,\n isFieldTouched: _this.isFieldTouched,\n isFieldValidating: _this.isFieldValidating,\n isFieldsValidating: _this.isFieldsValidating,\n resetFields: _this.resetFields,\n setFields: _this.setFields,\n setFieldValue: _this.setFieldValue,\n setFieldsValue: _this.setFieldsValue,\n validateFields: _this.validateFields,\n submit: _this.submit,\n _init: true,\n getInternalHooks: _this.getInternalHooks\n };\n });\n // ======================== Internal Hooks ========================\n _defineProperty(this, \"getInternalHooks\", function (key) {\n if (key === HOOK_MARK) {\n _this.formHooked = true;\n return {\n dispatch: _this.dispatch,\n initEntityValue: _this.initEntityValue,\n registerField: _this.registerField,\n useSubscribe: _this.useSubscribe,\n setInitialValues: _this.setInitialValues,\n destroyForm: _this.destroyForm,\n setCallbacks: _this.setCallbacks,\n setValidateMessages: _this.setValidateMessages,\n getFields: _this.getFields,\n setPreserve: _this.setPreserve,\n getInitialValue: _this.getInitialValue,\n registerWatch: _this.registerWatch\n };\n }\n warning(false, '`getInternalHooks` is internal usage. Should not call directly.');\n return null;\n });\n _defineProperty(this, \"useSubscribe\", function (subscribable) {\n _this.subscribable = subscribable;\n });\n /**\n * Record prev Form unmount fieldEntities which config preserve false.\n * This need to be refill with initialValues instead of store value.\n */\n _defineProperty(this, \"prevWithoutPreserves\", null);\n /**\n * First time `setInitialValues` should update store with initial value\n */\n _defineProperty(this, \"setInitialValues\", function (initialValues, init) {\n _this.initialValues = initialValues || {};\n if (init) {\n var _this$prevWithoutPres;\n var nextStore = merge(initialValues, _this.store);\n\n // We will take consider prev form unmount fields.\n // When the field is not `preserve`, we need fill this with initialValues instead of store.\n // eslint-disable-next-line array-callback-return\n (_this$prevWithoutPres = _this.prevWithoutPreserves) === null || _this$prevWithoutPres === void 0 || _this$prevWithoutPres.map(function (_ref) {\n var namePath = _ref.key;\n nextStore = setValue(nextStore, namePath, getValue(initialValues, namePath));\n });\n _this.prevWithoutPreserves = null;\n _this.updateStore(nextStore);\n }\n });\n _defineProperty(this, \"destroyForm\", function () {\n var prevWithoutPreserves = new NameMap();\n _this.getFieldEntities(true).forEach(function (entity) {\n if (!_this.isMergedPreserve(entity.isPreserve())) {\n prevWithoutPreserves.set(entity.getNamePath(), true);\n }\n });\n _this.prevWithoutPreserves = prevWithoutPreserves;\n });\n _defineProperty(this, \"getInitialValue\", function (namePath) {\n var initValue = getValue(_this.initialValues, namePath);\n\n // Not cloneDeep when without `namePath`\n return namePath.length ? merge(initValue) : initValue;\n });\n _defineProperty(this, \"setCallbacks\", function (callbacks) {\n _this.callbacks = callbacks;\n });\n _defineProperty(this, \"setValidateMessages\", function (validateMessages) {\n _this.validateMessages = validateMessages;\n });\n _defineProperty(this, \"setPreserve\", function (preserve) {\n _this.preserve = preserve;\n });\n // ============================= Watch ============================\n _defineProperty(this, \"watchList\", []);\n _defineProperty(this, \"registerWatch\", function (callback) {\n _this.watchList.push(callback);\n return function () {\n _this.watchList = _this.watchList.filter(function (fn) {\n return fn !== callback;\n });\n };\n });\n _defineProperty(this, \"notifyWatch\", function () {\n var namePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n // No need to cost perf when nothing need to watch\n if (_this.watchList.length) {\n var values = _this.getFieldsValue();\n var allValues = _this.getFieldsValue(true);\n _this.watchList.forEach(function (callback) {\n callback(values, allValues, namePath);\n });\n }\n });\n // ========================== Dev Warning =========================\n _defineProperty(this, \"timeoutId\", null);\n _defineProperty(this, \"warningUnhooked\", function () {\n if (process.env.NODE_ENV !== 'production' && !_this.timeoutId && typeof window !== 'undefined') {\n _this.timeoutId = setTimeout(function () {\n _this.timeoutId = null;\n if (!_this.formHooked) {\n warning(false, 'Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?');\n }\n });\n }\n });\n // ============================ Store =============================\n _defineProperty(this, \"updateStore\", function (nextStore) {\n _this.store = nextStore;\n });\n // ============================ Fields ============================\n /**\n * Get registered field entities.\n * @param pure Only return field which has a `name`. Default: false\n */\n _defineProperty(this, \"getFieldEntities\", function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (!pure) {\n return _this.fieldEntities;\n }\n return _this.fieldEntities.filter(function (field) {\n return field.getNamePath().length;\n });\n });\n _defineProperty(this, \"getFieldsMap\", function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cache = new NameMap();\n _this.getFieldEntities(pure).forEach(function (field) {\n var namePath = field.getNamePath();\n cache.set(namePath, field);\n });\n return cache;\n });\n _defineProperty(this, \"getFieldEntitiesForNamePathList\", function (nameList) {\n if (!nameList) {\n return _this.getFieldEntities(true);\n }\n var cache = _this.getFieldsMap(true);\n return nameList.map(function (name) {\n var namePath = getNamePath(name);\n return cache.get(namePath) || {\n INVALIDATE_NAME_PATH: getNamePath(name)\n };\n });\n });\n _defineProperty(this, \"getFieldsValue\", function (nameList, filterFunc) {\n _this.warningUnhooked();\n\n // Fill args\n var mergedNameList;\n var mergedFilterFunc;\n var mergedStrict;\n if (nameList === true || Array.isArray(nameList)) {\n mergedNameList = nameList;\n mergedFilterFunc = filterFunc;\n } else if (nameList && _typeof(nameList) === 'object') {\n mergedStrict = nameList.strict;\n mergedFilterFunc = nameList.filter;\n }\n if (mergedNameList === true && !mergedFilterFunc) {\n return _this.store;\n }\n var fieldEntities = _this.getFieldEntitiesForNamePathList(Array.isArray(mergedNameList) ? mergedNameList : null);\n var filteredNameList = [];\n fieldEntities.forEach(function (entity) {\n var _isListField, _ref3;\n var namePath = 'INVALIDATE_NAME_PATH' in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath();\n\n // Ignore when it's a list item and not specific the namePath,\n // since parent field is already take in count\n if (mergedStrict) {\n var _isList, _ref2;\n if ((_isList = (_ref2 = entity).isList) !== null && _isList !== void 0 && _isList.call(_ref2)) {\n return;\n }\n } else if (!mergedNameList && (_isListField = (_ref3 = entity).isListField) !== null && _isListField !== void 0 && _isListField.call(_ref3)) {\n return;\n }\n if (!mergedFilterFunc) {\n filteredNameList.push(namePath);\n } else {\n var meta = 'getMeta' in entity ? entity.getMeta() : null;\n if (mergedFilterFunc(meta)) {\n filteredNameList.push(namePath);\n }\n }\n });\n return cloneByNamePathList(_this.store, filteredNameList.map(getNamePath));\n });\n _defineProperty(this, \"getFieldValue\", function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n return getValue(_this.store, namePath);\n });\n _defineProperty(this, \"getFieldsError\", function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntitiesForNamePathList(nameList);\n return fieldEntities.map(function (entity, index) {\n if (entity && !('INVALIDATE_NAME_PATH' in entity)) {\n return {\n name: entity.getNamePath(),\n errors: entity.getErrors(),\n warnings: entity.getWarnings()\n };\n }\n return {\n name: getNamePath(nameList[index]),\n errors: [],\n warnings: []\n };\n });\n });\n _defineProperty(this, \"getFieldError\", function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.errors;\n });\n _defineProperty(this, \"getFieldWarning\", function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.warnings;\n });\n _defineProperty(this, \"isFieldsTouched\", function () {\n _this.warningUnhooked();\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var arg0 = args[0],\n arg1 = args[1];\n var namePathList;\n var isAllFieldsTouched = false;\n if (args.length === 0) {\n namePathList = null;\n } else if (args.length === 1) {\n if (Array.isArray(arg0)) {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = false;\n } else {\n namePathList = null;\n isAllFieldsTouched = arg0;\n }\n } else {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = arg1;\n }\n var fieldEntities = _this.getFieldEntities(true);\n var isFieldTouched = function isFieldTouched(field) {\n return field.isFieldTouched();\n };\n\n // ===== Will get fully compare when not config namePathList =====\n if (!namePathList) {\n return isAllFieldsTouched ? fieldEntities.every(isFieldTouched) : fieldEntities.some(isFieldTouched);\n }\n\n // Generate a nest tree for validate\n var map = new NameMap();\n namePathList.forEach(function (shortNamePath) {\n map.set(shortNamePath, []);\n });\n fieldEntities.forEach(function (field) {\n var fieldNamePath = field.getNamePath();\n\n // Find matched entity and put into list\n namePathList.forEach(function (shortNamePath) {\n if (shortNamePath.every(function (nameUnit, i) {\n return fieldNamePath[i] === nameUnit;\n })) {\n map.update(shortNamePath, function (list) {\n return [].concat(_toConsumableArray(list), [field]);\n });\n }\n });\n });\n\n // Check if NameMap value is touched\n var isNamePathListTouched = function isNamePathListTouched(entities) {\n return entities.some(isFieldTouched);\n };\n var namePathListEntities = map.map(function (_ref4) {\n var value = _ref4.value;\n return value;\n });\n return isAllFieldsTouched ? namePathListEntities.every(isNamePathListTouched) : namePathListEntities.some(isNamePathListTouched);\n });\n _defineProperty(this, \"isFieldTouched\", function (name) {\n _this.warningUnhooked();\n return _this.isFieldsTouched([name]);\n });\n _defineProperty(this, \"isFieldsValidating\", function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntities();\n if (!nameList) {\n return fieldEntities.some(function (testField) {\n return testField.isFieldValidating();\n });\n }\n var namePathList = nameList.map(getNamePath);\n return fieldEntities.some(function (testField) {\n var fieldNamePath = testField.getNamePath();\n return containsNamePath(namePathList, fieldNamePath) && testField.isFieldValidating();\n });\n });\n _defineProperty(this, \"isFieldValidating\", function (name) {\n _this.warningUnhooked();\n return _this.isFieldsValidating([name]);\n });\n /**\n * Reset Field with field `initialValue` prop.\n * Can pass `entities` or `namePathList` or just nothing.\n */\n _defineProperty(this, \"resetWithFieldInitialValue\", function () {\n var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Create cache\n var cache = new NameMap();\n var fieldEntities = _this.getFieldEntities(true);\n fieldEntities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n var namePath = field.getNamePath();\n\n // Record only if has `initialValue`\n if (initialValue !== undefined) {\n var records = cache.get(namePath) || new Set();\n records.add({\n entity: field,\n value: initialValue\n });\n cache.set(namePath, records);\n }\n });\n\n // Reset\n var resetWithFields = function resetWithFields(entities) {\n entities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = field.getNamePath();\n var formInitialValue = _this.getInitialValue(namePath);\n if (formInitialValue !== undefined) {\n // Warning if conflict with form initialValues and do not modify value\n warning(false, \"Form already set 'initialValues' with path '\".concat(namePath.join('.'), \"'. Field can not overwrite it.\"));\n } else {\n var records = cache.get(namePath);\n if (records && records.size > 1) {\n // Warning if multiple field set `initialValue`and do not modify value\n warning(false, \"Multiple Field with path '\".concat(namePath.join('.'), \"' set 'initialValue'. Can not decide which one to pick.\"));\n } else if (records) {\n var originValue = _this.getFieldValue(namePath);\n var isListField = field.isListField();\n\n // Set `initialValue`\n if (!isListField && (!info.skipExist || originValue === undefined)) {\n _this.updateStore(setValue(_this.store, namePath, _toConsumableArray(records)[0].value));\n }\n }\n }\n }\n });\n };\n var requiredFieldEntities;\n if (info.entities) {\n requiredFieldEntities = info.entities;\n } else if (info.namePathList) {\n requiredFieldEntities = [];\n info.namePathList.forEach(function (namePath) {\n var records = cache.get(namePath);\n if (records) {\n var _requiredFieldEntitie;\n (_requiredFieldEntitie = requiredFieldEntities).push.apply(_requiredFieldEntitie, _toConsumableArray(_toConsumableArray(records).map(function (r) {\n return r.entity;\n })));\n }\n });\n } else {\n requiredFieldEntities = fieldEntities;\n }\n resetWithFields(requiredFieldEntities);\n });\n _defineProperty(this, \"resetFields\", function (nameList) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (!nameList) {\n _this.updateStore(merge(_this.initialValues));\n _this.resetWithFieldInitialValue();\n _this.notifyObservers(prevStore, null, {\n type: 'reset'\n });\n _this.notifyWatch();\n return;\n }\n\n // Reset by `nameList`\n var namePathList = nameList.map(getNamePath);\n namePathList.forEach(function (namePath) {\n var initialValue = _this.getInitialValue(namePath);\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n });\n _this.resetWithFieldInitialValue({\n namePathList: namePathList\n });\n _this.notifyObservers(prevStore, namePathList, {\n type: 'reset'\n });\n _this.notifyWatch(namePathList);\n });\n _defineProperty(this, \"setFields\", function (fields) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n var namePathList = [];\n fields.forEach(function (fieldData) {\n var name = fieldData.name,\n data = _objectWithoutProperties(fieldData, _excluded);\n var namePath = getNamePath(name);\n namePathList.push(namePath);\n\n // Value\n if ('value' in data) {\n _this.updateStore(setValue(_this.store, namePath, data.value));\n }\n _this.notifyObservers(prevStore, [namePath], {\n type: 'setField',\n data: fieldData\n });\n });\n _this.notifyWatch(namePathList);\n });\n _defineProperty(this, \"getFields\", function () {\n var entities = _this.getFieldEntities(true);\n var fields = entities.map(function (field) {\n var namePath = field.getNamePath();\n var meta = field.getMeta();\n var fieldData = _objectSpread(_objectSpread({}, meta), {}, {\n name: namePath,\n value: _this.getFieldValue(namePath)\n });\n Object.defineProperty(fieldData, 'originRCField', {\n value: true\n });\n return fieldData;\n });\n return fields;\n });\n // =========================== Observer ===========================\n /**\n * This only trigger when a field is on constructor to avoid we get initialValue too late\n */\n _defineProperty(this, \"initEntityValue\", function (entity) {\n var initialValue = entity.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = entity.getNamePath();\n var prevValue = getValue(_this.store, namePath);\n if (prevValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n }\n }\n });\n _defineProperty(this, \"isMergedPreserve\", function (fieldPreserve) {\n var mergedPreserve = fieldPreserve !== undefined ? fieldPreserve : _this.preserve;\n return mergedPreserve !== null && mergedPreserve !== void 0 ? mergedPreserve : true;\n });\n _defineProperty(this, \"registerField\", function (entity) {\n _this.fieldEntities.push(entity);\n var namePath = entity.getNamePath();\n _this.notifyWatch([namePath]);\n\n // Set initial values\n if (entity.props.initialValue !== undefined) {\n var prevStore = _this.store;\n _this.resetWithFieldInitialValue({\n entities: [entity],\n skipExist: true\n });\n _this.notifyObservers(prevStore, [entity.getNamePath()], {\n type: 'valueUpdate',\n source: 'internal'\n });\n }\n\n // un-register field callback\n return function (isListField, preserve) {\n var subNamePath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n _this.fieldEntities = _this.fieldEntities.filter(function (item) {\n return item !== entity;\n });\n\n // Clean up store value if not preserve\n if (!_this.isMergedPreserve(preserve) && (!isListField || subNamePath.length > 1)) {\n var defaultValue = isListField ? undefined : _this.getInitialValue(namePath);\n if (namePath.length && _this.getFieldValue(namePath) !== defaultValue && _this.fieldEntities.every(function (field) {\n return (\n // Only reset when no namePath exist\n !matchNamePath(field.getNamePath(), namePath)\n );\n })) {\n var _prevStore = _this.store;\n _this.updateStore(setValue(_prevStore, namePath, defaultValue, true));\n\n // Notify that field is unmount\n _this.notifyObservers(_prevStore, [namePath], {\n type: 'remove'\n });\n\n // Dependencies update\n _this.triggerDependenciesUpdate(_prevStore, namePath);\n }\n }\n _this.notifyWatch([namePath]);\n };\n });\n _defineProperty(this, \"dispatch\", function (action) {\n switch (action.type) {\n case 'updateValue':\n {\n var namePath = action.namePath,\n value = action.value;\n _this.updateValue(namePath, value);\n break;\n }\n case 'validateField':\n {\n var _namePath = action.namePath,\n triggerName = action.triggerName;\n _this.validateFields([_namePath], {\n triggerName: triggerName\n });\n break;\n }\n default:\n // Currently we don't have other action. Do nothing.\n }\n });\n _defineProperty(this, \"notifyObservers\", function (prevStore, namePathList, info) {\n if (_this.subscribable) {\n var mergedInfo = _objectSpread(_objectSpread({}, info), {}, {\n store: _this.getFieldsValue(true)\n });\n _this.getFieldEntities().forEach(function (_ref5) {\n var onStoreChange = _ref5.onStoreChange;\n onStoreChange(prevStore, namePathList, mergedInfo);\n });\n } else {\n _this.forceRootUpdate();\n }\n });\n /**\n * Notify dependencies children with parent update\n * We need delay to trigger validate in case Field is under render props\n */\n _defineProperty(this, \"triggerDependenciesUpdate\", function (prevStore, namePath) {\n var childrenFields = _this.getDependencyChildrenFields(namePath);\n if (childrenFields.length) {\n _this.validateFields(childrenFields);\n }\n _this.notifyObservers(prevStore, childrenFields, {\n type: 'dependenciesUpdate',\n relatedFields: [namePath].concat(_toConsumableArray(childrenFields))\n });\n return childrenFields;\n });\n _defineProperty(this, \"updateValue\", function (name, value) {\n var namePath = getNamePath(name);\n var prevStore = _this.store;\n _this.updateStore(setValue(_this.store, namePath, value));\n _this.notifyObservers(prevStore, [namePath], {\n type: 'valueUpdate',\n source: 'internal'\n });\n _this.notifyWatch([namePath]);\n\n // Dependencies update\n var childrenFields = _this.triggerDependenciesUpdate(prevStore, namePath);\n\n // trigger callback function\n var onValuesChange = _this.callbacks.onValuesChange;\n if (onValuesChange) {\n var changedValues = cloneByNamePathList(_this.store, [namePath]);\n onValuesChange(changedValues, _this.getFieldsValue());\n }\n _this.triggerOnFieldsChange([namePath].concat(_toConsumableArray(childrenFields)));\n });\n // Let all child Field get update.\n _defineProperty(this, \"setFieldsValue\", function (store) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (store) {\n var nextStore = merge(_this.store, store);\n _this.updateStore(nextStore);\n }\n _this.notifyObservers(prevStore, null, {\n type: 'valueUpdate',\n source: 'external'\n });\n _this.notifyWatch();\n });\n _defineProperty(this, \"setFieldValue\", function (name, value) {\n _this.setFields([{\n name: name,\n value: value\n }]);\n });\n _defineProperty(this, \"getDependencyChildrenFields\", function (rootNamePath) {\n var children = new Set();\n var childrenFields = [];\n var dependencies2fields = new NameMap();\n\n /**\n * Generate maps\n * Can use cache to save perf if user report performance issue with this\n */\n _this.getFieldEntities().forEach(function (field) {\n var dependencies = field.props.dependencies;\n (dependencies || []).forEach(function (dependency) {\n var dependencyNamePath = getNamePath(dependency);\n dependencies2fields.update(dependencyNamePath, function () {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Set();\n fields.add(field);\n return fields;\n });\n });\n });\n var fillChildren = function fillChildren(namePath) {\n var fields = dependencies2fields.get(namePath) || new Set();\n fields.forEach(function (field) {\n if (!children.has(field)) {\n children.add(field);\n var fieldNamePath = field.getNamePath();\n if (field.isFieldDirty() && fieldNamePath.length) {\n childrenFields.push(fieldNamePath);\n fillChildren(fieldNamePath);\n }\n }\n });\n };\n fillChildren(rootNamePath);\n return childrenFields;\n });\n _defineProperty(this, \"triggerOnFieldsChange\", function (namePathList, filedErrors) {\n var onFieldsChange = _this.callbacks.onFieldsChange;\n if (onFieldsChange) {\n var fields = _this.getFields();\n\n /**\n * Fill errors since `fields` may be replaced by controlled fields\n */\n if (filedErrors) {\n var cache = new NameMap();\n filedErrors.forEach(function (_ref6) {\n var name = _ref6.name,\n errors = _ref6.errors;\n cache.set(name, errors);\n });\n fields.forEach(function (field) {\n // eslint-disable-next-line no-param-reassign\n field.errors = cache.get(field.name) || field.errors;\n });\n }\n var changedFields = fields.filter(function (_ref7) {\n var fieldName = _ref7.name;\n return containsNamePath(namePathList, fieldName);\n });\n if (changedFields.length) {\n onFieldsChange(changedFields, fields);\n }\n }\n });\n // =========================== Validate ===========================\n _defineProperty(this, \"validateFields\", function (arg1, arg2) {\n _this.warningUnhooked();\n var nameList;\n var options;\n if (Array.isArray(arg1) || typeof arg1 === 'string' || typeof arg2 === 'string') {\n nameList = arg1;\n options = arg2;\n } else {\n options = arg1;\n }\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? nameList.map(getNamePath) : [];\n\n // Collect result in promise list\n var promiseList = [];\n\n // We temp save the path which need trigger for `onFieldsChange`\n var TMP_SPLIT = String(Date.now());\n var validateNamePathList = new Set();\n var _ref8 = options || {},\n recursive = _ref8.recursive,\n dirty = _ref8.dirty;\n _this.getFieldEntities(true).forEach(function (field) {\n // Add field if not provide `nameList`\n if (!provideNameList) {\n namePathList.push(field.getNamePath());\n }\n\n // Skip if without rule\n if (!field.props.rules || !field.props.rules.length) {\n return;\n }\n\n // Skip if only validate dirty field\n if (dirty && !field.isFieldDirty()) {\n return;\n }\n var fieldNamePath = field.getNamePath();\n validateNamePathList.add(fieldNamePath.join(TMP_SPLIT));\n\n // Add field validate rule in to promise list\n if (!provideNameList || containsNamePath(namePathList, fieldNamePath, recursive)) {\n var promise = field.validateRules(_objectSpread({\n validateMessages: _objectSpread(_objectSpread({}, defaultValidateMessages), _this.validateMessages)\n }, options));\n\n // Wrap promise with field\n promiseList.push(promise.then(function () {\n return {\n name: fieldNamePath,\n errors: [],\n warnings: []\n };\n }).catch(function (ruleErrors) {\n var _ruleErrors$forEach;\n var mergedErrors = [];\n var mergedWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 || _ruleErrors$forEach.call(ruleErrors, function (_ref9) {\n var warningOnly = _ref9.rule.warningOnly,\n errors = _ref9.errors;\n if (warningOnly) {\n mergedWarnings.push.apply(mergedWarnings, _toConsumableArray(errors));\n } else {\n mergedErrors.push.apply(mergedErrors, _toConsumableArray(errors));\n }\n });\n if (mergedErrors.length) {\n return Promise.reject({\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n });\n }\n return {\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n };\n }));\n }\n });\n var summaryPromise = allPromiseFinish(promiseList);\n _this.lastValidatePromise = summaryPromise;\n\n // Notify fields with rule that validate has finished and need update\n summaryPromise.catch(function (results) {\n return results;\n }).then(function (results) {\n var resultNamePathList = results.map(function (_ref10) {\n var name = _ref10.name;\n return name;\n });\n _this.notifyObservers(_this.store, resultNamePathList, {\n type: 'validateFinish'\n });\n _this.triggerOnFieldsChange(resultNamePathList, results);\n });\n var returnPromise = summaryPromise.then(function () {\n if (_this.lastValidatePromise === summaryPromise) {\n return Promise.resolve(_this.getFieldsValue(namePathList));\n }\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: _this.getFieldsValue(namePathList),\n errorFields: errorList,\n outOfDate: _this.lastValidatePromise !== summaryPromise\n });\n });\n\n // Do not throw in console\n returnPromise.catch(function (e) {\n return e;\n });\n\n // `validating` changed. Trigger `onFieldsChange`\n var triggerNamePathList = namePathList.filter(function (namePath) {\n return validateNamePathList.has(namePath.join(TMP_SPLIT));\n });\n _this.triggerOnFieldsChange(triggerNamePathList);\n return returnPromise;\n });\n // ============================ Submit ============================\n _defineProperty(this, \"submit\", function () {\n _this.warningUnhooked();\n _this.validateFields().then(function (values) {\n var onFinish = _this.callbacks.onFinish;\n if (onFinish) {\n try {\n onFinish(values);\n } catch (err) {\n // Should print error if user `onFinish` callback failed\n console.error(err);\n }\n }\n }).catch(function (e) {\n var onFinishFailed = _this.callbacks.onFinishFailed;\n if (onFinishFailed) {\n onFinishFailed(e);\n }\n });\n });\n this.forceRootUpdate = forceRootUpdate;\n});\nfunction useForm(form) {\n var formRef = React.useRef();\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n if (!formRef.current) {\n if (form) {\n formRef.current = form;\n } else {\n // Create a new FormStore if not provided\n var forceReRender = function forceReRender() {\n forceUpdate({});\n };\n var formStore = new FormStore(forceReRender);\n formRef.current = formStore.getForm();\n }\n }\n return [formRef.current];\n}\nexport default useForm;","export function allPromiseFinish(promiseList) {\n var hasError = false;\n var count = promiseList.length;\n var results = [];\n if (!promiseList.length) {\n return Promise.resolve([]);\n }\n return new Promise(function (resolve, reject) {\n promiseList.forEach(function (promise, index) {\n promise.catch(function (e) {\n hasError = true;\n return e;\n }).then(function (result) {\n count -= 1;\n results[index] = result;\n if (count > 0) {\n return;\n }\n if (hasError) {\n reject(results);\n }\n resolve(results);\n });\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nvar FormContext = /*#__PURE__*/React.createContext({\n triggerFormChange: function triggerFormChange() {},\n triggerFormFinish: function triggerFormFinish() {},\n registerForm: function registerForm() {},\n unregisterForm: function unregisterForm() {}\n});\nvar FormProvider = function FormProvider(_ref) {\n var validateMessages = _ref.validateMessages,\n onFormChange = _ref.onFormChange,\n onFormFinish = _ref.onFormFinish,\n children = _ref.children;\n var formContext = React.useContext(FormContext);\n var formsRef = React.useRef({});\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: _objectSpread(_objectSpread({}, formContext), {}, {\n validateMessages: _objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages),\n // =========================================================\n // = Global Form Control =\n // =========================================================\n triggerFormChange: function triggerFormChange(name, changedFields) {\n if (onFormChange) {\n onFormChange(name, {\n changedFields: changedFields,\n forms: formsRef.current\n });\n }\n formContext.triggerFormChange(name, changedFields);\n },\n triggerFormFinish: function triggerFormFinish(name, values) {\n if (onFormFinish) {\n onFormFinish(name, {\n values: values,\n forms: formsRef.current\n });\n }\n formContext.triggerFormFinish(name, values);\n },\n registerForm: function registerForm(name, form) {\n if (name) {\n formsRef.current = _objectSpread(_objectSpread({}, formsRef.current), {}, _defineProperty({}, name, form));\n }\n formContext.registerForm(name, form);\n },\n unregisterForm: function unregisterForm(name) {\n var newForms = _objectSpread({}, formsRef.current);\n delete newForms[name];\n formsRef.current = newForms;\n formContext.unregisterForm(name);\n }\n })\n }, children);\n};\nexport { FormProvider };\nexport default FormContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"name\", \"initialValues\", \"fields\", \"form\", \"preserve\", \"children\", \"component\", \"validateMessages\", \"validateTrigger\", \"onValuesChange\", \"onFieldsChange\", \"onFinish\", \"onFinishFailed\"];\nimport * as React from 'react';\nimport useForm from \"./useForm\";\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport FormContext from \"./FormContext\";\nimport { isSimilar } from \"./utils/valueUtil\";\nimport ListContext from \"./ListContext\";\nvar Form = function Form(_ref, ref) {\n var name = _ref.name,\n initialValues = _ref.initialValues,\n fields = _ref.fields,\n form = _ref.form,\n preserve = _ref.preserve,\n children = _ref.children,\n _ref$component = _ref.component,\n Component = _ref$component === void 0 ? 'form' : _ref$component,\n validateMessages = _ref.validateMessages,\n _ref$validateTrigger = _ref.validateTrigger,\n validateTrigger = _ref$validateTrigger === void 0 ? 'onChange' : _ref$validateTrigger,\n onValuesChange = _ref.onValuesChange,\n _onFieldsChange = _ref.onFieldsChange,\n _onFinish = _ref.onFinish,\n onFinishFailed = _ref.onFinishFailed,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var formContext = React.useContext(FormContext);\n\n // We customize handle event since Context will makes all the consumer re-render:\n // https://reactjs.org/docs/context.html#contextprovider\n var _useForm = useForm(form),\n _useForm2 = _slicedToArray(_useForm, 1),\n formInstance = _useForm2[0];\n var _getInternalHooks = formInstance.getInternalHooks(HOOK_MARK),\n useSubscribe = _getInternalHooks.useSubscribe,\n setInitialValues = _getInternalHooks.setInitialValues,\n setCallbacks = _getInternalHooks.setCallbacks,\n setValidateMessages = _getInternalHooks.setValidateMessages,\n setPreserve = _getInternalHooks.setPreserve,\n destroyForm = _getInternalHooks.destroyForm;\n\n // Pass ref with form instance\n React.useImperativeHandle(ref, function () {\n return formInstance;\n });\n\n // Register form into Context\n React.useEffect(function () {\n formContext.registerForm(name, formInstance);\n return function () {\n formContext.unregisterForm(name);\n };\n }, [formContext, formInstance, name]);\n\n // Pass props to store\n setValidateMessages(_objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages));\n setCallbacks({\n onValuesChange: onValuesChange,\n onFieldsChange: function onFieldsChange(changedFields) {\n formContext.triggerFormChange(name, changedFields);\n if (_onFieldsChange) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n _onFieldsChange.apply(void 0, [changedFields].concat(rest));\n }\n },\n onFinish: function onFinish(values) {\n formContext.triggerFormFinish(name, values);\n if (_onFinish) {\n _onFinish(values);\n }\n },\n onFinishFailed: onFinishFailed\n });\n setPreserve(preserve);\n\n // Set initial value, init store value when first mount\n var mountRef = React.useRef(null);\n setInitialValues(initialValues, !mountRef.current);\n if (!mountRef.current) {\n mountRef.current = true;\n }\n React.useEffect(function () {\n return destroyForm;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n\n // Prepare children by `children` type\n var childrenNode;\n var childrenRenderProps = typeof children === 'function';\n if (childrenRenderProps) {\n var _values = formInstance.getFieldsValue(true);\n childrenNode = children(_values, formInstance);\n } else {\n childrenNode = children;\n }\n\n // Not use subscribe when using render props\n useSubscribe(!childrenRenderProps);\n\n // Listen if fields provided. We use ref to save prev data here to avoid additional render\n var prevFieldsRef = React.useRef();\n React.useEffect(function () {\n if (!isSimilar(prevFieldsRef.current || [], fields || [])) {\n formInstance.setFields(fields || []);\n }\n prevFieldsRef.current = fields;\n }, [fields, formInstance]);\n var formContextValue = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, formInstance), {}, {\n validateTrigger: validateTrigger\n });\n }, [formInstance, validateTrigger]);\n var wrapperNode = /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: formContextValue\n }, childrenNode));\n if (Component === false) {\n return wrapperNode;\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, restProps, {\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n formInstance.submit();\n },\n onReset: function onReset(event) {\n var _restProps$onReset;\n event.preventDefault();\n formInstance.resetFields();\n (_restProps$onReset = restProps.onReset) === null || _restProps$onReset === void 0 || _restProps$onReset.call(restProps, event);\n }\n }), wrapperNode);\n};\nexport default Form;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport warning from \"rc-util/es/warning\";\nimport { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport { isFormInstance } from \"./utils/typeUtil\";\nimport { getNamePath, getValue } from \"./utils/valueUtil\";\nexport function stringify(value) {\n try {\n return JSON.stringify(value);\n } catch (err) {\n return Math.random();\n }\n}\nvar useWatchWarning = process.env.NODE_ENV !== 'production' ? function (namePath) {\n var fullyStr = namePath.join('__RC_FIELD_FORM_SPLIT__');\n var nameStrRef = useRef(fullyStr);\n warning(nameStrRef.current === fullyStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');\n} : function () {};\n\n// ------- selector type -------\n\n// ------- selector type end -------\n\nfunction useWatch() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var dependencies = args[0],\n _args$ = args[1],\n _form = _args$ === void 0 ? {} : _args$;\n var options = isFormInstance(_form) ? {\n form: _form\n } : _form;\n var form = options.form;\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n var valueStr = useMemo(function () {\n return stringify(value);\n }, [value]);\n var valueStrRef = useRef(valueStr);\n valueStrRef.current = valueStr;\n var fieldContext = useContext(FieldContext);\n var formInstance = form || fieldContext;\n var isValidForm = formInstance && formInstance._init;\n\n // Warning if not exist form instance\n if (process.env.NODE_ENV !== 'production') {\n warning(args.length === 2 ? form ? isValidForm : true : isValidForm, 'useWatch requires a form instance since it can not auto detect from context.');\n }\n var namePath = getNamePath(dependencies);\n var namePathRef = useRef(namePath);\n namePathRef.current = namePath;\n useWatchWarning(namePath);\n useEffect(function () {\n // Skip if not exist form instance\n if (!isValidForm) {\n return;\n }\n var getFieldsValue = formInstance.getFieldsValue,\n getInternalHooks = formInstance.getInternalHooks;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n registerWatch = _getInternalHooks.registerWatch;\n var getWatchValue = function getWatchValue(values, allValues) {\n var watchValue = options.preserve ? allValues : values;\n return typeof dependencies === 'function' ? dependencies(watchValue) : getValue(watchValue, namePathRef.current);\n };\n var cancelRegister = registerWatch(function (values, allValues) {\n var newValue = getWatchValue(values, allValues);\n var nextValueStr = stringify(newValue);\n\n // Compare stringify in case it's nest object\n if (valueStrRef.current !== nextValueStr) {\n valueStrRef.current = nextValueStr;\n setValue(newValue);\n }\n });\n\n // TODO: We can improve this perf in future\n var initialValue = getWatchValue(getFieldsValue(), getFieldsValue(true));\n\n // React 18 has the bug that will queue update twice even the value is not changed\n // ref: https://github.com/facebook/react/issues/27213\n if (value !== initialValue) {\n setValue(initialValue);\n }\n return cancelRegister;\n },\n // We do not need re-register since namePath content is the same\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isValidForm]);\n return value;\n}\nexport default useWatch;","import * as React from 'react';\nimport Field from \"./Field\";\nimport List from \"./List\";\nimport useForm from \"./useForm\";\nimport FieldForm from \"./Form\";\nimport { FormProvider } from \"./FormContext\";\nimport FieldContext from \"./FieldContext\";\nimport ListContext from \"./ListContext\";\nimport useWatch from \"./useWatch\";\nvar InternalForm = /*#__PURE__*/React.forwardRef(FieldForm);\nvar RefForm = InternalForm;\nRefForm.FormProvider = FormProvider;\nRefForm.Field = Field;\nRefForm.List = List;\nRefForm.useForm = useForm;\nRefForm.useWatch = useWatch;\nexport { Field, List, useForm, FormProvider, FieldContext, ListContext, useWatch };\nexport default RefForm;","\"use client\";\n\nimport * as React from 'react';\nimport { createContext, useContext, useMemo } from 'react';\nimport { FormProvider as RcFormProvider } from 'rc-field-form';\nimport omit from \"rc-util/es/omit\";\nexport const FormContext = /*#__PURE__*/React.createContext({\n labelAlign: 'right',\n vertical: false,\n itemRef: () => {}\n});\nexport const NoStyleItemContext = /*#__PURE__*/React.createContext(null);\nexport const FormProvider = props => {\n const providerProps = omit(props, ['prefixCls']);\n return /*#__PURE__*/React.createElement(RcFormProvider, Object.assign({}, providerProps));\n};\nexport const FormItemPrefixContext = /*#__PURE__*/React.createContext({\n prefixCls: ''\n});\nexport const FormItemInputContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n FormItemInputContext.displayName = 'FormItemInputContext';\n}\nexport const NoFormStyle = _ref => {\n let {\n children,\n status,\n override\n } = _ref;\n const formItemInputContext = useContext(FormItemInputContext);\n const newFormItemInputContext = useMemo(() => {\n const newContext = Object.assign({}, formItemInputContext);\n if (override) {\n delete newContext.isFormItemInput;\n }\n if (status) {\n delete newContext.status;\n delete newContext.hasFeedback;\n delete newContext.feedbackIcon;\n }\n return newContext;\n }, [status, override, formItemInputContext]);\n return /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: newFormItemInputContext\n }, children);\n};\nexport const VariantContext = /*#__PURE__*/createContext(undefined);","\"use client\";\n\nimport { useRef } from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\nimport useResponsiveObserver from '../../_util/responsiveObserver';\nfunction useBreakpoint() {\n let refreshOnChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n const screensRef = useRef({});\n const forceUpdate = useForceUpdate();\n const responsiveObserver = useResponsiveObserver();\n useLayoutEffect(() => {\n const token = responsiveObserver.subscribe(supportScreens => {\n screensRef.current = supportScreens;\n if (refreshOnChange) {\n forceUpdate();\n }\n });\n return () => responsiveObserver.unsubscribe(token);\n }, []);\n return screensRef.current;\n}\nexport default useBreakpoint;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport useStyle from './style';\nexport const SpaceCompactItemContext = /*#__PURE__*/React.createContext(null);\nexport const useCompactItemContext = (prefixCls, direction) => {\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const compactItemClassnames = React.useMemo(() => {\n if (!compactItemContext) {\n return '';\n }\n const {\n compactDirection,\n isFirstItem,\n isLastItem\n } = compactItemContext;\n const separator = compactDirection === 'vertical' ? '-vertical-' : '-';\n return classNames(`${prefixCls}-compact${separator}item`, {\n [`${prefixCls}-compact${separator}first-item`]: isFirstItem,\n [`${prefixCls}-compact${separator}last-item`]: isLastItem,\n [`${prefixCls}-compact${separator}item-rtl`]: direction === 'rtl'\n });\n }, [prefixCls, direction, compactItemContext]);\n return {\n compactSize: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactSize,\n compactDirection: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactDirection,\n compactItemClassnames\n };\n};\nexport const NoCompactStyle = _ref => {\n let {\n children\n } = _ref;\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: null\n }, children);\n};\nconst CompactItem = _a => {\n var {\n children\n } = _a,\n otherProps = __rest(_a, [\"children\"]);\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: otherProps\n }, children);\n};\nconst Compact = props => {\n const {\n getPrefixCls,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size,\n direction,\n block,\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children\n } = props,\n restProps = __rest(props, [\"size\", \"direction\", \"block\", \"prefixCls\", \"className\", \"rootClassName\", \"children\"]);\n const mergedSize = useSize(ctx => size !== null && size !== void 0 ? size : ctx);\n const prefixCls = getPrefixCls('space-compact', customizePrefixCls);\n const [wrapCSSVar, hashId] = useStyle(prefixCls);\n const clx = classNames(prefixCls, hashId, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-vertical`]: direction === 'vertical'\n }, className, rootClassName);\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const childNodes = toArray(children);\n const nodes = React.useMemo(() => childNodes.map((child, i) => {\n const key = child && child.key || `${prefixCls}-item-${i}`;\n return /*#__PURE__*/React.createElement(CompactItem, {\n key: key,\n compactSize: mergedSize,\n compactDirection: direction,\n isFirstItem: i === 0 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isFirstItem)),\n isLastItem: i === childNodes.length - 1 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isLastItem))\n }, child);\n }), [size, childNodes, compactItemContext]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n return wrapCSSVar( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: clx\n }, restProps), nodes));\n};\nexport default Compact;","export function isPresetSize(size) {\n return ['small', 'middle', 'large'].includes(size);\n}\nexport function isValidGapNumber(size) {\n if (!size) {\n // The case of size = 0 is deliberately excluded here, because the default value of the gap attribute in CSS is 0, so if the user passes 0 in, we can directly ignore it.\n return false;\n }\n return typeof size === 'number' && !Number.isNaN(size);\n}","import React from 'react';\nexport const SpaceContext = /*#__PURE__*/React.createContext({\n latestIndex: 0\n});\nexport const SpaceContextProvider = SpaceContext.Provider;","\"use client\";\n\nimport * as React from 'react';\nimport { SpaceContext } from './context';\nconst Item = _ref => {\n let {\n className,\n index,\n children,\n split,\n style\n } = _ref;\n const {\n latestIndex\n } = React.useContext(SpaceContext);\n if (children === null || children === undefined) {\n return null;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, children), index < latestIndex && split && /*#__PURE__*/React.createElement(\"span\", {\n className: `${className}-split`\n }, split));\n};\nexport default Item;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { isPresetSize, isValidGapNumber } from '../_util/gapSize';\nimport { ConfigContext } from '../config-provider';\nimport Compact from './Compact';\nimport { SpaceContextProvider } from './context';\nimport Item from './Item';\nimport useStyle from './style';\nexport { SpaceContext } from './context';\nconst Space = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b;\n const {\n getPrefixCls,\n space,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size = (space === null || space === void 0 ? void 0 : space.size) || 'small',\n align,\n className,\n rootClassName,\n children,\n direction = 'horizontal',\n prefixCls: customizePrefixCls,\n split,\n style,\n wrap = false,\n classNames: customClassNames,\n styles\n } = props,\n otherProps = __rest(props, [\"size\", \"align\", \"className\", \"rootClassName\", \"children\", \"direction\", \"prefixCls\", \"split\", \"style\", \"wrap\", \"classNames\", \"styles\"]);\n const [horizontalSize, verticalSize] = Array.isArray(size) ? size : [size, size];\n const isPresetVerticalSize = isPresetSize(verticalSize);\n const isPresetHorizontalSize = isPresetSize(horizontalSize);\n const isValidVerticalSize = isValidGapNumber(verticalSize);\n const isValidHorizontalSize = isValidGapNumber(horizontalSize);\n const childNodes = toArray(children, {\n keepEmpty: true\n });\n const mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align;\n const prefixCls = getPrefixCls('space', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const cls = classNames(prefixCls, space === null || space === void 0 ? void 0 : space.className, hashId, `${prefixCls}-${direction}`, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-align-${mergedAlign}`]: mergedAlign,\n [`${prefixCls}-gap-row-${verticalSize}`]: isPresetVerticalSize,\n [`${prefixCls}-gap-col-${horizontalSize}`]: isPresetHorizontalSize\n }, className, rootClassName, cssVarCls);\n const itemClassName = classNames(`${prefixCls}-item`, (_a = customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.item) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.classNames) === null || _b === void 0 ? void 0 : _b.item);\n // Calculate latest one\n let latestIndex = 0;\n const nodes = childNodes.map((child, i) => {\n var _a, _b;\n if (child !== null && child !== undefined) {\n latestIndex = i;\n }\n const key = child && child.key || `${itemClassName}-${i}`;\n return /*#__PURE__*/React.createElement(Item, {\n className: itemClassName,\n key: key,\n index: i,\n split: split,\n style: (_a = styles === null || styles === void 0 ? void 0 : styles.item) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.styles) === null || _b === void 0 ? void 0 : _b.item\n }, child);\n });\n const spaceContext = React.useMemo(() => ({\n latestIndex\n }), [latestIndex]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n const gapStyle = {};\n if (wrap) {\n gapStyle.flexWrap = 'wrap';\n }\n if (!isPresetHorizontalSize && isValidHorizontalSize) {\n gapStyle.columnGap = horizontalSize;\n }\n if (!isPresetVerticalSize && isValidVerticalSize) {\n gapStyle.rowGap = verticalSize;\n }\n return wrapCSSVar( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref,\n className: cls,\n style: Object.assign(Object.assign(Object.assign({}, gapStyle), space === null || space === void 0 ? void 0 : space.style), style)\n }, otherProps), /*#__PURE__*/React.createElement(SpaceContextProvider, {\n value: spaceContext\n }, nodes)));\n});\nif (process.env.NODE_ENV !== 'production') {\n Space.displayName = 'Space';\n}\nconst CompoundedSpace = Space;\nCompoundedSpace.Compact = Compact;\nexport default CompoundedSpace;","const genSpaceCompactStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n '&-block': {\n display: 'flex',\n width: '100%'\n },\n '&-vertical': {\n flexDirection: 'column'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genSpaceCompactStyle;","import { genStyleHooks, mergeToken } from '../../theme/internal';\nimport genSpaceCompactStyle from './compact';\nconst genSpaceStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n display: 'inline-flex',\n '&-rtl': {\n direction: 'rtl'\n },\n '&-vertical': {\n flexDirection: 'column'\n },\n '&-align': {\n flexDirection: 'column',\n '&-center': {\n alignItems: 'center'\n },\n '&-start': {\n alignItems: 'flex-start'\n },\n '&-end': {\n alignItems: 'flex-end'\n },\n '&-baseline': {\n alignItems: 'baseline'\n }\n },\n [`${componentCls}-item:empty`]: {\n display: 'none'\n }\n }\n };\n};\nconst genSpaceGapStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n '&-gap-row-small': {\n rowGap: token.spaceGapSmallSize\n },\n '&-gap-row-middle': {\n rowGap: token.spaceGapMiddleSize\n },\n '&-gap-row-large': {\n rowGap: token.spaceGapLargeSize\n },\n '&-gap-col-small': {\n columnGap: token.spaceGapSmallSize\n },\n '&-gap-col-middle': {\n columnGap: token.spaceGapMiddleSize\n },\n '&-gap-col-large': {\n columnGap: token.spaceGapLargeSize\n }\n }\n };\n};\n// ============================== Export ==============================\nexport const prepareComponentToken = () => ({});\nexport default genStyleHooks('Space', token => {\n const spaceToken = mergeToken(token, {\n spaceGapSmallSize: token.paddingXS,\n spaceGapMiddleSize: token.padding,\n spaceGapLargeSize: token.paddingLG\n });\n return [genSpaceStyle(spaceToken), genSpaceGapStyle(spaceToken), genSpaceCompactStyle(spaceToken)];\n}, () => ({}), {\n // Space component don't apply extra font style\n // https://github.com/ant-design/ant-design/issues/40315\n resetStyle: false\n});","const initMotionCommon = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\n// FIXME: origin less code seems same as initMotionCommon. Maybe we can safe remove\nconst initMotionCommonLeave = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\nexport const initMotion = function (motionCls, inKeyframes, outKeyframes, duration) {\n let sameLevel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: Object.assign(Object.assign({}, initMotionCommon(duration)), {\n animationPlayState: 'paused'\n }),\n [`${sameLevelPrefix}${motionCls}-leave`]: Object.assign(Object.assign({}, initMotionCommonLeave(duration)), {\n animationPlayState: 'paused'\n }),\n [`\n ${sameLevelPrefix}${motionCls}-enter${motionCls}-enter-active,\n ${sameLevelPrefix}${motionCls}-appear${motionCls}-appear-active\n `]: {\n animationName: inKeyframes,\n animationPlayState: 'running'\n },\n [`${sameLevelPrefix}${motionCls}-leave${motionCls}-leave-active`]: {\n animationName: outKeyframes,\n animationPlayState: 'running',\n pointerEvents: 'none'\n }\n };\n};","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const zoomIn = new Keyframes('antZoomIn', {\n '0%': {\n transform: 'scale(0.2)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomOut = new Keyframes('antZoomOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.2)',\n opacity: 0\n }\n});\nexport const zoomBigIn = new Keyframes('antZoomBigIn', {\n '0%': {\n transform: 'scale(0.8)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomBigOut = new Keyframes('antZoomBigOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.8)',\n opacity: 0\n }\n});\nexport const zoomUpIn = new Keyframes('antZoomUpIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n }\n});\nexport const zoomUpOut = new Keyframes('antZoomUpOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n }\n});\nexport const zoomLeftIn = new Keyframes('antZoomLeftIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n }\n});\nexport const zoomLeftOut = new Keyframes('antZoomLeftOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n }\n});\nexport const zoomRightIn = new Keyframes('antZoomRightIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n }\n});\nexport const zoomRightOut = new Keyframes('antZoomRightOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n }\n});\nexport const zoomDownIn = new Keyframes('antZoomDownIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n }\n});\nexport const zoomDownOut = new Keyframes('antZoomDownOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n }\n});\nconst zoomMotion = {\n zoom: {\n inKeyframes: zoomIn,\n outKeyframes: zoomOut\n },\n 'zoom-big': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-big-fast': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-left': {\n inKeyframes: zoomLeftIn,\n outKeyframes: zoomLeftOut\n },\n 'zoom-right': {\n inKeyframes: zoomRightIn,\n outKeyframes: zoomRightOut\n },\n 'zoom-up': {\n inKeyframes: zoomUpIn,\n outKeyframes: zoomUpOut\n },\n 'zoom-down': {\n inKeyframes: zoomDownIn,\n outKeyframes: zoomDownOut\n }\n};\nexport const initZoomMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = zoomMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, motionName === 'zoom-big-fast' ? token.motionDurationFast : token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n transform: 'scale(0)',\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc,\n '&-prepare': {\n transform: 'none'\n }\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInOutCirc\n }\n }];\n};","import { genRoundedArrow } from './roundedArrow';\nexport const MAX_VERTICAL_CONTENT_RADIUS = 8;\nexport function getArrowOffsetToken(options) {\n const {\n contentRadius,\n limitVerticalRadius\n } = options;\n const arrowOffset = contentRadius > 12 ? contentRadius + 2 : 12;\n const arrowOffsetVertical = limitVerticalRadius ? MAX_VERTICAL_CONTENT_RADIUS : arrowOffset;\n return {\n arrowOffsetHorizontal: arrowOffset,\n arrowOffsetVertical\n };\n}\nfunction isInject(valid, code) {\n if (!valid) {\n return {};\n }\n return code;\n}\nexport default function getArrowStyle(token, colorBg, options) {\n const {\n componentCls,\n boxShadowPopoverArrow,\n arrowOffsetVertical,\n arrowOffsetHorizontal\n } = token;\n const {\n arrowDistance = 0,\n arrowPlacement = {\n left: true,\n right: true,\n top: true,\n bottom: true\n }\n } = options || {};\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({\n // ============================ Basic ============================\n [`${componentCls}-arrow`]: [Object.assign(Object.assign({\n position: 'absolute',\n zIndex: 1,\n display: 'block'\n }, genRoundedArrow(token, colorBg, boxShadowPopoverArrow)), {\n '&:before': {\n background: colorBg\n }\n })]\n }, isInject(!!arrowPlacement.top, {\n [[`&-placement-top > ${componentCls}-arrow`, `&-placement-topLeft > ${componentCls}-arrow`, `&-placement-topRight > ${componentCls}-arrow`].join(',')]: {\n bottom: arrowDistance,\n transform: 'translateY(100%) rotate(180deg)'\n },\n [`&-placement-top > ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateX(-50%) translateY(100%) rotate(180deg)'\n },\n [`&-placement-topLeft > ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: arrowOffsetHorizontal\n }\n },\n [`&-placement-topRight > ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: arrowOffsetHorizontal\n }\n }\n })), isInject(!!arrowPlacement.bottom, {\n [[`&-placement-bottom > ${componentCls}-arrow`, `&-placement-bottomLeft > ${componentCls}-arrow`, `&-placement-bottomRight > ${componentCls}-arrow`].join(',')]: {\n top: arrowDistance,\n transform: `translateY(-100%)`\n },\n [`&-placement-bottom > ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: `translateX(-50%) translateY(-100%)`\n },\n [`&-placement-bottomLeft > ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: arrowOffsetHorizontal\n }\n },\n [`&-placement-bottomRight > ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: arrowOffsetHorizontal\n }\n }\n })), isInject(!!arrowPlacement.left, {\n [[`&-placement-left > ${componentCls}-arrow`, `&-placement-leftTop > ${componentCls}-arrow`, `&-placement-leftBottom > ${componentCls}-arrow`].join(',')]: {\n right: {\n _skip_check_: true,\n value: arrowDistance\n },\n transform: 'translateX(100%) rotate(90deg)'\n },\n [`&-placement-left > ${componentCls}-arrow`]: {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(100%) rotate(90deg)'\n },\n [`&-placement-leftTop > ${componentCls}-arrow`]: {\n top: arrowOffsetVertical\n },\n [`&-placement-leftBottom > ${componentCls}-arrow`]: {\n bottom: arrowOffsetVertical\n }\n })), isInject(!!arrowPlacement.right, {\n [[`&-placement-right > ${componentCls}-arrow`, `&-placement-rightTop > ${componentCls}-arrow`, `&-placement-rightBottom > ${componentCls}-arrow`].join(',')]: {\n left: {\n _skip_check_: true,\n value: arrowDistance\n },\n transform: 'translateX(-100%) rotate(-90deg)'\n },\n [`&-placement-right > ${componentCls}-arrow`]: {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(-100%) rotate(-90deg)'\n },\n [`&-placement-rightTop > ${componentCls}-arrow`]: {\n top: arrowOffsetVertical\n },\n [`&-placement-rightBottom > ${componentCls}-arrow`]: {\n bottom: arrowOffsetVertical\n }\n }))\n };\n}","import { unit } from '@ant-design/cssinjs';\nexport function getArrowToken(token) {\n const {\n sizePopupArrow,\n borderRadiusXS,\n borderRadiusOuter\n } = token;\n const unitWidth = sizePopupArrow / 2;\n const ax = 0;\n const ay = unitWidth;\n const bx = borderRadiusOuter * 1 / Math.sqrt(2);\n const by = unitWidth - borderRadiusOuter * (1 - 1 / Math.sqrt(2));\n const cx = unitWidth - borderRadiusXS * (1 / Math.sqrt(2));\n const cy = borderRadiusOuter * (Math.sqrt(2) - 1) + borderRadiusXS * (1 / Math.sqrt(2));\n const dx = 2 * unitWidth - cx;\n const dy = cy;\n const ex = 2 * unitWidth - bx;\n const ey = by;\n const fx = 2 * unitWidth - ax;\n const fy = ay;\n const shadowWidth = unitWidth * Math.sqrt(2) + borderRadiusOuter * (Math.sqrt(2) - 2);\n const polygonOffset = borderRadiusOuter * (Math.sqrt(2) - 1);\n const arrowPolygon = `polygon(${polygonOffset}px 100%, 50% ${polygonOffset}px, ${2 * unitWidth - polygonOffset}px 100%, ${polygonOffset}px 100%)`;\n const arrowPath = `path('M ${ax} ${ay} A ${borderRadiusOuter} ${borderRadiusOuter} 0 0 0 ${bx} ${by} L ${cx} ${cy} A ${borderRadiusXS} ${borderRadiusXS} 0 0 1 ${dx} ${dy} L ${ex} ${ey} A ${borderRadiusOuter} ${borderRadiusOuter} 0 0 0 ${fx} ${fy} Z')`;\n return {\n arrowShadowWidth: shadowWidth,\n arrowPath,\n arrowPolygon\n };\n}\nexport const genRoundedArrow = (token, bgColor, boxShadow) => {\n const {\n sizePopupArrow,\n arrowPolygon,\n arrowPath,\n arrowShadowWidth,\n borderRadiusXS,\n calc\n } = token;\n return {\n pointerEvents: 'none',\n width: sizePopupArrow,\n height: sizePopupArrow,\n overflow: 'hidden',\n '&::before': {\n position: 'absolute',\n bottom: 0,\n insetInlineStart: 0,\n width: sizePopupArrow,\n height: calc(sizePopupArrow).div(2).equal(),\n background: bgColor,\n clipPath: {\n _multi_value_: true,\n value: [arrowPolygon, arrowPath]\n },\n content: '\"\"'\n },\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: arrowShadowWidth,\n height: arrowShadowWidth,\n bottom: 0,\n insetInline: 0,\n margin: 'auto',\n borderRadius: {\n _skip_check_: true,\n value: `0 0 ${unit(borderRadiusXS)} 0`\n },\n transform: 'translateY(50%) rotate(-135deg)',\n boxShadow,\n zIndex: 0,\n background: 'transparent'\n }\n };\n};","export const PresetColors = ['blue', 'purple', 'cyan', 'green', 'magenta', 'pink', 'red', 'orange', 'yellow', 'volcano', 'geekblue', 'lime', 'gold'];","import { PresetColors } from '../interface';\nexport default function genPresetColor(token, genCss) {\n return PresetColors.reduce((prev, colorKey) => {\n const lightColor = token[`${colorKey}1`];\n const lightBorderColor = token[`${colorKey}3`];\n const darkColor = token[`${colorKey}6`];\n const textColor = token[`${colorKey}7`];\n return Object.assign(Object.assign({}, prev), genCss(colorKey, {\n lightColor,\n lightBorderColor,\n darkColor,\n textColor\n }));\n }, {});\n}","import { resetComponent } from '../../style';\nimport { initZoomMotion } from '../../style/motion';\nimport getArrowStyle, { getArrowOffsetToken, MAX_VERTICAL_CONTENT_RADIUS } from '../../style/placementArrow';\nimport { genPresetColor, genStyleHooks, mergeToken } from '../../theme/internal';\nimport { unit } from '@ant-design/cssinjs';\nimport { getArrowToken } from '../../style/roundedArrow';\nconst genTooltipStyle = token => {\n const {\n componentCls,\n // ant-tooltip\n tooltipMaxWidth,\n tooltipColor,\n tooltipBg,\n tooltipBorderRadius,\n zIndexPopup,\n controlHeight,\n boxShadowSecondary,\n paddingSM,\n paddingXS\n } = token;\n return [{\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n zIndex: zIndexPopup,\n display: 'block',\n width: 'max-content',\n maxWidth: tooltipMaxWidth,\n visibility: 'visible',\n transformOrigin: `var(--arrow-x, 50%) var(--arrow-y, 50%)`,\n '&-hidden': {\n display: 'none'\n },\n '--antd-arrow-background-color': tooltipBg,\n // Wrapper for the tooltip content\n [`${componentCls}-inner`]: {\n minWidth: controlHeight,\n minHeight: controlHeight,\n padding: `${unit(token.calc(paddingSM).div(2).equal())} ${unit(paddingXS)}`,\n color: tooltipColor,\n textAlign: 'start',\n textDecoration: 'none',\n wordWrap: 'break-word',\n backgroundColor: tooltipBg,\n borderRadius: tooltipBorderRadius,\n boxShadow: boxShadowSecondary,\n boxSizing: 'border-box'\n },\n // Limit left and right placement radius\n [[`&-placement-left`, `&-placement-leftTop`, `&-placement-leftBottom`, `&-placement-right`, `&-placement-rightTop`, `&-placement-rightBottom`].join(',')]: {\n [`${componentCls}-inner`]: {\n borderRadius: token.min(tooltipBorderRadius, MAX_VERTICAL_CONTENT_RADIUS)\n }\n },\n [`${componentCls}-content`]: {\n position: 'relative'\n }\n }), genPresetColor(token, (colorKey, _ref) => {\n let {\n darkColor\n } = _ref;\n return {\n [`&${componentCls}-${colorKey}`]: {\n [`${componentCls}-inner`]: {\n backgroundColor: darkColor\n },\n [`${componentCls}-arrow`]: {\n '--antd-arrow-background-color': darkColor\n }\n }\n };\n })), {\n // RTL\n '&-rtl': {\n direction: 'rtl'\n }\n })\n },\n // Arrow Style\n getArrowStyle(token, 'var(--antd-arrow-background-color)'),\n // Pure Render\n {\n [`${componentCls}-pure`]: {\n position: 'relative',\n maxWidth: 'none',\n margin: token.sizePopupArrow\n }\n }];\n};\n// ============================== Export ==============================\nexport const prepareComponentToken = token => Object.assign(Object.assign({\n zIndexPopup: token.zIndexPopupBase + 70\n}, getArrowOffsetToken({\n contentRadius: token.borderRadius,\n limitVerticalRadius: true\n})), getArrowToken(mergeToken(token, {\n borderRadiusOuter: Math.min(token.borderRadiusOuter, 4)\n})));\nexport default (function (prefixCls) {\n let injectStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n const useStyle = genStyleHooks('Tooltip', token => {\n const {\n borderRadius,\n colorTextLightSolid,\n colorBgSpotlight\n } = token;\n const TooltipToken = mergeToken(token, {\n // default variables\n tooltipMaxWidth: 250,\n tooltipColor: colorTextLightSolid,\n tooltipBorderRadius: borderRadius,\n tooltipBg: colorBgSpotlight\n });\n return [genTooltipStyle(TooltipToken), initZoomMotion(token, 'zoom-big-fast')];\n }, prepareComponentToken, {\n resetStyle: false,\n // Popover use Tooltip as internal component. We do not need to handle this.\n injectStyle\n });\n return useStyle(prefixCls);\n});","/* eslint-disable import/prefer-default-export */\nimport classNames from 'classnames';\nimport { isPresetColor } from '../_util/colors';\nexport function parseColor(prefixCls, color) {\n const isInternalColor = isPresetColor(color);\n const className = classNames({\n [`${prefixCls}-${color}`]: color && isInternalColor\n });\n const overlayStyle = {};\n const arrowStyle = {};\n if (color && !isInternalColor) {\n overlayStyle.background = color;\n // @ts-ignore\n arrowStyle['--antd-arrow-background-color'] = color;\n }\n return {\n className,\n overlayStyle,\n arrowStyle\n };\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport { Popup } from 'rc-tooltip';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport { parseColor } from './util';\n/** @private Internal Component. Do not use in your production. */\nconst PurePanel = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n placement = 'top',\n title,\n color,\n overlayInnerStyle\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n // Color\n const colorInfo = parseColor(prefixCls, color);\n const arrowContentStyle = colorInfo.arrowStyle;\n const formattedOverlayInnerStyle = Object.assign(Object.assign({}, overlayInnerStyle), colorInfo.overlayStyle);\n const cls = classNames(hashId, cssVarCls, prefixCls, `${prefixCls}-pure`, `${prefixCls}-placement-${placement}`, className, colorInfo.className);\n return wrapCSSVar( /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: arrowContentStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-arrow`\n }), /*#__PURE__*/React.createElement(Popup, Object.assign({}, props, {\n className: hashId,\n prefixCls: prefixCls,\n overlayInnerStyle: formattedOverlayInnerStyle\n }), title)));\n};\nexport default PurePanel;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcTooltip from 'rc-tooltip';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport { getTransitionName } from '../_util/motion';\nimport getPlacements from '../_util/placements';\nimport { cloneElement, isFragment, isValidElement } from '../_util/reactNode';\nimport { devUseWarning } from '../_util/warning';\nimport zIndexContext from '../_util/zindexContext';\nimport { ConfigContext } from '../config-provider';\nimport { NoCompactStyle } from '../space/Compact';\nimport { useToken } from '../theme/internal';\nimport PurePanel from './PurePanel';\nimport useStyle from './style';\nimport { parseColor } from './util';\nconst Tooltip = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b;\n const {\n prefixCls: customizePrefixCls,\n openClassName,\n getTooltipContainer,\n overlayClassName,\n color,\n overlayInnerStyle,\n children,\n afterOpenChange,\n afterVisibleChange,\n destroyTooltipOnHide,\n arrow = true,\n title,\n overlay,\n builtinPlacements,\n arrowPointAtCenter = false,\n autoAdjustOverflow = true\n } = props;\n const mergedShowArrow = !!arrow;\n const [, token] = useToken();\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n // ============================== Ref ===============================\n const warning = devUseWarning('Tooltip');\n const tooltipRef = React.useRef(null);\n const forceAlign = () => {\n var _a;\n (_a = tooltipRef.current) === null || _a === void 0 ? void 0 : _a.forceAlign();\n };\n React.useImperativeHandle(ref, () => ({\n forceAlign,\n forcePopupAlign: () => {\n warning.deprecated(false, 'forcePopupAlign', 'forceAlign');\n forceAlign();\n }\n }));\n // ============================== Warn ==============================\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['defaultVisible', 'defaultOpen'], ['onVisibleChange', 'onOpenChange'], ['afterVisibleChange', 'afterOpenChange'], ['arrowPointAtCenter', 'arrow={{ pointAtCenter: true }}']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n warning.deprecated(!(deprecatedName in props), deprecatedName, newName);\n });\n process.env.NODE_ENV !== \"production\" ? warning(!destroyTooltipOnHide || typeof destroyTooltipOnHide === 'boolean', 'usage', '`destroyTooltipOnHide` no need config `keepParent` anymore. Please use `boolean` value directly.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!arrow || typeof arrow === 'boolean' || !('arrowPointAtCenter' in arrow), 'deprecated', '`arrowPointAtCenter` in `arrow` is deprecated. Please use `pointAtCenter` instead.') : void 0;\n }\n // ============================== Open ==============================\n const [open, setOpen] = useMergedState(false, {\n value: (_a = props.open) !== null && _a !== void 0 ? _a : props.visible,\n defaultValue: (_b = props.defaultOpen) !== null && _b !== void 0 ? _b : props.defaultVisible\n });\n const noTitle = !title && !overlay && title !== 0; // overlay for old version compatibility\n const onOpenChange = vis => {\n var _a, _b;\n setOpen(noTitle ? false : vis);\n if (!noTitle) {\n (_a = props.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(props, vis);\n (_b = props.onVisibleChange) === null || _b === void 0 ? void 0 : _b.call(props, vis);\n }\n };\n const tooltipPlacements = React.useMemo(() => {\n var _a, _b;\n let mergedArrowPointAtCenter = arrowPointAtCenter;\n if (typeof arrow === 'object') {\n mergedArrowPointAtCenter = (_b = (_a = arrow.pointAtCenter) !== null && _a !== void 0 ? _a : arrow.arrowPointAtCenter) !== null && _b !== void 0 ? _b : arrowPointAtCenter;\n }\n return builtinPlacements || getPlacements({\n arrowPointAtCenter: mergedArrowPointAtCenter,\n autoAdjustOverflow,\n arrowWidth: mergedShowArrow ? token.sizePopupArrow : 0,\n borderRadius: token.borderRadius,\n offset: token.marginXXS,\n visibleFirst: true\n });\n }, [arrowPointAtCenter, arrow, builtinPlacements, token]);\n const memoOverlay = React.useMemo(() => {\n if (title === 0) {\n return title;\n }\n return overlay || title || '';\n }, [overlay, title]);\n const memoOverlayWrapper = /*#__PURE__*/React.createElement(NoCompactStyle, null, typeof memoOverlay === 'function' ? memoOverlay() : memoOverlay);\n const {\n getPopupContainer,\n placement = 'top',\n mouseEnterDelay = 0.1,\n mouseLeaveDelay = 0.1,\n overlayStyle,\n rootClassName\n } = props,\n otherProps = __rest(props, [\"getPopupContainer\", \"placement\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"rootClassName\"]);\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const injectFromPopover = props['data-popover-inject'];\n let tempOpen = open;\n // Hide tooltip when there is no title\n if (!('open' in props) && !('visible' in props) && noTitle) {\n tempOpen = false;\n }\n // ============================= Render =============================\n const child = isValidElement(children) && !isFragment(children) ? children : /*#__PURE__*/React.createElement(\"span\", null, children);\n const childProps = child.props;\n const childCls = !childProps.className || typeof childProps.className === 'string' ? classNames(childProps.className, openClassName || `${prefixCls}-open`) : childProps.className;\n // Style\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, !injectFromPopover);\n // Color\n const colorInfo = parseColor(prefixCls, color);\n const arrowContentStyle = colorInfo.arrowStyle;\n const formattedOverlayInnerStyle = Object.assign(Object.assign({}, overlayInnerStyle), colorInfo.overlayStyle);\n const customOverlayClassName = classNames(overlayClassName, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, colorInfo.className, rootClassName, hashId, cssVarCls);\n // ============================ zIndex ============================\n const [zIndex, contextZIndex] = useZIndex('Tooltip', otherProps.zIndex);\n const content = /*#__PURE__*/React.createElement(RcTooltip, Object.assign({}, otherProps, {\n zIndex: zIndex,\n showArrow: mergedShowArrow,\n placement: placement,\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n prefixCls: prefixCls,\n overlayClassName: customOverlayClassName,\n overlayStyle: Object.assign(Object.assign({}, arrowContentStyle), overlayStyle),\n getTooltipContainer: getPopupContainer || getTooltipContainer || getContextPopupContainer,\n ref: tooltipRef,\n builtinPlacements: tooltipPlacements,\n overlay: memoOverlayWrapper,\n visible: tempOpen,\n onVisibleChange: onOpenChange,\n afterVisibleChange: afterOpenChange !== null && afterOpenChange !== void 0 ? afterOpenChange : afterVisibleChange,\n overlayInnerStyle: formattedOverlayInnerStyle,\n arrowContent: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-arrow-content`\n }),\n motion: {\n motionName: getTransitionName(rootPrefixCls, 'zoom-big-fast', props.transitionName),\n motionDeadline: 1000\n },\n destroyTooltipOnHide: !!destroyTooltipOnHide\n }), tempOpen ? cloneElement(child, {\n className: childCls\n }) : child);\n return wrapCSSVar( /*#__PURE__*/React.createElement(zIndexContext.Provider, {\n value: contextZIndex\n }, content));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tooltip.displayName = 'Tooltip';\n}\nTooltip._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Tooltip;","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 } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { CollectionContext } from \"../Collection\";\nimport { observe, unobserve } from \"../utils/observerUtil\";\nimport DomWrapper from \"./DomWrapper\";\nfunction SingleObserver(props, ref) {\n var children = props.children,\n disabled = props.disabled;\n var elementRef = React.useRef(null);\n var wrapperRef = React.useRef(null);\n var onCollectionResize = React.useContext(CollectionContext);\n\n // =========================== Children ===========================\n var isRenderProps = typeof children === 'function';\n var mergedChildren = isRenderProps ? children(elementRef) : children;\n\n // ============================= Size =============================\n var sizeRef = React.useRef({\n width: -1,\n height: -1,\n offsetWidth: -1,\n offsetHeight: -1\n });\n\n // ============================= Ref ==============================\n var canRef = !isRenderProps && /*#__PURE__*/React.isValidElement(mergedChildren) && supportRef(mergedChildren);\n var originRef = canRef ? mergedChildren.ref : null;\n var mergedRef = useComposeRef(originRef, elementRef);\n var getDom = function getDom() {\n var _elementRef$current;\n return findDOMNode(elementRef.current) || (\n // Support `nativeElement` format\n elementRef.current && _typeof(elementRef.current) === 'object' ? findDOMNode((_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.nativeElement) : null) || findDOMNode(wrapperRef.current);\n };\n React.useImperativeHandle(ref, function () {\n return getDom();\n });\n\n // =========================== Observe ============================\n var propsRef = React.useRef(props);\n propsRef.current = props;\n\n // Handler\n var onInternalResize = React.useCallback(function (target) {\n var _propsRef$current = propsRef.current,\n onResize = _propsRef$current.onResize,\n data = _propsRef$current.data;\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n if (sizeRef.current.width !== fixedWidth || sizeRef.current.height !== fixedHeight || sizeRef.current.offsetWidth !== offsetWidth || sizeRef.current.offsetHeight !== offsetHeight) {\n var size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n };\n sizeRef.current = size;\n\n // IE is strange, right?\n var mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n var mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;\n var sizeInfo = _objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n });\n\n // Let collection know what happened\n onCollectionResize === null || onCollectionResize === void 0 || onCollectionResize(sizeInfo, target, data);\n if (onResize) {\n // defer the callback but not defer to next frame\n Promise.resolve().then(function () {\n onResize(sizeInfo, target);\n });\n }\n }\n }, []);\n\n // Dynamic observe\n React.useEffect(function () {\n var currentElement = getDom();\n if (currentElement && !disabled) {\n observe(currentElement, onInternalResize);\n }\n return function () {\n return unobserve(currentElement, onInternalResize);\n };\n }, [elementRef.current, disabled]);\n\n // ============================ Render ============================\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperRef\n }, canRef ? /*#__PURE__*/React.cloneElement(mergedChildren, {\n ref: mergedRef\n }) : mergedChildren);\n}\nvar RefSingleObserver = /*#__PURE__*/React.forwardRef(SingleObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefSingleObserver.displayName = 'SingleObserver';\n}\nexport default RefSingleObserver;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { warning } from \"rc-util/es/warning\";\nimport SingleObserver from \"./SingleObserver\";\nimport { Collection } from \"./Collection\";\nvar INTERNAL_PREFIX_KEY = 'rc-observer-key';\nimport { _rs } from \"./utils/observerUtil\";\nexport { /** @private Test only for mock trigger resize event */\n_rs };\nfunction ResizeObserver(props, ref) {\n var children = props.children;\n var childNodes = typeof children === 'function' ? [children] : toArray(children);\n if (process.env.NODE_ENV !== 'production') {\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Please use ResizeObserver.Collection instead.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n }\n }\n return childNodes.map(function (child, index) {\n var key = (child === null || child === void 0 ? void 0 : child.key) || \"\".concat(INTERNAL_PREFIX_KEY, \"-\").concat(index);\n return /*#__PURE__*/React.createElement(SingleObserver, _extends({}, props, {\n key: key,\n ref: index === 0 ? ref : undefined\n }), child);\n });\n}\nvar RefResizeObserver = /*#__PURE__*/React.forwardRef(ResizeObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefResizeObserver.displayName = 'ResizeObserver';\n}\nRefResizeObserver.Collection = Collection;\nexport default RefResizeObserver;","import 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 overlayInnerStyle = props.overlayInnerStyle,\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: \"\".concat(prefixCls, \"-inner\"),\n id: id,\n role: \"tooltip\",\n style: overlayInnerStyle\n }, typeof children === 'function' ? children() : children));\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\"];\nimport Trigger from '@rc-component/trigger';\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { placements } from \"./placements\";\nimport Popup from \"./Popup\";\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 restProps = _objectWithoutProperties(props, _excluded);\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: id,\n overlayInnerStyle: overlayInnerStyle\n }, overlay);\n };\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n popupClassName: overlayClassName,\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: overlayStyle,\n mouseEnterDelay: mouseEnterDelay,\n arrow: showArrow\n }, extraProps), children);\n};\nexport default /*#__PURE__*/forwardRef(Tooltip);","import Popup from \"./Popup\";\nimport Tooltip from \"./Tooltip\";\nexport { Popup };\nexport default Tooltip;","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","export default (function (element) {\n if (!element) {\n return false;\n }\n if (element instanceof Element) {\n if (element.offsetParent) {\n return true;\n }\n if (element.getBBox) {\n var _getBBox = element.getBBox(),\n width = _getBBox.width,\n height = _getBBox.height;\n if (width || height) {\n return true;\n }\n }\n if (element.getBoundingClientRect) {\n var _element$getBoundingC = element.getBoundingClientRect(),\n _width = _element$getBoundingC.width,\n _height = _element$getBoundingC.height;\n if (_width || _height) {\n return true;\n }\n }\n }\n return false;\n});","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35,\n // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36,\n // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37,\n // also NUM_WEST\n /**\n * UP\n */\n UP: 38,\n // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39,\n // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40,\n // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45,\n // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46,\n // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91,\n // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n // needs localization\n /**\n * DASH\n */\n DASH: 189,\n // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187,\n // needs localization\n /**\n * COMMA\n */\n COMMA: 188,\n // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190,\n // needs localization\n /**\n * SLASH\n */\n SLASH: 191,\n // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n if (e.altKey && !e.ctrlKey || e.metaKey ||\n // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n },\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","/* eslint-disable no-param-reassign */\n\nvar cached;\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n var outer = document.createElement('div');\n var outerStyle = outer.style;\n outerStyle.position = 'absolute';\n outerStyle.top = '0';\n outerStyle.left = '0';\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n outer.appendChild(inner);\n document.body.appendChild(outer);\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n document.body.removeChild(outer);\n cached = widthContained - widthScroll;\n }\n return cached;\n}\nfunction ensureSize(str) {\n var match = str.match(/^(.*)px$/);\n var value = Number(match === null || match === void 0 ? void 0 : match[1]);\n return Number.isNaN(value) ? getScrollBarSize() : value;\n}\nexport function getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n var _getComputedStyle = getComputedStyle(target, '::-webkit-scrollbar'),\n width = _getComputedStyle.width,\n height = _getComputedStyle.height;\n return {\n width: ensureSize(width),\n height: ensureSize(height)\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction getUseId() {\n // We need fully clone React function here to avoid webpack warning React 17 do not export `useId`\n var fullClone = _objectSpread({}, React);\n return fullClone.useId;\n}\nvar uuid = 0;\n\n/** @private Note only worked in develop env. Not work in production. */\nexport function resetUuid() {\n if (process.env.NODE_ENV !== 'production') {\n uuid = 0;\n }\n}\nvar useOriginId = getUseId();\nexport default useOriginId ?\n// Use React `useId`\nfunction useId(id) {\n var reactId = useOriginId();\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n return reactId;\n} :\n// Use compatible of `useId`\nfunction useCompatId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState('ssr-id'),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n var nextId = uuid;\n uuid += 1;\n setInnerId(\"rc_unique_\".concat(nextId));\n }, []);\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n\n // Return react native id or inner id\n return innerId;\n};","export default (function () {\n if (typeof navigator === 'undefined' || typeof window === 'undefined') {\n return false;\n }\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n return /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(agent === null || agent === void 0 ? void 0 : agent.substr(0, 4));\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n\n/* eslint-enable max-len */\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = _objectSpread({}, ariaOnly);\n }\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if (\n // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) ||\n // Data\n mergedConfig.data && match(key, dataPrefix) ||\n // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n };\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}"],"names":["CaretDownOutlined","props","ref","React","AntdIcon","_extends","icon","CaretDownOutlinedSvg","CloseOutlined","CloseOutlinedSvg","EMPTY_LIST","UNIQUE_ID","concat","Date","now","uuid","useScrollLocker","lock","mergedLock","_React$useState","id","_slicedToArray","useLayoutEffect","scrollbarSize","getTargetScrollBarSize","document","body","width","isOverflow","scrollHeight","window","innerHeight","documentElement","clientHeight","innerWidth","offsetWidth","updateCSS","removeCSS","inline","getPortalContainer","getContainer","canUseDom","querySelector","open","autoLock","_props$autoDestroy","debug","autoDestroy","children","_React$useState2","shouldRender","setShouldRender","mergedRender","_React$useState3","_React$useState4","innerContainer","setInnerContainer","customizeContainer","_useDom","render","createElement","ele","appendedRef","queueCreate","OrderContext","queue","setQueue","mergedQueueCreate","current","undefined","appendFn","origin","_toConsumableArray","append","parentElement","appendChild","cleanup","_ele$parentElement","removeChild","length","forEach","useDom","_useDom2","defaultContainer","mergedContainer","childRef","supportRef","mergedRef","useComposeRef","nextInline","renderInline","reffedChildren","Provider","value","createPortal","Arrow","prefixCls","align","arrow","arrowPos","_ref","className","content","_arrowPos$x","x","_arrowPos$y","y","arrowRef","points","alignStyle","position","autoArrow","popupPoints","targetPoints","popupTB","popupLR","targetTB","targetLR","includes","top","bottom","left","right","classNames","style","Mask","zIndex","mask","motion","CSSMotion","motionAppear","visible","removeOnLeave","_","next","cache","popup","target","_onVisibleChanged","onVisibleChanged","keepDom","fresh","onClick","maskMotion","forceRender","getPopupContainer","Portal","portal","onMouseEnter","onMouseLeave","onPointerEnter","ready","offsetX","offsetY","offsetR","offsetB","onAlign","onPrepare","stretch","targetWidth","targetHeight","childNode","isNodeVisible","getPopupContainerNeedParams","show","setShow","AUTO","offsetStyle","_experimental","dynamicInset","alignRight","alignBottom","miscStyle","height","minHeight","minWidth","pointerEvents","ResizeObserver","onResize","disabled","resizeObserverRef","motionEnter","motionLeave","leavedClassName","onAppearPrepare","onEnterPrepare","nextVisible","_motion$onVisibleChan","call","motionRef","motionClassName","motionStyle","cls","composeRef","_objectSpread","boxSizing","PopupContent","getTriggerDOMNode","canUseRef","setRef","node","fillRef","toArray","val","Array","isArray","isPointsEq","a1","arguments","a2","getMotion","animation","transitionName","motionName","getWin","ownerDocument","defaultView","collectScroller","scrollerList","scrollStyle","_getWin$getComputedSt","getComputedStyle","overflowX","overflowY","overflow","some","o","push","toNum","num","defaultValue","Number","isNaN","getPxValue","parseFloat","getVisibleArea","initArea","visibleArea","HTMLBodyElement","HTMLHtmlElement","_getWin$getComputedSt2","overflowClipMargin","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","eleRect","getBoundingClientRect","eleOutHeight","offsetHeight","eleInnerHeight","eleOutWidth","eleInnerWidth","clientWidth","borderTopNum","borderBottomNum","borderLeftNum","borderRightNum","scaleX","Math","round","scaleY","eleScrollWidth","eleScrollHeight","scaledBorderTopWidth","scaledBorderBottomWidth","scaledBorderLeftWidth","scaledBorderRightWidth","clipMarginWidth","clipMarginHeight","clipNum","eleLeft","eleTop","eleRight","eleBottom","max","min","getUnitOffset","size","offsetStr","cells","match","getNumberOffset","rect","offset","_ref2","splitPoints","getAlignPoint","topBottom","leftRight","reversePoints","index","reverseMap","t","b","l","r","map","point","i","join","_excluded","PortalComponent","_props$prefixCls","_props$action","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","_props$mouseLeaveDela","mouseLeaveDelay","focusDelay","blurDelay","_props$maskClosable","maskClosable","destroyPopupOnHide","popupClassName","popupStyle","popupPlacement","_props$builtinPlaceme","builtinPlacements","popupAlign","getPopupClassNameFromAlign","alignPoint","onPopupClick","onPopupAlign","popupMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","restProps","_objectWithoutProperties","mergedAutoDestroy","mobile","setMobile","isMobile","subPopupElements","parentContext","TriggerContext","context","registerSubPopup","subPopupEle","useId","popupEle","setPopupEle","setPopupRef","useEvent","isDOM","_React$useState5","_React$useState6","targetEle","setTargetEle","externalForwardRef","setTargetRef","child","only","originChildProps","cloneProps","inPopupOrChild","_getShadowRoot","_getShadowRoot2","childDOM","contains","getShadowRoot","host","Object","values","mergePopupMotion","mergeMaskMotion","_React$useState7","_React$useState8","internalOpen","setInternalOpen","mergedOpen","setMergedOpen","nextOpen","openRef","lastTriggerRef","internalTriggerOpen","_lastTriggerRef$curre","delayRef","clearDelay","clearTimeout","triggerOpen","delay","setTimeout","_React$useState9","_React$useState10","inMotion","setInMotion","firstMount","_React$useState11","_React$useState12","motionPrepareResolve","setMotionPrepareResolve","_React$useState13","_React$useState14","mousePos","setMousePos","setMousePosByEvent","event","clientX","clientY","_useAlign","placement","arrowX","arrowY","offsetInfo","setOffsetInfo","alignCountRef","prevFlipRef","_popupElement$parentE","_popupElement$parentE2","targetRect","popupElement","doc","_win$getComputedStyle","popupPosition","originLeft","originTop","originRight","originBottom","originOverflow","placementInfo","placeholderElement","offsetLeft","offsetTop","popupRect","_doc$documentElement","scrollWidth","scrollTop","scrollLeft","popupHeight","popupWidth","visibleRegion","scrollRegion","htmlRegion","VISIBLE","VISIBLE_FIRST","isVisibleFirst","scrollRegionArea","visibleRegionArea","adjustCheckVisibleArea","popupMirrorRect","_scaleX","_scaleY","isVisible","targetOffset","_getNumberOffset","_getNumberOffset2","popupOffsetX","popupOffsetY","_getNumberOffset3","_getNumberOffset4","targetOffsetX","targetOffsetY","_ref3","_ref4","popupPoint","targetAlignPoint","popupAlignPoint","nextAlignInfo","nextOffsetX","nextOffsetY","getIntersectionVisibleArea","area","visibleL","visibleT","visibleR","visibleB","nextPopupY","nextPopupBottom","nextPopupX","nextPopupRight","originIntersectionVisibleArea","originIntersectionRecommendArea","targetAlignPointTL","popupAlignPointTL","targetAlignPointBR","popupAlignPointBR","adjustX","adjustY","shiftX","shiftY","supportAdjust","syncNextPopupPosition","needAdjustY","sameTB","bt","tmpNextOffsetY","newVisibleArea","newVisibleRecommendArea","tb","_tmpNextOffsetY","_newVisibleArea","_newVisibleRecommendArea","needAdjustX","sameLR","rl","tmpNextOffsetX","_newVisibleArea2","_newVisibleRecommendArea2","lr","_tmpNextOffsetX","_newVisibleArea3","_newVisibleRecommendArea3","numShiftX","numShiftY","popupLeft","popupRight","popupTop","popupBottom","targetLeft","targetRight","targetTop","targetBottom","nextArrowX","nextArrowY","offsetX4Right","offsetY4Bottom","resetReady","ori","Promise","resolve","then","useAlign","_useAlign2","alignInfo","_useAction","mergedShowAction","mergedHideAction","showActionSet","Set","hideActionSet","has","delete","add","useAction","_useAction2","showActions","hideActions","clickToShow","clickToHide","triggerAlign","onScroll","targetScrollList","popupScrollList","win","mergedList","notifyScroll","scroller","addEventListener","passive","removeEventListener","useWatch","JSON","stringify","alignedClassName","baseClassName","isAlignPoint","placements","keys","_builtinPlacements$pl","getAlignPopupClassName","nativeElement","forceAlign","_React$useState15","_React$useState16","setTargetWidth","_React$useState17","_React$useState18","setTargetHeight","syncTargetSize","wrapperAction","eventName","preEvent","_originChildProps$eve","_len","args","_key","apply","_originChildProps$onC","_len2","_key2","lockRef","raf","cancel","genClickEvents","clickInside","_genClickEvents","_genClickEvents2","onWinMouseDown","onWinClick","_genClickEvents3","_genClickEvents4","onShadowMouseDown","onShadowClick","targetShadowRoot","useWinClick","onPopupMouseEnter","onPopupMouseLeave","hoverToShow","hoverToHide","onMouseMove","_originChildProps$onM","onContextMenu","_originChildProps$onC2","preventDefault","_len3","_key3","mergedChildrenProps","passedProps","_mergedChildrenProps$","_len4","_key4","triggerNode","innerArrow","TriggerWrapper","Popup","inverseColors","PresetColors","color","isPresetColor","useForceUpdate","forceUpdate","CONTAINER_OFFSET","CONTAINER_MAX_OFFSET","containerBaseZIndexOffset","Modal","Drawer","Popover","Popconfirm","Tooltip","Tour","consumerBaseZIndexOffset","SelectLike","Dropdown","DatePicker","Menu","ImagePreview","useZIndex","componentType","customZIndex","token","useToken","parentZIndex","zIndexContext","isContainer","zIndexPopupBase","getCollapsedHeight","opacity","getRealHeight","getCurrentHeight","skipOpacityTransition","deadline","propertyName","getTransitionName","rootPrefixCls","onAppearStart","onEnterStart","onAppearActive","onEnterActive","onLeaveStart","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","motionDeadline","PlacementAlignMap","topLeft","leftTop","topRight","rightTop","bottomRight","rightBottom","bottomLeft","leftBottom","ArrowCenterPlacementAlignMap","DisableAutoArrowList","getPlacements","config","arrowWidth","autoAdjustOverflow","arrowPointAtCenter","borderRadius","visibleFirst","halfArrowWidth","placementMap","key","template","assign","arrowOffset","getArrowOffsetToken","contentRadius","limitVerticalRadius","arrowOffsetHorizontal","baseOverflow","arrowOffsetVertical","mergedOverflow","getOverflowOptions","responsiveArray","getResponsiveMap","xs","screenXSMax","sm","screenSM","md","screenMD","lg","screenLG","xl","screenXL","xxl","screenXXL","validateBreakpoints","indexableToken","revBreakpoints","reverse","breakpoint","breakpointUpper","toUpperCase","screenMin","screen","Error","screenMax","nextBreakpointUpperMin","nextScreenMin","useResponsiveObserver","responsiveMap","subscribers","Map","subUid","screens","matchHandlers","dispatch","pointMap","func","subscribe","this","register","set","unsubscribe","paramToken","unregister","matchMediaQuery","handler","mql","removeListener","listener","clear","matches","matchMedia","addListener","cssVar","customSize","SizeContext","Function","HOOK_MARK","warningFunc","warning","getFieldValue","getFieldsValue","getFieldError","getFieldWarning","getFieldsError","isFieldsTouched","isFieldTouched","isFieldValidating","isFieldsValidating","resetFields","setFields","setFieldValue","setFieldsValue","validateFields","submit","getInternalHooks","initEntityValue","registerField","useSubscribe","setInitialValues","destroyForm","setCallbacks","registerWatch","getFields","setValidateMessages","setPreserve","getInitialValue","formatRegExp","convertFieldsError","errors","fields","error","field","format","len","replace","String","isEmptyValue","type","isNativeStringType","asyncSerialArray","arr","callback","arrLength","original","AsyncValidationError","_Error","_this","_wrapNativeSuper","asyncMap","objArr","option","source","first","_pending","reject","flattenArr","ret","k","flattenObjArr","e","firstFields","objArrKeys","objArrLength","total","results","pending","indexOf","count","a","asyncParallelArray","complementError","rule","oe","fieldValue","obj","fullFields","path","v","getValue","fullField","message","deepMerge","s","hasOwnProperty","urlReg","required$1","options","required","messages","pattern$2","types","integer","number","parseInt","array","regexp","RegExp","date","getTime","getMonth","getYear","object","method","email","url","word","includeBoundaries","v4","v6seg","v6","trim","v46Exact","v4exact","v6exact","ip","exact","ipv4","ipv6","getUrlRegex","hex","ENUM$1","rules","whitespace","test","ruleType","range","str","enum","pattern","lastIndex","mismatch","validators","string","boolean","float","dateObject","any","newMessages","default","parse","invalid","clone","cloned","Schema","descriptor","_messages","define","name","item","_proto","validate","source_","oc","_this2","messages$1","series","z","transform","validator","getValidationMethod","getType","errorFields","data","doIt","res","deep","defaultField","addFullField","schema","cb","errorList","suppressWarning","filledErrors","fieldsSchema","paredFieldsSchema","fieldSchema","fieldSchemaList","bind","errs","finalErrors","asyncValidator","console","suppressValidatorError","_errors","complete","messageIndex","splice","typeTemplate","defaultValidateMessages","AsyncValidator","RawAsyncValidator","replaceMessage","kv","slice","CODE_LOGIC_ERROR","validateRule","_x","_x2","_x3","_x4","_x5","_validateRule","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","messageVariables","cloneRule","originValidator","subRuleField","result","subResults","fillVariableResult","wrap","_context2","prev","ruleIndex","_defineProperty","merge","validateMessages","t0","mergedMessage","all","subValue","sent","abrupt","reduce","stop","validateRules","namePath","validateFirst","summaryPromise","filledRules","currentRule","originValidatorFunc","hasPromise","promise","catch","err","sort","w1","warningOnly","i1","w2","i2","_callee","_context","_x6","_x7","rulePromises","_x9","_finishOnFirstFailed","finishOnFirstFailed","_x8","_finishOnAllFailed","finishOnAllFailed","_callee3","_context3","errorsList","_ref5","_callee4","_context4","ruleError","getNamePath","cloneByNamePathList","store","namePathList","newStore","setValue","containsNamePath","partialMatch","matchNamePath","subNamePath","every","nameUnit","defaultGetValueFromEvent","valuePropName","_typeof","move","moveIndex","toIndex","diff","EMPTY_ERRORS","requireUpdate","shouldUpdate","prevValue","nextValue","info","Field","_React$Component","_inherits","_super","_createSuper","_classCallCheck","_assertThisInitialized","resetCount","_this$props","preserve","isListField","cancelRegisterFunc","_this$props2","_fieldContext$prefixN","fieldContext","prefixName","_this$props3","_this$props3$rules","mounted","setState","destroy","onMetaChange","_meta","getMeta","isEqual","metaCache","prevStore","_this$props4","_this$props4$dependen","dependencies","onReset","curValue","namePathMatch","touched","dirty","validatePromise","warnings","triggerMetaEvent","refresh","reRender","validating","dependency","relatedFields","currentValue","triggerName","_ref2$validateOnly","validateOnly","rootPromise","_this$props5","_this$props5$validate","validateDebounce","filteredRules","getRules","filter","validateTrigger","ruleErrors","_ruleErrors$forEach","nextErrors","nextWarnings","_ref4$errors","initialValue","isList","prevValidating","validated","_meta2","getOnlyChild","getControlled","isFunction","childList","toChildrenArray","childProps","_this$props6","trigger","getValueFromEvent","normalize","getValueProps","mergedValidateTrigger","mergedGetValueProps","originTriggerFunc","control","newValue","originTrigger","_createClass","_this$props7","cancelRegister","returnChildNode","state","_this$getOnlyChild","FieldContext","_ref6","listContext","ListContext","wrapperListContext","keyManager","parentPrefixName","getKey","pathName","meta","_ref3$value","onChange","getNewValue","operations","remove","indexSet","keysIndex","valueIndex","from","to","_move","listValue","__","SPLIT","cell","NameMap","kvs","get","updater","entries","split","_cell$match","_cell$match2","unit","json","FormStore","forceRootUpdate","_init","formHooked","subscribable","initialValues","init","_this$prevWithoutPres","nextStore","prevWithoutPreserves","updateStore","getFieldEntities","entity","isMergedPreserve","isPreserve","initValue","callbacks","watchList","fn","allValues","process","fieldEntities","pure","nameList","getFieldsMap","INVALIDATE_NAME_PATH","filterFunc","mergedNameList","mergedFilterFunc","mergedStrict","warningUnhooked","strict","getFieldEntitiesForNamePathList","filteredNameList","_isListField","_isList","getErrors","getWarnings","arg0","arg1","isAllFieldsTouched","shortNamePath","fieldNamePath","update","list","isNamePathListTouched","entities","namePathListEntities","testField","records","requiredFieldEntities","_requiredFieldEntitie","originValue","skipExist","resetWithFieldInitialValue","notifyObservers","notifyWatch","fieldData","defineProperty","fieldPreserve","mergedPreserve","_prevStore","triggerDependenciesUpdate","updateValue","_namePath","mergedInfo","onStoreChange","childrenFields","getDependencyChildrenFields","onValuesChange","triggerOnFieldsChange","rootNamePath","dependencies2fields","dependencyNamePath","fillChildren","isFieldDirty","filedErrors","onFieldsChange","changedFields","_ref7","fieldName","arg2","provideNameList","promiseList","TMP_SPLIT","validateNamePathList","_ref8","recursive","mergedErrors","mergedWarnings","_ref9","hasError","allPromiseFinish","lastValidatePromise","resultNamePathList","_ref10","returnPromise","outOfDate","triggerNamePathList","onFinish","onFinishFailed","form","formRef","formStore","getForm","FormContext","triggerFormChange","triggerFormFinish","registerForm","unregisterForm","_ref$component","component","Component","_ref$validateTrigger","_onFieldsChange","_onFinish","formContext","_useForm","useForm","formInstance","_getInternalHooks","rest","childrenNode","mountRef","childrenRenderProps","prevFieldsRef","sourceKeys","targetKeys","sourceValue","targetValue","isSimilar","formContextValue","wrapperNode","onSubmit","stopPropagation","_restProps$onReset","random","useWatchWarning","_args$","_form","isFormInstance","_useState","useState","_useState2","valueStr","useMemo","valueStrRef","useRef","useContext","isValidForm","namePathRef","useEffect","getWatchValue","watchValue","nextValueStr","RefForm","FieldForm","FormProvider","onFormChange","onFormFinish","formsRef","forms","newForms","List","FormItemInputContext","NoFormStyle","status","override","formItemInputContext","newFormItemInputContext","newContext","isFormItemInput","hasFeedback","feedbackIcon","VariantContext","createContext","refreshOnChange","screensRef","responsiveObserver","supportScreens","__rest","p","prototype","getOwnPropertySymbols","propertyIsEnumerable","SpaceCompactItemContext","useCompactItemContext","direction","compactItemContext","compactItemClassnames","compactDirection","isFirstItem","isLastItem","separator","compactSize","NoCompactStyle","CompactItem","_a","otherProps","getPrefixCls","directionConfig","ConfigContext","block","customizePrefixCls","rootClassName","mergedSize","useSize","ctx","wrapCSSVar","hashId","useStyle","clx","childNodes","nodes","isPresetSize","isValidGapNumber","SpaceContext","latestIndex","SpaceContextProvider","Space","_b","space","customClassNames","styles","horizontalSize","verticalSize","isPresetVerticalSize","isPresetHorizontalSize","isValidVerticalSize","isValidHorizontalSize","keepEmpty","mergedAlign","cssVarCls","itemClassName","Item","spaceContext","gapStyle","flexWrap","columnGap","rowGap","CompoundedSpace","Compact","componentCls","display","flexDirection","genSpaceStyle","alignItems","genSpaceGapStyle","spaceGapSmallSize","spaceGapMiddleSize","spaceGapLargeSize","genStyleHooks","spaceToken","mergeToken","paddingXS","padding","paddingLG","genSpaceCompactStyle","resetStyle","initMotionCommon","duration","animationDuration","animationFillMode","initMotionCommonLeave","initMotion","motionCls","inKeyframes","outKeyframes","sameLevelPrefix","animationPlayState","animationName","zoomIn","Keyframes","zoomOut","zoomBigIn","zoomBigOut","zoomUpIn","transformOrigin","zoomUpOut","zoomMotion","zoom","initZoomMotion","antCls","motionDurationFast","motionDurationMid","animationTimingFunction","motionEaseOutCirc","motionEaseInOutCirc","MAX_VERTICAL_CONTENT_RADIUS","isInject","valid","code","getArrowStyle","colorBg","boxShadowPopoverArrow","arrowDistance","arrowPlacement","genRoundedArrow","background","_skip_check_","getArrowToken","sizePopupArrow","borderRadiusXS","borderRadiusOuter","unitWidth","ay","bx","sqrt","by","cx","cy","dx","dy","ex","ey","fx","fy","shadowWidth","polygonOffset","arrowPolygon","arrowShadowWidth","arrowPath","bgColor","boxShadow","calc","insetInlineStart","div","equal","clipPath","_multi_value_","insetInline","margin","genPresetColor","genCss","colorKey","lightColor","lightBorderColor","darkColor","textColor","genTooltipStyle","tooltipMaxWidth","tooltipColor","tooltipBg","tooltipBorderRadius","zIndexPopup","controlHeight","boxShadowSecondary","paddingSM","resetComponent","maxWidth","visibility","textAlign","textDecoration","wordWrap","backgroundColor","prepareComponentToken","injectStyle","colorTextLightSolid","colorBgSpotlight","TooltipToken","parseColor","isInternalColor","overlayStyle","arrowStyle","title","overlayInnerStyle","colorInfo","arrowContentStyle","formattedOverlayInnerStyle","openClassName","getTooltipContainer","overlayClassName","afterOpenChange","afterVisibleChange","destroyTooltipOnHide","overlay","mergedShowArrow","getContextPopupContainer","devUseWarning","tooltipRef","forcePopupAlign","deprecated","setOpen","useMergedState","defaultOpen","defaultVisible","noTitle","tooltipPlacements","mergedArrowPointAtCenter","pointAtCenter","marginXXS","memoOverlay","memoOverlayWrapper","injectFromPopover","tempOpen","isValidElement","isFragment","childCls","customOverlayClassName","contextZIndex","RcTooltip","showArrow","onVisibleChange","vis","onOpenChange","arrowContent","cloneElement","_InternalPanelDoNotUseOrYouWillBeFired","PurePanel","CollectionContext","MapShim","getIndex","entry","class_1","__entries__","enumerable","configurable","_i","isBrowser","global$1","global","self","requestAnimationFrame$1","requestAnimationFrame","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","observe","attributes","characterData","subtree","disconnect","getInstance","instance_","defineConfigurable","writable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","positions","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","create","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","observation","WeakMap","elementListeners","resizeObserver","_elementListeners$get","DomWrapper","SingleObserver","elementRef","wrapperRef","onCollectionResize","isRenderProps","mergedChildren","sizeRef","canRef","originRef","getDom","_elementRef$current","findDOMNode","propsRef","onInternalResize","_propsRef$current","_target$getBoundingCl","fixedWidth","floor","fixedHeight","mergedOffsetWidth","mergedOffsetHeight","sizeInfo","element","currentElement","RefResizeObserver","Collection","onBatchResize","resizeIdRef","resizeInfosRef","currentId","role","autoAdjustOverflowTopBottom","autoAdjustOverflowLeftRight","_props$trigger","_props$mouseEnterDela","_props$placement","_props$align","_props$destroyTooltip","_props$showArrow","triggerRef","useImperativeHandle","extraProps","Trigger","forwardRef","offsetParent","_getBBox","_element$getBoundingC","_width","_height","KeyCode","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","META","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","keyCode","altKey","ctrlKey","metaKey","isCharacterKey","navigator","userAgent","cached","getScrollBarSize","inner","outer","outerStyle","widthContained","widthScroll","ensureSize","_getComputedStyle","useOriginId","reactId","innerId","setInnerId","nextId","agent","vendor","opera","substr","propList","ariaPrefix","dataPrefix","prefix","pickAttrs","mergedConfig","ariaOnly","aria","attr","attrs","asyncGeneratorStep","gen","_next","_throw","arg","done","n","Symbol","iterator","c","asyncIterator","u","toStringTag","Generator","Context","makeInvokeMethod","tryCatch","h","f","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","constructor","setPrototypeOf","__proto__","awrap","async","pop","charAt","rval","handle","finish","delegateYield"],"sourceRoot":""}
|