{"version":3,"file":"49ea7a4abc4b58f0f500.bundle.js","mappings":"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","sources":["webpack://spartner/./node_modules/@rc-component/context/es/context.js","webpack://spartner/./node_modules/@rc-component/context/es/Immutable.js","webpack://spartner/./node_modules/@rc-component/context/es/index.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/es/NumberDecimal.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/es/MiniDecimal.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/es/numberUtil.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/es/supportUtil.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://spartner/./node_modules/@rc-component/portal/es/Context.js","webpack://spartner/./node_modules/@rc-component/portal/es/useDom.js","webpack://spartner/./node_modules/@rc-component/portal/es/useScrollLocker.js","webpack://spartner/./node_modules/@rc-component/portal/es/mock.js","webpack://spartner/./node_modules/@rc-component/portal/es/Portal.js","webpack://spartner/./node_modules/@rc-component/portal/es/index.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://spartner/./node_modules/@rc-component/portal/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://spartner/./node_modules/@rc-component/portal/es/util.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/rc-resize-observer/es/Collection.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/rc-resize-observer/es/utils/observerUtil.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/rc-resize-observer/es/SingleObserver/index.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/rc-resize-observer/es/index.js","webpack://spartner/./node_modules/@rc-component/trigger/es/Popup/Arrow.js","webpack://spartner/./node_modules/@rc-component/trigger/es/Popup/Mask.js","webpack://spartner/./node_modules/@rc-component/trigger/es/Popup/PopupContent.js","webpack://spartner/./node_modules/@rc-component/trigger/es/Popup/index.js","webpack://spartner/./node_modules/@rc-component/trigger/es/TriggerWrapper.js","webpack://spartner/./node_modules/@rc-component/trigger/es/context.js","webpack://spartner/./node_modules/@rc-component/trigger/es/hooks/useAction.js","webpack://spartner/./node_modules/@rc-component/trigger/es/util.js","webpack://spartner/./node_modules/@rc-component/trigger/es/hooks/useAlign.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://spartner/./node_modules/@rc-component/trigger/es/index.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://spartner/./node_modules/@rc-component/trigger/es/hooks/useWatch.js","webpack://spartner/./node_modules/@rc-component/trigger/es/hooks/useWinClick.js","webpack://spartner/./node_modules/rc-checkbox/es/index.js","webpack://spartner/./node_modules/rc-collapse/es/PanelContent.js","webpack://spartner/./node_modules/rc-collapse/es/Panel.js","webpack://spartner/./node_modules/rc-collapse/es/hooks/useItems.js","webpack://spartner/./node_modules/rc-collapse/es/Collapse.js","webpack://spartner/./node_modules/rc-collapse/es/index.js","webpack://spartner/./node_modules/rc-dialog/es/context.js","webpack://spartner/./node_modules/rc-dialog/node_modules/rc-util/es/Dom/contains.js","webpack://spartner/./node_modules/rc-dialog/node_modules/rc-util/es/hooks/useId.js","webpack://spartner/./node_modules/rc-dialog/node_modules/rc-util/es/KeyCode.js","webpack://spartner/./node_modules/rc-dialog/node_modules/rc-util/es/pickAttrs.js","webpack://spartner/./node_modules/rc-dialog/es/util.js","webpack://spartner/./node_modules/rc-dialog/node_modules/rc-util/es/ref.js","webpack://spartner/./node_modules/rc-dialog/node_modules/rc-util/es/hooks/useMemo.js","webpack://spartner/./node_modules/rc-dialog/es/Dialog/Content/MemoChildren.js","webpack://spartner/./node_modules/rc-dialog/es/Dialog/Content/Panel.js","webpack://spartner/./node_modules/rc-dialog/es/Dialog/Content/index.js","webpack://spartner/./node_modules/rc-dialog/es/Dialog/Mask.js","webpack://spartner/./node_modules/rc-dialog/es/Dialog/index.js","webpack://spartner/./node_modules/rc-dialog/es/DialogWrap.js","webpack://spartner/./node_modules/rc-dialog/es/index.js","webpack://spartner/./node_modules/rc-drawer/es/context.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/context.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/DomWrapper.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/interface.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/util/motion.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/hooks/useStepQueue.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/hooks/useStatus.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/hooks/useNextFrame.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/CSSMotion.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/util/diff.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/CSSMotionList.js","webpack://spartner/./node_modules/rc-drawer/node_modules/rc-motion/es/index.js","webpack://spartner/./node_modules/rc-drawer/es/DrawerPanel.js","webpack://spartner/./node_modules/rc-drawer/es/util.js","webpack://spartner/./node_modules/rc-drawer/es/DrawerPopup.js","webpack://spartner/./node_modules/rc-drawer/es/index.js","webpack://spartner/./node_modules/rc-drawer/es/Drawer.js","webpack://spartner/./node_modules/rc-dropdown/node_modules/rc-util/es/ref.js","webpack://spartner/./node_modules/rc-dropdown/node_modules/rc-util/es/KeyCode.js","webpack://spartner/./node_modules/rc-dropdown/node_modules/rc-util/es/raf.js","webpack://spartner/./node_modules/rc-dropdown/es/hooks/useAccessibility.js","webpack://spartner/./node_modules/rc-dropdown/es/Overlay.js","webpack://spartner/./node_modules/rc-dropdown/es/placements.js","webpack://spartner/./node_modules/rc-dropdown/es/Dropdown.js","webpack://spartner/./node_modules/rc-dropdown/es/index.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://spartner/./node_modules/rc-field-form/es/FieldContext.js","webpack://spartner/./node_modules/rc-field-form/es/ListContext.js","webpack://spartner/./node_modules/rc-field-form/es/utils/typeUtil.js","webpack://spartner/./node_modules/rc-field-form/es/utils/messages.js","webpack://spartner/./node_modules/rc-field-form/es/utils/validateUtil.js","webpack://spartner/./node_modules/rc-field-form/es/utils/valueUtil.js","webpack://spartner/./node_modules/rc-field-form/es/Field.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://spartner/./node_modules/rc-field-form/es/List.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://spartner/./node_modules/rc-field-form/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://spartner/./node_modules/rc-field-form/es/utils/NameMap.js","webpack://spartner/./node_modules/rc-field-form/es/useForm.js","webpack://spartner/./node_modules/rc-field-form/es/utils/asyncUtil.js","webpack://spartner/./node_modules/rc-field-form/es/FormContext.js","webpack://spartner/./node_modules/rc-field-form/es/Form.js","webpack://spartner/./node_modules/rc-field-form/es/useWatch.js","webpack://spartner/./node_modules/rc-field-form/es/index.js","webpack://spartner/./node_modules/@rc-component/mini-decimal/es/index.js","webpack://spartner/./node_modules/rc-input-number/es/StepHandler.js","webpack://spartner/./node_modules/rc-input-number/es/utils/numberUtil.js","webpack://spartner/./node_modules/rc-input-number/es/InputNumber.js","webpack://spartner/./node_modules/rc-input-number/es/hooks/useCursor.js","webpack://spartner/./node_modules/rc-input-number/es/hooks/useFrame.js","webpack://spartner/./node_modules/rc-input-number/es/index.js","webpack://spartner/./node_modules/rc-input/es/hooks/useCount.js","webpack://spartner/./node_modules/rc-input/es/BaseInput.js","webpack://spartner/./node_modules/rc-input/es/Input.js","webpack://spartner/./node_modules/rc-input/es/index.js","webpack://spartner/./node_modules/rc-input/es/utils/commonUtils.js","webpack://spartner/./node_modules/@rc-component/trigger/node_modules/classnames/index.js","webpack://spartner/./node_modules/rc-checkbox/node_modules/classnames/index.js"],"sourcesContent":["import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nexport function createContext(defaultValue) {\n var Context = /*#__PURE__*/React.createContext(undefined);\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n useLayoutEffect(function () {\n unstable_batchedUpdates(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n return {\n Context: Context,\n Provider: Provider,\n defaultValue: defaultValue\n };\n}\n\n/** e.g. useSelect(userContext) => user */\n\n/** e.g. useSelect(userContext, user => user.name) => user.name */\n\n/** e.g. useSelect(userContext, ['name', 'age']) => user { name, age } */\n\n/** e.g. useSelect(userContext, 'name') => user.name */\n\nexport function useContext(holder, selector) {\n var eventSelector = useEvent(typeof selector === 'function' ? selector : function (ctx) {\n if (selector === undefined) {\n return ctx;\n }\n if (!Array.isArray(selector)) {\n return ctx[selector];\n }\n var obj = {};\n selector.forEach(function (key) {\n obj[key] = ctx[key];\n });\n return obj;\n });\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n var valueRef = React.useRef();\n valueRef.current = eventSelector(context ? getValue() : holder === null || holder === void 0 ? void 0 : holder.defaultValue);\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n forceUpdate = _React$useState4[1];\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n function trigger(nextValue) {\n var nextSelectorValue = eventSelector(nextValue);\n if (!isEqual(valueRef.current, nextSelectorValue, true)) {\n forceUpdate({});\n }\n }\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return valueRef.current;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\n/**\n * Create Immutable pair for `makeImmutable` and `responseImmutable`.\n */\nexport default function createImmutable() {\n var ImmutableContext = /*#__PURE__*/React.createContext(null);\n\n /**\n * Get render update mark by `makeImmutable` root.\n * Do not deps on the return value as render times\n * but only use for `useMemo` or `useCallback` deps.\n */\n function useImmutableMark() {\n return React.useContext(ImmutableContext);\n }\n\n /**\n * Wrapped Component will be marked as Immutable.\n * When Component parent trigger render,\n * it will notice children component (use with `responseImmutable`) node that parent has updated.\n * @param Component Passed Component\n * @param triggerRender Customize trigger `responseImmutable` children re-render logic. Default will always trigger re-render when this component re-render.\n */\n function makeImmutable(Component, shouldTriggerRender) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n var renderTimesRef = React.useRef(0);\n var prevProps = React.useRef(props);\n\n // If parent has the context, we do not wrap it\n var mark = useImmutableMark();\n if (mark !== null) {\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n }\n if (\n // Always trigger re-render if not provide `notTriggerRender`\n !shouldTriggerRender || shouldTriggerRender(prevProps.current, props)) {\n renderTimesRef.current += 1;\n }\n prevProps.current = props;\n return /*#__PURE__*/React.createElement(ImmutableContext.Provider, {\n value: renderTimesRef.current\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps)));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableRoot(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;\n }\n\n /**\n * Wrapped Component with `React.memo`.\n * But will rerender when parent with `makeImmutable` rerender.\n */\n function responseImmutable(Component, propsAreEqual) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n useImmutableMark();\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableResponse(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(ImmutableComponent), propsAreEqual) : /*#__PURE__*/React.memo(ImmutableComponent, propsAreEqual);\n }\n return {\n makeImmutable: makeImmutable,\n responseImmutable: responseImmutable,\n useImmutableMark: useImmutableMark\n };\n}","import { createContext, useContext } from \"./context\";\nimport createImmutable from \"./Immutable\";\n\n// For legacy usage, we export it directly\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { createContext, useContext, createImmutable, makeImmutable, responseImmutable, useImmutableMark };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isE, isEmpty, num2str, trimNumber, validateNumber } from \"./numberUtil\";\nvar BigIntDecimal = /*#__PURE__*/function () {\n /** BigInt will convert `0009` to `9`. We need record the len of decimal */\n\n function BigIntDecimal(value) {\n _classCallCheck(this, BigIntDecimal);\n _defineProperty(this, \"origin\", '');\n _defineProperty(this, \"negative\", void 0);\n _defineProperty(this, \"integer\", void 0);\n _defineProperty(this, \"decimal\", void 0);\n _defineProperty(this, \"decimalLen\", void 0);\n _defineProperty(this, \"empty\", void 0);\n _defineProperty(this, \"nan\", void 0);\n if (isEmpty(value)) {\n this.empty = true;\n return;\n }\n this.origin = String(value);\n\n // Act like Number convert\n if (value === '-' || Number.isNaN(value)) {\n this.nan = true;\n return;\n }\n var mergedValue = value;\n\n // We need convert back to Number since it require `toFixed` to handle this\n if (isE(mergedValue)) {\n mergedValue = Number(mergedValue);\n }\n mergedValue = typeof mergedValue === 'string' ? mergedValue : num2str(mergedValue);\n if (validateNumber(mergedValue)) {\n var trimRet = trimNumber(mergedValue);\n this.negative = trimRet.negative;\n var numbers = trimRet.trimStr.split('.');\n this.integer = BigInt(numbers[0]);\n var decimalStr = numbers[1] || '0';\n this.decimal = BigInt(decimalStr);\n this.decimalLen = decimalStr.length;\n } else {\n this.nan = true;\n }\n }\n _createClass(BigIntDecimal, [{\n key: \"getMark\",\n value: function getMark() {\n return this.negative ? '-' : '';\n }\n }, {\n key: \"getIntegerStr\",\n value: function getIntegerStr() {\n return this.integer.toString();\n }\n\n /**\n * @private get decimal string\n */\n }, {\n key: \"getDecimalStr\",\n value: function getDecimalStr() {\n return this.decimal.toString().padStart(this.decimalLen, '0');\n }\n\n /**\n * @private Align BigIntDecimal with same decimal length. e.g. 12.3 + 5 = 1230000\n * This is used for add function only.\n */\n }, {\n key: \"alignDecimal\",\n value: function alignDecimal(decimalLength) {\n var str = \"\".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(decimalLength, '0'));\n return BigInt(str);\n }\n }, {\n key: \"negate\",\n value: function negate() {\n var clone = new BigIntDecimal(this.toString());\n clone.negative = !clone.negative;\n return clone;\n }\n }, {\n key: \"cal\",\n value: function cal(offset, calculator, calDecimalLen) {\n var maxDecimalLength = Math.max(this.getDecimalStr().length, offset.getDecimalStr().length);\n var myAlignedDecimal = this.alignDecimal(maxDecimalLength);\n var offsetAlignedDecimal = offset.alignDecimal(maxDecimalLength);\n var valueStr = calculator(myAlignedDecimal, offsetAlignedDecimal).toString();\n var nextDecimalLength = calDecimalLen(maxDecimalLength);\n\n // We need fill string length back to `maxDecimalLength` to avoid parser failed\n var _trimNumber = trimNumber(valueStr),\n negativeStr = _trimNumber.negativeStr,\n trimStr = _trimNumber.trimStr;\n var hydrateValueStr = \"\".concat(negativeStr).concat(trimStr.padStart(nextDecimalLength + 1, '0'));\n return new BigIntDecimal(\"\".concat(hydrateValueStr.slice(0, -nextDecimalLength), \".\").concat(hydrateValueStr.slice(-nextDecimalLength)));\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new BigIntDecimal(value);\n }\n var offset = new BigIntDecimal(value);\n if (offset.isInvalidate()) {\n return this;\n }\n return this.cal(offset, function (num1, num2) {\n return num1 + num2;\n }, function (len) {\n return len;\n });\n }\n }, {\n key: \"multi\",\n value: function multi(value) {\n var target = new BigIntDecimal(value);\n if (this.isInvalidate() || target.isInvalidate()) {\n return new BigIntDecimal(NaN);\n }\n return this.cal(target, function (num1, num2) {\n return num1 * num2;\n }, function (len) {\n return len * 2;\n });\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return this.nan;\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toString() === (target === null || target === void 0 ? void 0 : target.toString());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n if (this.isNaN()) {\n return NaN;\n }\n return Number(this.toString());\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!safe) {\n return this.origin;\n }\n if (this.isInvalidate()) {\n return '';\n }\n return trimNumber(\"\".concat(this.getMark()).concat(this.getIntegerStr(), \".\").concat(this.getDecimalStr())).fullStr;\n }\n }]);\n return BigIntDecimal;\n}();\nexport { BigIntDecimal as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { getNumberPrecision, isEmpty, num2str } from \"./numberUtil\";\n\n/**\n * We can remove this when IE not support anymore\n */\nvar NumberDecimal = /*#__PURE__*/function () {\n function NumberDecimal(value) {\n _classCallCheck(this, NumberDecimal);\n _defineProperty(this, \"origin\", '');\n _defineProperty(this, \"number\", void 0);\n _defineProperty(this, \"empty\", void 0);\n if (isEmpty(value)) {\n this.empty = true;\n return;\n }\n this.origin = String(value);\n this.number = Number(value);\n }\n _createClass(NumberDecimal, [{\n key: \"negate\",\n value: function negate() {\n return new NumberDecimal(-this.toNumber());\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new NumberDecimal(value);\n }\n var target = Number(value);\n if (Number.isNaN(target)) {\n return this;\n }\n var number = this.number + target;\n\n // [Legacy] Back to safe integer\n if (number > Number.MAX_SAFE_INTEGER) {\n return new NumberDecimal(Number.MAX_SAFE_INTEGER);\n }\n if (number < Number.MIN_SAFE_INTEGER) {\n return new NumberDecimal(Number.MIN_SAFE_INTEGER);\n }\n var maxPrecision = Math.max(getNumberPrecision(this.number), getNumberPrecision(target));\n return new NumberDecimal(number.toFixed(maxPrecision));\n }\n }, {\n key: \"multi\",\n value: function multi(value) {\n var target = Number(value);\n if (this.isInvalidate() || Number.isNaN(target)) {\n return new NumberDecimal(NaN);\n }\n var number = this.number * target;\n\n // [Legacy] Back to safe integer\n if (number > Number.MAX_SAFE_INTEGER) {\n return new NumberDecimal(Number.MAX_SAFE_INTEGER);\n }\n if (number < Number.MIN_SAFE_INTEGER) {\n return new NumberDecimal(Number.MIN_SAFE_INTEGER);\n }\n var maxPrecision = Math.max(getNumberPrecision(this.number), getNumberPrecision(target));\n return new NumberDecimal(number.toFixed(maxPrecision));\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return Number.isNaN(this.number);\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toNumber() === (target === null || target === void 0 ? void 0 : target.toNumber());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n return this.number;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!safe) {\n return this.origin;\n }\n if (this.isInvalidate()) {\n return '';\n }\n return num2str(this.number);\n }\n }]);\n return NumberDecimal;\n}();\nexport { NumberDecimal as default };","/* eslint-disable max-classes-per-file */\n\nimport BigIntDecimal from \"./BigIntDecimal\";\nimport NumberDecimal from \"./NumberDecimal\";\nimport { trimNumber } from \"./numberUtil\";\nimport { supportBigInt } from \"./supportUtil\";\n\n// Still support origin export\nexport { NumberDecimal, BigIntDecimal };\nexport default function getMiniDecimal(value) {\n // We use BigInt here.\n // Will fallback to Number if not support.\n if (supportBigInt()) {\n return new BigIntDecimal(value);\n }\n return new NumberDecimal(value);\n}\n\n/**\n * Align the logic of toFixed to around like 1.5 => 2.\n * If set `cutOnly`, will just remove the over decimal part.\n */\nexport function toFixed(numStr, separatorStr, precision) {\n var cutOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (numStr === '') {\n return '';\n }\n var _trimNumber = trimNumber(numStr),\n negativeStr = _trimNumber.negativeStr,\n integerStr = _trimNumber.integerStr,\n decimalStr = _trimNumber.decimalStr;\n var precisionDecimalStr = \"\".concat(separatorStr).concat(decimalStr);\n var numberWithoutDecimal = \"\".concat(negativeStr).concat(integerStr);\n if (precision >= 0) {\n // We will get last + 1 number to check if need advanced number\n var advancedNum = Number(decimalStr[precision]);\n if (advancedNum >= 5 && !cutOnly) {\n var advancedDecimal = getMiniDecimal(numStr).add(\"\".concat(negativeStr, \"0.\").concat('0'.repeat(precision)).concat(10 - advancedNum));\n return toFixed(advancedDecimal.toString(), separatorStr, precision, cutOnly);\n }\n if (precision === 0) {\n return numberWithoutDecimal;\n }\n return \"\".concat(numberWithoutDecimal).concat(separatorStr).concat(decimalStr.padEnd(precision, '0').slice(0, precision));\n }\n if (precisionDecimalStr === '.0') {\n return numberWithoutDecimal;\n }\n return \"\".concat(numberWithoutDecimal).concat(precisionDecimalStr);\n}","import { supportBigInt } from \"./supportUtil\";\nexport function isEmpty(value) {\n return !value && value !== 0 && !Number.isNaN(value) || !String(value).trim();\n}\n\n/**\n * Format string number to readable number\n */\nexport function trimNumber(numStr) {\n var str = numStr.trim();\n var negative = str.startsWith('-');\n if (negative) {\n str = str.slice(1);\n }\n str = str\n // Remove decimal 0. `1.000` => `1.`, `1.100` => `1.1`\n .replace(/(\\.\\d*[^0])0*$/, '$1')\n // Remove useless decimal. `1.` => `1`\n .replace(/\\.0*$/, '')\n // Remove integer 0. `0001` => `1`, 000.1' => `.1`\n .replace(/^0+/, '');\n if (str.startsWith('.')) {\n str = \"0\".concat(str);\n }\n var trimStr = str || '0';\n var splitNumber = trimStr.split('.');\n var integerStr = splitNumber[0] || '0';\n var decimalStr = splitNumber[1] || '0';\n if (integerStr === '0' && decimalStr === '0') {\n negative = false;\n }\n var negativeStr = negative ? '-' : '';\n return {\n negative: negative,\n negativeStr: negativeStr,\n trimStr: trimStr,\n integerStr: integerStr,\n decimalStr: decimalStr,\n fullStr: \"\".concat(negativeStr).concat(trimStr)\n };\n}\nexport function isE(number) {\n var str = String(number);\n return !Number.isNaN(Number(str)) && str.includes('e');\n}\n\n/**\n * [Legacy] Convert 1e-9 to 0.000000001.\n * This may lose some precision if user really want 1e-9.\n */\nexport function getNumberPrecision(number) {\n var numStr = String(number);\n if (isE(number)) {\n var precision = Number(numStr.slice(numStr.indexOf('e-') + 2));\n var decimalMatch = numStr.match(/\\.(\\d+)/);\n if (decimalMatch !== null && decimalMatch !== void 0 && decimalMatch[1]) {\n precision += decimalMatch[1].length;\n }\n return precision;\n }\n return numStr.includes('.') && validateNumber(numStr) ? numStr.length - numStr.indexOf('.') - 1 : 0;\n}\n\n/**\n * Convert number (includes scientific notation) to -xxx.yyy format\n */\nexport function num2str(number) {\n var numStr = String(number);\n if (isE(number)) {\n if (number > Number.MAX_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MAX_SAFE_INTEGER);\n }\n if (number < Number.MIN_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MIN_SAFE_INTEGER);\n }\n numStr = number.toFixed(getNumberPrecision(numStr));\n }\n return trimNumber(numStr).fullStr;\n}\nexport function validateNumber(num) {\n if (typeof num === 'number') {\n return !Number.isNaN(num);\n }\n\n // Empty\n if (!num) {\n return false;\n }\n return (\n // Normal type: 11.28\n /^\\s*-?\\d+(\\.\\d+)?\\s*$/.test(num) ||\n // Pre-number: 1.\n /^\\s*-?\\d+\\.\\s*$/.test(num) ||\n // Post-number: .1\n /^\\s*-?\\.\\d+\\s*$/.test(num)\n );\n}","export function supportBigInt() {\n return typeof BigInt === 'function';\n}","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","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}","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 arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","/**\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}","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import * as React from 'react';\nexport var CollectionContext = /*#__PURE__*/React.createContext(null);\n/**\n * Collect all the resize event from children ResizeObserver\n */\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}","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 toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","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 setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _createSuper(t) {\n var r = isNativeReflectConstruct();\n return function () {\n var e,\n o = getPrototypeOf(t);\n if (r) {\n var s = getPrototypeOf(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return possibleConstructorReturn(this, e);\n };\n}\nexport { _createSuper as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck 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 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 arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","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 objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"checked\", \"disabled\", \"defaultChecked\", \"type\", \"title\", \"onChange\"];\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nexport var Checkbox = /*#__PURE__*/forwardRef(function (props, ref) {\n var _classNames;\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-checkbox' : _props$prefixCls,\n className = props.className,\n style = props.style,\n checked = props.checked,\n disabled = props.disabled,\n _props$defaultChecked = props.defaultChecked,\n defaultChecked = _props$defaultChecked === void 0 ? false : _props$defaultChecked,\n _props$type = props.type,\n type = _props$type === void 0 ? 'checkbox' : _props$type,\n title = props.title,\n onChange = props.onChange,\n inputProps = _objectWithoutProperties(props, _excluded);\n var inputRef = useRef(null);\n var _useMergedState = useMergedState(defaultChecked, {\n value: checked\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n rawValue = _useMergedState2[0],\n setRawValue = _useMergedState2[1];\n useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n var _inputRef$current;\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n },\n blur: function blur() {\n var _inputRef$current2;\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.blur();\n },\n input: inputRef.current\n };\n });\n var classString = classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-checked\"), rawValue), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _classNames));\n var handleChange = function handleChange(e) {\n if (disabled) {\n return;\n }\n if (!('checked' in props)) {\n setRawValue(e.target.checked);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange({\n target: _objectSpread(_objectSpread({}, props), {}, {\n type: type,\n checked: e.target.checked\n }),\n stopPropagation: function stopPropagation() {\n e.stopPropagation();\n },\n preventDefault: function preventDefault() {\n e.preventDefault();\n },\n nativeEvent: e.nativeEvent\n });\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classString,\n title: title,\n style: style\n }, /*#__PURE__*/React.createElement(\"input\", _extends({}, inputProps, {\n className: \"\".concat(prefixCls, \"-input\"),\n ref: inputRef,\n onChange: handleChange,\n disabled: disabled,\n checked: !!rawValue,\n type: type\n })), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-inner\")\n }));\n});\nexport default Checkbox;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classnames from 'classnames';\nimport React from 'react';\nvar PanelContent = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n forceRender = props.forceRender,\n className = props.className,\n style = props.style,\n children = props.children,\n isActive = props.isActive,\n role = props.role;\n var _React$useState = React.useState(isActive || forceRender),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n rendered = _React$useState2[0],\n setRendered = _React$useState2[1];\n React.useEffect(function () {\n if (forceRender || isActive) {\n setRendered(true);\n }\n }, [forceRender, isActive]);\n if (!rendered) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: classnames(\"\".concat(prefixCls, \"-content\"), _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-content-active\"), isActive), \"\".concat(prefixCls, \"-content-inactive\"), !isActive), className),\n style: style,\n role: role\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content-box\")\n }, children));\n});\nPanelContent.displayName = 'PanelContent';\nexport default PanelContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"showArrow\", \"headerClass\", \"isActive\", \"onItemClick\", \"forceRender\", \"className\", \"prefixCls\", \"collapsible\", \"accordion\", \"panelKey\", \"extra\", \"header\", \"expandIcon\", \"openMotion\", \"destroyInactivePanel\", \"children\"];\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport React from 'react';\nimport PanelContent from \"./PanelContent\";\nvar CollapsePanel = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow,\n headerClass = props.headerClass,\n isActive = props.isActive,\n onItemClick = props.onItemClick,\n forceRender = props.forceRender,\n className = props.className,\n prefixCls = props.prefixCls,\n collapsible = props.collapsible,\n accordion = props.accordion,\n panelKey = props.panelKey,\n extra = props.extra,\n header = props.header,\n expandIcon = props.expandIcon,\n openMotion = props.openMotion,\n destroyInactivePanel = props.destroyInactivePanel,\n children = props.children,\n resetProps = _objectWithoutProperties(props, _excluded);\n var disabled = collapsible === 'disabled';\n var collapsibleHeader = collapsible === 'header';\n var collapsibleIcon = collapsible === 'icon';\n var ifExtraExist = extra !== null && extra !== undefined && typeof extra !== 'boolean';\n var handleItemClick = function handleItemClick() {\n onItemClick === null || onItemClick === void 0 || onItemClick(panelKey);\n };\n var handleKeyDown = function handleKeyDown(e) {\n if (e.key === 'Enter' || e.keyCode === KeyCode.ENTER || e.which === KeyCode.ENTER) {\n handleItemClick();\n }\n };\n\n // ======================== Icon ========================\n var iconNode = typeof expandIcon === 'function' ? expandIcon(props) : /*#__PURE__*/React.createElement(\"i\", {\n className: \"arrow\"\n });\n if (iconNode) {\n iconNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-expand-icon\"),\n onClick: ['header', 'icon'].includes(collapsible) ? handleItemClick : undefined\n }, iconNode);\n }\n var collapsePanelClassNames = classNames(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-item\"), true), \"\".concat(prefixCls, \"-item-active\"), isActive), \"\".concat(prefixCls, \"-item-disabled\"), disabled), className);\n var headerClassName = classNames(headerClass, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-header\"), true), \"\".concat(prefixCls, \"-header-collapsible-only\"), collapsibleHeader), \"\".concat(prefixCls, \"-icon-collapsible-only\"), collapsibleIcon));\n\n // ======================== HeaderProps ========================\n var headerProps = {\n className: headerClassName,\n 'aria-expanded': isActive,\n 'aria-disabled': disabled,\n onKeyDown: handleKeyDown\n };\n if (!collapsibleHeader && !collapsibleIcon) {\n headerProps.onClick = handleItemClick;\n headerProps.role = accordion ? 'tab' : 'button';\n headerProps.tabIndex = disabled ? -1 : 0;\n }\n\n // ======================== Render ========================\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, resetProps, {\n ref: ref,\n className: collapsePanelClassNames\n }), /*#__PURE__*/React.createElement(\"div\", headerProps, showArrow && iconNode, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-header-text\"),\n onClick: collapsible === 'header' ? handleItemClick : undefined\n }, header), ifExtraExist && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra\")\n }, extra)), /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: isActive,\n leavedClassName: \"\".concat(prefixCls, \"-content-hidden\")\n }, openMotion, {\n forceRender: forceRender,\n removeOnLeave: destroyInactivePanel\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(PanelContent, {\n ref: motionRef,\n prefixCls: prefixCls,\n className: motionClassName,\n style: motionStyle,\n isActive: isActive,\n forceRender: forceRender,\n role: accordion ? 'tabpanel' : void 0\n }, children);\n }));\n});\nexport default CollapsePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\", \"label\", \"key\", \"collapsible\", \"onItemClick\", \"destroyInactivePanel\"];\nimport toArray from \"rc-util/es/Children/toArray\";\nimport React from 'react';\nimport CollapsePanel from \"../Panel\";\nvar convertItemsToNodes = function convertItemsToNodes(items, props) {\n var prefixCls = props.prefixCls,\n accordion = props.accordion,\n collapsible = props.collapsible,\n destroyInactivePanel = props.destroyInactivePanel,\n onItemClick = props.onItemClick,\n activeKey = props.activeKey,\n openMotion = props.openMotion,\n expandIcon = props.expandIcon;\n return items.map(function (item, index) {\n var children = item.children,\n label = item.label,\n rawKey = item.key,\n rawCollapsible = item.collapsible,\n rawOnItemClick = item.onItemClick,\n rawDestroyInactivePanel = item.destroyInactivePanel,\n restProps = _objectWithoutProperties(item, _excluded);\n\n // You may be puzzled why you want to convert them all into strings, me too.\n // Maybe: https://github.com/react-component/collapse/blob/aac303a8b6ff30e35060b4f8fecde6f4556fcbe2/src/Collapse.tsx#L15\n var key = String(rawKey !== null && rawKey !== void 0 ? rawKey : index);\n var mergeCollapsible = rawCollapsible !== null && rawCollapsible !== void 0 ? rawCollapsible : collapsible;\n var mergeDestroyInactivePanel = rawDestroyInactivePanel !== null && rawDestroyInactivePanel !== void 0 ? rawDestroyInactivePanel : destroyInactivePanel;\n var handleItemClick = function handleItemClick(value) {\n if (mergeCollapsible === 'disabled') return;\n onItemClick(value);\n rawOnItemClick === null || rawOnItemClick === void 0 || rawOnItemClick(value);\n };\n var isActive = false;\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n return /*#__PURE__*/React.createElement(CollapsePanel, _extends({}, restProps, {\n prefixCls: prefixCls,\n key: key,\n panelKey: key,\n isActive: isActive,\n accordion: accordion,\n openMotion: openMotion,\n expandIcon: expandIcon,\n header: label,\n collapsible: mergeCollapsible,\n onItemClick: handleItemClick,\n destroyInactivePanel: mergeDestroyInactivePanel\n }), children);\n });\n};\n\n/**\n * @deprecated The next major version will be removed\n */\nvar getNewChild = function getNewChild(child, index, props) {\n if (!child) return null;\n var prefixCls = props.prefixCls,\n accordion = props.accordion,\n collapsible = props.collapsible,\n destroyInactivePanel = props.destroyInactivePanel,\n onItemClick = props.onItemClick,\n activeKey = props.activeKey,\n openMotion = props.openMotion,\n expandIcon = props.expandIcon;\n var key = child.key || String(index);\n var _child$props = child.props,\n header = _child$props.header,\n headerClass = _child$props.headerClass,\n childDestroyInactivePanel = _child$props.destroyInactivePanel,\n childCollapsible = _child$props.collapsible,\n childOnItemClick = _child$props.onItemClick;\n var isActive = false;\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n var mergeCollapsible = childCollapsible !== null && childCollapsible !== void 0 ? childCollapsible : collapsible;\n var handleItemClick = function handleItemClick(value) {\n if (mergeCollapsible === 'disabled') return;\n onItemClick(value);\n childOnItemClick === null || childOnItemClick === void 0 || childOnItemClick(value);\n };\n var childProps = {\n key: key,\n panelKey: key,\n header: header,\n headerClass: headerClass,\n isActive: isActive,\n prefixCls: prefixCls,\n destroyInactivePanel: childDestroyInactivePanel !== null && childDestroyInactivePanel !== void 0 ? childDestroyInactivePanel : destroyInactivePanel,\n openMotion: openMotion,\n accordion: accordion,\n children: child.props.children,\n onItemClick: handleItemClick,\n expandIcon: expandIcon,\n collapsible: mergeCollapsible\n };\n\n // https://github.com/ant-design/ant-design/issues/20479\n if (typeof child.type === 'string') {\n return child;\n }\n Object.keys(childProps).forEach(function (propName) {\n if (typeof childProps[propName] === 'undefined') {\n delete childProps[propName];\n }\n });\n return /*#__PURE__*/React.cloneElement(child, childProps);\n};\nfunction useItems(items, rawChildren, props) {\n if (Array.isArray(items)) {\n return convertItemsToNodes(items, props);\n }\n return toArray(rawChildren).map(function (child, index) {\n return getNewChild(child, index, props);\n });\n}\nexport default useItems;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport React from 'react';\nimport useItems from \"./hooks/useItems\";\nimport CollapsePanel from \"./Panel\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nfunction getActiveKeysArray(activeKey) {\n var currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n var activeKeyType = _typeof(currentActiveKey);\n currentActiveKey = activeKeyType === 'number' || activeKeyType === 'string' ? [currentActiveKey] : [];\n }\n return currentActiveKey.map(function (key) {\n return String(key);\n });\n}\nvar Collapse = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-collapse' : _props$prefixCls,\n _props$destroyInactiv = props.destroyInactivePanel,\n destroyInactivePanel = _props$destroyInactiv === void 0 ? false : _props$destroyInactiv,\n style = props.style,\n accordion = props.accordion,\n className = props.className,\n children = props.children,\n collapsible = props.collapsible,\n openMotion = props.openMotion,\n expandIcon = props.expandIcon,\n rawActiveKey = props.activeKey,\n defaultActiveKey = props.defaultActiveKey,\n _onChange = props.onChange,\n items = props.items;\n var collapseClassName = classNames(prefixCls, className);\n var _useMergedState = useMergedState([], {\n value: rawActiveKey,\n onChange: function onChange(v) {\n return _onChange === null || _onChange === void 0 ? void 0 : _onChange(v);\n },\n defaultValue: defaultActiveKey,\n postState: getActiveKeysArray\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n activeKey = _useMergedState2[0],\n setActiveKey = _useMergedState2[1];\n var onItemClick = function onItemClick(key) {\n return setActiveKey(function () {\n if (accordion) {\n return activeKey[0] === key ? [] : [key];\n }\n var index = activeKey.indexOf(key);\n var isActive = index > -1;\n if (isActive) {\n return activeKey.filter(function (item) {\n return item !== key;\n });\n }\n return [].concat(_toConsumableArray(activeKey), [key]);\n });\n };\n\n // ======================== Children ========================\n warning(!children, '[rc-collapse] `children` will be removed in next major version. Please use `items` instead.');\n var mergedChildren = useItems(items, children, {\n prefixCls: prefixCls,\n accordion: accordion,\n openMotion: openMotion,\n expandIcon: expandIcon,\n collapsible: collapsible,\n destroyInactivePanel: destroyInactivePanel,\n onItemClick: onItemClick,\n activeKey: activeKey\n });\n\n // ======================== Render ========================\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n className: collapseClassName,\n style: style,\n role: accordion ? 'tablist' : undefined\n }, pickAttrs(props, {\n aria: true,\n data: true\n })), mergedChildren);\n});\nexport default Object.assign(Collapse, {\n /**\n * @deprecated use `items` instead, will be removed in `v4.0.0`\n */\n Panel: CollapsePanel\n});","import Collapse from \"./Collapse\";\nexport default Collapse;\n\n/**\n * @deprecated use `items` instead, will be removed in `v4.0.0`\n */\nvar Panel = Collapse.Panel;\nexport { Panel };","import * as React from 'react';\nexport var RefContext = /*#__PURE__*/React.createContext({});","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n return root.contains(n);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\n\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\n return fullClone.useId;\n}\n\nvar uuid = 0;\n/** @private Note only worked in develop env. Not work in production. */\n\nexport function resetUuid() {\n if (process.env.NODE_ENV !== 'production') {\n uuid = 0;\n }\n}\nexport default function useId(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\n var useOriginId = getUseId();\n var reactNativeId = useOriginId === null || useOriginId === void 0 ? void 0 : useOriginId();\n React.useEffect(function () {\n if (!useOriginId) {\n var nextId = uuid;\n uuid += 1;\n setInnerId(\"rc_unique_\".concat(nextId));\n }\n }, []); // Developer passed id is single source of truth\n\n if (id) {\n return id;\n } // Test env always return mock id\n\n\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n } // Return react native id or inner id\n\n\n return reactNativeId || innerId;\n}","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\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\n if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\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\n default:\n return true;\n }\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\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\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\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","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/* eslint-enable max-len */\n\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\n\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 */\n\n\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n\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\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if ( // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) || // Data\n mergedConfig.data && match(key, dataPrefix) || // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","// =============================== Motion ===============================\nexport function getMotionName(prefixCls, transitionName, animationName) {\n var motionName = transitionName;\n if (!motionName && animationName) {\n motionName = \"\".concat(prefixCls, \"-\").concat(animationName);\n }\n return motionName;\n}\n\n// =============================== Offset ===============================\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n return ret;\n}\nexport function offset(el) {\n var rect = el.getBoundingClientRect();\n var pos = {\n left: rect.left,\n top: rect.top\n };\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n\n return cacheRef.current.value;\n}","import * as React from 'react';\nexport default /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (_, _ref2) {\n var shouldUpdate = _ref2.shouldUpdate;\n return !shouldUpdate;\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport React, { useRef } from 'react';\nimport { RefContext } from \"../../context\";\nimport MemoChildren from \"./MemoChildren\";\nvar sentinelStyle = {\n width: 0,\n height: 0,\n overflow: 'hidden',\n outline: 'none'\n};\nvar Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n title = props.title,\n ariaId = props.ariaId,\n footer = props.footer,\n closable = props.closable,\n closeIcon = props.closeIcon,\n onClose = props.onClose,\n children = props.children,\n bodyStyle = props.bodyStyle,\n bodyProps = props.bodyProps,\n modalRender = props.modalRender,\n onMouseDown = props.onMouseDown,\n onMouseUp = props.onMouseUp,\n holderRef = props.holderRef,\n visible = props.visible,\n forceRender = props.forceRender,\n width = props.width,\n height = props.height,\n modalClassNames = props.classNames,\n modalStyles = props.styles;\n\n // ================================= Refs =================================\n var _React$useContext = React.useContext(RefContext),\n panelRef = _React$useContext.panel;\n var mergedRef = useComposeRef(holderRef, panelRef);\n var sentinelStartRef = useRef();\n var sentinelEndRef = useRef();\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n var _sentinelStartRef$cur;\n (_sentinelStartRef$cur = sentinelStartRef.current) === null || _sentinelStartRef$cur === void 0 || _sentinelStartRef$cur.focus();\n },\n changeActive: function changeActive(next) {\n var _document = document,\n activeElement = _document.activeElement;\n if (next && activeElement === sentinelEndRef.current) {\n sentinelStartRef.current.focus();\n } else if (!next && activeElement === sentinelStartRef.current) {\n sentinelEndRef.current.focus();\n }\n }\n };\n });\n\n // ================================ Style =================================\n var contentStyle = {};\n if (width !== undefined) {\n contentStyle.width = width;\n }\n if (height !== undefined) {\n contentStyle.height = height;\n }\n // ================================ Render ================================\n var footerNode;\n if (footer) {\n footerNode = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-footer\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.footer),\n style: _objectSpread({}, modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.footer)\n }, footer);\n }\n var headerNode;\n if (title) {\n headerNode = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-header\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.header),\n style: _objectSpread({}, modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.header)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-title\"),\n id: ariaId\n }, title));\n }\n var closer;\n if (closable) {\n closer = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onClose,\n \"aria-label\": \"Close\",\n className: \"\".concat(prefixCls, \"-close\")\n }, closeIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }));\n }\n var content = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.content),\n style: modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.content\n }, closer, headerNode, /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-body\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.body),\n style: _objectSpread(_objectSpread({}, bodyStyle), modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.body)\n }, bodyProps), children), footerNode);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"dialog-element\",\n role: \"dialog\",\n \"aria-labelledby\": title ? ariaId : null,\n \"aria-modal\": \"true\",\n ref: mergedRef,\n style: _objectSpread(_objectSpread({}, style), contentStyle),\n className: classNames(prefixCls, className),\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp\n }, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelStartRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }), /*#__PURE__*/React.createElement(MemoChildren, {\n shouldUpdate: visible || forceRender\n }, modalRender ? modalRender(content) : content), /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelEndRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Panel.displayName = 'Panel';\n}\nexport default Panel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { offset } from \"../../util\";\nimport Panel from \"./Panel\";\nvar Content = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n title = props.title,\n style = props.style,\n className = props.className,\n visible = props.visible,\n forceRender = props.forceRender,\n destroyOnClose = props.destroyOnClose,\n motionName = props.motionName,\n ariaId = props.ariaId,\n onVisibleChanged = props.onVisibleChanged,\n mousePosition = props.mousePosition;\n var dialogRef = useRef();\n\n // ============================= Style ==============================\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n transformOrigin = _React$useState2[0],\n setTransformOrigin = _React$useState2[1];\n var contentStyle = {};\n if (transformOrigin) {\n contentStyle.transformOrigin = transformOrigin;\n }\n function onPrepare() {\n var elementOffset = offset(dialogRef.current);\n setTransformOrigin(mousePosition ? \"\".concat(mousePosition.x - elementOffset.left, \"px \").concat(mousePosition.y - elementOffset.top, \"px\") : '');\n }\n\n // ============================= Render =============================\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n onVisibleChanged: onVisibleChanged,\n onAppearPrepare: onPrepare,\n onEnterPrepare: onPrepare,\n forceRender: forceRender,\n motionName: motionName,\n removeOnLeave: destroyOnClose,\n ref: dialogRef\n }, function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(Panel, _extends({}, props, {\n ref: ref,\n title: title,\n ariaId: ariaId,\n prefixCls: prefixCls,\n holderRef: motionRef,\n style: _objectSpread(_objectSpread(_objectSpread({}, motionStyle), style), contentStyle),\n className: classNames(className, motionClassName)\n }));\n });\n});\nContent.displayName = 'Content';\nexport default Content;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n visible = props.visible,\n maskProps = props.maskProps,\n motionName = props.motionName,\n className = props.className;\n return /*#__PURE__*/React.createElement(CSSMotion, {\n key: \"mask\",\n visible: visible,\n motionName: motionName,\n leavedClassName: \"\".concat(prefixCls, \"-mask-hidden\")\n }, function (_ref, ref) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n style: _objectSpread(_objectSpread({}, motionStyle), style),\n className: classNames(\"\".concat(prefixCls, \"-mask\"), motionClassName, className)\n }, maskProps));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport contains from \"rc-util/es/Dom/contains\";\nimport useId from \"rc-util/es/hooks/useId\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { getMotionName } from \"../util\";\nimport Content from \"./Content\";\nimport Mask from \"./Mask\";\nimport { warning } from \"rc-util/es/warning\";\nexport default function Dialog(props) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dialog' : _props$prefixCls,\n zIndex = props.zIndex,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? false : _props$visible,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n _props$focusTriggerAf = props.focusTriggerAfterClose,\n focusTriggerAfterClose = _props$focusTriggerAf === void 0 ? true : _props$focusTriggerAf,\n wrapStyle = props.wrapStyle,\n wrapClassName = props.wrapClassName,\n wrapProps = props.wrapProps,\n onClose = props.onClose,\n afterOpenChange = props.afterOpenChange,\n afterClose = props.afterClose,\n transitionName = props.transitionName,\n animation = props.animation,\n _props$closable = props.closable,\n closable = _props$closable === void 0 ? true : _props$closable,\n _props$mask = props.mask,\n mask = _props$mask === void 0 ? true : _props$mask,\n maskTransitionName = props.maskTransitionName,\n maskAnimation = props.maskAnimation,\n _props$maskClosable = props.maskClosable,\n maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable,\n maskStyle = props.maskStyle,\n maskProps = props.maskProps,\n rootClassName = props.rootClassName,\n modalClassNames = props.classNames,\n modalStyles = props.styles;\n if (process.env.NODE_ENV !== 'production') {\n [\"wrapStyle\", \"bodyStyle\", \"maskStyle\"].forEach(function (prop) {\n // (prop in props) && console.error(`Warning: ${prop} is deprecated, please use styles instead.`)\n warning(!(prop in props), \"\".concat(prop, \" is deprecated, please use styles instead.\"));\n });\n if (\"wrapClassName\" in props) {\n warning(false, \"wrapClassName is deprecated, please use classNames instead.\");\n }\n }\n var lastOutSideActiveElementRef = useRef();\n var wrapperRef = useRef();\n var contentRef = useRef();\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n\n // ========================== Init ==========================\n var ariaId = useId();\n function saveLastOutSideActiveElementRef() {\n if (!contains(wrapperRef.current, document.activeElement)) {\n lastOutSideActiveElementRef.current = document.activeElement;\n }\n }\n function focusDialogContent() {\n if (!contains(wrapperRef.current, document.activeElement)) {\n var _contentRef$current;\n (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 || _contentRef$current.focus();\n }\n }\n\n // ========================= Events =========================\n function onDialogVisibleChanged(newVisible) {\n // Try to focus\n if (newVisible) {\n focusDialogContent();\n } else {\n // Clean up scroll bar & focus back\n setAnimatedVisible(false);\n if (mask && lastOutSideActiveElementRef.current && focusTriggerAfterClose) {\n try {\n lastOutSideActiveElementRef.current.focus({\n preventScroll: true\n });\n } catch (e) {\n // Do nothing\n }\n lastOutSideActiveElementRef.current = null;\n }\n\n // Trigger afterClose only when change visible from true to false\n if (animatedVisible) {\n afterClose === null || afterClose === void 0 || afterClose();\n }\n }\n afterOpenChange === null || afterOpenChange === void 0 || afterOpenChange(newVisible);\n }\n function onInternalClose(e) {\n onClose === null || onClose === void 0 || onClose(e);\n }\n\n // >>> Content\n var contentClickRef = useRef(false);\n var contentTimeoutRef = useRef();\n\n // We need record content click incase content popup out of dialog\n var onContentMouseDown = function onContentMouseDown() {\n clearTimeout(contentTimeoutRef.current);\n contentClickRef.current = true;\n };\n var onContentMouseUp = function onContentMouseUp() {\n contentTimeoutRef.current = setTimeout(function () {\n contentClickRef.current = false;\n });\n };\n\n // >>> Wrapper\n // Close only when element not on dialog\n var onWrapperClick = null;\n if (maskClosable) {\n onWrapperClick = function onWrapperClick(e) {\n if (contentClickRef.current) {\n contentClickRef.current = false;\n } else if (wrapperRef.current === e.target) {\n onInternalClose(e);\n }\n };\n }\n function onWrapperKeyDown(e) {\n if (keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n onInternalClose(e);\n return;\n }\n\n // keep focus inside dialog\n if (visible) {\n if (e.keyCode === KeyCode.TAB) {\n contentRef.current.changeActive(!e.shiftKey);\n }\n }\n }\n\n // ========================= Effect =========================\n useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n saveLastOutSideActiveElementRef();\n }\n }, [visible]);\n\n // Remove direct should also check the scroll bar update\n useEffect(function () {\n return function () {\n clearTimeout(contentTimeoutRef.current);\n };\n }, []);\n\n // ========================= Render =========================\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-root\"), rootClassName)\n }, pickAttrs(props, {\n data: true\n })), /*#__PURE__*/React.createElement(Mask, {\n prefixCls: prefixCls,\n visible: mask && visible,\n motionName: getMotionName(prefixCls, maskTransitionName, maskAnimation),\n style: _objectSpread(_objectSpread({\n zIndex: zIndex\n }, maskStyle), modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.mask),\n maskProps: maskProps,\n className: modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.mask\n }), /*#__PURE__*/React.createElement(\"div\", _extends({\n tabIndex: -1,\n onKeyDown: onWrapperKeyDown,\n className: classNames(\"\".concat(prefixCls, \"-wrap\"), wrapClassName, modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.wrapper),\n ref: wrapperRef,\n onClick: onWrapperClick,\n style: _objectSpread(_objectSpread(_objectSpread({\n zIndex: zIndex\n }, wrapStyle), modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.wrapper), {}, {\n display: !animatedVisible ? 'none' : null\n })\n }, wrapProps), /*#__PURE__*/React.createElement(Content, _extends({}, props, {\n onMouseDown: onContentMouseDown,\n onMouseUp: onContentMouseUp,\n ref: contentRef,\n closable: closable,\n ariaId: ariaId,\n prefixCls: prefixCls,\n visible: visible && animatedVisible,\n onClose: onInternalClose,\n onVisibleChanged: onDialogVisibleChanged,\n motionName: getMotionName(prefixCls, transitionName, animation)\n }))));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport Portal from '@rc-component/portal';\nimport * as React from 'react';\nimport { RefContext } from \"./context\";\nimport Dialog from \"./Dialog\";\n// fix issue #10656\n/*\n * getContainer remarks\n * Custom container should not be return, because in the Portal component, it will remove the\n * return container element here, if the custom container is the only child of it's component,\n * like issue #10656, It will has a conflict with removeChild method in react-dom.\n * So here should add a child (div element) to custom container.\n * */\nvar DialogWrap = function DialogWrap(props) {\n var visible = props.visible,\n getContainer = props.getContainer,\n forceRender = props.forceRender,\n _props$destroyOnClose = props.destroyOnClose,\n destroyOnClose = _props$destroyOnClose === void 0 ? false : _props$destroyOnClose,\n _afterClose = props.afterClose,\n panelRef = props.panelRef;\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n var refContext = React.useMemo(function () {\n return {\n panel: panelRef\n };\n }, [panelRef]);\n React.useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n }\n }, [visible]);\n\n // Destroy on close will remove wrapped div\n if (!forceRender && destroyOnClose && !animatedVisible) {\n return null;\n }\n return /*#__PURE__*/React.createElement(RefContext.Provider, {\n value: refContext\n }, /*#__PURE__*/React.createElement(Portal, {\n open: visible || forceRender || animatedVisible,\n autoDestroy: false,\n getContainer: getContainer,\n autoLock: visible || animatedVisible\n }, /*#__PURE__*/React.createElement(Dialog, _extends({}, props, {\n destroyOnClose: destroyOnClose,\n afterClose: function afterClose() {\n _afterClose === null || _afterClose === void 0 || _afterClose();\n setAnimatedVisible(false);\n }\n }))));\n};\nDialogWrap.displayName = 'Dialog';\nexport default DialogWrap;","import DialogWrap from \"./DialogWrap\";\nimport Panel from \"./Dialog/Content/Panel\";\nexport { Panel };\nexport default DialogWrap;","import * as React from 'react';\nvar DrawerContext = /*#__PURE__*/React.createContext(null);\nexport var RefContext = /*#__PURE__*/React.createContext({});\nexport default DrawerContext;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport var Context = /*#__PURE__*/React.createContext({});\nexport default function MotionProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: props\n }, children);\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n var _super = _createSuper(DomWrapper);\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n return _super.apply(this, arguments);\n }\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return DomWrapper;\n}(React.Component);\nexport default DomWrapper;","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';\n/**\n * Used for disabled motion case.\n * Prepare stage will still work but start & active will be skipped.\n */\nexport var STEP_PREPARED = 'prepared';","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\";\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n style = _document$createEleme.style;\n}\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n var prefixMap = vendorPrefixes[eventName];\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { useEffect, useLayoutEffect } from 'react';\n\n// It's safe to use `useLayoutEffect` but the warning is annoying\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { STEP_ACTIVATED, STEP_ACTIVE, STEP_NONE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useNextFrame from \"./useNextFrame\";\nvar FULL_STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\nvar SIMPLE_STEP_QUEUE = [STEP_PREPARE, STEP_PREPARED];\n\n/** Skip current step */\nexport var SkipStep = false;\n/** Current step should be update in */\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, prepareOnly, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n var STEP_QUEUE = prepareOnly ? SIMPLE_STEP_QUEUE : FULL_STEP_QUEUE;\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else if (nextStep) {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEvent } from 'rc-util';\nimport useState from \"rc-util/es/hooks/useState\";\nimport useSyncState from \"rc-util/es/hooks/useSyncState\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { STATUS_APPEAR, STATUS_ENTER, STATUS_LEAVE, STATUS_NONE, STEP_ACTIVE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useDomMotionEvents from \"./useDomMotionEvents\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useStepQueue, { DoStep, isActive, SkipStep } from \"./useStepQueue\";\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n var _useSyncState = useSyncState(STATUS_NONE),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n getStatus = _useSyncState2[0],\n setStatus = _useSyncState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n style = _useState4[0],\n setStyle = _useState4[1];\n var currentStatus = getStatus();\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n\n // =========================== Dom Node ===========================\n function getDomElement() {\n return getElement();\n }\n\n // ========================== Motion End ==========================\n var activeRef = useRef(false);\n\n /**\n * Clean up status & style\n */\n function updateMotionEndStatus() {\n setStatus(STATUS_NONE);\n setStyle(null, true);\n }\n var onInternalMotionEnd = useEvent(function (event) {\n var status = getStatus();\n // Do nothing since not in any transition status.\n // This may happen when `motionDeadline` trigger.\n if (status === STATUS_NONE) {\n return;\n }\n var element = getDomElement();\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n var currentActive = activeRef.current;\n var canEnd;\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n }\n\n // Only update status when `canEnd` and not destroyed\n if (currentActive && canEnd !== false) {\n updateMotionEndStatus();\n }\n });\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0];\n\n // ============================= Step =============================\n var getEventHandlers = function getEventHandlers(targetStatus) {\n switch (targetStatus) {\n case STATUS_APPEAR:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onAppearPrepare), STEP_START, onAppearStart), STEP_ACTIVE, onAppearActive);\n case STATUS_ENTER:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onEnterPrepare), STEP_START, onEnterStart), STEP_ACTIVE, onEnterActive);\n case STATUS_LEAVE:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onLeavePrepare), STEP_START, onLeaveStart), STEP_ACTIVE, onLeaveActive);\n default:\n return {};\n }\n };\n var eventHandlers = React.useMemo(function () {\n return getEventHandlers(currentStatus);\n }, [currentStatus]);\n var _useStepQueue = useStepQueue(currentStatus, !supportMotion, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n if (!onPrepare) {\n return SkipStep;\n }\n return onPrepare(getDomElement());\n }\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n if (step === STEP_ACTIVE && currentStatus !== STATUS_NONE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n if (step === STEP_PREPARED) {\n updateMotionEndStatus();\n }\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n var active = isActive(step);\n activeRef.current = active;\n\n // ============================ Status ============================\n // Update with new status\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n // if (!supportMotion) {\n // return;\n // }\n\n var nextStatus;\n\n // Appear\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n }\n\n // Enter\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n }\n\n // Leave\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n }\n var nextEventHandlers = getEventHandlers(nextStatus);\n\n // Update to next status\n if (nextStatus && (supportMotion || nextEventHandlers[STEP_PREPARE])) {\n setStatus(nextStatus);\n startStep();\n } else {\n // Set back in case no motion but prev status has prepare step\n setStatus(STATUS_NONE);\n }\n }, [visible]);\n\n // ============================ Effect ============================\n // Reset when motion changed\n useEffect(function () {\n if (\n // Cancel appear\n currentStatus === STATUS_APPEAR && !motionAppear ||\n // Cancel enter\n currentStatus === STATUS_ENTER && !motionEnter ||\n // Cancel leave\n currentStatus === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []);\n\n // Trigger `onVisibleChanged`\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n if (asyncVisible !== undefined && currentStatus === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 || onVisibleChanged(asyncVisible);\n }\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, currentStatus]);\n\n // ============================ Styles ============================\n var mergedStyle = style;\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n return [currentStatus, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from \"../util/motion\";\nexport default (function (onInternalMotionEnd) {\n var cacheElementRef = useRef();\n\n // Remove events\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n }\n\n // Patch events\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd);\n\n // Save as cache in case dom removed trigger by `motionDeadline`\n cacheElementRef.current = element;\n }\n }\n\n // Clean up when removed\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport classNames from 'classnames';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport { Context } from \"./context\";\nimport DomWrapper from \"./DomWrapper\";\nimport useStatus from \"./hooks/useStatus\";\nimport { isActive } from \"./hooks/useStepQueue\";\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from \"./interface\";\nimport { getTransitionName, supportTransition } from \"./util/motion\";\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n function isSupportTransition(props, contextMotion) {\n return !!(props.motionName && transitionSupport && contextMotion !== false);\n }\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var _React$useContext = React.useContext(Context),\n contextMotion = _React$useContext.motion;\n var supportMotion = isSupportTransition(props, contextMotion);\n\n // Ref to the react node, it may be a HTMLElement\n var nodeRef = useRef();\n // Ref to the dom wrapper in case ref can not pass to HTMLElement\n var wrapperNodeRef = useRef();\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3];\n\n // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n var renderedRef = React.useRef(mergedVisible);\n if (mergedVisible) {\n renderedRef.current = true;\n }\n\n // ====================== Refs ======================\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]);\n\n // ===================== Render =====================\n var motionChildren;\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current && leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender || !removeOnLeave && !leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n // In motion\n var statusSuffix;\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n var motionCls = getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix));\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), _defineProperty(_defineProperty({}, motionCls, motionCls && statusSuffix), motionName, typeof motionName === 'string')),\n style: statusStyle\n }), setNodeRef);\n }\n\n // Auto inject ref if child node not have `ref` props\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _ref = motionChildren,\n originNodeRef = _ref.ref;\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys);\n\n // Check prev keys to insert or keep\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n }\n\n // If not hit, it means key is removed\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n });\n\n // Add rest to the list\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n });\n\n // Update `STATUS_ADD` to `STATUS_KEEP`\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from \"./CSSMotion\";\nimport { diffKeys, parseKeys, STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED } from \"./util/diff\";\nimport { supportTransition } from \"./util/motion\";\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearPrepare', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n var _super = _createSuper(CSSMotionList);\n function CSSMotionList() {\n var _this;\n _classCallCheck(this, CSSMotionList);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n keyEntities: []\n });\n // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n _defineProperty(_assertThisInitialized(_this), \"removeKey\", function (removeKey) {\n _this.setState(function (prevState) {\n var nextKeyEntities = prevState.keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n return {\n keyEntities: nextKeyEntities\n };\n }, function () {\n var keyEntities = _this.state.keyEntities;\n var restKeysCount = keyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n if (restKeysCount === 0 && _this.props.onAllRemoved) {\n _this.props.onAllRemoved();\n }\n });\n });\n return _this;\n }\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var keyEntities = this.state.keyEntities;\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2, index) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 || _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n if (!changedVisible) {\n _this2.removeKey(eventProps.key);\n }\n }\n }), function (props, ref) {\n return children(_objectSpread(_objectSpread({}, props), {}, {\n index: index\n }), ref);\n });\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n });\n\n // Remove if already mark as removed\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n return true;\n })\n };\n }\n }]);\n return CSSMotionList;\n }(React.Component);\n _defineProperty(CSSMotionList, \"defaultProps\", {\n component: 'div'\n });\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from \"./CSSMotion\";\nimport CSSMotionList from \"./CSSMotionList\";\nexport { default as Provider } from \"./context\";\nexport { CSSMotionList };\nexport default CSSMotion;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport { useComposeRef } from 'rc-util';\nimport * as React from 'react';\nimport { RefContext } from \"./context\";\nvar DrawerPanel = function DrawerPanel(props) {\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n children = props.children,\n containerRef = props.containerRef,\n id = props.id,\n onMouseEnter = props.onMouseEnter,\n onMouseOver = props.onMouseOver,\n onMouseLeave = props.onMouseLeave,\n onClick = props.onClick,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp;\n var eventHandlers = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave,\n onClick: onClick,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n };\n var _React$useContext = React.useContext(RefContext),\n panelRef = _React$useContext.panel;\n var mergedRef = useComposeRef(panelRef, containerRef);\n\n // =============================== Render ===============================\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", _extends({\n id: id,\n className: classNames(\"\".concat(prefixCls, \"-content\"), className),\n style: _objectSpread({}, style),\n \"aria-modal\": \"true\",\n role: \"dialog\",\n ref: mergedRef\n }, eventHandlers), children));\n};\nif (process.env.NODE_ENV !== 'production') {\n DrawerPanel.displayName = 'DrawerPanel';\n}\nexport default DrawerPanel;","import warning from \"rc-util/es/warning\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nexport function parseWidthHeight(value) {\n if (typeof value === 'string' && String(Number(value)) === value) {\n warning(false, 'Invalid value type of `width` or `height` which should be number type instead.');\n return Number(value);\n }\n return value;\n}\nexport function warnCheck(props) {\n warning(!('wrapperClassName' in props), \"'wrapperClassName' is removed. Please use 'rootClassName' instead.\");\n warning(canUseDom() || !props.open, \"Drawer with 'open' in SSR is not work since no place to createPortal. Please move to 'useEffect' instead.\");\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _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 KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\nimport DrawerContext from \"./context\";\nimport DrawerPanel from \"./DrawerPanel\";\nimport { parseWidthHeight } from \"./util\";\nvar sentinelStyle = {\n width: 0,\n height: 0,\n overflow: 'hidden',\n outline: 'none',\n position: 'absolute'\n};\nfunction DrawerPopup(props, ref) {\n var _ref, _pushConfig$distance, _pushConfig, _classNames;\n var prefixCls = props.prefixCls,\n open = props.open,\n placement = props.placement,\n inline = props.inline,\n push = props.push,\n forceRender = props.forceRender,\n autoFocus = props.autoFocus,\n keyboard = props.keyboard,\n drawerClassNames = props.classNames,\n rootClassName = props.rootClassName,\n rootStyle = props.rootStyle,\n zIndex = props.zIndex,\n className = props.className,\n id = props.id,\n style = props.style,\n motion = props.motion,\n width = props.width,\n height = props.height,\n children = props.children,\n contentWrapperStyle = props.contentWrapperStyle,\n mask = props.mask,\n maskClosable = props.maskClosable,\n maskMotion = props.maskMotion,\n maskClassName = props.maskClassName,\n maskStyle = props.maskStyle,\n afterOpenChange = props.afterOpenChange,\n onClose = props.onClose,\n onMouseEnter = props.onMouseEnter,\n onMouseOver = props.onMouseOver,\n onMouseLeave = props.onMouseLeave,\n onClick = props.onClick,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n styles = props.styles;\n\n // ================================ Refs ================================\n var panelRef = React.useRef();\n var sentinelStartRef = React.useRef();\n var sentinelEndRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return panelRef.current;\n });\n var onPanelKeyDown = function onPanelKeyDown(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n switch (keyCode) {\n // Tab active\n case KeyCode.TAB:\n {\n if (keyCode === KeyCode.TAB) {\n if (!shiftKey && document.activeElement === sentinelEndRef.current) {\n var _sentinelStartRef$cur;\n (_sentinelStartRef$cur = sentinelStartRef.current) === null || _sentinelStartRef$cur === void 0 ? void 0 : _sentinelStartRef$cur.focus({\n preventScroll: true\n });\n } else if (shiftKey && document.activeElement === sentinelStartRef.current) {\n var _sentinelEndRef$curre;\n (_sentinelEndRef$curre = sentinelEndRef.current) === null || _sentinelEndRef$curre === void 0 ? void 0 : _sentinelEndRef$curre.focus({\n preventScroll: true\n });\n }\n }\n break;\n }\n\n // Close\n case KeyCode.ESC:\n {\n if (onClose && keyboard) {\n event.stopPropagation();\n onClose(event);\n }\n break;\n }\n }\n };\n\n // ========================== Control ===========================\n // Auto Focus\n React.useEffect(function () {\n if (open && autoFocus) {\n var _panelRef$current;\n (_panelRef$current = panelRef.current) === null || _panelRef$current === void 0 ? void 0 : _panelRef$current.focus({\n preventScroll: true\n });\n }\n }, [open]);\n\n // ============================ Push ============================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n pushed = _React$useState2[0],\n setPushed = _React$useState2[1];\n var parentContext = React.useContext(DrawerContext);\n\n // Merge push distance\n var pushConfig;\n if (push === false) {\n pushConfig = {\n distance: 0\n };\n } else if (push === true) {\n pushConfig = {};\n } else {\n pushConfig = push || {};\n }\n var pushDistance = (_ref = (_pushConfig$distance = (_pushConfig = pushConfig) === null || _pushConfig === void 0 ? void 0 : _pushConfig.distance) !== null && _pushConfig$distance !== void 0 ? _pushConfig$distance : parentContext === null || parentContext === void 0 ? void 0 : parentContext.pushDistance) !== null && _ref !== void 0 ? _ref : 180;\n var mergedContext = React.useMemo(function () {\n return {\n pushDistance: pushDistance,\n push: function push() {\n setPushed(true);\n },\n pull: function pull() {\n setPushed(false);\n }\n };\n }, [pushDistance]);\n\n // ========================= ScrollLock =========================\n // Tell parent to push\n React.useEffect(function () {\n if (open) {\n var _parentContext$push;\n parentContext === null || parentContext === void 0 ? void 0 : (_parentContext$push = parentContext.push) === null || _parentContext$push === void 0 ? void 0 : _parentContext$push.call(parentContext);\n } else {\n var _parentContext$pull;\n parentContext === null || parentContext === void 0 ? void 0 : (_parentContext$pull = parentContext.pull) === null || _parentContext$pull === void 0 ? void 0 : _parentContext$pull.call(parentContext);\n }\n }, [open]);\n\n // Clean up\n React.useEffect(function () {\n return function () {\n var _parentContext$pull2;\n parentContext === null || parentContext === void 0 ? void 0 : (_parentContext$pull2 = parentContext.pull) === null || _parentContext$pull2 === void 0 ? void 0 : _parentContext$pull2.call(parentContext);\n };\n }, []);\n\n // ============================ Mask ============================\n var maskNode = mask && /*#__PURE__*/React.createElement(CSSMotion, _extends({\n key: \"mask\"\n }, maskMotion, {\n visible: open\n }), function (_ref2, maskRef) {\n var motionMaskClassName = _ref2.className,\n motionMaskStyle = _ref2.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-mask\"), motionMaskClassName, drawerClassNames === null || drawerClassNames === void 0 ? void 0 : drawerClassNames.mask, maskClassName),\n style: _objectSpread(_objectSpread(_objectSpread({}, motionMaskStyle), maskStyle), styles === null || styles === void 0 ? void 0 : styles.mask),\n onClick: maskClosable && open ? onClose : undefined,\n ref: maskRef\n });\n });\n\n // =========================== Panel ============================\n var motionProps = typeof motion === 'function' ? motion(placement) : motion;\n var wrapperStyle = {};\n if (pushed && pushDistance) {\n switch (placement) {\n case 'top':\n wrapperStyle.transform = \"translateY(\".concat(pushDistance, \"px)\");\n break;\n case 'bottom':\n wrapperStyle.transform = \"translateY(\".concat(-pushDistance, \"px)\");\n break;\n case 'left':\n wrapperStyle.transform = \"translateX(\".concat(pushDistance, \"px)\");\n break;\n default:\n wrapperStyle.transform = \"translateX(\".concat(-pushDistance, \"px)\");\n break;\n }\n }\n if (placement === 'left' || placement === 'right') {\n wrapperStyle.width = parseWidthHeight(width);\n } else {\n wrapperStyle.height = parseWidthHeight(height);\n }\n var eventHandlers = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave,\n onClick: onClick,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n };\n var panelNode = /*#__PURE__*/React.createElement(CSSMotion, _extends({\n key: \"panel\"\n }, motionProps, {\n visible: open,\n forceRender: forceRender,\n onVisibleChanged: function onVisibleChanged(nextVisible) {\n afterOpenChange === null || afterOpenChange === void 0 ? void 0 : afterOpenChange(nextVisible);\n },\n removeOnLeave: false,\n leavedClassName: \"\".concat(prefixCls, \"-content-wrapper-hidden\")\n }), function (_ref3, motionRef) {\n var motionClassName = _ref3.className,\n motionStyle = _ref3.style;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-content-wrapper\"), drawerClassNames === null || drawerClassNames === void 0 ? void 0 : drawerClassNames.wrapper, motionClassName),\n style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, wrapperStyle), motionStyle), contentWrapperStyle), styles === null || styles === void 0 ? void 0 : styles.wrapper)\n }, pickAttrs(props, {\n data: true\n })), /*#__PURE__*/React.createElement(DrawerPanel, _extends({\n id: id,\n containerRef: motionRef,\n prefixCls: prefixCls,\n className: classNames(className, drawerClassNames === null || drawerClassNames === void 0 ? void 0 : drawerClassNames.content),\n style: _objectSpread(_objectSpread({}, style), styles === null || styles === void 0 ? void 0 : styles.content)\n }, eventHandlers), children));\n });\n\n // =========================== Render ===========================\n var containerStyle = _objectSpread({}, rootStyle);\n if (zIndex) {\n containerStyle.zIndex = zIndex;\n }\n return /*#__PURE__*/React.createElement(DrawerContext.Provider, {\n value: mergedContext\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(placement), rootClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-open\"), open), _defineProperty(_classNames, \"\".concat(prefixCls, \"-inline\"), inline), _classNames)),\n style: containerStyle,\n tabIndex: -1,\n ref: panelRef,\n onKeyDown: onPanelKeyDown\n }, maskNode, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelStartRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\",\n \"data-sentinel\": \"start\"\n }), panelNode, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelEndRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\",\n \"data-sentinel\": \"end\"\n })));\n}\nvar RefDrawerPopup = /*#__PURE__*/React.forwardRef(DrawerPopup);\nif (process.env.NODE_ENV !== 'production') {\n RefDrawerPopup.displayName = 'DrawerPopup';\n}\nexport default RefDrawerPopup;","// export this package's api\nimport Drawer from \"./Drawer\";\nexport default Drawer;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport Portal from '@rc-component/portal';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { RefContext } from \"./context\";\nimport DrawerPopup from \"./DrawerPopup\";\nimport { warnCheck } from \"./util\";\nvar Drawer = function Drawer(props) {\n var _props$open = props.open,\n open = _props$open === void 0 ? false : _props$open,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-drawer' : _props$prefixCls,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'right' : _props$placement,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n _props$width = props.width,\n width = _props$width === void 0 ? 378 : _props$width,\n _props$mask = props.mask,\n mask = _props$mask === void 0 ? true : _props$mask,\n _props$maskClosable = props.maskClosable,\n maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable,\n getContainer = props.getContainer,\n forceRender = props.forceRender,\n afterOpenChange = props.afterOpenChange,\n destroyOnClose = props.destroyOnClose,\n onMouseEnter = props.onMouseEnter,\n onMouseOver = props.onMouseOver,\n onMouseLeave = props.onMouseLeave,\n onClick = props.onClick,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n panelRef = props.panelRef;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n\n // ============================= Warn =============================\n if (process.env.NODE_ENV !== 'production') {\n warnCheck(props);\n }\n\n // ============================= Open =============================\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n mounted = _React$useState4[0],\n setMounted = _React$useState4[1];\n useLayoutEffect(function () {\n setMounted(true);\n }, []);\n var mergedOpen = mounted ? open : false;\n\n // ============================ Focus =============================\n var popupRef = React.useRef();\n var lastActiveRef = React.useRef();\n useLayoutEffect(function () {\n if (mergedOpen) {\n lastActiveRef.current = document.activeElement;\n }\n }, [mergedOpen]);\n\n // ============================= Open =============================\n var internalAfterOpenChange = function internalAfterOpenChange(nextVisible) {\n var _popupRef$current;\n setAnimatedVisible(nextVisible);\n afterOpenChange === null || afterOpenChange === void 0 ? void 0 : afterOpenChange(nextVisible);\n if (!nextVisible && lastActiveRef.current && !((_popupRef$current = popupRef.current) !== null && _popupRef$current !== void 0 && _popupRef$current.contains(lastActiveRef.current))) {\n var _lastActiveRef$curren;\n (_lastActiveRef$curren = lastActiveRef.current) === null || _lastActiveRef$curren === void 0 ? void 0 : _lastActiveRef$curren.focus({\n preventScroll: true\n });\n }\n };\n\n // =========================== Context ============================\n var refContext = React.useMemo(function () {\n return {\n panel: panelRef\n };\n }, [panelRef]);\n\n // ============================ Render ============================\n if (!forceRender && !animatedVisible && !mergedOpen && destroyOnClose) {\n return null;\n }\n var eventHandlers = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave,\n onClick: onClick,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n };\n var drawerPopupProps = _objectSpread(_objectSpread({}, props), {}, {\n open: mergedOpen,\n prefixCls: prefixCls,\n placement: placement,\n autoFocus: autoFocus,\n keyboard: keyboard,\n width: width,\n mask: mask,\n maskClosable: maskClosable,\n inline: getContainer === false,\n afterOpenChange: internalAfterOpenChange,\n ref: popupRef\n }, eventHandlers);\n return /*#__PURE__*/React.createElement(RefContext.Provider, {\n value: refContext\n }, /*#__PURE__*/React.createElement(Portal, {\n open: mergedOpen || forceRender || animatedVisible,\n autoDestroy: false,\n getContainer: getContainer,\n autoLock: mask && (mergedOpen || animatedVisible)\n }, /*#__PURE__*/React.createElement(DrawerPopup, drawerPopupProps)));\n};\nif (process.env.NODE_ENV !== 'production') {\n Drawer.displayName = 'Drawer';\n}\nexport default Drawer;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\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\n if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\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\n default:\n return true;\n }\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\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\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\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\n\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\n\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\n\nvar rafUUID = 0;\nvar rafIds = new Map();\n\nfunction cleanup(id) {\n rafIds.delete(id);\n}\n\nexport default function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id); // Trigger\n\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n }); // Bind real raf id\n\n rafIds.set(id, realId);\n }\n }\n\n callRef(times);\n return id;\n}\n\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};","import KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from \"react\";\nvar ESC = KeyCode.ESC,\n TAB = KeyCode.TAB;\nexport default function useAccessibility(_ref) {\n var visible = _ref.visible,\n triggerRef = _ref.triggerRef,\n onVisibleChange = _ref.onVisibleChange,\n autoFocus = _ref.autoFocus,\n overlayRef = _ref.overlayRef;\n var focusMenuRef = React.useRef(false);\n var handleCloseMenuAndReturnFocus = function handleCloseMenuAndReturnFocus() {\n if (visible) {\n var _triggerRef$current, _triggerRef$current$f;\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$f = _triggerRef$current.focus) === null || _triggerRef$current$f === void 0 ? void 0 : _triggerRef$current$f.call(_triggerRef$current);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(false);\n }\n };\n var focusMenu = function focusMenu() {\n var _overlayRef$current;\n if ((_overlayRef$current = overlayRef.current) !== null && _overlayRef$current !== void 0 && _overlayRef$current.focus) {\n overlayRef.current.focus();\n focusMenuRef.current = true;\n return true;\n }\n return false;\n };\n var handleKeyDown = function handleKeyDown(event) {\n switch (event.keyCode) {\n case ESC:\n handleCloseMenuAndReturnFocus();\n break;\n case TAB:\n {\n var focusResult = false;\n if (!focusMenuRef.current) {\n focusResult = focusMenu();\n }\n if (focusResult) {\n event.preventDefault();\n } else {\n handleCloseMenuAndReturnFocus();\n }\n break;\n }\n }\n };\n React.useEffect(function () {\n if (visible) {\n window.addEventListener(\"keydown\", handleKeyDown);\n if (autoFocus) {\n // FIXME: hack with raf\n raf(focusMenu, 3);\n }\n return function () {\n window.removeEventListener(\"keydown\", handleKeyDown);\n focusMenuRef.current = false;\n };\n }\n return function () {\n focusMenuRef.current = false;\n };\n }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps\n}","import React, { forwardRef, useMemo } from 'react';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nvar Overlay = /*#__PURE__*/forwardRef(function (props, ref) {\n var overlay = props.overlay,\n arrow = props.arrow,\n prefixCls = props.prefixCls;\n var overlayNode = useMemo(function () {\n var overlayElement;\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n return overlayElement;\n }, [overlay]);\n var composedRef = composeRef(ref, overlayNode === null || overlayNode === void 0 ? void 0 : overlayNode.ref);\n return /*#__PURE__*/React.createElement(React.Fragment, null, arrow && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), /*#__PURE__*/React.cloneElement(overlayNode, {\n ref: supportRef(overlayNode) ? composedRef : undefined\n }));\n});\nexport default Overlay;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\", \"autoFocus\", \"overlay\", \"children\", \"onVisibleChange\"];\nimport Trigger from '@rc-component/trigger';\nimport classNames from 'classnames';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport React from 'react';\nimport useAccessibility from \"./hooks/useAccessibility\";\nimport Overlay from \"./Overlay\";\nimport Placements from \"./placements\";\nfunction Dropdown(props, ref) {\n var _children$props;\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n autoFocus = props.autoFocus,\n overlay = props.overlay,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n otherProps = _objectWithoutProperties(props, _excluded);\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n var overlayRef = React.useRef(null);\n var childRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n var handleVisibleChange = function handleVisibleChange(newVisible) {\n setTriggerVisible(newVisible);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(newVisible);\n };\n useAccessibility({\n visible: mergedVisible,\n triggerRef: childRef,\n onVisibleChange: handleVisibleChange,\n autoFocus: autoFocus,\n overlayRef: overlayRef\n });\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n setTriggerVisible(false);\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n };\n var getMenuElement = function getMenuElement() {\n return /*#__PURE__*/React.createElement(Overlay, {\n ref: overlayRef,\n overlay: overlay,\n prefixCls: prefixCls,\n arrow: arrow\n });\n };\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n return getMenuElement();\n };\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n return !alignPoint;\n };\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n if (openClassName !== undefined) {\n return openClassName;\n }\n return \"\".concat(prefixCls, \"-open\");\n };\n var childrenNode = /*#__PURE__*/React.cloneElement(children, {\n className: classNames((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.className, mergedVisible && getOpenClassName()),\n ref: supportRef(children) ? composeRef(childRef, children.ref) : undefined\n });\n var triggerHideAction = hideAction;\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n builtinPlacements: placements\n }, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction,\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: handleVisibleChange,\n onPopupClick: onClick,\n getPopupContainer: getPopupContainer\n }), childrenNode);\n}\nexport default /*#__PURE__*/React.forwardRef(Dropdown);","import Dropdown from \"./Dropdown\";\nexport default Dropdown;","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction _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 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 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 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}\nexport { _regeneratorRuntime as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","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}","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 \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 setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _createSuper(t) {\n var r = isNativeReflectConstruct();\n return function () {\n var e,\n o = getPrototypeOf(t);\n if (r) {\n var s = getPrototypeOf(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return possibleConstructorReturn(this, e);\n };\n}\nexport { _createSuper as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","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 arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","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;","import getMiniDecimal from \"./MiniDecimal\";\nexport * from \"./MiniDecimal\";\nimport { trimNumber, getNumberPrecision, num2str, validateNumber } from \"./numberUtil\";\nexport { trimNumber, getNumberPrecision, num2str, validateNumber };\nexport default getMiniDecimal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint-disable react/no-unknown-property */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport useMobile from \"rc-util/es/hooks/useMobile\";\nimport raf from \"rc-util/es/raf\";\n\n/**\n * When click and hold on a button - the speed of auto changing the value.\n */\nvar STEP_INTERVAL = 200;\n\n/**\n * When click and hold on a button - the delay before auto changing the value.\n */\nvar STEP_DELAY = 600;\nexport default function StepHandler(_ref) {\n var prefixCls = _ref.prefixCls,\n upNode = _ref.upNode,\n downNode = _ref.downNode,\n upDisabled = _ref.upDisabled,\n downDisabled = _ref.downDisabled,\n onStep = _ref.onStep;\n // ======================== Step ========================\n var stepTimeoutRef = React.useRef();\n var frameIds = React.useRef([]);\n var onStepRef = React.useRef();\n onStepRef.current = onStep;\n var onStopStep = function onStopStep() {\n clearTimeout(stepTimeoutRef.current);\n };\n\n // We will interval update step when hold mouse down\n var onStepMouseDown = function onStepMouseDown(e, up) {\n e.preventDefault();\n onStopStep();\n onStepRef.current(up);\n\n // Loop step for interval\n function loopStep() {\n onStepRef.current(up);\n stepTimeoutRef.current = setTimeout(loopStep, STEP_INTERVAL);\n }\n\n // First time press will wait some time to trigger loop step update\n stepTimeoutRef.current = setTimeout(loopStep, STEP_DELAY);\n };\n React.useEffect(function () {\n return function () {\n onStopStep();\n frameIds.current.forEach(function (id) {\n return raf.cancel(id);\n });\n };\n }, []);\n\n // ======================= Render =======================\n var isMobile = useMobile();\n if (isMobile) {\n return null;\n }\n var handlerClassName = \"\".concat(prefixCls, \"-handler\");\n var upClassName = classNames(handlerClassName, \"\".concat(handlerClassName, \"-up\"), _defineProperty({}, \"\".concat(handlerClassName, \"-up-disabled\"), upDisabled));\n var downClassName = classNames(handlerClassName, \"\".concat(handlerClassName, \"-down\"), _defineProperty({}, \"\".concat(handlerClassName, \"-down-disabled\"), downDisabled));\n\n // fix: https://github.com/ant-design/ant-design/issues/43088\n // In Safari, When we fire onmousedown and onmouseup events in quick succession, \n // there may be a problem that the onmouseup events are executed first, \n // resulting in a disordered program execution.\n // So, we need to use requestAnimationFrame to ensure that the onmouseup event is executed after the onmousedown event.\n var safeOnStopStep = function safeOnStopStep() {\n return frameIds.current.push(raf(onStopStep));\n };\n var sharedHandlerProps = {\n unselectable: 'on',\n role: 'button',\n onMouseUp: safeOnStopStep,\n onMouseLeave: safeOnStopStep\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(handlerClassName, \"-wrap\")\n }, /*#__PURE__*/React.createElement(\"span\", _extends({}, sharedHandlerProps, {\n onMouseDown: function onMouseDown(e) {\n onStepMouseDown(e, true);\n },\n \"aria-label\": \"Increase Value\",\n \"aria-disabled\": upDisabled,\n className: upClassName\n }), upNode || /*#__PURE__*/React.createElement(\"span\", {\n unselectable: \"on\",\n className: \"\".concat(prefixCls, \"-handler-up-inner\")\n })), /*#__PURE__*/React.createElement(\"span\", _extends({}, sharedHandlerProps, {\n onMouseDown: function onMouseDown(e) {\n onStepMouseDown(e, false);\n },\n \"aria-label\": \"Decrease Value\",\n \"aria-disabled\": downDisabled,\n className: downClassName\n }), downNode || /*#__PURE__*/React.createElement(\"span\", {\n unselectable: \"on\",\n className: \"\".concat(prefixCls, \"-handler-down-inner\")\n })));\n}","import { trimNumber, num2str } from '@rc-component/mini-decimal';\nexport function getDecupleSteps(step) {\n var stepStr = typeof step === 'number' ? num2str(step) : trimNumber(step).fullStr;\n var hasPoint = stepStr.includes('.');\n if (!hasPoint) {\n return step + '0';\n }\n return trimNumber(stepStr.replace(/(\\d)\\.(\\d)/g, '$1$2.')).fullStr;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"min\", \"max\", \"step\", \"defaultValue\", \"value\", \"disabled\", \"readOnly\", \"upHandler\", \"downHandler\", \"keyboard\", \"controls\", \"classNames\", \"stringMode\", \"parser\", \"formatter\", \"precision\", \"decimalSeparator\", \"onChange\", \"onInput\", \"onPressEnter\", \"onStep\", \"changeOnBlur\"],\n _excluded2 = [\"disabled\", \"style\", \"prefixCls\", \"value\", \"prefix\", \"suffix\", \"addonBefore\", \"addonAfter\", \"classes\", \"className\", \"classNames\"];\nimport getMiniDecimal, { getNumberPrecision, num2str, toFixed, validateNumber } from '@rc-component/mini-decimal';\nimport clsx from 'classnames';\nimport { BaseInput } from 'rc-input';\nimport { useLayoutUpdateEffect } from \"rc-util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport useCursor from \"./hooks/useCursor\";\nimport StepHandler from \"./StepHandler\";\nimport { getDecupleSteps } from \"./utils/numberUtil\";\nimport { triggerFocus } from \"rc-input/es/utils/commonUtils\";\nimport useFrame from \"./hooks/useFrame\";\n/**\n * We support `stringMode` which need handle correct type when user call in onChange\n * format max or min value\n * 1. if isInvalid return null\n * 2. if precision is undefined, return decimal\n * 3. format with precision\n * I. if max > 0, round down with precision. Example: max= 3.5, precision=0 afterFormat: 3\n * II. if max < 0, round up with precision. Example: max= -3.5, precision=0 afterFormat: -4\n * III. if min > 0, round up with precision. Example: min= 3.5, precision=0 afterFormat: 4\n * IV. if min < 0, round down with precision. Example: max= -3.5, precision=0 afterFormat: -3\n */\nvar getDecimalValue = function getDecimalValue(stringMode, decimalValue) {\n if (stringMode || decimalValue.isEmpty()) {\n return decimalValue.toString();\n }\n return decimalValue.toNumber();\n};\nvar getDecimalIfValidate = function getDecimalIfValidate(value) {\n var decimal = getMiniDecimal(value);\n return decimal.isInvalidate() ? null : decimal;\n};\nvar InternalInputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _clsx;\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-input-number' : _props$prefixCls,\n className = props.className,\n style = props.style,\n min = props.min,\n max = props.max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n defaultValue = props.defaultValue,\n value = props.value,\n disabled = props.disabled,\n readOnly = props.readOnly,\n upHandler = props.upHandler,\n downHandler = props.downHandler,\n keyboard = props.keyboard,\n _props$controls = props.controls,\n controls = _props$controls === void 0 ? true : _props$controls,\n classNames = props.classNames,\n stringMode = props.stringMode,\n parser = props.parser,\n formatter = props.formatter,\n precision = props.precision,\n decimalSeparator = props.decimalSeparator,\n onChange = props.onChange,\n onInput = props.onInput,\n onPressEnter = props.onPressEnter,\n onStep = props.onStep,\n _props$changeOnBlur = props.changeOnBlur,\n changeOnBlur = _props$changeOnBlur === void 0 ? true : _props$changeOnBlur,\n inputProps = _objectWithoutProperties(props, _excluded);\n var inputClassName = \"\".concat(prefixCls, \"-input\");\n var inputRef = React.useRef(null);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focus = _React$useState2[0],\n setFocus = _React$useState2[1];\n var userTypingRef = React.useRef(false);\n var compositionRef = React.useRef(false);\n var shiftKeyRef = React.useRef(false);\n\n // ============================ Value =============================\n // Real value control\n var _React$useState3 = React.useState(function () {\n return getMiniDecimal(value !== null && value !== void 0 ? value : defaultValue);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n decimalValue = _React$useState4[0],\n setDecimalValue = _React$useState4[1];\n function setUncontrolledDecimalValue(newDecimal) {\n if (value === undefined) {\n setDecimalValue(newDecimal);\n }\n }\n\n // ====================== Parser & Formatter ======================\n /**\n * `precision` is used for formatter & onChange.\n * It will auto generate by `value` & `step`.\n * But it will not block user typing.\n *\n * Note: Auto generate `precision` is used for legacy logic.\n * We should remove this since we already support high precision with BigInt.\n *\n * @param number Provide which number should calculate precision\n * @param userTyping Change by user typing\n */\n var getPrecision = React.useCallback(function (numStr, userTyping) {\n if (userTyping) {\n return undefined;\n }\n if (precision >= 0) {\n return precision;\n }\n return Math.max(getNumberPrecision(numStr), getNumberPrecision(step));\n }, [precision, step]);\n\n // >>> Parser\n var mergedParser = React.useCallback(function (num) {\n var numStr = String(num);\n if (parser) {\n return parser(numStr);\n }\n var parsedStr = numStr;\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(decimalSeparator, '.');\n }\n\n // [Legacy] We still support auto convert `$ 123,456` to `123456`\n return parsedStr.replace(/[^\\w.-]+/g, '');\n }, [parser, decimalSeparator]);\n\n // >>> Formatter\n var inputValueRef = React.useRef('');\n var mergedFormatter = React.useCallback(function (number, userTyping) {\n if (formatter) {\n return formatter(number, {\n userTyping: userTyping,\n input: String(inputValueRef.current)\n });\n }\n var str = typeof number === 'number' ? num2str(number) : number;\n\n // User typing will not auto format with precision directly\n if (!userTyping) {\n var mergedPrecision = getPrecision(str, userTyping);\n if (validateNumber(str) && (decimalSeparator || mergedPrecision >= 0)) {\n // Separator\n var separatorStr = decimalSeparator || '.';\n str = toFixed(str, separatorStr, mergedPrecision);\n }\n }\n return str;\n }, [formatter, getPrecision, decimalSeparator]);\n\n // ========================== InputValue ==========================\n /**\n * Input text value control\n *\n * User can not update input content directly. It updates with follow rules by priority:\n * 1. controlled `value` changed\n * * [SPECIAL] Typing like `1.` should not immediately convert to `1`\n * 2. User typing with format (not precision)\n * 3. Blur or Enter trigger revalidate\n */\n var _React$useState5 = React.useState(function () {\n var initValue = defaultValue !== null && defaultValue !== void 0 ? defaultValue : value;\n if (decimalValue.isInvalidate() && ['string', 'number'].includes(_typeof(initValue))) {\n return Number.isNaN(initValue) ? '' : initValue;\n }\n return mergedFormatter(decimalValue.toString(), false);\n }),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n inputValue = _React$useState6[0],\n setInternalInputValue = _React$useState6[1];\n inputValueRef.current = inputValue;\n\n // Should always be string\n function setInputValue(newValue, userTyping) {\n setInternalInputValue(mergedFormatter(\n // Invalidate number is sometime passed by external control, we should let it go\n // Otherwise is controlled by internal interactive logic which check by userTyping\n // You can ref 'show limited value when input is not focused' test for more info.\n newValue.isInvalidate() ? newValue.toString(false) : newValue.toString(!userTyping), userTyping));\n }\n\n // >>> Max & Min limit\n var maxDecimal = React.useMemo(function () {\n return getDecimalIfValidate(max);\n }, [max, precision]);\n var minDecimal = React.useMemo(function () {\n return getDecimalIfValidate(min);\n }, [min, precision]);\n var upDisabled = React.useMemo(function () {\n if (!maxDecimal || !decimalValue || decimalValue.isInvalidate()) {\n return false;\n }\n return maxDecimal.lessEquals(decimalValue);\n }, [maxDecimal, decimalValue]);\n var downDisabled = React.useMemo(function () {\n if (!minDecimal || !decimalValue || decimalValue.isInvalidate()) {\n return false;\n }\n return decimalValue.lessEquals(minDecimal);\n }, [minDecimal, decimalValue]);\n\n // Cursor controller\n var _useCursor = useCursor(inputRef.current, focus),\n _useCursor2 = _slicedToArray(_useCursor, 2),\n recordCursor = _useCursor2[0],\n restoreCursor = _useCursor2[1];\n\n // ============================= Data =============================\n /**\n * Find target value closet within range.\n * e.g. [11, 28]:\n * 3 => 11\n * 23 => 23\n * 99 => 28\n */\n var getRangeValue = function getRangeValue(target) {\n // target > max\n if (maxDecimal && !target.lessEquals(maxDecimal)) {\n return maxDecimal;\n }\n\n // target < min\n if (minDecimal && !minDecimal.lessEquals(target)) {\n return minDecimal;\n }\n return null;\n };\n\n /**\n * Check value is in [min, max] range\n */\n var isInRange = function isInRange(target) {\n return !getRangeValue(target);\n };\n\n /**\n * Trigger `onChange` if value validated and not equals of origin.\n * Return the value that re-align in range.\n */\n var triggerValueUpdate = function triggerValueUpdate(newValue, userTyping) {\n var updateValue = newValue;\n var isRangeValidate = isInRange(updateValue) || updateValue.isEmpty();\n\n // Skip align value when trigger value is empty.\n // We just trigger onChange(null)\n // This should not block user typing\n if (!updateValue.isEmpty() && !userTyping) {\n // Revert value in range if needed\n updateValue = getRangeValue(updateValue) || updateValue;\n isRangeValidate = true;\n }\n if (!readOnly && !disabled && isRangeValidate) {\n var numStr = updateValue.toString();\n var mergedPrecision = getPrecision(numStr, userTyping);\n if (mergedPrecision >= 0) {\n updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision));\n\n // When to fixed. The value may out of min & max range.\n // 4 in [0, 3.8] => 3.8 => 4 (toFixed)\n if (!isInRange(updateValue)) {\n updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision, true));\n }\n }\n\n // Trigger event\n if (!updateValue.equals(decimalValue)) {\n setUncontrolledDecimalValue(updateValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(updateValue.isEmpty() ? null : getDecimalValue(stringMode, updateValue));\n\n // Reformat input if value is not controlled\n if (value === undefined) {\n setInputValue(updateValue, userTyping);\n }\n }\n return updateValue;\n }\n return decimalValue;\n };\n\n // ========================== User Input ==========================\n var onNextPromise = useFrame();\n\n // >>> Collect input value\n var collectInputValue = function collectInputValue(inputStr) {\n recordCursor();\n\n // Update inputValue in case input can not parse as number\n // Refresh ref value immediately since it may used by formatter\n inputValueRef.current = inputStr;\n setInternalInputValue(inputStr);\n\n // Parse number\n if (!compositionRef.current) {\n var finalValue = mergedParser(inputStr);\n var finalDecimal = getMiniDecimal(finalValue);\n if (!finalDecimal.isNaN()) {\n triggerValueUpdate(finalDecimal, true);\n }\n }\n\n // Trigger onInput later to let user customize value if they want to handle something after onChange\n onInput === null || onInput === void 0 ? void 0 : onInput(inputStr);\n\n // optimize for chinese input experience\n // https://github.com/ant-design/ant-design/issues/8196\n onNextPromise(function () {\n var nextInputStr = inputStr;\n if (!parser) {\n nextInputStr = inputStr.replace(/。/g, '.');\n }\n if (nextInputStr !== inputStr) {\n collectInputValue(nextInputStr);\n }\n });\n };\n\n // >>> Composition\n var onCompositionStart = function onCompositionStart() {\n compositionRef.current = true;\n };\n var onCompositionEnd = function onCompositionEnd() {\n compositionRef.current = false;\n collectInputValue(inputRef.current.value);\n };\n\n // >>> Input\n var onInternalInput = function onInternalInput(e) {\n collectInputValue(e.target.value);\n };\n\n // ============================= Step =============================\n var onInternalStep = function onInternalStep(up) {\n var _inputRef$current;\n // Ignore step since out of range\n if (up && upDisabled || !up && downDisabled) {\n return;\n }\n\n // Clear typing status since it may be caused by up & down key.\n // We should sync with input value.\n userTypingRef.current = false;\n var stepDecimal = getMiniDecimal(shiftKeyRef.current ? getDecupleSteps(step) : step);\n if (!up) {\n stepDecimal = stepDecimal.negate();\n }\n var target = (decimalValue || getMiniDecimal(0)).add(stepDecimal.toString());\n var updatedValue = triggerValueUpdate(target, false);\n onStep === null || onStep === void 0 ? void 0 : onStep(getDecimalValue(stringMode, updatedValue), {\n offset: shiftKeyRef.current ? getDecupleSteps(step) : step,\n type: up ? 'up' : 'down'\n });\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n };\n\n // ============================ Flush =============================\n /**\n * Flush current input content to trigger value change & re-formatter input if needed.\n * This will always flush input value for update.\n * If it's invalidate, will fallback to last validate value.\n */\n var flushInputValue = function flushInputValue(userTyping) {\n var parsedValue = getMiniDecimal(mergedParser(inputValue));\n var formatValue = parsedValue;\n if (!parsedValue.isNaN()) {\n // Only validate value or empty value can be re-fill to inputValue\n // Reassign the formatValue within ranged of trigger control\n formatValue = triggerValueUpdate(parsedValue, userTyping);\n } else {\n formatValue = triggerValueUpdate(decimalValue, userTyping);\n }\n if (value !== undefined) {\n // Reset back with controlled value first\n setInputValue(decimalValue, false);\n } else if (!formatValue.isNaN()) {\n // Reset input back since no validate value\n setInputValue(formatValue, false);\n }\n };\n\n // Solve the issue of the event triggering sequence when entering numbers in chinese input (Safari)\n var onBeforeInput = function onBeforeInput() {\n userTypingRef.current = true;\n };\n var onKeyDown = function onKeyDown(event) {\n var key = event.key,\n shiftKey = event.shiftKey;\n userTypingRef.current = true;\n shiftKeyRef.current = shiftKey;\n if (key === 'Enter') {\n if (!compositionRef.current) {\n userTypingRef.current = false;\n }\n flushInputValue(false);\n onPressEnter === null || onPressEnter === void 0 ? void 0 : onPressEnter(event);\n }\n if (keyboard === false) {\n return;\n }\n\n // Do step\n if (!compositionRef.current && ['Up', 'ArrowUp', 'Down', 'ArrowDown'].includes(key)) {\n onInternalStep(key === 'Up' || key === 'ArrowUp');\n event.preventDefault();\n }\n };\n var onKeyUp = function onKeyUp() {\n userTypingRef.current = false;\n shiftKeyRef.current = false;\n };\n\n // >>> Focus & Blur\n var onBlur = function onBlur() {\n if (changeOnBlur) {\n flushInputValue(false);\n }\n setFocus(false);\n userTypingRef.current = false;\n };\n\n // ========================== Controlled ==========================\n // Input by precision & formatter\n useLayoutUpdateEffect(function () {\n if (!decimalValue.isInvalidate()) {\n setInputValue(decimalValue, false);\n }\n }, [precision, formatter]);\n\n // Input by value\n useLayoutUpdateEffect(function () {\n var newValue = getMiniDecimal(value);\n setDecimalValue(newValue);\n var currentParsedValue = getMiniDecimal(mergedParser(inputValue));\n\n // When user typing from `1.2` to `1.`, we should not convert to `1` immediately.\n // But let it go if user set `formatter`\n if (!newValue.equals(currentParsedValue) || !userTypingRef.current || formatter) {\n // Update value as effect\n setInputValue(newValue, userTypingRef.current);\n }\n }, [value]);\n\n // ============================ Cursor ============================\n useLayoutUpdateEffect(function () {\n if (formatter) {\n restoreCursor();\n }\n }, [inputValue]);\n\n // ============================ Render ============================\n return /*#__PURE__*/React.createElement(\"div\", {\n className: clsx(prefixCls, classNames === null || classNames === void 0 ? void 0 : classNames.input, className, (_clsx = {}, _defineProperty(_clsx, \"\".concat(prefixCls, \"-focused\"), focus), _defineProperty(_clsx, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_clsx, \"\".concat(prefixCls, \"-readonly\"), readOnly), _defineProperty(_clsx, \"\".concat(prefixCls, \"-not-a-number\"), decimalValue.isNaN()), _defineProperty(_clsx, \"\".concat(prefixCls, \"-out-of-range\"), !decimalValue.isInvalidate() && !isInRange(decimalValue)), _clsx)),\n style: style,\n onFocus: function onFocus() {\n setFocus(true);\n },\n onBlur: onBlur,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n onCompositionStart: onCompositionStart,\n onCompositionEnd: onCompositionEnd,\n onBeforeInput: onBeforeInput\n }, controls && /*#__PURE__*/React.createElement(StepHandler, {\n prefixCls: prefixCls,\n upNode: upHandler,\n downNode: downHandler,\n upDisabled: upDisabled,\n downDisabled: downDisabled,\n onStep: onInternalStep\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(inputClassName, \"-wrap\")\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n autoComplete: \"off\",\n role: \"spinbutton\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": decimalValue.isInvalidate() ? null : decimalValue.toString(),\n step: step\n }, inputProps, {\n ref: composeRef(inputRef, ref),\n className: inputClassName,\n value: inputValue,\n onChange: onInternalInput,\n disabled: disabled,\n readOnly: readOnly\n }))));\n});\nvar InputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var disabled = props.disabled,\n style = props.style,\n prefixCls = props.prefixCls,\n value = props.value,\n prefix = props.prefix,\n suffix = props.suffix,\n addonBefore = props.addonBefore,\n addonAfter = props.addonAfter,\n classes = props.classes,\n className = props.className,\n classNames = props.classNames,\n rest = _objectWithoutProperties(props, _excluded2);\n var inputFocusRef = React.useRef(null);\n var focus = function focus(option) {\n if (inputFocusRef.current) {\n triggerFocus(inputFocusRef.current, option);\n }\n };\n return /*#__PURE__*/React.createElement(BaseInput, {\n inputElement: /*#__PURE__*/React.createElement(InternalInputNumber, _extends({\n prefixCls: prefixCls,\n disabled: disabled,\n classNames: classNames,\n ref: composeRef(inputFocusRef, ref)\n }, rest)),\n className: className,\n triggerFocus: focus,\n prefixCls: prefixCls,\n value: value,\n disabled: disabled,\n style: style,\n prefix: prefix,\n suffix: suffix,\n addonAfter: addonAfter,\n addonBefore: addonBefore,\n classes: classes,\n classNames: classNames,\n components: {\n affixWrapper: 'div',\n groupWrapper: 'div',\n wrapper: 'div',\n groupAddon: 'div'\n }\n });\n});\nInputNumber.displayName = 'InputNumber';\nexport default InputNumber;","import { useRef } from 'react';\nimport warning from \"rc-util/es/warning\";\n/**\n * Keep input cursor in the correct position if possible.\n * Is this necessary since we have `formatter` which may mass the content?\n */\nexport default function useCursor(input, focused) {\n var selectionRef = useRef(null);\n function recordCursor() {\n // Record position\n try {\n var start = input.selectionStart,\n end = input.selectionEnd,\n value = input.value;\n var beforeTxt = value.substring(0, start);\n var afterTxt = value.substring(end);\n selectionRef.current = {\n start: start,\n end: end,\n value: value,\n beforeTxt: beforeTxt,\n afterTxt: afterTxt\n };\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n }\n\n /**\n * Restore logic:\n * 1. back string same\n * 2. start string same\n */\n function restoreCursor() {\n if (input && selectionRef.current && focused) {\n try {\n var value = input.value;\n var _selectionRef$current = selectionRef.current,\n beforeTxt = _selectionRef$current.beforeTxt,\n afterTxt = _selectionRef$current.afterTxt,\n start = _selectionRef$current.start;\n var startPos = value.length;\n if (value.endsWith(afterTxt)) {\n startPos = value.length - selectionRef.current.afterTxt.length;\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length;\n } else {\n var beforeLastChar = beforeTxt[start - 1];\n var newIndex = value.indexOf(beforeLastChar, start - 1);\n if (newIndex !== -1) {\n startPos = newIndex + 1;\n }\n }\n input.setSelectionRange(startPos, startPos);\n } catch (e) {\n warning(false, \"Something warning of cursor restore. Please fire issue about this: \".concat(e.message));\n }\n }\n }\n return [recordCursor, restoreCursor];\n}","import { useRef, useEffect } from 'react';\nimport raf from \"rc-util/es/raf\";\n\n/**\n * Always trigger latest once when call multiple time\n */\nexport default (function () {\n var idRef = useRef(0);\n var cleanUp = function cleanUp() {\n raf.cancel(idRef.current);\n };\n useEffect(function () {\n return cleanUp;\n }, []);\n return function (callback) {\n cleanUp();\n idRef.current = raf(function () {\n callback();\n });\n };\n});","import InputNumber from \"./InputNumber\";\nexport default InputNumber;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"show\"];\nimport * as React from 'react';\n/**\n * Cut `value` by the `count.max` prop.\n */\nexport function inCountRange(value, countConfig) {\n if (!countConfig.max) {\n return true;\n }\n var count = countConfig.strategy(value);\n return count <= countConfig.max;\n}\nexport default function useCount(count, showCount) {\n return React.useMemo(function () {\n var mergedConfig = {};\n if (showCount) {\n mergedConfig.show = _typeof(showCount) === 'object' && showCount.formatter ? showCount.formatter : !!showCount;\n }\n mergedConfig = _objectSpread(_objectSpread({}, mergedConfig), count);\n var _ref = mergedConfig,\n show = _ref.show,\n rest = _objectWithoutProperties(_ref, _excluded);\n return _objectSpread(_objectSpread({}, rest), {}, {\n show: !!show,\n showFormatter: typeof show === 'function' ? show : undefined,\n strategy: rest.strategy || function (value) {\n return value.length;\n }\n });\n }, [count, showCount]);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport clsx from 'classnames';\nimport React, { cloneElement, useRef } from 'react';\nimport { hasAddon, hasPrefixSuffix } from \"./utils/commonUtils\";\nvar BaseInput = function BaseInput(props) {\n var _inputElement$props, _inputElement$props2;\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n prefix = props.prefix,\n suffix = props.suffix,\n addonBefore = props.addonBefore,\n addonAfter = props.addonAfter,\n className = props.className,\n style = props.style,\n disabled = props.disabled,\n readOnly = props.readOnly,\n focused = props.focused,\n triggerFocus = props.triggerFocus,\n allowClear = props.allowClear,\n value = props.value,\n handleReset = props.handleReset,\n hidden = props.hidden,\n classes = props.classes,\n classNames = props.classNames,\n dataAttrs = props.dataAttrs,\n styles = props.styles,\n components = props.components;\n var AffixWrapperComponent = (components === null || components === void 0 ? void 0 : components.affixWrapper) || 'span';\n var GroupWrapperComponent = (components === null || components === void 0 ? void 0 : components.groupWrapper) || 'span';\n var WrapperComponent = (components === null || components === void 0 ? void 0 : components.wrapper) || 'span';\n var GroupAddonComponent = (components === null || components === void 0 ? void 0 : components.groupAddon) || 'span';\n var containerRef = useRef(null);\n var onInputClick = function onInputClick(e) {\n var _containerRef$current;\n if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(e.target)) {\n triggerFocus === null || triggerFocus === void 0 || triggerFocus();\n }\n };\n\n // ================== Clear Icon ================== //\n var getClearIcon = function getClearIcon() {\n var _clsx;\n if (!allowClear) {\n return null;\n }\n var needClear = !disabled && !readOnly && value;\n var clearIconCls = \"\".concat(prefixCls, \"-clear-icon\");\n var iconNode = _typeof(allowClear) === 'object' && allowClear !== null && allowClear !== void 0 && allowClear.clearIcon ? allowClear.clearIcon : '✖';\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: handleReset\n // Do not trigger onBlur when clear input\n // https://github.com/ant-design/ant-design/issues/31200\n ,\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n },\n className: clsx(clearIconCls, (_clsx = {}, _defineProperty(_clsx, \"\".concat(clearIconCls, \"-hidden\"), !needClear), _defineProperty(_clsx, \"\".concat(clearIconCls, \"-has-suffix\"), !!suffix), _clsx)),\n role: \"button\",\n tabIndex: -1\n }, iconNode);\n };\n var element = /*#__PURE__*/cloneElement(inputElement, {\n value: value,\n hidden: hidden,\n className: clsx((_inputElement$props = inputElement.props) === null || _inputElement$props === void 0 ? void 0 : _inputElement$props.className, !hasPrefixSuffix(props) && !hasAddon(props) && className) || null,\n style: _objectSpread(_objectSpread({}, (_inputElement$props2 = inputElement.props) === null || _inputElement$props2 === void 0 ? void 0 : _inputElement$props2.style), !hasPrefixSuffix(props) && !hasAddon(props) ? style : {})\n });\n\n // ================== Prefix & Suffix ================== //\n if (hasPrefixSuffix(props)) {\n var _clsx2;\n var affixWrapperPrefixCls = \"\".concat(prefixCls, \"-affix-wrapper\");\n var affixWrapperCls = clsx(affixWrapperPrefixCls, (_clsx2 = {}, _defineProperty(_clsx2, \"\".concat(affixWrapperPrefixCls, \"-disabled\"), disabled), _defineProperty(_clsx2, \"\".concat(affixWrapperPrefixCls, \"-focused\"), focused), _defineProperty(_clsx2, \"\".concat(affixWrapperPrefixCls, \"-readonly\"), readOnly), _defineProperty(_clsx2, \"\".concat(affixWrapperPrefixCls, \"-input-with-clear-btn\"), suffix && allowClear && value), _clsx2), !hasAddon(props) && className, classes === null || classes === void 0 ? void 0 : classes.affixWrapper, classNames === null || classNames === void 0 ? void 0 : classNames.affixWrapper);\n var suffixNode = (suffix || allowClear) && /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-suffix\"), classNames === null || classNames === void 0 ? void 0 : classNames.suffix),\n style: styles === null || styles === void 0 ? void 0 : styles.suffix\n }, getClearIcon(), suffix);\n element = /*#__PURE__*/React.createElement(AffixWrapperComponent, _extends({\n className: affixWrapperCls,\n style: _objectSpread(_objectSpread({}, !hasAddon(props) ? style : undefined), styles === null || styles === void 0 ? void 0 : styles.affixWrapper),\n hidden: !hasAddon(props) && hidden,\n onClick: onInputClick\n }, dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.affixWrapper, {\n ref: containerRef\n }), prefix && /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-prefix\"), classNames === null || classNames === void 0 ? void 0 : classNames.prefix),\n style: styles === null || styles === void 0 ? void 0 : styles.prefix\n }, prefix), /*#__PURE__*/cloneElement(inputElement, {\n value: value,\n hidden: null\n }), suffixNode);\n }\n\n // ================== Addon ================== //\n if (hasAddon(props)) {\n var wrapperCls = \"\".concat(prefixCls, \"-group\");\n var addonCls = \"\".concat(wrapperCls, \"-addon\");\n var mergedWrapperClassName = clsx(\"\".concat(prefixCls, \"-wrapper\"), wrapperCls, classes === null || classes === void 0 ? void 0 : classes.wrapper);\n var mergedGroupClassName = clsx(\"\".concat(prefixCls, \"-group-wrapper\"), className, classes === null || classes === void 0 ? void 0 : classes.group);\n\n // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n return /*#__PURE__*/React.createElement(GroupWrapperComponent, {\n className: mergedGroupClassName,\n style: style,\n hidden: hidden\n }, /*#__PURE__*/React.createElement(WrapperComponent, {\n className: mergedWrapperClassName\n }, addonBefore && /*#__PURE__*/React.createElement(GroupAddonComponent, {\n className: addonCls\n }, addonBefore), /*#__PURE__*/cloneElement(element, {\n hidden: null\n }), addonAfter && /*#__PURE__*/React.createElement(GroupAddonComponent, {\n className: addonCls\n }, addonAfter)));\n }\n return element;\n};\nexport default BaseInput;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"autoComplete\", \"onChange\", \"onFocus\", \"onBlur\", \"onPressEnter\", \"onKeyDown\", \"prefixCls\", \"disabled\", \"htmlSize\", \"className\", \"maxLength\", \"suffix\", \"showCount\", \"count\", \"type\", \"classes\", \"classNames\", \"styles\", \"onCompositionStart\", \"onCompositionEnd\"];\nimport clsx from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport React, { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport BaseInput from \"./BaseInput\";\nimport useCount from \"./hooks/useCount\";\nimport { resolveOnChange, triggerFocus } from \"./utils/commonUtils\";\nvar Input = /*#__PURE__*/forwardRef(function (props, ref) {\n var autoComplete = props.autoComplete,\n onChange = props.onChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onPressEnter = props.onPressEnter,\n onKeyDown = props.onKeyDown,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-input' : _props$prefixCls,\n disabled = props.disabled,\n htmlSize = props.htmlSize,\n className = props.className,\n maxLength = props.maxLength,\n suffix = props.suffix,\n showCount = props.showCount,\n count = props.count,\n _props$type = props.type,\n type = _props$type === void 0 ? 'text' : _props$type,\n classes = props.classes,\n classNames = props.classNames,\n styles = props.styles,\n _onCompositionStart = props.onCompositionStart,\n onCompositionEnd = props.onCompositionEnd,\n rest = _objectWithoutProperties(props, _excluded);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n focused = _useState2[0],\n setFocused = _useState2[1];\n var compositionRef = React.useRef(false);\n var inputRef = useRef(null);\n var focus = function focus(option) {\n if (inputRef.current) {\n triggerFocus(inputRef.current, option);\n }\n };\n\n // ====================== Value =======================\n var _useMergedState = useMergedState(props.defaultValue, {\n value: props.value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n var formatValue = value === undefined || value === null ? '' : String(value);\n\n // =================== Select Range ===================\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n selection = _React$useState2[0],\n setSelection = _React$useState2[1];\n\n // ====================== Count =======================\n var countConfig = useCount(count, showCount);\n var mergedMax = countConfig.max || maxLength;\n var valueLength = countConfig.strategy(formatValue);\n var isOutOfRange = !!mergedMax && valueLength > mergedMax;\n\n // ======================= Ref ========================\n useImperativeHandle(ref, function () {\n return {\n focus: focus,\n blur: function blur() {\n var _inputRef$current;\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.blur();\n },\n setSelectionRange: function setSelectionRange(start, end, direction) {\n var _inputRef$current2;\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.setSelectionRange(start, end, direction);\n },\n select: function select() {\n var _inputRef$current3;\n (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 || _inputRef$current3.select();\n },\n input: inputRef.current\n };\n });\n useEffect(function () {\n setFocused(function (prev) {\n return prev && disabled ? false : prev;\n });\n }, [disabled]);\n var triggerChange = function triggerChange(e, currentValue) {\n var cutValue = currentValue;\n if (!compositionRef.current && countConfig.exceedFormatter && countConfig.max && countConfig.strategy(currentValue) > countConfig.max) {\n cutValue = countConfig.exceedFormatter(currentValue, {\n max: countConfig.max\n });\n if (currentValue !== cutValue) {\n var _inputRef$current4, _inputRef$current5;\n setSelection([((_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.selectionStart) || 0, ((_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.selectionEnd) || 0]);\n }\n }\n setValue(cutValue);\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange, cutValue);\n }\n };\n React.useEffect(function () {\n if (selection) {\n var _inputRef$current6;\n (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 || _inputRef$current6.setSelectionRange.apply(_inputRef$current6, _toConsumableArray(selection));\n }\n }, [selection]);\n var onInternalChange = function onInternalChange(e) {\n triggerChange(e, e.target.value);\n };\n var onInternalCompositionEnd = function onInternalCompositionEnd(e) {\n compositionRef.current = false;\n triggerChange(e, e.currentTarget.value);\n onCompositionEnd === null || onCompositionEnd === void 0 || onCompositionEnd(e);\n };\n var handleKeyDown = function handleKeyDown(e) {\n if (onPressEnter && e.key === 'Enter') {\n onPressEnter(e);\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(e);\n };\n var handleFocus = function handleFocus(e) {\n setFocused(true);\n onFocus === null || onFocus === void 0 || onFocus(e);\n };\n var handleBlur = function handleBlur(e) {\n setFocused(false);\n onBlur === null || onBlur === void 0 || onBlur(e);\n };\n var handleReset = function handleReset(e) {\n setValue('');\n focus();\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange);\n }\n };\n\n // ====================== Input =======================\n var outOfRangeCls = isOutOfRange && \"\".concat(prefixCls, \"-out-of-range\");\n var getInputElement = function getInputElement() {\n // Fix https://fb.me/react-unknown-prop\n var otherProps = omit(props, ['prefixCls', 'onPressEnter', 'addonBefore', 'addonAfter', 'prefix', 'suffix', 'allowClear',\n // Input elements must be either controlled or uncontrolled,\n // specify either the value prop, or the defaultValue prop, but not both.\n 'defaultValue', 'showCount', 'count', 'classes', 'htmlSize', 'styles', 'classNames']);\n return /*#__PURE__*/React.createElement(\"input\", _extends({\n autoComplete: autoComplete\n }, otherProps, {\n onChange: onInternalChange,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n className: clsx(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), classNames === null || classNames === void 0 ? void 0 : classNames.input),\n style: styles === null || styles === void 0 ? void 0 : styles.input,\n ref: inputRef,\n size: htmlSize,\n type: type,\n onCompositionStart: function onCompositionStart(e) {\n compositionRef.current = true;\n _onCompositionStart === null || _onCompositionStart === void 0 || _onCompositionStart(e);\n },\n onCompositionEnd: onInternalCompositionEnd\n }));\n };\n var getSuffix = function getSuffix() {\n // Max length value\n var hasMaxLength = Number(mergedMax) > 0;\n if (suffix || countConfig.show) {\n var dataCount = countConfig.showFormatter ? countConfig.showFormatter({\n value: formatValue,\n count: valueLength,\n maxLength: mergedMax\n }) : \"\".concat(valueLength).concat(hasMaxLength ? \" / \".concat(mergedMax) : '');\n return /*#__PURE__*/React.createElement(React.Fragment, null, countConfig.show && /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-show-count-suffix\"), _defineProperty({}, \"\".concat(prefixCls, \"-show-count-has-suffix\"), !!suffix), classNames === null || classNames === void 0 ? void 0 : classNames.count),\n style: _objectSpread({}, styles === null || styles === void 0 ? void 0 : styles.count)\n }, dataCount), suffix);\n }\n return null;\n };\n\n // ====================== Render ======================\n return /*#__PURE__*/React.createElement(BaseInput, _extends({}, rest, {\n prefixCls: prefixCls,\n className: clsx(className, outOfRangeCls),\n inputElement: getInputElement(),\n handleReset: handleReset,\n value: formatValue,\n focused: focused,\n triggerFocus: focus,\n suffix: getSuffix(),\n disabled: disabled,\n classes: classes,\n classNames: classNames,\n styles: styles\n }));\n});\nexport default Input;","import BaseInput from \"./BaseInput\";\nimport Input from \"./Input\";\nexport { BaseInput };\nexport default Input;","export function hasAddon(props) {\n return !!(props.addonBefore || props.addonAfter);\n}\nexport function hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}\nexport function resolveOnChange(target, e, onChange, targetValue) {\n if (!onChange) {\n return;\n }\n var event = e;\n if (e.type === 'click') {\n // Clone a new target for event.\n // Avoid the following usage, the setQuery method gets the original value.\n //\n // const [query, setQuery] = React.useState('');\n // {\n // setQuery((prevStatus) => e.target.value);\n // }}\n // />\n\n var currentTarget = target.cloneNode(true);\n\n // click clear icon\n event = Object.create(e, {\n target: {\n value: currentTarget\n },\n currentTarget: {\n value: currentTarget\n }\n });\n currentTarget.value = '';\n onChange(event);\n return;\n }\n\n // Trigger by composition event, this means we need force change the input value\n if (targetValue !== undefined) {\n var _currentTarget = target.cloneNode(true);\n event = Object.create(e, {\n target: {\n value: _currentTarget\n },\n currentTarget: {\n value: _currentTarget\n }\n });\n // https://github.com/ant-design/ant-design/issues/45737\n if (_currentTarget.type !== 'file') {\n _currentTarget.value = targetValue;\n }\n onChange(event);\n return;\n }\n onChange(event);\n}\nexport function triggerFocus(element, option) {\n if (!element) return;\n element.focus(option);\n\n // Selection content\n var _ref = option || {},\n cursor = _ref.cursor;\n if (cursor) {\n var len = element.value.length;\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n case 'end':\n element.setSelectionRange(len, len);\n break;\n default:\n element.setSelectionRange(0, len);\n }\n }\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["createContext","defaultValue","Context","undefined","Provider","_ref","value","children","valueRef","current","_React$useState","getValue","listeners","Set","context","useLayoutEffect","unstable_batchedUpdates","forEach","listener","useContext","holder","selector","eventSelector","useEvent","ctx","Array","isArray","obj","key","_ref2","_React$useState3","forceUpdate","add","trigger","delete","nextValue","nextSelectorValue","isEqual","createImmutable","ImmutableContext","useImmutableMark","makeImmutable","Component","shouldTriggerRender","refAble","ImmutableComponent","props","ref","refProps","renderTimesRef","prevProps","responseImmutable","propsAreEqual","_createImmutable","_classCallCheck","a","n","TypeError","_typeof","o","Symbol","iterator","constructor","prototype","toPropertyKey","t","i","e","toPrimitive","call","r","String","_defineProperties","length","enumerable","configurable","writable","Object","defineProperty","_createClass","_defineProperty","BigIntDecimal","this","empty","origin","Number","isNaN","nan","mergedValue","trimRet","negative","numbers","trimStr","split","integer","BigInt","decimalStr","decimal","decimalLen","toString","padStart","decimalLength","str","concat","getMark","getIntegerStr","getDecimalStr","padEnd","clone","offset","calculator","calDecimalLen","maxDecimalLength","Math","max","valueStr","alignDecimal","nextDecimalLength","_trimNumber","negativeStr","hydrateValueStr","slice","isInvalidate","cal","num1","num2","len","target","NaN","isEmpty","negate","toNumber","arguments","fullStr","NumberDecimal","number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maxPrecision","toFixed","getMiniDecimal","numStr","separatorStr","precision","cutOnly","integerStr","precisionDecimalStr","numberWithoutDecimal","advancedNum","repeat","trim","trimNumber","startsWith","replace","splitNumber","isE","includes","getNumberPrecision","indexOf","decimalMatch","match","validateNumber","num2str","num","test","supportBigInt","_arrayLikeToArray","_unsupportedIterableToArray","name","from","_slicedToArray","l","u","f","next","done","push","EMPTY_LIST","UNIQUE_ID","Date","now","uuid","inline","getPortalContainer","getContainer","canUseDom","document","querySelector","open","autoLock","_props$autoDestroy","debug","autoDestroy","_React$useState2","shouldRender","setShouldRender","mergedRender","_React$useState4","innerContainer","setInnerContainer","customizeContainer","lock","mergedLock","id","_useDom","render","ele","createElement","appendedRef","queueCreate","queue","setQueue","mergedQueueCreate","appendFn","append","parentElement","body","appendChild","cleanup","_ele$parentElement","removeChild","useDom","_useDom2","defaultContainer","mergedContainer","scrollbarSize","width","isOverflow","scrollHeight","window","innerHeight","documentElement","clientHeight","innerWidth","offsetWidth","childRef","mergedRef","renderInline","reffedChildren","createPortal","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_extends","assign","bind","hasOwnProperty","CollectionContext","elementListeners","Map","resizeObserver","entities","entity","_elementListeners$get","get","_setPrototypeOf","setPrototypeOf","__proto__","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","DomWrapper","_React$Component","create","_inherits","_super","s","ReferenceError","SingleObserver","disabled","elementRef","wrapperRef","onCollectionResize","isRenderProps","mergedChildren","sizeRef","height","offsetHeight","canRef","originRef","getDom","_elementRef$current","findDOMNode","nativeElement","propsRef","onInternalResize","_propsRef$current","onResize","data","_target$getBoundingCl","getBoundingClientRect","fixedWidth","floor","fixedHeight","size","mergedOffsetWidth","round","mergedOffsetHeight","sizeInfo","Promise","resolve","then","element","callback","currentElement","has","set","observe","unobserve","ResizeObserver","toArray","map","child","index","RefResizeObserver","Collection","onBatchResize","resizeIdRef","resizeInfosRef","currentId","Arrow","prefixCls","align","arrow","arrowPos","className","content","_arrowPos$x","x","_arrowPos$y","y","arrowRef","points","alignStyle","position","autoArrow","popupPoints","targetPoints","popupTB","popupLR","targetTB","targetLR","top","bottom","left","right","style","Mask","zIndex","mask","motion","motionAppear","visible","removeOnLeave","_","cache","popup","_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","minHeight","minWidth","pointerEvents","resizeObserverRef","motionEnter","motionLeave","leavedClassName","onAppearPrepare","onEnterPrepare","nextVisible","_motion$onVisibleChan","motionRef","motionClassName","motionStyle","cls","boxSizing","getTriggerDOMNode","canUseRef","setRef","node","val","isPointsEq","a1","a2","getMotion","animation","transitionName","motionName","getWin","ownerDocument","defaultView","collectScroller","scrollerList","scrollStyle","_getWin$getComputedSt","getComputedStyle","overflowX","overflowY","overflow","some","toNum","getPxValue","parseFloat","getVisibleArea","initArea","visibleArea","HTMLBodyElement","HTMLHtmlElement","_getWin$getComputedSt2","overflowClipMargin","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","eleRect","eleOutHeight","eleInnerHeight","eleOutWidth","eleInnerWidth","clientWidth","borderTopNum","borderBottomNum","borderLeftNum","borderRightNum","scaleX","scaleY","eleScrollWidth","eleScrollHeight","scaledBorderTopWidth","scaledBorderBottomWidth","scaledBorderLeftWidth","scaledBorderRightWidth","clipMarginWidth","clipMarginHeight","clipNum","eleLeft","eleTop","eleRight","eleBottom","min","getUnitOffset","offsetStr","cells","getNumberOffset","rect","splitPoints","getAlignPoint","topBottom","leftRight","reversePoints","reverseMap","b","point","join","_toConsumableArray","_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","propertyIsEnumerable","_objectWithoutProperties","mergedAutoDestroy","mobile","setMobile","isMobile","subPopupElements","parentContext","registerSubPopup","subPopupEle","useId","popupEle","setPopupEle","setPopupRef","_React$useState6","targetEle","setTargetEle","externalForwardRef","setTargetRef","only","originChildProps","cloneProps","inPopupOrChild","_getShadowRoot","_getShadowRoot2","childDOM","contains","host","values","mergePopupMotion","mergeMaskMotion","_React$useState8","internalOpen","setInternalOpen","mergedOpen","setMergedOpen","nextOpen","openRef","lastTriggerRef","internalTriggerOpen","_lastTriggerRef$curre","delayRef","clearDelay","clearTimeout","triggerOpen","delay","setTimeout","_React$useState10","inMotion","setInMotion","firstMount","_React$useState12","motionPrepareResolve","setMotionPrepareResolve","_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","_getNumberOffset2","popupOffsetX","popupOffsetY","_getNumberOffset4","targetOffsetX","targetOffsetY","_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","useAlign","_useAlign2","alignInfo","_useAction","mergedShowAction","mergedHideAction","showActionSet","hideActionSet","useAction","_useAction2","showActions","hideActions","clickToShow","clickToHide","triggerAlign","targetScrollList","popupScrollList","win","mergedList","notifyScroll","scroller","addEventListener","passive","removeEventListener","useWatch","JSON","stringify","alignedClassName","baseClassName","isAlignPoint","placements","_builtinPlacements$pl","getAlignPopupClassName","forceAlign","_React$useState16","setTargetWidth","_React$useState18","setTargetHeight","syncTargetSize","wrapperAction","eventName","preEvent","_originChildProps$eve","_len","args","_key","_originChildProps$onC","_len2","_key2","lockRef","raf","cancel","genClickEvents","clickInside","_genClickEvents2","onWinMouseDown","onWinClick","_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","forwardRef","_classNames","checked","_props$defaultChecked","defaultChecked","_props$type","type","title","onChange","inputProps","inputRef","useRef","_useMergedState","_useMergedState2","rawValue","setRawValue","useImperativeHandle","focus","_inputRef$current","blur","_inputRef$current2","input","classString","stopPropagation","nativeEvent","PanelContent","isActive","role","rendered","setRendered","displayName","_props$showArrow","showArrow","headerClass","onItemClick","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","resetProps","collapsibleHeader","collapsibleIcon","ifExtraExist","handleItemClick","iconNode","collapsePanelClassNames","headerProps","onKeyDown","keyCode","KeyCode","ENTER","which","tabIndex","getActiveKeysArray","activeKey","currentActiveKey","activeKeyType","Collapse","_props$destroyInactiv","rawActiveKey","defaultActiveKey","_onChange","items","collapseClassName","useMergedState","v","postState","setActiveKey","warning","rawChildren","item","label","rawKey","rawCollapsible","rawOnItemClick","rawDestroyInactivePanel","mergeCollapsible","mergeDestroyInactivePanel","convertItemsToNodes","_child$props","childDestroyInactivePanel","childCollapsible","childOnItemClick","childProps","propName","getNewChild","pickAttrs","aria","Panel","RefContext","root","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","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","altKey","ctrlKey","metaKey","isCharacterKey","navigator","userAgent","propList","prefix","getMotionName","animationName","getScroll","w","ret","method","d","composeRef","refs","refList","fillRef","useComposeRef","condition","shouldUpdate","prev","every","cacheRef","sentinelStyle","outline","ariaId","footer","closable","closeIcon","onClose","bodyStyle","bodyProps","modalRender","onMouseDown","onMouseUp","holderRef","modalClassNames","classNames","modalStyles","styles","panel","sentinelStartRef","sentinelEndRef","_sentinelStartRef$cur","changeActive","activeElement","footerNode","headerNode","closer","contentStyle","MemoChildren","Content","destroyOnClose","mousePosition","dialogRef","transformOrigin","setTransformOrigin","el","pos","elementOffset","parentWindow","maskProps","Dialog","_props$visible","_props$keyboard","keyboard","_props$focusTriggerAf","focusTriggerAfterClose","wrapStyle","wrapClassName","wrapProps","afterOpenChange","afterClose","_props$closable","_props$mask","maskStyle","rootClassName","lastOutSideActiveElementRef","contentRef","animatedVisible","setAnimatedVisible","innerId","setInnerId","useOriginId","reactNativeId","nextId","onInternalClose","contentClickRef","contentTimeoutRef","onWrapperClick","useEffect","mergedConfig","ariaOnly","attr","attrs","shiftKey","wrapper","display","newVisible","_contentRef$current","preventScroll","DialogWrap","_props$destroyOnClose","_afterClose","panelRef","refContext","DrawerContext","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","STEP_PREPARED","makePrefixMap","styleProp","prefixes","toLowerCase","domSupport","vendorPrefixes","animationend","transitionend","transition","_document$createEleme","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionType","toUpperCase","FULL_STEP_QUEUE","SIMPLE_STEP_QUEUE","SkipStep","step","useStatus","supportMotion","getElement","_ref$motionEnter","_ref$motionAppear","_ref$motionLeave","motionDeadline","motionLeaveImmediately","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","_useState","useState","_useState2","asyncVisible","setAsyncVisible","_useSyncState","useSyncState","_useSyncState2","getStatus","setStatus","_useState3","_useState4","setStyle","currentStatus","mountedRef","deadlineRef","getDomElement","activeRef","updateMotionEndStatus","onInternalMotionEnd","status","deadline","canEnd","currentActive","_useDomMotionEvents","cacheElementRef","removeMotionEvents","useDomMotionEvents","patchMotionEvents","getEventHandlers","targetStatus","eventHandlers","_useStepQueue","prepareOnly","setStep","_useNextFrame","nextFrameRef","cancelNextFrame","nextFrame","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","STEP_QUEUE","nextStep","result","info","doNext","useStepQueue","newStep","_eventHandlers$step","_useStepQueue2","startStep","active","nextStatus","isMounted","nextEventHandlers","firstMountChangeRef","mergedStyle","config","transitionSupport","CSSMotion","_props$removeOnLeave","eventProps","contextMotion","isSupportTransition","nodeRef","wrapperNodeRef","_useStatus","HTMLElement","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","motionChildren","setNodeRef","mergedProps","statusSuffix","motionCls","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","parseKeys","_excluded2","MOTION_PROP_NAMES","CSSMotionList","_this","keyEntities","removeKey","setState","prevState","state","onAllRemoved","_this2","_this$props","component","motionProps","prop","changedVisible","_ref3","parsedKeyObjects","mixedKeyEntities","prevKeys","currentKeys","list","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","matchKey","diffKeys","prevEntity","find","_ref5","containerRef","onMouseOver","onKeyUp","parseWidthHeight","DrawerPopup","_pushConfig$distance","_pushConfig","autoFocus","drawerClassNames","rootStyle","contentWrapperStyle","maskClassName","_panelRef$current","pushed","setPushed","pushDistance","distance","mergedContext","pull","_parentContext$push","_parentContext$pull","_parentContext$pull2","maskNode","maskRef","motionMaskClassName","motionMaskStyle","wrapperStyle","transform","panelNode","containerStyle","_sentinelEndRef$curre","_props$open","_props$placement","_props$autoFocus","_props$width","mounted","setMounted","popupRef","lastActiveRef","drawerPopupProps","_popupRef$current","_lastActiveRef$curren","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isMemo","caf","requestAnimationFrame","handle","cancelAnimationFrame","rafUUID","rafIds","wrapperRaf","callRef","leftTimes","realId","overlay","overlayNode","useMemo","composedRef","autoAdjustOverflow","topLeft","topRight","bottomLeft","bottomRight","Dropdown","_children$props","_props$arrow","_props$placements","overlayClassName","overlayStyle","_props$trigger","onVisibleChange","otherProps","triggerVisible","setTriggerVisible","triggerRef","overlayRef","handleVisibleChange","focusMenuRef","handleCloseMenuAndReturnFocus","_triggerRef$current","_triggerRef$current$f","focusMenu","_overlayRef$current","handleKeyDown","focusResult","useAccessibility","openClassName","minOverlayWidthMatchTrigger","getMenuElement","childrenNode","triggerHideAction","onOverlayClick","_regeneratorRuntime","c","asyncIterator","toStringTag","define","wrap","Generator","makeInvokeMethod","tryCatch","arg","h","GeneratorFunction","GeneratorFunctionPrototype","p","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","Error","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isGeneratorFunction","mark","awrap","async","reverse","pop","charAt","stop","rval","complete","finish","delegateYield","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_assertThisInitialized","HOOK_MARK","warningFunc","getFieldValue","getFieldsValue","getFieldError","getFieldWarning","getFieldsError","isFieldsTouched","isFieldTouched","isFieldValidating","isFieldsValidating","resetFields","setFields","setFieldValue","setFieldsValue","validateFields","submit","getInternalHooks","dispatch","initEntityValue","registerField","useSubscribe","setInitialValues","destroyForm","setCallbacks","registerWatch","getFields","setValidateMessages","setPreserve","getInitialValue","typeTemplate","defaultValidateMessages","default","required","enum","whitespace","date","format","parse","invalid","types","string","array","object","boolean","float","regexp","email","url","hex","range","pattern","mismatch","AsyncValidator","replaceMessage","template","kv","CODE_LOGIC_ERROR","validateRule","_x","_x2","_x3","_x4","_x5","_validateRule","_callee2","rule","options","messageVariables","cloneRule","originValidator","subRuleField","validator","messages","subResults","fillVariableResult","_context2","ruleIndex","error","console","reject","defaultField","validateMessages","validate","t0","errors","message","mergedMessage","all","subValue","reduce","validateRules","namePath","rules","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","_callee4","count","_context4","ruleError","getNamePath","path","cloneByNamePathList","store","namePathList","newStore","containsNamePath","partialMatch","matchNamePath","subNamePath","nameUnit","defaultGetValueFromEvent","valuePropName","moveIndex","toIndex","diff","EMPTY_ERRORS","requireUpdate","prevValue","source","Field","resetCount","preserve","isListField","cancelRegisterFunc","_this$props2","_fieldContext$prefixN","fieldContext","prefixName","_this$props3","_this$props3$rules","destroy","onMetaChange","_meta","getMeta","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","validateTrigger","ruleErrors","_ruleErrors$forEach","nextErrors","nextWarnings","_ref4$errors","initialValue","isList","prevValidating","validated","_meta2","getOnlyChild","getControlled","isFunction","childList","_this$props6","getValueFromEvent","normalize","getValueProps","mergedValidateTrigger","mergedGetValueProps","originTriggerFunc","control","newValue","originTrigger","_this$props7","cancelRegister","returnChildNode","_this$getOnlyChild","FieldContext","_ref6","listContext","wrapperListContext","keyManager","parentPrefixName","getKey","pathName","meta","_ref3$value","getNewValue","operations","remove","indexSet","keysIndex","valueIndex","move","to","listValue","__","SPLIT","cell","NameMap","kvs","updater","entries","_cell$match2","unit","json","FormStore","forceRootUpdate","_init","formHooked","subscribable","initialValues","init","_this$prevWithoutPres","nextStore","prevWithoutPreserves","updateStore","getFieldEntities","isMergedPreserve","isPreserve","initValue","callbacks","watchList","fn","allValues","fieldEntities","field","pure","nameList","getFieldsMap","INVALIDATE_NAME_PATH","filterFunc","mergedNameList","mergedFilterFunc","mergedStrict","warningUnhooked","strict","getFieldEntitiesForNamePathList","filteredNameList","_isListField","_isList","getErrors","getWarnings","arg0","arg1","isAllFieldsTouched","shortNamePath","fieldNamePath","update","isNamePathListTouched","namePathListEntities","testField","requiredFieldEntities","records","_requiredFieldEntitie","originValue","skipExist","resetWithFieldInitialValue","notifyObservers","notifyWatch","fields","fieldData","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","results","allPromiseFinish","lastValidatePromise","resultNamePathList","_ref10","returnPromise","errorList","errorFields","outOfDate","triggerNamePathList","onFinish","onFinishFailed","form","formRef","formStore","getForm","FormContext","triggerFormChange","triggerFormFinish","registerForm","unregisterForm","FormProvider","onFormChange","onFormFinish","formContext","formsRef","forms","newForms","_ref$component","_ref$validateTrigger","_onFieldsChange","_onFinish","formInstance","_getInternalHooks","rest","mountRef","childrenRenderProps","prevFieldsRef","sourceKeys","targetKeys","sourceValue","targetValue","isSimilar","formContextValue","wrapperNode","onSubmit","_restProps$onReset","random","_args$","_form","isFormInstance","setValue","valueStrRef","isValidForm","namePathRef","getWatchValue","watchValue","nextValueStr","RefForm","List","useForm","StepHandler","upNode","downNode","upDisabled","downDisabled","onStep","stepTimeoutRef","frameIds","onStepRef","onStopStep","onStepMouseDown","up","loopStep","useMobile","handlerClassName","upClassName","downClassName","safeOnStopStep","sharedHandlerProps","unselectable","getDecupleSteps","stepStr","getDecimalValue","stringMode","decimalValue","getDecimalIfValidate","InternalInputNumber","_clsx","_props$step","readOnly","upHandler","downHandler","_props$controls","controls","parser","formatter","decimalSeparator","onInput","onPressEnter","_props$changeOnBlur","changeOnBlur","inputClassName","setFocus","userTypingRef","compositionRef","shiftKeyRef","setDecimalValue","getPrecision","userTyping","mergedParser","parsedStr","inputValueRef","mergedFormatter","mergedPrecision","_React$useState5","inputValue","setInternalInputValue","setInputValue","focused","selectionRef","idRef","cleanUp","maxDecimal","minDecimal","lessEquals","_useCursor","start","selectionStart","end","selectionEnd","beforeTxt","substring","afterTxt","_selectionRef$current","startPos","endsWith","beforeLastChar","newIndex","setSelectionRange","_useCursor2","recordCursor","restoreCursor","getRangeValue","isInRange","triggerValueUpdate","isRangeValidate","equals","onNextPromise","collectInputValue","inputStr","finalValue","finalDecimal","nextInputStr","onInternalStep","stepDecimal","updatedValue","flushInputValue","parsedValue","formatValue","currentParsedValue","onFocus","onBlur","onCompositionStart","onCompositionEnd","onBeforeInput","autoComplete","InputNumber","suffix","addonBefore","addonAfter","classes","inputFocusRef","inputElement","triggerFocus","option","components","affixWrapper","groupWrapper","groupAddon","useCount","showCount","showFormatter","strategy","_inputElement$props","_inputElement$props2","allowClear","handleReset","hidden","dataAttrs","AffixWrapperComponent","GroupWrapperComponent","WrapperComponent","GroupAddonComponent","cloneElement","_clsx2","affixWrapperPrefixCls","affixWrapperCls","suffixNode","needClear","clearIconCls","clearIcon","getClearIcon","_containerRef$current","wrapperCls","addonCls","mergedWrapperClassName","mergedGroupClassName","group","htmlSize","maxLength","_onCompositionStart","setFocused","selection","setSelection","countConfig","mergedMax","valueLength","isOutOfRange","direction","select","_inputRef$current3","triggerChange","_inputRef$current4","_inputRef$current5","cutValue","exceedFormatter","_inputRef$current6","outOfRangeCls","omit","currentTarget","hasMaxLength","dataCount","getSuffix","hasAddon","hasPrefixSuffix","resolveOnChange","cloneNode","_currentTarget","cursor","hasOwn","appendClass","parseValue","newClass","module","exports"],"sourceRoot":""}