{"version":3,"file":"js/rc-components.825a8965.js","mappings":"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","sources":["webpack://kefu-visitor/./node_modules/rc-motion/es/context.js","webpack://kefu-visitor/./node_modules/rc-motion/es/DomWrapper.js","webpack://kefu-visitor/./node_modules/rc-motion/es/interface.js","webpack://kefu-visitor/./node_modules/rc-motion/es/util/motion.js","webpack://kefu-visitor/./node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack://kefu-visitor/./node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack://kefu-visitor/./node_modules/rc-motion/es/hooks/useStepQueue.js","webpack://kefu-visitor/./node_modules/rc-motion/es/hooks/useNextFrame.js","webpack://kefu-visitor/./node_modules/rc-motion/es/CSSMotion.js","webpack://kefu-visitor/./node_modules/rc-motion/es/hooks/useStatus.js","webpack://kefu-visitor/./node_modules/rc-motion/es/util/diff.js","webpack://kefu-visitor/./node_modules/rc-motion/es/CSSMotionList.js","webpack://kefu-visitor/./node_modules/rc-motion/es/index.js","webpack://kefu-visitor/./node_modules/rc-notification/es/Notice.js","webpack://kefu-visitor/./node_modules/rc-notification/es/NotificationProvider.js","webpack://kefu-visitor/./node_modules/rc-notification/es/hooks/useStack.js","webpack://kefu-visitor/./node_modules/rc-notification/es/NoticeList.js","webpack://kefu-visitor/./node_modules/rc-notification/es/Notifications.js","webpack://kefu-visitor/./node_modules/rc-notification/es/hooks/useNotification.js","webpack://kefu-visitor/./node_modules/rc-pagination/es/locale/en_US.js","webpack://kefu-visitor/./node_modules/rc-picker/es/generate/dayjs.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/DecadePanel/constant.js","webpack://kefu-visitor/./node_modules/rc-picker/es/utils/dateUtil.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/useValueTexts.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/useHoverValue.js","webpack://kefu-visitor/./node_modules/rc-util/es/Dom/isVisible.js","webpack://kefu-visitor/./node_modules/rc-picker/es/utils/uiUtil.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/usePickerInput.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/usePresets.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/useTextValueMapping.js","webpack://kefu-visitor/./node_modules/rc-picker/es/PanelContext.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/useCellRender.js","webpack://kefu-visitor/./node_modules/rc-picker/es/utils/miscUtil.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/useCellClassName.js","webpack://kefu-visitor/./node_modules/rc-picker/es/RangeContext.js","webpack://kefu-visitor/./node_modules/rc-picker/es/utils/timeUtil.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/PanelBody.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/DatePanel/DateBody.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/Header.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/DatePanel/DateHeader.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/DatePanel/index.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/TimePanel/TimeUnitColumn.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/TimePanel/TimeBody.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/useTimeSelection.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/TimePanel/TimeHeader.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/TimePanel/index.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/DatetimePanel/index.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/DecadePanel/DecadeHeader.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/DecadePanel/DecadeBody.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/DecadePanel/index.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/MonthPanel/MonthHeader.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/MonthPanel/MonthBody.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/MonthPanel/index.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/QuarterPanel/QuarterHeader.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/QuarterPanel/QuarterBody.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/QuarterPanel/index.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/WeekPanel/index.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/YearPanel/constant.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/YearPanel/YearHeader.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/YearPanel/YearBody.js","webpack://kefu-visitor/./node_modules/rc-picker/es/panels/YearPanel/index.js","webpack://kefu-visitor/./node_modules/rc-picker/es/utils/getExtraFooter.js","webpack://kefu-visitor/./node_modules/rc-picker/es/utils/getRanges.js","webpack://kefu-visitor/./node_modules/rc-picker/es/PickerPanel.js","webpack://kefu-visitor/./node_modules/@rc-component/portal/es/Context.js","webpack://kefu-visitor/./node_modules/@rc-component/portal/es/useDom.js","webpack://kefu-visitor/./node_modules/rc-util/es/getScrollBarSize.js","webpack://kefu-visitor/./node_modules/@rc-component/portal/es/useScrollLocker.js","webpack://kefu-visitor/./node_modules/@rc-component/portal/es/util.js","webpack://kefu-visitor/./node_modules/@rc-component/portal/es/mock.js","webpack://kefu-visitor/./node_modules/@rc-component/portal/es/Portal.js","webpack://kefu-visitor/./node_modules/@rc-component/portal/es/index.js","webpack://kefu-visitor/./node_modules/rc-util/es/Children/toArray.js","webpack://kefu-visitor/./node_modules/rc-resize-observer/es/Collection.js","webpack://kefu-visitor/./node_modules/rc-resize-observer/es/utils/observerUtil.js","webpack://kefu-visitor/./node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","webpack://kefu-visitor/./node_modules/rc-resize-observer/es/SingleObserver/index.js","webpack://kefu-visitor/./node_modules/rc-resize-observer/es/index.js","webpack://kefu-visitor/./node_modules/rc-util/es/hooks/useId.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/Popup/Arrow.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/Popup/Mask.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/Popup/PopupContent.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/Popup/index.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/TriggerWrapper.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/context.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/hooks/useAction.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/util.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/hooks/useAlign.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/index.js","webpack://kefu-visitor/./node_modules/rc-util/es/isMobile.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/hooks/useWatch.js","webpack://kefu-visitor/./node_modules/rc-picker/node_modules/@rc-component/trigger/es/hooks/useWinClick.js","webpack://kefu-visitor/./node_modules/rc-picker/es/PickerTrigger.js","webpack://kefu-visitor/./node_modules/rc-picker/es/PresetPanel.js","webpack://kefu-visitor/./node_modules/rc-picker/es/utils/getClearIcon.js","webpack://kefu-visitor/./node_modules/rc-picker/es/Picker.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/useRangeViewDates.js","webpack://kefu-visitor/./node_modules/rc-picker/es/RangePicker.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/useRangeOpen.js","webpack://kefu-visitor/./node_modules/rc-picker/es/hooks/useRangeDisabled.js","webpack://kefu-visitor/./node_modules/rc-picker/es/index.js","webpack://kefu-visitor/./node_modules/rc-picker/es/locale/en_US.js","webpack://kefu-visitor/./node_modules/rc-picker/es/locale/zh_CN.js","webpack://kefu-visitor/./node_modules/rc-util/es/Dom/canUseDom.js","webpack://kefu-visitor/./node_modules/rc-util/es/Dom/dynamicCSS.js","webpack://kefu-visitor/./node_modules/rc-util/es/Dom/contains.js","webpack://kefu-visitor/./node_modules/rc-util/es/Dom/findDOMNode.js","webpack://kefu-visitor/./node_modules/rc-util/es/Dom/shadow.js","webpack://kefu-visitor/./node_modules/rc-util/es/KeyCode.js","webpack://kefu-visitor/./node_modules/rc-util/es/React/render.js","webpack://kefu-visitor/./node_modules/rc-util/es/hooks/useEvent.js","webpack://kefu-visitor/./node_modules/rc-util/es/hooks/useLayoutEffect.js","webpack://kefu-visitor/./node_modules/rc-util/es/hooks/useMemo.js","webpack://kefu-visitor/./node_modules/rc-util/es/hooks/useMergedState.js","webpack://kefu-visitor/./node_modules/rc-util/es/hooks/useState.js","webpack://kefu-visitor/./node_modules/rc-util/es/isEqual.js","webpack://kefu-visitor/./node_modules/rc-util/es/pickAttrs.js","webpack://kefu-visitor/./node_modules/rc-util/es/raf.js","webpack://kefu-visitor/./node_modules/rc-util/es/ref.js","webpack://kefu-visitor/./node_modules/rc-util/es/utils/get.js","webpack://kefu-visitor/./node_modules/rc-util/es/utils/set.js","webpack://kefu-visitor/./node_modules/rc-util/es/warning.js","webpack://kefu-visitor/./node_modules/antd/node_modules/rc-picker/es/locale/en_US.js"],"sourcesContent":["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 * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from \"../util/motion\";\nexport default (function (onInternalMotionEnd) {\n var cacheElementRef = useRef();\n\n // Remove events\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n }\n\n // Patch events\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd);\n\n // Save as cache in case dom removed trigger by `motionDeadline`\n cacheElementRef.current = element;\n }\n }\n\n // Clean up when removed\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { useEffect, useLayoutEffect } from 'react';\n\n// It's safe to use `useLayoutEffect` but the warning is annoying\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","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 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 _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 * 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 _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\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, true);\n setStyle(null, true);\n }\n var onInternalMotionEnd = useEvent(function (event) {\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(status);\n }, [status]);\n var _useStepQueue = useStepQueue(status, !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 && status !== 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 status === STATUS_APPEAR && !motionAppear ||\n // Cancel enter\n status === STATUS_ENTER && !motionEnter ||\n // Cancel leave\n status === 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 && status === 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, status]);\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 [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","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 var keyEntities = _this.state.keyEntities;\n var nextKeyEntities = keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n _this.setState({\n keyEntities: nextKeyEntities\n });\n return nextKeyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\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 var restKeysCount = _this2.removeKey(eventProps.key);\n if (restKeysCount === 0 && onAllRemoved) {\n onAllRemoved();\n }\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 _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nvar Notify = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n style = props.style,\n className = props.className,\n _props$duration = props.duration,\n duration = _props$duration === void 0 ? 4.5 : _props$duration,\n showProgress = props.showProgress,\n _props$pauseOnHover = props.pauseOnHover,\n pauseOnHover = _props$pauseOnHover === void 0 ? true : _props$pauseOnHover,\n eventKey = props.eventKey,\n content = props.content,\n closable = props.closable,\n _props$closeIcon = props.closeIcon,\n closeIcon = _props$closeIcon === void 0 ? 'x' : _props$closeIcon,\n divProps = props.props,\n onClick = props.onClick,\n onNoticeClose = props.onNoticeClose,\n times = props.times,\n forcedHovering = props.hovering;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n hovering = _React$useState2[0],\n setHovering = _React$useState2[1];\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n percent = _React$useState4[0],\n setPercent = _React$useState4[1];\n var _React$useState5 = React.useState(0),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n spentTime = _React$useState6[0],\n setSpentTime = _React$useState6[1];\n var mergedHovering = forcedHovering || hovering;\n var mergedShowProgress = duration > 0 && showProgress;\n\n // ======================== Close =========================\n var onInternalClose = function onInternalClose() {\n onNoticeClose(eventKey);\n };\n var onCloseKeyDown = function onCloseKeyDown(e) {\n if (e.key === 'Enter' || e.code === 'Enter' || e.keyCode === KeyCode.ENTER) {\n onInternalClose();\n }\n };\n\n // ======================== Effect ========================\n React.useEffect(function () {\n if (!mergedHovering && duration > 0) {\n var start = Date.now() - spentTime;\n var timeout = setTimeout(function () {\n onInternalClose();\n }, duration * 1000 - spentTime);\n return function () {\n if (pauseOnHover) {\n clearTimeout(timeout);\n }\n setSpentTime(Date.now() - start);\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [duration, mergedHovering, times]);\n React.useEffect(function () {\n if (!mergedHovering && mergedShowProgress && (pauseOnHover || spentTime === 0)) {\n var start = performance.now();\n var animationFrame;\n var calculate = function calculate() {\n cancelAnimationFrame(animationFrame);\n animationFrame = requestAnimationFrame(function (timestamp) {\n var runtime = timestamp + spentTime - start;\n var progress = Math.min(runtime / (duration * 1000), 1);\n setPercent(progress * 100);\n if (progress < 1) {\n calculate();\n }\n });\n };\n calculate();\n return function () {\n if (pauseOnHover) {\n cancelAnimationFrame(animationFrame);\n }\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [duration, spentTime, mergedHovering, mergedShowProgress, times]);\n\n // ======================== Closable ========================\n var closableObj = React.useMemo(function () {\n if (_typeof(closable) === 'object' && closable !== null) {\n return closable;\n }\n if (closable) {\n return {\n closeIcon: closeIcon\n };\n }\n return {};\n }, [closable, closeIcon]);\n var ariaProps = pickAttrs(closableObj, true);\n\n // ======================== Progress ========================\n var validPercent = 100 - (!percent || percent < 0 ? 0 : percent > 100 ? 100 : percent);\n\n // ======================== Render ========================\n var noticePrefixCls = \"\".concat(prefixCls, \"-notice\");\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n ref: ref,\n className: classNames(noticePrefixCls, className, _defineProperty({}, \"\".concat(noticePrefixCls, \"-closable\"), closable)),\n style: style,\n onMouseEnter: function onMouseEnter(e) {\n var _divProps$onMouseEnte;\n setHovering(true);\n divProps === null || divProps === void 0 || (_divProps$onMouseEnte = divProps.onMouseEnter) === null || _divProps$onMouseEnte === void 0 || _divProps$onMouseEnte.call(divProps, e);\n },\n onMouseLeave: function onMouseLeave(e) {\n var _divProps$onMouseLeav;\n setHovering(false);\n divProps === null || divProps === void 0 || (_divProps$onMouseLeav = divProps.onMouseLeave) === null || _divProps$onMouseLeav === void 0 || _divProps$onMouseLeav.call(divProps, e);\n },\n onClick: onClick\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(noticePrefixCls, \"-content\")\n }, content), closable && /*#__PURE__*/React.createElement(\"a\", _extends({\n tabIndex: 0,\n className: \"\".concat(noticePrefixCls, \"-close\"),\n onKeyDown: onCloseKeyDown,\n \"aria-label\": \"Close\"\n }, ariaProps, {\n onClick: function onClick(e) {\n e.preventDefault();\n e.stopPropagation();\n onInternalClose();\n }\n }), closableObj.closeIcon), mergedShowProgress && /*#__PURE__*/React.createElement(\"progress\", {\n className: \"\".concat(noticePrefixCls, \"-progress\"),\n max: \"100\",\n value: validPercent\n }, validPercent + '%'));\n});\nexport default Notify;","import React from 'react';\nexport var NotificationContext = /*#__PURE__*/React.createContext({});\nvar NotificationProvider = function NotificationProvider(_ref) {\n var children = _ref.children,\n classNames = _ref.classNames;\n return /*#__PURE__*/React.createElement(NotificationContext.Provider, {\n value: {\n classNames: classNames\n }\n }, children);\n};\nexport default NotificationProvider;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar DEFAULT_OFFSET = 8;\nvar DEFAULT_THRESHOLD = 3;\nvar DEFAULT_GAP = 16;\nvar useStack = function useStack(config) {\n var result = {\n offset: DEFAULT_OFFSET,\n threshold: DEFAULT_THRESHOLD,\n gap: DEFAULT_GAP\n };\n if (config && _typeof(config) === 'object') {\n var _config$offset, _config$threshold, _config$gap;\n result.offset = (_config$offset = config.offset) !== null && _config$offset !== void 0 ? _config$offset : DEFAULT_OFFSET;\n result.threshold = (_config$threshold = config.threshold) !== null && _config$threshold !== void 0 ? _config$threshold : DEFAULT_THRESHOLD;\n result.gap = (_config$gap = config.gap) !== null && _config$gap !== void 0 ? _config$gap : DEFAULT_GAP;\n }\n return [!!config, result];\n};\nexport default useStack;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar _excluded = [\"className\", \"style\", \"classNames\", \"styles\"];\nimport React, { useContext, useEffect, useRef, useState } from 'react';\nimport clsx from 'classnames';\nimport { CSSMotionList } from 'rc-motion';\nimport Notice from \"./Notice\";\nimport { NotificationContext } from \"./NotificationProvider\";\nimport useStack from \"./hooks/useStack\";\nvar NoticeList = function NoticeList(props) {\n var configList = props.configList,\n placement = props.placement,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n motion = props.motion,\n onAllNoticeRemoved = props.onAllNoticeRemoved,\n onNoticeClose = props.onNoticeClose,\n stackConfig = props.stack;\n var _useContext = useContext(NotificationContext),\n ctxCls = _useContext.classNames;\n var dictRef = useRef({});\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n latestNotice = _useState2[0],\n setLatestNotice = _useState2[1];\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n hoverKeys = _useState4[0],\n setHoverKeys = _useState4[1];\n var keys = configList.map(function (config) {\n return {\n config: config,\n key: String(config.key)\n };\n });\n var _useStack = useStack(stackConfig),\n _useStack2 = _slicedToArray(_useStack, 2),\n stack = _useStack2[0],\n _useStack2$ = _useStack2[1],\n offset = _useStack2$.offset,\n threshold = _useStack2$.threshold,\n gap = _useStack2$.gap;\n var expanded = stack && (hoverKeys.length > 0 || keys.length <= threshold);\n var placementMotion = typeof motion === 'function' ? motion(placement) : motion;\n\n // Clean hover key\n useEffect(function () {\n if (stack && hoverKeys.length > 1) {\n setHoverKeys(function (prev) {\n return prev.filter(function (key) {\n return keys.some(function (_ref) {\n var dataKey = _ref.key;\n return key === dataKey;\n });\n });\n });\n }\n }, [hoverKeys, keys, stack]);\n\n // Force update latest notice\n useEffect(function () {\n var _keys;\n if (stack && dictRef.current[(_keys = keys[keys.length - 1]) === null || _keys === void 0 ? void 0 : _keys.key]) {\n var _keys2;\n setLatestNotice(dictRef.current[(_keys2 = keys[keys.length - 1]) === null || _keys2 === void 0 ? void 0 : _keys2.key]);\n }\n }, [keys, stack]);\n return /*#__PURE__*/React.createElement(CSSMotionList, _extends({\n key: placement,\n className: clsx(prefixCls, \"\".concat(prefixCls, \"-\").concat(placement), ctxCls === null || ctxCls === void 0 ? void 0 : ctxCls.list, className, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-stack\"), !!stack), \"\".concat(prefixCls, \"-stack-expanded\"), expanded)),\n style: style,\n keys: keys,\n motionAppear: true\n }, placementMotion, {\n onAllRemoved: function onAllRemoved() {\n onAllNoticeRemoved(placement);\n }\n }), function (_ref2, nodeRef) {\n var config = _ref2.config,\n motionClassName = _ref2.className,\n motionStyle = _ref2.style,\n motionIndex = _ref2.index;\n var _ref3 = config,\n key = _ref3.key,\n times = _ref3.times;\n var strKey = String(key);\n var _ref4 = config,\n configClassName = _ref4.className,\n configStyle = _ref4.style,\n configClassNames = _ref4.classNames,\n configStyles = _ref4.styles,\n restConfig = _objectWithoutProperties(_ref4, _excluded);\n var dataIndex = keys.findIndex(function (item) {\n return item.key === strKey;\n });\n\n // If dataIndex is -1, that means this notice has been removed in data, but still in dom\n // Should minus (motionIndex - 1) to get the correct index because keys.length is not the same as dom length\n var stackStyle = {};\n if (stack) {\n var index = keys.length - 1 - (dataIndex > -1 ? dataIndex : motionIndex - 1);\n var transformX = placement === 'top' || placement === 'bottom' ? '-50%' : '0';\n if (index > 0) {\n var _dictRef$current$strK, _dictRef$current$strK2, _dictRef$current$strK3;\n stackStyle.height = expanded ? (_dictRef$current$strK = dictRef.current[strKey]) === null || _dictRef$current$strK === void 0 ? void 0 : _dictRef$current$strK.offsetHeight : latestNotice === null || latestNotice === void 0 ? void 0 : latestNotice.offsetHeight;\n\n // Transform\n var verticalOffset = 0;\n for (var i = 0; i < index; i++) {\n var _dictRef$current$keys;\n verticalOffset += ((_dictRef$current$keys = dictRef.current[keys[keys.length - 1 - i].key]) === null || _dictRef$current$keys === void 0 ? void 0 : _dictRef$current$keys.offsetHeight) + gap;\n }\n var transformY = (expanded ? verticalOffset : index * offset) * (placement.startsWith('top') ? 1 : -1);\n var scaleX = !expanded && latestNotice !== null && latestNotice !== void 0 && latestNotice.offsetWidth && (_dictRef$current$strK2 = dictRef.current[strKey]) !== null && _dictRef$current$strK2 !== void 0 && _dictRef$current$strK2.offsetWidth ? ((latestNotice === null || latestNotice === void 0 ? void 0 : latestNotice.offsetWidth) - offset * 2 * (index < 3 ? index : 3)) / ((_dictRef$current$strK3 = dictRef.current[strKey]) === null || _dictRef$current$strK3 === void 0 ? void 0 : _dictRef$current$strK3.offsetWidth) : 1;\n stackStyle.transform = \"translate3d(\".concat(transformX, \", \").concat(transformY, \"px, 0) scaleX(\").concat(scaleX, \")\");\n } else {\n stackStyle.transform = \"translate3d(\".concat(transformX, \", 0, 0)\");\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: nodeRef,\n className: clsx(\"\".concat(prefixCls, \"-notice-wrapper\"), motionClassName, configClassNames === null || configClassNames === void 0 ? void 0 : configClassNames.wrapper),\n style: _objectSpread(_objectSpread(_objectSpread({}, motionStyle), stackStyle), configStyles === null || configStyles === void 0 ? void 0 : configStyles.wrapper),\n onMouseEnter: function onMouseEnter() {\n return setHoverKeys(function (prev) {\n return prev.includes(strKey) ? prev : [].concat(_toConsumableArray(prev), [strKey]);\n });\n },\n onMouseLeave: function onMouseLeave() {\n return setHoverKeys(function (prev) {\n return prev.filter(function (k) {\n return k !== strKey;\n });\n });\n }\n }, /*#__PURE__*/React.createElement(Notice, _extends({}, restConfig, {\n ref: function ref(node) {\n if (dataIndex > -1) {\n dictRef.current[strKey] = node;\n } else {\n delete dictRef.current[strKey];\n }\n },\n prefixCls: prefixCls,\n classNames: configClassNames,\n styles: configStyles,\n className: clsx(configClassName, ctxCls === null || ctxCls === void 0 ? void 0 : ctxCls.notice),\n style: configStyle,\n times: times,\n key: key,\n eventKey: key,\n onNoticeClose: onNoticeClose,\n hovering: stack && hoverKeys.length > 0\n })));\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n NoticeList.displayName = 'NoticeList';\n}\nexport default NoticeList;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport NoticeList from \"./NoticeList\";\n// ant-notification ant-notification-topRight\nvar Notifications = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-notification' : _props$prefixCls,\n container = props.container,\n motion = props.motion,\n maxCount = props.maxCount,\n className = props.className,\n style = props.style,\n onAllRemoved = props.onAllRemoved,\n stack = props.stack,\n renderNotifications = props.renderNotifications;\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n configList = _React$useState2[0],\n setConfigList = _React$useState2[1];\n\n // ======================== Close =========================\n var onNoticeClose = function onNoticeClose(key) {\n var _config$onClose;\n // Trigger close event\n var config = configList.find(function (item) {\n return item.key === key;\n });\n config === null || config === void 0 || (_config$onClose = config.onClose) === null || _config$onClose === void 0 || _config$onClose.call(config);\n setConfigList(function (list) {\n return list.filter(function (item) {\n return item.key !== key;\n });\n });\n };\n\n // ========================= Refs =========================\n React.useImperativeHandle(ref, function () {\n return {\n open: function open(config) {\n setConfigList(function (list) {\n var clone = _toConsumableArray(list);\n\n // Replace if exist\n var index = clone.findIndex(function (item) {\n return item.key === config.key;\n });\n var innerConfig = _objectSpread({}, config);\n if (index >= 0) {\n var _list$index;\n innerConfig.times = (((_list$index = list[index]) === null || _list$index === void 0 ? void 0 : _list$index.times) || 0) + 1;\n clone[index] = innerConfig;\n } else {\n innerConfig.times = 0;\n clone.push(innerConfig);\n }\n if (maxCount > 0 && clone.length > maxCount) {\n clone = clone.slice(-maxCount);\n }\n return clone;\n });\n },\n close: function close(key) {\n onNoticeClose(key);\n },\n destroy: function destroy() {\n setConfigList([]);\n }\n };\n });\n\n // ====================== Placements ======================\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n placements = _React$useState4[0],\n setPlacements = _React$useState4[1];\n React.useEffect(function () {\n var nextPlacements = {};\n configList.forEach(function (config) {\n var _config$placement = config.placement,\n placement = _config$placement === void 0 ? 'topRight' : _config$placement;\n if (placement) {\n nextPlacements[placement] = nextPlacements[placement] || [];\n nextPlacements[placement].push(config);\n }\n });\n\n // Fill exist placements to avoid empty list causing remove without motion\n Object.keys(placements).forEach(function (placement) {\n nextPlacements[placement] = nextPlacements[placement] || [];\n });\n setPlacements(nextPlacements);\n }, [configList]);\n\n // Clean up container if all notices fade out\n var onAllNoticeRemoved = function onAllNoticeRemoved(placement) {\n setPlacements(function (originPlacements) {\n var clone = _objectSpread({}, originPlacements);\n var list = clone[placement] || [];\n if (!list.length) {\n delete clone[placement];\n }\n return clone;\n });\n };\n\n // Effect tell that placements is empty now\n var emptyRef = React.useRef(false);\n React.useEffect(function () {\n if (Object.keys(placements).length > 0) {\n emptyRef.current = true;\n } else if (emptyRef.current) {\n // Trigger only when from exist to empty\n onAllRemoved === null || onAllRemoved === void 0 || onAllRemoved();\n emptyRef.current = false;\n }\n }, [placements]);\n // ======================== Render ========================\n if (!container) {\n return null;\n }\n var placementList = Object.keys(placements);\n return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(React.Fragment, null, placementList.map(function (placement) {\n var placementConfigList = placements[placement];\n var list = /*#__PURE__*/React.createElement(NoticeList, {\n key: placement,\n configList: placementConfigList,\n placement: placement,\n prefixCls: prefixCls,\n className: className === null || className === void 0 ? void 0 : className(placement),\n style: style === null || style === void 0 ? void 0 : style(placement),\n motion: motion,\n onNoticeClose: onNoticeClose,\n onAllNoticeRemoved: onAllNoticeRemoved,\n stack: stack\n });\n return renderNotifications ? renderNotifications(list, {\n prefixCls: prefixCls,\n key: placement\n }) : list;\n })), container);\n});\nif (process.env.NODE_ENV !== 'production') {\n Notifications.displayName = 'Notifications';\n}\nexport default Notifications;","import _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 = [\"getContainer\", \"motion\", \"prefixCls\", \"maxCount\", \"className\", \"style\", \"onAllRemoved\", \"stack\", \"renderNotifications\"];\nimport * as React from 'react';\nimport Notifications from \"../Notifications\";\nvar defaultGetContainer = function defaultGetContainer() {\n return document.body;\n};\nvar uniqueKey = 0;\nfunction mergeConfig() {\n var clone = {};\n for (var _len = arguments.length, objList = new Array(_len), _key = 0; _key < _len; _key++) {\n objList[_key] = arguments[_key];\n }\n objList.forEach(function (obj) {\n if (obj) {\n Object.keys(obj).forEach(function (key) {\n var val = obj[key];\n if (val !== undefined) {\n clone[key] = val;\n }\n });\n }\n });\n return clone;\n}\nexport default function useNotification() {\n var rootConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _rootConfig$getContai = rootConfig.getContainer,\n getContainer = _rootConfig$getContai === void 0 ? defaultGetContainer : _rootConfig$getContai,\n motion = rootConfig.motion,\n prefixCls = rootConfig.prefixCls,\n maxCount = rootConfig.maxCount,\n className = rootConfig.className,\n style = rootConfig.style,\n onAllRemoved = rootConfig.onAllRemoved,\n stack = rootConfig.stack,\n renderNotifications = rootConfig.renderNotifications,\n shareConfig = _objectWithoutProperties(rootConfig, _excluded);\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n container = _React$useState2[0],\n setContainer = _React$useState2[1];\n var notificationsRef = React.useRef();\n var contextHolder = /*#__PURE__*/React.createElement(Notifications, {\n container: container,\n ref: notificationsRef,\n prefixCls: prefixCls,\n motion: motion,\n maxCount: maxCount,\n className: className,\n style: style,\n onAllRemoved: onAllRemoved,\n stack: stack,\n renderNotifications: renderNotifications\n });\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n taskQueue = _React$useState4[0],\n setTaskQueue = _React$useState4[1];\n\n // ========================= Refs =========================\n var api = React.useMemo(function () {\n return {\n open: function open(config) {\n var mergedConfig = mergeConfig(shareConfig, config);\n if (mergedConfig.key === null || mergedConfig.key === undefined) {\n mergedConfig.key = \"rc-notification-\".concat(uniqueKey);\n uniqueKey += 1;\n }\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'open',\n config: mergedConfig\n }]);\n });\n },\n close: function close(key) {\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'close',\n key: key\n }]);\n });\n },\n destroy: function destroy() {\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'destroy'\n }]);\n });\n }\n };\n }, []);\n\n // ======================= Container ======================\n // React 18 should all in effect that we will check container in each render\n // Which means getContainer should be stable.\n React.useEffect(function () {\n setContainer(getContainer());\n });\n\n // ======================== Effect ========================\n React.useEffect(function () {\n // Flush task when node ready\n if (notificationsRef.current && taskQueue.length) {\n taskQueue.forEach(function (task) {\n switch (task.type) {\n case 'open':\n notificationsRef.current.open(task.config);\n break;\n case 'close':\n notificationsRef.current.close(task.key);\n break;\n case 'destroy':\n notificationsRef.current.destroy();\n break;\n }\n });\n\n // React 17 will mix order of effect & setState in async\n // - open: setState[0]\n // - effect[0]\n // - open: setState[1]\n // - effect setState([]) * here will clean up [0, 1] in React 17\n setTaskQueue(function (oriQueue) {\n return oriQueue.filter(function (task) {\n return !taskQueue.includes(task);\n });\n });\n }\n }, [taskQueue]);\n\n // ======================== Return ========================\n return [api, contextHolder];\n}","var locale = {\n // Options\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n // Pagination\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n};\nexport default locale;","import dayjs from 'dayjs';\nimport { noteOnce } from \"rc-util/es/warning\";\nimport weekday from 'dayjs/plugin/weekday';\nimport localeData from 'dayjs/plugin/localeData';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport weekYear from 'dayjs/plugin/weekYear';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\ndayjs.extend(function (o, c) {\n // todo support Wo (ISO week)\n var proto = c.prototype;\n var oldFormat = proto.format;\n proto.format = function f(formatStr) {\n var str = (formatStr || '').replace('Wo', 'wo');\n return oldFormat.bind(this)(str);\n };\n});\nvar localeMap = {\n // ar_EG:\n // az_AZ:\n // bg_BG:\n bn_BD: 'bn-bd',\n by_BY: 'be',\n // ca_ES:\n // cs_CZ:\n // da_DK:\n // de_DE:\n // el_GR:\n en_GB: 'en-gb',\n en_US: 'en',\n // es_ES:\n // et_EE:\n // fa_IR:\n // fi_FI:\n fr_BE: 'fr',\n // todo: dayjs has no fr_BE locale, use fr at present\n fr_CA: 'fr-ca',\n // fr_FR:\n // ga_IE:\n // gl_ES:\n // he_IL:\n // hi_IN:\n // hr_HR:\n // hu_HU:\n hy_AM: 'hy-am',\n // id_ID:\n // is_IS:\n // it_IT:\n // ja_JP:\n // ka_GE:\n // kk_KZ:\n // km_KH:\n kmr_IQ: 'ku',\n // kn_IN:\n // ko_KR:\n // ku_IQ: // previous ku in antd\n // lt_LT:\n // lv_LV:\n // mk_MK:\n // ml_IN:\n // mn_MN:\n // ms_MY:\n // nb_NO:\n // ne_NP:\n nl_BE: 'nl-be',\n // nl_NL:\n // pl_PL:\n pt_BR: 'pt-br',\n // pt_PT:\n // ro_RO:\n // ru_RU:\n // sk_SK:\n // sl_SI:\n // sr_RS:\n // sv_SE:\n // ta_IN:\n // th_TH:\n // tr_TR:\n // uk_UA:\n // ur_PK:\n // vi_VN:\n zh_CN: 'zh-cn',\n zh_HK: 'zh-hk',\n zh_TW: 'zh-tw'\n};\nvar parseLocale = function parseLocale(locale) {\n var mapLocale = localeMap[locale];\n return mapLocale || locale.split('_')[0];\n};\nvar parseNoMatchNotice = function parseNoMatchNotice() {\n /* istanbul ignore next */\n noteOnce(false, 'Not match any format. Please help to fire a issue about this.');\n};\nvar generateConfig = {\n // get\n getNow: function getNow() {\n return dayjs();\n },\n getFixedDate: function getFixedDate(string) {\n return dayjs(string, ['YYYY-M-DD', 'YYYY-MM-DD']);\n },\n getEndDate: function getEndDate(date) {\n return date.endOf('month');\n },\n getWeekDay: function getWeekDay(date) {\n var clone = date.locale('en');\n return clone.weekday() + clone.localeData().firstDayOfWeek();\n },\n getYear: function getYear(date) {\n return date.year();\n },\n getMonth: function getMonth(date) {\n return date.month();\n },\n getDate: function getDate(date) {\n return date.date();\n },\n getHour: function getHour(date) {\n return date.hour();\n },\n getMinute: function getMinute(date) {\n return date.minute();\n },\n getSecond: function getSecond(date) {\n return date.second();\n },\n // set\n addYear: function addYear(date, diff) {\n return date.add(diff, 'year');\n },\n addMonth: function addMonth(date, diff) {\n return date.add(diff, 'month');\n },\n addDate: function addDate(date, diff) {\n return date.add(diff, 'day');\n },\n setYear: function setYear(date, year) {\n return date.year(year);\n },\n setMonth: function setMonth(date, month) {\n return date.month(month);\n },\n setDate: function setDate(date, num) {\n return date.date(num);\n },\n setHour: function setHour(date, hour) {\n return date.hour(hour);\n },\n setMinute: function setMinute(date, minute) {\n return date.minute(minute);\n },\n setSecond: function setSecond(date, second) {\n return date.second(second);\n },\n // Compare\n isAfter: function isAfter(date1, date2) {\n return date1.isAfter(date2);\n },\n isValidate: function isValidate(date) {\n return date.isValid();\n },\n locale: {\n getWeekFirstDay: function getWeekFirstDay(locale) {\n return dayjs().locale(parseLocale(locale)).localeData().firstDayOfWeek();\n },\n getWeekFirstDate: function getWeekFirstDate(locale, date) {\n return date.locale(parseLocale(locale)).weekday(0);\n },\n getWeek: function getWeek(locale, date) {\n return date.locale(parseLocale(locale)).week();\n },\n getShortWeekDays: function getShortWeekDays(locale) {\n return dayjs().locale(parseLocale(locale)).localeData().weekdaysMin();\n },\n getShortMonths: function getShortMonths(locale) {\n return dayjs().locale(parseLocale(locale)).localeData().monthsShort();\n },\n format: function format(locale, date, _format) {\n return date.locale(parseLocale(locale)).format(_format);\n },\n parse: function parse(locale, text, formats) {\n var localeStr = parseLocale(locale);\n for (var i = 0; i < formats.length; i += 1) {\n var format = formats[i];\n var formatText = text;\n if (format.includes('wo') || format.includes('Wo')) {\n // parse Wo\n var year = formatText.split('-')[0];\n var weekStr = formatText.split('-')[1];\n var firstWeek = dayjs(year, 'YYYY').startOf('year').locale(localeStr);\n for (var j = 0; j <= 52; j += 1) {\n var nextWeek = firstWeek.add(j, 'week');\n if (nextWeek.format('Wo') === weekStr) {\n return nextWeek;\n }\n }\n parseNoMatchNotice();\n return null;\n }\n var date = dayjs(formatText, format, true).locale(localeStr);\n if (date.isValid()) {\n return date;\n }\n }\n if (text) {\n parseNoMatchNotice();\n }\n return null;\n }\n }\n};\nexport default generateConfig;","export var DECADE_UNIT_DIFF = 10;\nexport var DECADE_DISTANCE_COUNT = DECADE_UNIT_DIFF * 10;","import { DECADE_UNIT_DIFF } from \"../panels/DecadePanel/constant\";\nexport var WEEK_DAY_COUNT = 7;\nexport function isNullEqual(value1, value2) {\n if (!value1 && !value2) {\n return true;\n }\n if (!value1 || !value2) {\n return false;\n }\n return undefined;\n}\nexport function isSameDecade(generateConfig, decade1, decade2) {\n var equal = isNullEqual(decade1, decade2);\n if (typeof equal === 'boolean') {\n return equal;\n }\n var num1 = Math.floor(generateConfig.getYear(decade1) / 10);\n var num2 = Math.floor(generateConfig.getYear(decade2) / 10);\n return num1 === num2;\n}\nexport function isSameYear(generateConfig, year1, year2) {\n var equal = isNullEqual(year1, year2);\n if (typeof equal === 'boolean') {\n return equal;\n }\n return generateConfig.getYear(year1) === generateConfig.getYear(year2);\n}\nexport function getQuarter(generateConfig, date) {\n var quota = Math.floor(generateConfig.getMonth(date) / 3);\n return quota + 1;\n}\nexport function isSameQuarter(generateConfig, quarter1, quarter2) {\n var equal = isNullEqual(quarter1, quarter2);\n if (typeof equal === 'boolean') {\n return equal;\n }\n return isSameYear(generateConfig, quarter1, quarter2) && getQuarter(generateConfig, quarter1) === getQuarter(generateConfig, quarter2);\n}\nexport function isSameMonth(generateConfig, month1, month2) {\n var equal = isNullEqual(month1, month2);\n if (typeof equal === 'boolean') {\n return equal;\n }\n return isSameYear(generateConfig, month1, month2) && generateConfig.getMonth(month1) === generateConfig.getMonth(month2);\n}\nexport function isSameDate(generateConfig, date1, date2) {\n var equal = isNullEqual(date1, date2);\n if (typeof equal === 'boolean') {\n return equal;\n }\n return generateConfig.getYear(date1) === generateConfig.getYear(date2) && generateConfig.getMonth(date1) === generateConfig.getMonth(date2) && generateConfig.getDate(date1) === generateConfig.getDate(date2);\n}\nexport function isSameTime(generateConfig, time1, time2) {\n var equal = isNullEqual(time1, time2);\n if (typeof equal === 'boolean') {\n return equal;\n }\n return generateConfig.getHour(time1) === generateConfig.getHour(time2) && generateConfig.getMinute(time1) === generateConfig.getMinute(time2) && generateConfig.getSecond(time1) === generateConfig.getSecond(time2);\n}\nexport function isSameWeek(generateConfig, locale, date1, date2) {\n var equal = isNullEqual(date1, date2);\n if (typeof equal === 'boolean') {\n return equal;\n }\n return isSameYear(generateConfig, date1, date2) && generateConfig.locale.getWeek(locale, date1) === generateConfig.locale.getWeek(locale, date2);\n}\nexport function isEqual(generateConfig, value1, value2) {\n return isSameDate(generateConfig, value1, value2) && isSameTime(generateConfig, value1, value2);\n}\n\n/** Between in date but not equal of date */\nexport function isInRange(generateConfig, startDate, endDate, current) {\n if (!startDate || !endDate || !current) {\n return false;\n }\n return !isSameDate(generateConfig, startDate, current) && !isSameDate(generateConfig, endDate, current) && generateConfig.isAfter(current, startDate) && generateConfig.isAfter(endDate, current);\n}\nexport function getWeekStartDate(locale, generateConfig, value) {\n var weekFirstDay = generateConfig.locale.getWeekFirstDay(locale);\n var monthStartDate = generateConfig.setDate(value, 1);\n var startDateWeekDay = generateConfig.getWeekDay(monthStartDate);\n var alignStartDate = generateConfig.addDate(monthStartDate, weekFirstDay - startDateWeekDay);\n if (generateConfig.getMonth(alignStartDate) === generateConfig.getMonth(value) && generateConfig.getDate(alignStartDate) > 1) {\n alignStartDate = generateConfig.addDate(alignStartDate, -7);\n }\n return alignStartDate;\n}\nexport function getClosingViewDate(viewDate, picker, generateConfig) {\n var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n switch (picker) {\n case 'year':\n return generateConfig.addYear(viewDate, offset * 10);\n case 'quarter':\n case 'month':\n return generateConfig.addYear(viewDate, offset);\n default:\n return generateConfig.addMonth(viewDate, offset);\n }\n}\nexport function formatValue(value, _ref) {\n var generateConfig = _ref.generateConfig,\n locale = _ref.locale,\n format = _ref.format;\n return typeof format === 'function' ? format(value) : generateConfig.locale.format(locale.locale, value, format);\n}\nexport function parseValue(value, _ref2) {\n var generateConfig = _ref2.generateConfig,\n locale = _ref2.locale,\n formatList = _ref2.formatList;\n if (!value || typeof formatList[0] === 'function') {\n return null;\n }\n return generateConfig.locale.parse(locale.locale, value, formatList);\n}\n\n// eslint-disable-next-line consistent-return\nexport function getCellDateDisabled(_ref3) {\n var cellDate = _ref3.cellDate,\n mode = _ref3.mode,\n disabledDate = _ref3.disabledDate,\n generateConfig = _ref3.generateConfig;\n if (!disabledDate) return false;\n // Whether cellDate is disabled in range\n var getDisabledFromRange = function getDisabledFromRange(currentMode, start, end) {\n var current = start;\n while (current <= end) {\n var _date = void 0;\n switch (currentMode) {\n case 'date':\n {\n _date = generateConfig.setDate(cellDate, current);\n if (!disabledDate(_date)) {\n return false;\n }\n break;\n }\n case 'month':\n {\n _date = generateConfig.setMonth(cellDate, current);\n if (!getCellDateDisabled({\n cellDate: _date,\n mode: 'month',\n generateConfig: generateConfig,\n disabledDate: disabledDate\n })) {\n return false;\n }\n break;\n }\n case 'year':\n {\n _date = generateConfig.setYear(cellDate, current);\n if (!getCellDateDisabled({\n cellDate: _date,\n mode: 'year',\n generateConfig: generateConfig,\n disabledDate: disabledDate\n })) {\n return false;\n }\n break;\n }\n }\n current += 1;\n }\n return true;\n };\n switch (mode) {\n case 'date':\n case 'week':\n {\n return disabledDate(cellDate);\n }\n case 'month':\n {\n var startDate = 1;\n var endDate = generateConfig.getDate(generateConfig.getEndDate(cellDate));\n return getDisabledFromRange('date', startDate, endDate);\n }\n case 'quarter':\n {\n var startMonth = Math.floor(generateConfig.getMonth(cellDate) / 3) * 3;\n var endMonth = startMonth + 2;\n return getDisabledFromRange('month', startMonth, endMonth);\n }\n case 'year':\n {\n return getDisabledFromRange('month', 0, 11);\n }\n case 'decade':\n {\n var year = generateConfig.getYear(cellDate);\n var startYear = Math.floor(year / DECADE_UNIT_DIFF) * DECADE_UNIT_DIFF;\n var endYear = startYear + DECADE_UNIT_DIFF - 1;\n return getDisabledFromRange('year', startYear, endYear);\n }\n }\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport shallowEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { formatValue, isEqual } from \"../utils/dateUtil\";\nexport default function useValueTexts(value, _ref) {\n var formatList = _ref.formatList,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale;\n var _useMemo = useMemo(function () {\n if (!value) {\n return [[''], ''];\n }\n\n // We will convert data format back to first format\n var firstValueText = '';\n var fullValueTexts = [];\n for (var i = 0; i < formatList.length; i += 1) {\n var format = formatList[i];\n var formatStr = formatValue(value, {\n generateConfig: generateConfig,\n locale: locale,\n format: format\n });\n fullValueTexts.push(formatStr);\n if (i === 0) {\n firstValueText = formatStr;\n }\n }\n return [fullValueTexts, firstValueText];\n }, [value, formatList, locale], function (prev, next) {\n return (\n // Not Same Date\n !isEqual(generateConfig, prev[0], next[0]) ||\n // Not Same format\n !shallowEqual(prev[1], next[1], true) ||\n // Not Same locale\n !shallowEqual(prev[2], next[2], true)\n );\n }),\n _useMemo2 = _slicedToArray(_useMemo, 2),\n texts = _useMemo2[0],\n text = _useMemo2[1];\n return React.useMemo(function () {\n return [texts, text];\n }, [texts.join(''), text]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport useValueTexts from \"./useValueTexts\";\nexport default function useHoverValue(valueText, _ref) {\n var formatList = _ref.formatList,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale;\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n internalSetValue = _useState2[1];\n var raf = useRef(null);\n function setValue(val) {\n var immediately = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n cancelAnimationFrame(raf.current);\n if (immediately) {\n internalSetValue(val);\n return;\n }\n raf.current = requestAnimationFrame(function () {\n internalSetValue(val);\n });\n }\n var _useValueTexts = useValueTexts(value, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useValueTexts2 = _slicedToArray(_useValueTexts, 2),\n firstText = _useValueTexts2[1];\n function onEnter(date) {\n setValue(date);\n }\n function onLeave() {\n var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n setValue(null, immediately);\n }\n useEffect(function () {\n onLeave(true);\n }, [valueText]);\n useEffect(function () {\n return function () {\n return cancelAnimationFrame(raf.current);\n };\n }, []);\n return [firstText, onEnter, onLeave];\n}","export default (function (element) {\n if (!element) {\n return false;\n }\n if (element instanceof Element) {\n if (element.offsetParent) {\n return true;\n }\n if (element.getBBox) {\n var _getBBox = element.getBBox(),\n width = _getBBox.width,\n height = _getBBox.height;\n if (width || height) {\n return true;\n }\n }\n if (element.getBoundingClientRect) {\n var _element$getBoundingC = element.getBoundingClientRect(),\n _width = _element$getBoundingC.width,\n _height = _element$getBoundingC.height;\n if (_width || _height) {\n return true;\n }\n }\n }\n return false;\n});","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nvar scrollIds = new Map();\n\n/** Trigger when element is visible in view */\nexport function waitElementReady(element, callback) {\n var id;\n function tryOrNextFrame() {\n if (isVisible(element)) {\n callback();\n } else {\n id = raf(function () {\n tryOrNextFrame();\n });\n }\n }\n tryOrNextFrame();\n return function () {\n raf.cancel(id);\n };\n}\n\n/* eslint-disable no-param-reassign */\nexport function scrollTo(element, to, duration) {\n if (scrollIds.get(element)) {\n cancelAnimationFrame(scrollIds.get(element));\n }\n\n // jump to target if duration zero\n if (duration <= 0) {\n scrollIds.set(element, requestAnimationFrame(function () {\n element.scrollTop = to;\n }));\n return;\n }\n var difference = to - element.scrollTop;\n var perTick = difference / duration * 10;\n scrollIds.set(element, requestAnimationFrame(function () {\n element.scrollTop += perTick;\n if (element.scrollTop !== to) {\n scrollTo(element, to, duration - 10);\n }\n }));\n}\n/* eslint-enable */\n\nexport function createKeyDownHandler(event, _ref) {\n var onLeftRight = _ref.onLeftRight,\n onCtrlLeftRight = _ref.onCtrlLeftRight,\n onUpDown = _ref.onUpDown,\n onPageUpDown = _ref.onPageUpDown,\n onEnter = _ref.onEnter;\n var which = event.which,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n switch (which) {\n case KeyCode.LEFT:\n if (ctrlKey || metaKey) {\n if (onCtrlLeftRight) {\n onCtrlLeftRight(-1);\n return true;\n }\n } else if (onLeftRight) {\n onLeftRight(-1);\n return true;\n }\n /* istanbul ignore next */\n break;\n case KeyCode.RIGHT:\n if (ctrlKey || metaKey) {\n if (onCtrlLeftRight) {\n onCtrlLeftRight(1);\n return true;\n }\n } else if (onLeftRight) {\n onLeftRight(1);\n return true;\n }\n /* istanbul ignore next */\n break;\n case KeyCode.UP:\n if (onUpDown) {\n onUpDown(-1);\n return true;\n }\n /* istanbul ignore next */\n break;\n case KeyCode.DOWN:\n if (onUpDown) {\n onUpDown(1);\n return true;\n }\n /* istanbul ignore next */\n break;\n case KeyCode.PAGE_UP:\n if (onPageUpDown) {\n onPageUpDown(-1);\n return true;\n }\n /* istanbul ignore next */\n break;\n case KeyCode.PAGE_DOWN:\n if (onPageUpDown) {\n onPageUpDown(1);\n return true;\n }\n /* istanbul ignore next */\n break;\n case KeyCode.ENTER:\n if (onEnter) {\n onEnter();\n return true;\n }\n /* istanbul ignore next */\n break;\n }\n return false;\n}\n\n// ===================== Format =====================\nexport function getDefaultFormat(format, picker, showTime, use12Hours) {\n var mergedFormat = format;\n if (!mergedFormat) {\n switch (picker) {\n case 'time':\n mergedFormat = use12Hours ? 'hh:mm:ss a' : 'HH:mm:ss';\n break;\n case 'week':\n mergedFormat = 'gggg-wo';\n break;\n case 'month':\n mergedFormat = 'YYYY-MM';\n break;\n case 'quarter':\n mergedFormat = 'YYYY-[Q]Q';\n break;\n case 'year':\n mergedFormat = 'YYYY';\n break;\n default:\n mergedFormat = showTime ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD';\n }\n }\n return mergedFormat;\n}\nexport function getInputSize(picker, format, generateConfig) {\n var defaultSize = picker === 'time' ? 8 : 10;\n var length = typeof format === 'function' ? format(generateConfig.getNow()).length : format.length;\n return Math.max(defaultSize, length) + 2;\n}\n\n// ===================== Window =====================\n\nvar globalClickFunc = null;\nvar clickCallbacks = new Set();\nexport function addGlobalMouseDownEvent(callback) {\n if (!globalClickFunc && typeof window !== 'undefined' && window.addEventListener) {\n globalClickFunc = function globalClickFunc(e) {\n // Clone a new list to avoid repeat trigger events\n _toConsumableArray(clickCallbacks).forEach(function (queueFunc) {\n queueFunc(e);\n });\n };\n window.addEventListener('mousedown', globalClickFunc);\n }\n clickCallbacks.add(callback);\n return function () {\n clickCallbacks.delete(callback);\n if (clickCallbacks.size === 0) {\n window.removeEventListener('mousedown', globalClickFunc);\n globalClickFunc = null;\n }\n };\n}\nexport function getTargetFromEvent(e) {\n var target = e.target;\n\n // get target if in shadow dom\n if (e.composed && target.shadowRoot) {\n var _e$composedPath;\n return ((_e$composedPath = e.composedPath) === null || _e$composedPath === void 0 ? void 0 : _e$composedPath.call(e)[0]) || target;\n }\n return target;\n}\n\n// ====================== Mode ======================\nvar getYearNextMode = function getYearNextMode(next) {\n if (next === 'month' || next === 'date') {\n return 'year';\n }\n return next;\n};\nvar getMonthNextMode = function getMonthNextMode(next) {\n if (next === 'date') {\n return 'month';\n }\n return next;\n};\nvar getQuarterNextMode = function getQuarterNextMode(next) {\n if (next === 'month' || next === 'date') {\n return 'quarter';\n }\n return next;\n};\nvar getWeekNextMode = function getWeekNextMode(next) {\n if (next === 'date') {\n return 'week';\n }\n return next;\n};\nexport var PickerModeMap = {\n year: getYearNextMode,\n month: getMonthNextMode,\n quarter: getQuarterNextMode,\n week: getWeekNextMode,\n time: null,\n date: null\n};\nexport function elementsContains(elements, target) {\n return elements.some(function (ele) {\n return ele && ele.contains(target);\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport { useEffect, useRef, useState } from 'react';\nimport { addGlobalMouseDownEvent, getTargetFromEvent } from \"../utils/uiUtil\";\nexport default function usePickerInput(_ref) {\n var open = _ref.open,\n value = _ref.value,\n isClickOutside = _ref.isClickOutside,\n triggerOpen = _ref.triggerOpen,\n forwardKeyDown = _ref.forwardKeyDown,\n _onKeyDown = _ref.onKeyDown,\n blurToCancel = _ref.blurToCancel,\n changeOnBlur = _ref.changeOnBlur,\n onSubmit = _ref.onSubmit,\n onCancel = _ref.onCancel,\n _onFocus = _ref.onFocus,\n _onBlur = _ref.onBlur;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n typing = _useState2[0],\n setTyping = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n\n /**\n * We will prevent blur to handle open event when user click outside,\n * since this will repeat trigger `onOpenChange` event.\n */\n var preventBlurRef = useRef(false);\n var valueChangedRef = useRef(false);\n var preventDefaultRef = useRef(false);\n var inputProps = {\n onMouseDown: function onMouseDown() {\n setTyping(true);\n triggerOpen(true);\n },\n onKeyDown: function onKeyDown(e) {\n var preventDefault = function preventDefault() {\n preventDefaultRef.current = true;\n };\n _onKeyDown(e, preventDefault);\n if (preventDefaultRef.current) return;\n switch (e.which) {\n case KeyCode.ENTER:\n {\n if (!open) {\n triggerOpen(true);\n } else if (onSubmit() !== false) {\n setTyping(true);\n }\n e.preventDefault();\n return;\n }\n case KeyCode.TAB:\n {\n if (typing && open && !e.shiftKey) {\n setTyping(false);\n e.preventDefault();\n } else if (!typing && open) {\n if (!forwardKeyDown(e) && e.shiftKey) {\n setTyping(true);\n e.preventDefault();\n }\n }\n return;\n }\n case KeyCode.ESC:\n {\n setTyping(true);\n onCancel();\n return;\n }\n }\n if (!open && ![KeyCode.SHIFT].includes(e.which)) {\n triggerOpen(true);\n } else if (!typing) {\n // Let popup panel handle keyboard\n forwardKeyDown(e);\n }\n },\n onFocus: function onFocus(e) {\n setTyping(true);\n setFocused(true);\n if (_onFocus) {\n _onFocus(e);\n }\n },\n onBlur: function onBlur(e) {\n if (preventBlurRef.current || !isClickOutside(document.activeElement)) {\n preventBlurRef.current = false;\n return;\n }\n if (blurToCancel) {\n setTimeout(function () {\n var _document = document,\n activeElement = _document.activeElement;\n while (activeElement && activeElement.shadowRoot) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n if (isClickOutside(activeElement)) {\n onCancel();\n }\n }, 0);\n } else if (open) {\n triggerOpen(false);\n if (valueChangedRef.current) {\n onSubmit();\n }\n }\n setFocused(false);\n _onBlur === null || _onBlur === void 0 || _onBlur(e);\n }\n };\n\n // check if value changed\n useEffect(function () {\n valueChangedRef.current = false;\n }, [open]);\n useEffect(function () {\n valueChangedRef.current = true;\n }, [value]);\n\n // Global click handler\n useEffect(function () {\n return addGlobalMouseDownEvent(function (e) {\n var target = getTargetFromEvent(e);\n var clickedOutside = isClickOutside(target);\n if (open) {\n if (!clickedOutside) {\n preventBlurRef.current = true;\n\n // Always set back in case `onBlur` prevented by user\n raf(function () {\n preventBlurRef.current = false;\n });\n } else if (!changeOnBlur && !blurToCancel && (!focused || clickedOutside)) {\n triggerOpen(false);\n }\n }\n });\n });\n return [inputProps, {\n focused: focused,\n typing: typing\n }];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nexport default function usePresets(presets, legacyRanges) {\n return React.useMemo(function () {\n if (presets) {\n return presets;\n }\n if (legacyRanges) {\n warning(false, '`ranges` is deprecated. Please use `presets` instead.');\n return Object.entries(legacyRanges).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n label = _ref2[0],\n value = _ref2[1];\n return {\n label: label,\n value: value\n };\n });\n }\n return [];\n }, [presets, legacyRanges]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nexport default function useTextValueMapping(_ref) {\n var valueTexts = _ref.valueTexts,\n onTextChange = _ref.onTextChange;\n var _React$useState = React.useState(''),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n text = _React$useState2[0],\n setInnerText = _React$useState2[1];\n var valueTextsRef = React.useRef([]);\n valueTextsRef.current = valueTexts;\n function triggerTextChange(value) {\n setInnerText(value);\n onTextChange(value);\n }\n function resetText() {\n setInnerText(valueTextsRef.current[0]);\n }\n useLayoutEffect(function () {\n if (valueTexts.every(function (valText) {\n return valText !== text;\n })) {\n resetText();\n }\n }, [valueTexts.join('||')]);\n return [text, triggerTextChange, resetText];\n}","import * as React from 'react';\nvar PanelContext = /*#__PURE__*/React.createContext({});\nexport default PanelContext;","import React from 'react';\nexport function useCellRender(_ref) {\n var cellRender = _ref.cellRender,\n monthCellRender = _ref.monthCellRender,\n dateRender = _ref.dateRender;\n var mergedCellRender = React.useMemo(function () {\n if (cellRender) return cellRender;\n if (!monthCellRender && !dateRender) return undefined;\n return function (current, info) {\n var date = current;\n if (dateRender && info.type === 'date') {\n return dateRender(date, info.today);\n }\n if (monthCellRender && info.type === 'month') {\n return monthCellRender(date, info.locale);\n }\n return info.originNode;\n };\n }, [cellRender, monthCellRender, dateRender]);\n return mergedCellRender;\n}","export function leftPad(str, length) {\n var fill = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n var current = String(str);\n while (current.length < length) {\n current = \"\".concat(fill).concat(str);\n }\n return current;\n}\nexport var tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args;\n};\nexport function toArray(val) {\n if (val === null || val === undefined) {\n return [];\n }\n return Array.isArray(val) ? val : [val];\n}\nexport function getValue(values, index) {\n return values ? values[index] : null;\n}\nexport function updateValues(values, value, index) {\n var newValues = [getValue(values, 0), getValue(values, 1)];\n newValues[index] = typeof value === 'function' ? value(newValues[index]) : value;\n if (!newValues[0] && !newValues[1]) {\n return null;\n }\n return newValues;\n}\nexport function executeValue(value) {\n return typeof value === 'function' ? value() : value;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isInRange } from \"../utils/dateUtil\";\nimport { getValue } from \"../utils/miscUtil\";\nexport default function useCellClassName(_ref) {\n var cellPrefixCls = _ref.cellPrefixCls,\n generateConfig = _ref.generateConfig,\n rangedValue = _ref.rangedValue,\n hoverRangedValue = _ref.hoverRangedValue,\n isInView = _ref.isInView,\n isSameCell = _ref.isSameCell,\n offsetCell = _ref.offsetCell,\n today = _ref.today,\n value = _ref.value;\n function getClassName(currentDate) {\n var _ref2;\n var prevDate = offsetCell(currentDate, -1);\n var nextDate = offsetCell(currentDate, 1);\n var rangeStart = getValue(rangedValue, 0);\n var rangeEnd = getValue(rangedValue, 1);\n var hoverStart = getValue(hoverRangedValue, 0);\n var hoverEnd = getValue(hoverRangedValue, 1);\n var isRangeHovered = isInRange(generateConfig, hoverStart, hoverEnd, currentDate);\n function isRangeStart(date) {\n return isSameCell(rangeStart, date);\n }\n function isRangeEnd(date) {\n return isSameCell(rangeEnd, date);\n }\n var isHoverStart = isSameCell(hoverStart, currentDate);\n var isHoverEnd = isSameCell(hoverEnd, currentDate);\n var isHoverEdgeStart = (isRangeHovered || isHoverEnd) && (!isInView(prevDate) || isRangeEnd(prevDate));\n var isHoverEdgeEnd = (isRangeHovered || isHoverStart) && (!isInView(nextDate) || isRangeStart(nextDate));\n return _ref2 = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-in-view\"), isInView(currentDate)), \"\".concat(cellPrefixCls, \"-in-range\"), isInRange(generateConfig, rangeStart, rangeEnd, currentDate)), \"\".concat(cellPrefixCls, \"-range-start\"), isRangeStart(currentDate)), \"\".concat(cellPrefixCls, \"-range-end\"), isRangeEnd(currentDate)), \"\".concat(cellPrefixCls, \"-range-start-single\"), isRangeStart(currentDate) && !rangeEnd), \"\".concat(cellPrefixCls, \"-range-end-single\"), isRangeEnd(currentDate) && !rangeStart), \"\".concat(cellPrefixCls, \"-range-start-near-hover\"), isRangeStart(currentDate) && (isSameCell(prevDate, hoverStart) || isInRange(generateConfig, hoverStart, hoverEnd, prevDate))), \"\".concat(cellPrefixCls, \"-range-end-near-hover\"), isRangeEnd(currentDate) && (isSameCell(nextDate, hoverEnd) || isInRange(generateConfig, hoverStart, hoverEnd, nextDate))), \"\".concat(cellPrefixCls, \"-range-hover\"), isRangeHovered), \"\".concat(cellPrefixCls, \"-range-hover-start\"), isHoverStart), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-end\"), isHoverEnd), \"\".concat(cellPrefixCls, \"-range-hover-edge-start\"), isHoverEdgeStart), \"\".concat(cellPrefixCls, \"-range-hover-edge-end\"), isHoverEdgeEnd), \"\".concat(cellPrefixCls, \"-range-hover-edge-start-near-range\"), isHoverEdgeStart && isSameCell(prevDate, rangeEnd)), \"\".concat(cellPrefixCls, \"-range-hover-edge-end-near-range\"), isHoverEdgeEnd && isSameCell(nextDate, rangeStart)), \"\".concat(cellPrefixCls, \"-today\"), isSameCell(today, currentDate)), \"\".concat(cellPrefixCls, \"-selected\"), isSameCell(value, currentDate));\n }\n return getClassName;\n}","import * as React from 'react';\nvar RangeContext = /*#__PURE__*/React.createContext({});\nexport default RangeContext;","export function setTime(generateConfig, date, hour, minute, second) {\n var nextTime = generateConfig.setHour(date, hour);\n nextTime = generateConfig.setMinute(nextTime, minute);\n nextTime = generateConfig.setSecond(nextTime, second);\n return nextTime;\n}\nexport function setDateTime(generateConfig, date, defaultDate) {\n if (!defaultDate) {\n return date;\n }\n var newDate = date;\n newDate = generateConfig.setHour(newDate, generateConfig.getHour(defaultDate));\n newDate = generateConfig.setMinute(newDate, generateConfig.getMinute(defaultDate));\n newDate = generateConfig.setSecond(newDate, generateConfig.getSecond(defaultDate));\n return newDate;\n}\nexport function getLowerBoundTime(hour, minute, second, hourStep, minuteStep, secondStep) {\n var lowerBoundHour = Math.floor(hour / hourStep) * hourStep;\n if (lowerBoundHour < hour) {\n return [lowerBoundHour, 60 - minuteStep, 60 - secondStep];\n }\n var lowerBoundMinute = Math.floor(minute / minuteStep) * minuteStep;\n if (lowerBoundMinute < minute) {\n return [lowerBoundHour, lowerBoundMinute, 60 - secondStep];\n }\n var lowerBoundSecond = Math.floor(second / secondStep) * secondStep;\n return [lowerBoundHour, lowerBoundMinute, lowerBoundSecond];\n}\nexport function getLastDay(generateConfig, date) {\n var year = generateConfig.getYear(date);\n var month = generateConfig.getMonth(date) + 1;\n var endDate = generateConfig.getEndDate(generateConfig.getFixedDate(\"\".concat(year, \"-\").concat(month, \"-01\")));\n var lastDay = generateConfig.getDate(endDate);\n var monthShow = month < 10 ? \"0\".concat(month) : \"\".concat(month);\n return \"\".concat(year, \"-\").concat(monthShow, \"-\").concat(lastDay);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport PanelContext from \"../PanelContext\";\nimport { getCellDateDisabled } from \"../utils/dateUtil\";\nimport { getLastDay } from \"../utils/timeUtil\";\nexport default function PanelBody(_ref) {\n var prefixCls = _ref.prefixCls,\n disabledDate = _ref.disabledDate,\n onSelect = _ref.onSelect,\n picker = _ref.picker,\n rowNum = _ref.rowNum,\n colNum = _ref.colNum,\n prefixColumn = _ref.prefixColumn,\n rowClassName = _ref.rowClassName,\n baseDate = _ref.baseDate,\n getCellClassName = _ref.getCellClassName,\n getCellText = _ref.getCellText,\n getCellNode = _ref.getCellNode,\n getCellDate = _ref.getCellDate,\n generateConfig = _ref.generateConfig,\n titleCell = _ref.titleCell,\n headerCells = _ref.headerCells;\n var _React$useContext = React.useContext(PanelContext),\n onDateMouseEnter = _React$useContext.onDateMouseEnter,\n onDateMouseLeave = _React$useContext.onDateMouseLeave,\n mode = _React$useContext.mode;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n\n // =============================== Body ===============================\n var rows = [];\n for (var i = 0; i < rowNum; i += 1) {\n var row = [];\n var rowStartDate = void 0;\n var _loop = function _loop() {\n var offset = i * colNum + j;\n var currentDate = getCellDate(baseDate, offset);\n var disabled = getCellDateDisabled({\n cellDate: currentDate,\n mode: mode,\n disabledDate: disabledDate,\n generateConfig: generateConfig\n });\n if (j === 0) {\n rowStartDate = currentDate;\n if (prefixColumn) {\n row.push(prefixColumn(rowStartDate));\n }\n }\n var title = titleCell && titleCell(currentDate);\n var inner = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(cellPrefixCls, \"-inner\")\n }, getCellText(currentDate));\n row.push( /*#__PURE__*/React.createElement(\"td\", {\n key: j,\n title: title,\n className: classNames(cellPrefixCls, _objectSpread(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(cellPrefixCls, \"-disabled\"), disabled), \"\".concat(cellPrefixCls, \"-start\"), getCellText(currentDate) === 1 || picker === 'year' && Number(title) % 10 === 0), \"\".concat(cellPrefixCls, \"-end\"), title === getLastDay(generateConfig, currentDate) || picker === 'year' && Number(title) % 10 === 9), getCellClassName(currentDate))),\n onClick: function onClick() {\n if (!disabled) {\n onSelect(currentDate);\n }\n },\n onMouseEnter: function onMouseEnter() {\n if (!disabled && onDateMouseEnter) {\n onDateMouseEnter(currentDate);\n }\n },\n onMouseLeave: function onMouseLeave() {\n if (!disabled && onDateMouseLeave) {\n onDateMouseLeave(currentDate);\n }\n }\n }, getCellNode ? getCellNode(currentDate, inner) : inner));\n };\n for (var j = 0; j < colNum; j += 1) {\n _loop();\n }\n rows.push( /*#__PURE__*/React.createElement(\"tr\", {\n key: i,\n className: rowClassName && rowClassName(rowStartDate)\n }, row));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-body\")\n }, /*#__PURE__*/React.createElement(\"table\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, headerCells && /*#__PURE__*/React.createElement(\"thead\", null, /*#__PURE__*/React.createElement(\"tr\", null, headerCells)), /*#__PURE__*/React.createElement(\"tbody\", null, rows)));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useCellClassName from \"../../hooks/useCellClassName\";\nimport RangeContext from \"../../RangeContext\";\nimport { formatValue, getWeekStartDate, isSameDate, isSameMonth, WEEK_DAY_COUNT } from \"../../utils/dateUtil\";\nimport PanelBody from \"../PanelBody\";\nfunction DateBody(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n prefixColumn = props.prefixColumn,\n locale = props.locale,\n rowCount = props.rowCount,\n viewDate = props.viewDate,\n value = props.value,\n cellRender = props.cellRender,\n isSameCell = props.isSameCell;\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n var baseDate = getWeekStartDate(locale.locale, generateConfig, viewDate);\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var weekFirstDay = generateConfig.locale.getWeekFirstDay(locale.locale);\n var today = generateConfig.getNow();\n\n // ============================== Header ==============================\n var headerCells = [];\n var weekDaysLocale = locale.shortWeekDays || (generateConfig.locale.getShortWeekDays ? generateConfig.locale.getShortWeekDays(locale.locale) : []);\n if (prefixColumn) {\n headerCells.push( /*#__PURE__*/React.createElement(\"th\", {\n key: \"empty\",\n \"aria-label\": \"empty cell\"\n }));\n }\n for (var i = 0; i < WEEK_DAY_COUNT; i += 1) {\n headerCells.push( /*#__PURE__*/React.createElement(\"th\", {\n key: i\n }, weekDaysLocale[(i + weekFirstDay) % WEEK_DAY_COUNT]));\n }\n\n // =============================== Body ===============================\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n today: today,\n value: value,\n generateConfig: generateConfig,\n rangedValue: prefixColumn ? null : rangedValue,\n hoverRangedValue: prefixColumn ? null : hoverRangedValue,\n isSameCell: isSameCell || function (current, target) {\n return isSameDate(generateConfig, current, target);\n },\n isInView: function isInView(date) {\n return isSameMonth(generateConfig, date, viewDate);\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addDate(date, offset);\n }\n });\n var getCellNode = cellRender ? function (date, wrapperNode) {\n return cellRender(date, {\n originNode: wrapperNode,\n today: today,\n type: 'date',\n locale: locale\n });\n } : undefined;\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: rowCount,\n colNum: WEEK_DAY_COUNT,\n baseDate: baseDate,\n getCellNode: getCellNode,\n getCellText: generateConfig.getDate,\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addDate,\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY-MM-DD',\n generateConfig: generateConfig\n });\n },\n headerCells: headerCells\n }));\n}\nexport default DateBody;","import * as React from 'react';\nimport PanelContext from \"../PanelContext\";\nvar HIDDEN_STYLE = {\n visibility: 'hidden'\n};\nfunction Header(_ref) {\n var prefixCls = _ref.prefixCls,\n _ref$prevIcon = _ref.prevIcon,\n prevIcon = _ref$prevIcon === void 0 ? \"\\u2039\" : _ref$prevIcon,\n _ref$nextIcon = _ref.nextIcon,\n nextIcon = _ref$nextIcon === void 0 ? \"\\u203A\" : _ref$nextIcon,\n _ref$superPrevIcon = _ref.superPrevIcon,\n superPrevIcon = _ref$superPrevIcon === void 0 ? \"\\xAB\" : _ref$superPrevIcon,\n _ref$superNextIcon = _ref.superNextIcon,\n superNextIcon = _ref$superNextIcon === void 0 ? \"\\xBB\" : _ref$superNextIcon,\n onSuperPrev = _ref.onSuperPrev,\n onSuperNext = _ref.onSuperNext,\n onPrev = _ref.onPrev,\n onNext = _ref.onNext,\n children = _ref.children;\n var _React$useContext = React.useContext(PanelContext),\n hideNextBtn = _React$useContext.hideNextBtn,\n hidePrevBtn = _React$useContext.hidePrevBtn;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls\n }, onSuperPrev && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onSuperPrev,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-super-prev-btn\"),\n style: hidePrevBtn ? HIDDEN_STYLE : {}\n }, superPrevIcon), onPrev && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onPrev,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-prev-btn\"),\n style: hidePrevBtn ? HIDDEN_STYLE : {}\n }, prevIcon), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-view\")\n }, children), onNext && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onNext,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-next-btn\"),\n style: hideNextBtn ? HIDDEN_STYLE : {}\n }, nextIcon), onSuperNext && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onSuperNext,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-super-next-btn\"),\n style: hideNextBtn ? HIDDEN_STYLE : {}\n }, superNextIcon));\n}\nexport default Header;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport PanelContext from \"../../PanelContext\";\nimport { formatValue } from \"../../utils/dateUtil\";\nfunction DateHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextMonth = props.onNextMonth,\n onPrevMonth = props.onPrevMonth,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick,\n onMonthClick = props.onMonthClick;\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n if (hideHeader) {\n return null;\n }\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);\n var month = generateConfig.getMonth(viewDate);\n\n // =================== Month & Year ===================\n var yearNode = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n key: \"year\",\n onClick: onYearClick,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-year-btn\")\n }, formatValue(viewDate, {\n locale: locale,\n format: locale.yearFormat,\n generateConfig: generateConfig\n }));\n var monthNode = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n key: \"month\",\n onClick: onMonthClick,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-month-btn\")\n }, locale.monthFormat ? formatValue(viewDate, {\n locale: locale,\n format: locale.monthFormat,\n generateConfig: generateConfig\n }) : monthsLocale[month]);\n var monthYearNodes = locale.monthBeforeYear ? [monthNode, yearNode] : [yearNode, monthNode];\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onPrev: onPrevMonth,\n onNext: onNextMonth,\n onSuperNext: onNextYear\n }), monthYearNodes);\n}\nexport default DateHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { WEEK_DAY_COUNT } from \"../../utils/dateUtil\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\nimport DateBody from \"./DateBody\";\nimport DateHeader from \"./DateHeader\";\nvar DATE_ROW_COUNT = 6;\nfunction DatePanel(props) {\n var prefixCls = props.prefixCls,\n _props$panelName = props.panelName,\n panelName = _props$panelName === void 0 ? 'date' : _props$panelName,\n keyboardConfig = props.keyboardConfig,\n active = props.active,\n operationRef = props.operationRef,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onViewDateChange = props.onViewDateChange,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-\").concat(panelName, \"-panel\");\n\n // ======================= Keyboard =======================\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, _objectSpread({\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addDate(value || viewDate, diff), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addDate(value || viewDate, diff * WEEK_DAY_COUNT), 'key');\n },\n onPageUpDown: function onPageUpDown(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff), 'key');\n }\n }, keyboardConfig));\n }\n };\n\n // ==================== View Operation ====================\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n var onMonthChange = function onMonthChange(diff) {\n var newDate = generateConfig.addMonth(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(panelPrefixCls, _defineProperty({}, \"\".concat(panelPrefixCls, \"-active\"), active))\n }, /*#__PURE__*/React.createElement(DateHeader, _extends({}, props, {\n prefixCls: prefixCls,\n value: value,\n viewDate: viewDate\n // View Operation\n ,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onPrevMonth: function onPrevMonth() {\n onMonthChange(-1);\n },\n onNextMonth: function onNextMonth() {\n onMonthChange(1);\n },\n onMonthClick: function onMonthClick() {\n onPanelChange('month', viewDate);\n },\n onYearClick: function onYearClick() {\n onPanelChange('year', viewDate);\n }\n })), /*#__PURE__*/React.createElement(DateBody, _extends({}, props, {\n onSelect: function onSelect(date) {\n return _onSelect(date, 'mouse');\n },\n prefixCls: prefixCls,\n value: value,\n viewDate: viewDate,\n rowCount: DATE_ROW_COUNT\n })));\n}\nexport default DatePanel;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { useRef, useLayoutEffect } from 'react';\nimport classNames from 'classnames';\nimport { scrollTo, waitElementReady } from \"../../utils/uiUtil\";\nimport PanelContext from \"../../PanelContext\";\nfunction TimeUnitColumn(props) {\n var prefixCls = props.prefixCls,\n units = props.units,\n onSelect = props.onSelect,\n value = props.value,\n active = props.active,\n hideDisabledOptions = props.hideDisabledOptions,\n info = props.info,\n type = props.type;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var _React$useContext = React.useContext(PanelContext),\n open = _React$useContext.open;\n var ulRef = useRef(null);\n var liRefs = useRef(new Map());\n var scrollRef = useRef();\n\n // `useLayoutEffect` here to avoid blink by duration is 0\n useLayoutEffect(function () {\n var li = liRefs.current.get(value);\n if (li && open !== false) {\n scrollTo(ulRef.current, li.offsetTop, 120);\n }\n }, [value]);\n useLayoutEffect(function () {\n if (open) {\n var li = liRefs.current.get(value);\n if (li) {\n scrollRef.current = waitElementReady(li, function () {\n scrollTo(ulRef.current, li.offsetTop, 0);\n });\n }\n }\n return function () {\n var _scrollRef$current;\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 || _scrollRef$current.call(scrollRef);\n };\n }, [open]);\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames(\"\".concat(prefixCls, \"-column\"), _defineProperty({}, \"\".concat(prefixCls, \"-column-active\"), active)),\n ref: ulRef,\n style: {\n position: 'relative'\n }\n }, units.map(function (unit) {\n if (hideDisabledOptions && unit.disabled) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n key: unit.value,\n ref: function ref(element) {\n liRefs.current.set(unit.value, element);\n },\n className: classNames(cellPrefixCls, _defineProperty(_defineProperty({}, \"\".concat(cellPrefixCls, \"-disabled\"), unit.disabled), \"\".concat(cellPrefixCls, \"-selected\"), value === unit.value)),\n onClick: function onClick() {\n if (unit.disabled) {\n return;\n }\n onSelect(unit.value);\n }\n }, info.cellRender ? info.cellRender(unit.value, {\n today: info.today,\n locale: info.locale,\n originNode: /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(cellPrefixCls, \"-inner\")\n }, unit.label),\n type: 'time',\n subType: type\n }) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(cellPrefixCls, \"-inner\")\n }, unit.label));\n }));\n}\nexport default TimeUnitColumn;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport * as React from 'react';\nimport useTimeSelection from \"../../hooks/useTimeSelection\";\nimport { leftPad } from \"../../utils/miscUtil\";\nimport TimeUnitColumn from \"./TimeUnitColumn\";\nfunction shouldUnitsUpdate(prevUnits, nextUnits) {\n if (prevUnits.length !== nextUnits.length) return true;\n // if any unit's disabled status is different, the units should be re-evaluted\n for (var i = 0; i < prevUnits.length; i += 1) {\n if (prevUnits[i].disabled !== nextUnits[i].disabled) return true;\n }\n return false;\n}\nfunction generateUnits(start, end, step, disabledUnits) {\n var units = [];\n var integerStep = step >= 1 ? step | 0 : 1;\n for (var i = start; i <= end; i += integerStep) {\n units.push({\n label: leftPad(i, 2),\n value: i,\n disabled: (disabledUnits || []).includes(i)\n });\n }\n return units;\n}\nfunction TimeBody(props) {\n var generateConfig = props.generateConfig,\n prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n activeColumnIndex = props.activeColumnIndex,\n value = props.value,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n use12Hours = props.use12Hours,\n _props$hourStep = props.hourStep,\n hourStep = _props$hourStep === void 0 ? 1 : _props$hourStep,\n _props$minuteStep = props.minuteStep,\n minuteStep = _props$minuteStep === void 0 ? 1 : _props$minuteStep,\n _props$secondStep = props.secondStep,\n secondStep = _props$secondStep === void 0 ? 1 : _props$secondStep,\n disabledHours = props.disabledHours,\n disabledMinutes = props.disabledMinutes,\n disabledSeconds = props.disabledSeconds,\n disabledTime = props.disabledTime,\n hideDisabledOptions = props.hideDisabledOptions,\n onSelect = props.onSelect,\n cellRender = props.cellRender,\n locale = props.locale;\n\n // Misc\n var columns = [];\n var contentPrefixCls = \"\".concat(prefixCls, \"-content\");\n var columnPrefixCls = \"\".concat(prefixCls, \"-time-panel\");\n var isPM;\n var originHour = value ? generateConfig.getHour(value) : -1;\n var hour = originHour;\n var minute = value ? generateConfig.getMinute(value) : -1;\n var second = value ? generateConfig.getSecond(value) : -1;\n\n // Disabled Time\n var now = generateConfig.getNow();\n var _React$useMemo = React.useMemo(function () {\n if (disabledTime) {\n var disabledConfig = disabledTime(now);\n return [disabledConfig.disabledHours, disabledConfig.disabledMinutes, disabledConfig.disabledSeconds];\n }\n return [disabledHours, disabledMinutes, disabledSeconds];\n }, [disabledHours, disabledMinutes, disabledSeconds, disabledTime, now]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 3),\n mergedDisabledHours = _React$useMemo2[0],\n mergedDisabledMinutes = _React$useMemo2[1],\n mergedDisabledSeconds = _React$useMemo2[2];\n\n // ========================= Unit =========================\n var rawHours = generateUnits(0, 23, hourStep, mergedDisabledHours && mergedDisabledHours());\n var memorizedRawHours = useMemo(function () {\n return rawHours;\n }, rawHours, shouldUnitsUpdate);\n\n // Should additional logic to handle 12 hours\n if (use12Hours) {\n isPM = hour >= 12; // -1 means should display AM\n hour %= 12;\n }\n var _React$useMemo3 = React.useMemo(function () {\n if (!use12Hours) {\n return [false, false];\n }\n var AMPMDisabled = [true, true];\n memorizedRawHours.forEach(function (_ref) {\n var disabled = _ref.disabled,\n hourValue = _ref.value;\n if (disabled) return;\n if (hourValue >= 12) {\n AMPMDisabled[1] = false;\n } else {\n AMPMDisabled[0] = false;\n }\n });\n return AMPMDisabled;\n }, [use12Hours, memorizedRawHours]),\n _React$useMemo4 = _slicedToArray(_React$useMemo3, 2),\n AMDisabled = _React$useMemo4[0],\n PMDisabled = _React$useMemo4[1];\n var hours = React.useMemo(function () {\n if (!use12Hours) return memorizedRawHours;\n return memorizedRawHours.filter(isPM ? function (hourMeta) {\n return hourMeta.value >= 12;\n } : function (hourMeta) {\n return hourMeta.value < 12;\n }).map(function (hourMeta) {\n var hourValue = hourMeta.value % 12;\n var hourLabel = hourValue === 0 ? '12' : leftPad(hourValue, 2);\n return _objectSpread(_objectSpread({}, hourMeta), {}, {\n label: hourLabel,\n value: hourValue\n });\n });\n }, [use12Hours, isPM, memorizedRawHours]);\n var minutes = generateUnits(0, 59, minuteStep, mergedDisabledMinutes && mergedDisabledMinutes(originHour));\n var seconds = generateUnits(0, 59, secondStep, mergedDisabledSeconds && mergedDisabledSeconds(originHour, minute));\n\n // Set Time\n var setTime = useTimeSelection({\n value: value,\n generateConfig: generateConfig,\n disabledMinutes: mergedDisabledMinutes,\n disabledSeconds: mergedDisabledSeconds,\n minutes: minutes,\n seconds: seconds,\n use12Hours: use12Hours\n });\n\n // ====================== Operations ======================\n operationRef.current = {\n onUpDown: function onUpDown(diff) {\n var column = columns[activeColumnIndex];\n if (column) {\n var valueIndex = column.units.findIndex(function (unit) {\n return unit.value === column.value;\n });\n var unitLen = column.units.length;\n for (var i = 1; i < unitLen; i += 1) {\n var nextUnit = column.units[(valueIndex + diff * i + unitLen) % unitLen];\n if (nextUnit.disabled !== true) {\n column.onSelect(nextUnit.value);\n break;\n }\n }\n }\n }\n };\n\n // ======================== Render ========================\n function addColumnNode(condition, node, columnValue, units, onColumnSelect) {\n if (condition !== false) {\n columns.push({\n node: /*#__PURE__*/React.cloneElement(node, {\n prefixCls: columnPrefixCls,\n value: columnValue,\n active: activeColumnIndex === columns.length,\n onSelect: onColumnSelect,\n units: units,\n hideDisabledOptions: hideDisabledOptions\n }),\n onSelect: onColumnSelect,\n value: columnValue,\n units: units\n });\n }\n }\n\n // Hour\n addColumnNode(showHour, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"hour\",\n type: \"hour\",\n info: {\n today: now,\n locale: locale,\n cellRender: cellRender\n }\n }), hour, hours, function (num) {\n onSelect(setTime(isPM, num, minute, second), 'mouse');\n });\n\n // Minute\n addColumnNode(showMinute, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"minute\",\n type: \"minute\",\n info: {\n today: now,\n locale: locale,\n cellRender: cellRender\n }\n }), minute, minutes, function (num) {\n onSelect(setTime(isPM, hour, num, second), 'mouse');\n });\n\n // Second\n addColumnNode(showSecond, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"second\",\n type: \"second\",\n info: {\n today: now,\n locale: locale,\n cellRender: cellRender\n }\n }), second, seconds, function (num) {\n onSelect(setTime(isPM, hour, minute, num), 'mouse');\n });\n\n // 12 Hours\n var PMIndex = -1;\n if (typeof isPM === 'boolean') {\n PMIndex = isPM ? 1 : 0;\n }\n addColumnNode(use12Hours === true, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"meridiem\",\n type: \"meridiem\",\n info: {\n today: now,\n locale: locale,\n cellRender: cellRender\n }\n }), PMIndex, [{\n label: 'AM',\n value: 0,\n disabled: AMDisabled\n }, {\n label: 'PM',\n value: 1,\n disabled: PMDisabled\n }], function (num) {\n onSelect(setTime(!!num, hour, minute, second), 'mouse');\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: contentPrefixCls\n }, columns.map(function (_ref2) {\n var node = _ref2.node;\n return node;\n }));\n}\nexport default TimeBody;","import { setTime as utilSetTime } from \"../utils/timeUtil\";\nexport default function useTimeSelection(_ref) {\n var value = _ref.value,\n generateConfig = _ref.generateConfig,\n disabledMinutes = _ref.disabledMinutes,\n disabledSeconds = _ref.disabledSeconds,\n minutes = _ref.minutes,\n seconds = _ref.seconds,\n use12Hours = _ref.use12Hours;\n var setTime = function setTime(isNewPM, newHour, newMinute, newSecond) {\n var now = generateConfig.getNow();\n var newDate = value || now;\n var newFormattedHour = !use12Hours || !isNewPM ? newHour : newHour + 12;\n var mergedHour = newHour < 0 ? generateConfig.getHour(now) : newFormattedHour;\n var mergedMinute = newMinute < 0 ? generateConfig.getMinute(now) : newMinute;\n var mergedSecond = newSecond < 0 ? generateConfig.getSecond(now) : newSecond;\n var newDisabledMinutes = disabledMinutes && disabledMinutes(mergedHour);\n if (newDisabledMinutes !== null && newDisabledMinutes !== void 0 && newDisabledMinutes.includes(mergedMinute)) {\n // find the first available minute in minutes\n var availableMinute = minutes.find(function (i) {\n return !newDisabledMinutes.includes(i.value);\n });\n if (availableMinute) {\n mergedMinute = availableMinute.value;\n } else {\n return null;\n }\n }\n var newDisabledSeconds = disabledSeconds && disabledSeconds(mergedHour, mergedMinute);\n if (newDisabledSeconds !== null && newDisabledSeconds !== void 0 && newDisabledSeconds.includes(mergedSecond)) {\n // find the first available second in seconds\n var availableSecond = seconds.find(function (i) {\n return !newDisabledSeconds.includes(i.value);\n });\n if (availableSecond) {\n mergedSecond = availableSecond.value;\n } else {\n return null;\n }\n }\n newDate = utilSetTime(generateConfig, newDate, mergedHour, mergedMinute, mergedSecond);\n return newDate;\n };\n return setTime;\n}","import * as React from 'react';\nimport Header from \"../Header\";\nimport PanelContext from \"../../PanelContext\";\nimport { formatValue } from \"../../utils/dateUtil\";\nfunction TimeHeader(props) {\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n if (hideHeader) {\n return null;\n }\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n value = props.value,\n format = props.format;\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n return /*#__PURE__*/React.createElement(Header, {\n prefixCls: headerPrefixCls\n }, value ? formatValue(value, {\n locale: locale,\n format: format,\n generateConfig: generateConfig\n }) : \"\\xA0\");\n}\nexport default TimeHeader;","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 classNames from 'classnames';\nimport * as React from 'react';\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\nimport TimeBody from \"./TimeBody\";\nimport TimeHeader from \"./TimeHeader\";\nvar countBoolean = function countBoolean(boolList) {\n return boolList.filter(function (bool) {\n return bool !== false;\n }).length;\n};\nfunction TimePanel(props) {\n var generateConfig = props.generateConfig,\n _props$format = props.format,\n format = _props$format === void 0 ? 'HH:mm:ss' : _props$format,\n prefixCls = props.prefixCls,\n active = props.active,\n operationRef = props.operationRef,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n _props$use12Hours = props.use12Hours,\n use12Hours = _props$use12Hours === void 0 ? false : _props$use12Hours,\n onSelect = props.onSelect,\n value = props.value;\n var panelPrefixCls = \"\".concat(prefixCls, \"-time-panel\");\n var bodyOperationRef = React.useRef();\n\n // ======================= Keyboard =======================\n var _React$useState = React.useState(-1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeColumnIndex = _React$useState2[0],\n setActiveColumnIndex = _React$useState2[1];\n var columnsCount = countBoolean([showHour, showMinute, showSecond, use12Hours]);\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n setActiveColumnIndex((activeColumnIndex + diff + columnsCount) % columnsCount);\n },\n onUpDown: function onUpDown(diff) {\n if (activeColumnIndex === -1) {\n setActiveColumnIndex(0);\n } else if (bodyOperationRef.current) {\n bodyOperationRef.current.onUpDown(diff);\n }\n },\n onEnter: function onEnter() {\n onSelect(value || generateConfig.getNow(), 'key');\n setActiveColumnIndex(-1);\n }\n });\n },\n onBlur: function onBlur() {\n setActiveColumnIndex(-1);\n }\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(panelPrefixCls, _defineProperty({}, \"\".concat(panelPrefixCls, \"-active\"), active))\n }, /*#__PURE__*/React.createElement(TimeHeader, _extends({}, props, {\n format: format,\n prefixCls: prefixCls\n })), /*#__PURE__*/React.createElement(TimeBody, _extends({}, props, {\n prefixCls: prefixCls,\n activeColumnIndex: activeColumnIndex,\n operationRef: bodyOperationRef\n })));\n}\nexport default TimePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { tuple } from \"../../utils/miscUtil\";\nimport { setDateTime as setTime } from \"../../utils/timeUtil\";\nimport DatePanel from \"../DatePanel\";\nimport TimePanel from \"../TimePanel\";\nvar ACTIVE_PANEL = tuple('date', 'time');\nvar findValidTime = function findValidTime(refValue, disabledRange, maxValidTime) {\n var rangeSet = new Set(disabledRange);\n if (rangeSet.has(refValue)) {\n for (var i = 0; i <= maxValidTime; i++) {\n if (!rangeSet.has(i) && i >= refValue) {\n // first not disabled time\n return i;\n }\n }\n }\n return refValue;\n};\nfunction DatetimePanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n generateConfig = props.generateConfig,\n value = props.value,\n defaultValue = props.defaultValue,\n disabledTime = props.disabledTime,\n showTime = props.showTime,\n onSelect = props.onSelect,\n cellRender = props.cellRender;\n var panelPrefixCls = \"\".concat(prefixCls, \"-datetime-panel\");\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activePanel = _React$useState2[0],\n setActivePanel = _React$useState2[1];\n var dateOperationRef = React.useRef({});\n var timeOperationRef = React.useRef({});\n var timeProps = _typeof(showTime) === 'object' ? _objectSpread({}, showTime) : {};\n\n // ======================= Keyboard =======================\n function getNextActive(offset) {\n var activeIndex = ACTIVE_PANEL.indexOf(activePanel) + offset;\n var nextActivePanel = ACTIVE_PANEL[activeIndex] || null;\n return nextActivePanel;\n }\n var onBlur = function onBlur(e) {\n if (timeOperationRef.current.onBlur) {\n timeOperationRef.current.onBlur(e);\n }\n setActivePanel(null);\n };\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n // Switch active panel\n if (event.which === KeyCode.TAB) {\n var nextActivePanel = getNextActive(event.shiftKey ? -1 : 1);\n setActivePanel(nextActivePanel);\n if (nextActivePanel) {\n event.preventDefault();\n }\n return true;\n }\n\n // Operate on current active panel\n if (activePanel) {\n var ref = activePanel === 'date' ? dateOperationRef : timeOperationRef;\n if (ref.current && ref.current.onKeyDown) {\n ref.current.onKeyDown(event);\n }\n return true;\n }\n\n // Switch first active panel if operate without panel\n if ([KeyCode.LEFT, KeyCode.RIGHT, KeyCode.UP, KeyCode.DOWN].includes(event.which)) {\n setActivePanel('date');\n return true;\n }\n return false;\n },\n onBlur: onBlur,\n onClose: onBlur\n };\n\n // ======================== Events ========================\n var onInternalSelect = function onInternalSelect(date, source) {\n var selectedDate = date;\n if (source === 'date') {\n var _disabledTimes$disabl, _disabledTimes$disabl2, _disabledTimes$disabl3;\n var _disabledTimes = (disabledTime === null || disabledTime === void 0 ? void 0 : disabledTime(value || timeProps.defaultValue)) || {};\n var validHour = findValidTime(generateConfig.getHour(selectedDate), ((_disabledTimes$disabl = _disabledTimes.disabledHours) === null || _disabledTimes$disabl === void 0 ? void 0 : _disabledTimes$disabl.call(_disabledTimes)) || [-1], 23);\n var validMinute = findValidTime(generateConfig.getMinute(selectedDate), ((_disabledTimes$disabl2 = _disabledTimes.disabledMinutes) === null || _disabledTimes$disabl2 === void 0 ? void 0 : _disabledTimes$disabl2.call(_disabledTimes, validHour)) || [-1], 59);\n var validSeconds = findValidTime(generateConfig.getSecond(selectedDate), ((_disabledTimes$disabl3 = _disabledTimes.disabledSeconds) === null || _disabledTimes$disabl3 === void 0 ? void 0 : _disabledTimes$disabl3.call(_disabledTimes, validHour, validMinute)) || [-1], 59);\n selectedDate = generateConfig.setHour(selectedDate, validHour);\n selectedDate = generateConfig.setMinute(selectedDate, validMinute);\n selectedDate = generateConfig.setSecond(selectedDate, validSeconds);\n } else if (source === 'time' && !value && defaultValue) {\n selectedDate = generateConfig.setYear(selectedDate, generateConfig.getYear(defaultValue));\n selectedDate = generateConfig.setMonth(selectedDate, generateConfig.getMonth(defaultValue));\n selectedDate = generateConfig.setDate(selectedDate, generateConfig.getDate(defaultValue));\n }\n if (onSelect) {\n onSelect(selectedDate, 'mouse');\n }\n };\n\n // ======================== Render ========================\n var disabledTimes = disabledTime ? disabledTime(value || null) : {};\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(panelPrefixCls, _defineProperty({}, \"\".concat(panelPrefixCls, \"-active\"), activePanel))\n }, /*#__PURE__*/React.createElement(DatePanel, _extends({}, props, {\n cellRender: cellRender,\n operationRef: dateOperationRef,\n active: activePanel === 'date',\n onSelect: function onSelect(date) {\n onInternalSelect(setTime(generateConfig, date, !value && _typeof(showTime) === 'object' ? showTime.defaultValue : null), 'date');\n }\n })), /*#__PURE__*/React.createElement(TimePanel, _extends({}, props, {\n cellRender: cellRender ? function (current, info) {\n return cellRender(current, _objectSpread(_objectSpread({}, info), {}, {\n type: 'time'\n }));\n } : undefined,\n format: undefined\n }, timeProps, disabledTimes, {\n disabledTime: null,\n defaultValue: undefined,\n operationRef: timeOperationRef,\n active: activePanel === 'time',\n onSelect: function onSelect(date) {\n onInternalSelect(date, 'time');\n }\n })));\n}\nexport default DatetimePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport { DECADE_DISTANCE_COUNT } from \"./constant\";\nimport PanelContext from \"../../PanelContext\";\nfunction DecadeHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n onPrevDecades = props.onPrevDecades,\n onNextDecades = props.onNextDecades;\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n if (hideHeader) {\n return null;\n }\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / DECADE_DISTANCE_COUNT) * DECADE_DISTANCE_COUNT;\n var endYear = startYear + DECADE_DISTANCE_COUNT - 1;\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevDecades,\n onSuperNext: onNextDecades\n }), startYear, \"-\", endYear);\n}\nexport default DecadeHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { DECADE_DISTANCE_COUNT, DECADE_UNIT_DIFF } from \"./constant\";\nimport PanelBody from \"../PanelBody\";\nexport var DECADE_COL_COUNT = 3;\nvar DECADE_ROW_COUNT = 4;\nfunction DecadeBody(props) {\n var DECADE_UNIT_DIFF_DES = DECADE_UNIT_DIFF - 1;\n var prefixCls = props.prefixCls,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig,\n cellRender = props.cellRender,\n locale = props.locale;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var yearNumber = generateConfig.getYear(viewDate);\n var decadeYearNumber = Math.floor(yearNumber / DECADE_UNIT_DIFF) * DECADE_UNIT_DIFF;\n var startDecadeYear = Math.floor(yearNumber / DECADE_DISTANCE_COUNT) * DECADE_DISTANCE_COUNT;\n var endDecadeYear = startDecadeYear + DECADE_DISTANCE_COUNT - 1;\n var baseDecadeYear = generateConfig.setYear(viewDate, startDecadeYear - Math.ceil((DECADE_COL_COUNT * DECADE_ROW_COUNT * DECADE_UNIT_DIFF - DECADE_DISTANCE_COUNT) / 2));\n var getCellClassName = function getCellClassName(date) {\n var startDecadeNumber = generateConfig.getYear(date);\n var endDecadeNumber = startDecadeNumber + DECADE_UNIT_DIFF_DES;\n return _defineProperty(_defineProperty({}, \"\".concat(cellPrefixCls, \"-in-view\"), startDecadeYear <= startDecadeNumber && endDecadeNumber <= endDecadeYear), \"\".concat(cellPrefixCls, \"-selected\"), startDecadeNumber === decadeYearNumber);\n };\n var getCellNode = cellRender ? function (date, wrapperNode) {\n return cellRender(date, {\n originNode: wrapperNode,\n today: generateConfig.getNow(),\n type: 'decade',\n locale: locale\n });\n } : undefined;\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: DECADE_ROW_COUNT,\n colNum: DECADE_COL_COUNT,\n baseDate: baseDecadeYear,\n getCellNode: getCellNode,\n getCellText: function getCellText(date) {\n var startDecadeNumber = generateConfig.getYear(date);\n return \"\".concat(startDecadeNumber, \"-\").concat(startDecadeNumber + DECADE_UNIT_DIFF_DES);\n },\n getCellClassName: getCellClassName,\n getCellDate: function getCellDate(date, offset) {\n return generateConfig.addYear(date, offset * DECADE_UNIT_DIFF);\n }\n }));\n}\nexport default DecadeBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport DecadeHeader from \"./DecadeHeader\";\nimport DecadeBody, { DECADE_COL_COUNT } from \"./DecadeBody\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\nimport { DECADE_DISTANCE_COUNT, DECADE_UNIT_DIFF } from \"./constant\";\nexport { DECADE_DISTANCE_COUNT, DECADE_UNIT_DIFF };\nfunction DecadePanel(props) {\n var prefixCls = props.prefixCls,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n operationRef = props.operationRef,\n onSelect = props.onSelect,\n onPanelChange = props.onPanelChange;\n var panelPrefixCls = \"\".concat(prefixCls, \"-decade-panel\");\n\n // ======================= Keyboard =======================\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT), 'key');\n },\n onUpDown: function onUpDown(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF * DECADE_COL_COUNT), 'key');\n },\n onEnter: function onEnter() {\n onPanelChange('year', viewDate);\n }\n });\n }\n };\n\n // ==================== View Operation ====================\n var onDecadesChange = function onDecadesChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n var onInternalSelect = function onInternalSelect(date) {\n onSelect(date, 'mouse');\n onPanelChange('year', date);\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(DecadeHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevDecades: function onPrevDecades() {\n onDecadesChange(-1);\n },\n onNextDecades: function onNextDecades() {\n onDecadesChange(1);\n }\n })), /*#__PURE__*/React.createElement(DecadeBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: onInternalSelect\n })));\n}\nexport default DecadePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport PanelContext from \"../../PanelContext\";\nimport { formatValue } from \"../../utils/dateUtil\";\nfunction MonthHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick;\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n if (hideHeader) {\n return null;\n }\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onSuperNext: onNextYear\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onYearClick,\n className: \"\".concat(prefixCls, \"-year-btn\")\n }, formatValue(viewDate, {\n locale: locale,\n format: locale.yearFormat,\n generateConfig: generateConfig\n })));\n}\nexport default MonthHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport useCellClassName from \"../../hooks/useCellClassName\";\nimport RangeContext from \"../../RangeContext\";\nimport { formatValue, isSameMonth } from \"../../utils/dateUtil\";\nimport PanelBody from \"../PanelBody\";\nexport var MONTH_COL_COUNT = 3;\nvar MONTH_ROW_COUNT = 4;\nfunction MonthBody(props) {\n var prefixCls = props.prefixCls,\n locale = props.locale,\n value = props.value,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig,\n cellRender = props.cellRender;\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameMonth(generateConfig, current, target);\n },\n isInView: function isInView() {\n return true;\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addMonth(date, offset);\n }\n });\n var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);\n var baseMonth = generateConfig.setMonth(viewDate, 0);\n var getCellNode = cellRender ? function (date, wrapperNode) {\n return cellRender(date, {\n originNode: wrapperNode,\n locale: locale,\n today: generateConfig.getNow(),\n type: 'month'\n });\n } : undefined;\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: MONTH_ROW_COUNT,\n colNum: MONTH_COL_COUNT,\n baseDate: baseMonth,\n getCellNode: getCellNode,\n getCellText: function getCellText(date) {\n return locale.monthFormat ? formatValue(date, {\n locale: locale,\n format: locale.monthFormat,\n generateConfig: generateConfig\n }) : monthsLocale[generateConfig.getMonth(date)];\n },\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addMonth,\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY-MM',\n generateConfig: generateConfig\n });\n }\n }));\n}\nexport default MonthBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport MonthHeader from \"./MonthHeader\";\nimport MonthBody, { MONTH_COL_COUNT } from \"./MonthBody\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\nfunction MonthPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-month-panel\");\n\n // ======================= Keyboard =======================\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff * MONTH_COL_COUNT), 'key');\n },\n onEnter: function onEnter() {\n onPanelChange('date', value || viewDate);\n }\n });\n }\n };\n\n // ==================== View Operation ====================\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(MonthHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onYearClick: function onYearClick() {\n onPanelChange('year', viewDate);\n }\n })), /*#__PURE__*/React.createElement(MonthBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n _onSelect(date, 'mouse');\n onPanelChange('date', date);\n }\n })));\n}\nexport default MonthPanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport PanelContext from \"../../PanelContext\";\nimport { formatValue } from \"../../utils/dateUtil\";\nfunction QuarterHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick;\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n if (hideHeader) {\n return null;\n }\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onSuperNext: onNextYear\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onYearClick,\n className: \"\".concat(prefixCls, \"-year-btn\")\n }, formatValue(viewDate, {\n locale: locale,\n format: locale.yearFormat,\n generateConfig: generateConfig\n })));\n}\nexport default QuarterHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { formatValue, isSameQuarter } from \"../../utils/dateUtil\";\nimport RangeContext from \"../../RangeContext\";\nimport useCellClassName from \"../../hooks/useCellClassName\";\nimport PanelBody from \"../PanelBody\";\nexport var QUARTER_COL_COUNT = 4;\nvar QUARTER_ROW_COUNT = 1;\nfunction QuarterBody(props) {\n var prefixCls = props.prefixCls,\n locale = props.locale,\n value = props.value,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig,\n cellRender = props.cellRender;\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameQuarter(generateConfig, current, target);\n },\n isInView: function isInView() {\n return true;\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addMonth(date, offset * 3);\n }\n });\n var baseQuarter = generateConfig.setDate(generateConfig.setMonth(viewDate, 0), 1);\n var getCellNode = cellRender ? function (date, wrapperNode) {\n return cellRender(date, {\n originNode: wrapperNode,\n locale: locale,\n today: generateConfig.getNow(),\n type: 'quarter'\n });\n } : undefined;\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: QUARTER_ROW_COUNT,\n colNum: QUARTER_COL_COUNT,\n baseDate: baseQuarter,\n getCellNode: getCellNode,\n getCellText: function getCellText(date) {\n return formatValue(date, {\n locale: locale,\n format: locale.quarterFormat || '[Q]Q',\n generateConfig: generateConfig\n });\n },\n getCellClassName: getCellClassName,\n getCellDate: function getCellDate(date, offset) {\n return generateConfig.addMonth(date, offset * 3);\n },\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY-[Q]Q',\n generateConfig: generateConfig\n });\n }\n }));\n}\nexport default QuarterBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport QuarterHeader from \"./QuarterHeader\";\nimport QuarterBody from \"./QuarterBody\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\nfunction QuarterPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-quarter-panel\");\n\n // ======================= Keyboard =======================\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff * 3), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n }\n });\n }\n };\n\n // ==================== View Operation ====================\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(QuarterHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onYearClick: function onYearClick() {\n onPanelChange('year', viewDate);\n }\n })), /*#__PURE__*/React.createElement(QuarterBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n _onSelect(date, 'mouse');\n }\n })));\n}\nexport default QuarterPanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport PanelContext from \"../../PanelContext\";\nimport RangeContext from \"../../RangeContext\";\nimport { getCellDateDisabled, isInRange, isSameWeek } from \"../../utils/dateUtil\";\nimport DatePanel from \"../DatePanel\";\nfunction WeekPanel(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n value = props.value,\n disabledDate = props.disabledDate,\n onSelect = props.onSelect;\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n var _React$useContext2 = React.useContext(PanelContext),\n onDateMouseEnter = _React$useContext2.onDateMouseEnter,\n onDateMouseLeave = _React$useContext2.onDateMouseLeave;\n var rangeStart = (hoverRangedValue === null || hoverRangedValue === void 0 ? void 0 : hoverRangedValue[0]) || (rangedValue === null || rangedValue === void 0 ? void 0 : rangedValue[0]);\n var rangeEnd = (hoverRangedValue === null || hoverRangedValue === void 0 ? void 0 : hoverRangedValue[1]) || (rangedValue === null || rangedValue === void 0 ? void 0 : rangedValue[1]);\n\n // Render additional column\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var prefixColumn = function prefixColumn(date) {\n // >>> Additional check for disabled\n var disabled = getCellDateDisabled({\n cellDate: date,\n mode: 'week',\n disabledDate: disabledDate,\n generateConfig: generateConfig\n });\n return /*#__PURE__*/React.createElement(\"td\", {\n key: \"week\",\n className: classNames(cellPrefixCls, \"\".concat(cellPrefixCls, \"-week\"))\n // Operation: Same as code in PanelBody\n ,\n onClick: function onClick() {\n if (!disabled) {\n onSelect(date, 'mouse');\n }\n },\n onMouseEnter: function onMouseEnter() {\n if (!disabled && onDateMouseEnter) {\n onDateMouseEnter(date);\n }\n },\n onMouseLeave: function onMouseLeave() {\n if (!disabled && onDateMouseLeave) {\n onDateMouseLeave(date);\n }\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(cellPrefixCls, \"-inner\")\n }, generateConfig.locale.getWeek(locale.locale, date)));\n };\n\n // Add row className\n var rowPrefixCls = \"\".concat(prefixCls, \"-week-panel-row\");\n var rowClassName = function rowClassName(date) {\n var isRangeStart = isSameWeek(generateConfig, locale.locale, rangeStart, date);\n var isRangeEnd = isSameWeek(generateConfig, locale.locale, rangeEnd, date);\n return classNames(rowPrefixCls, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(rowPrefixCls, \"-selected\"), !rangedValue && isSameWeek(generateConfig, locale.locale, value, date)), \"\".concat(rowPrefixCls, \"-range-start\"), isRangeStart), \"\".concat(rowPrefixCls, \"-range-end\"), isRangeEnd), \"\".concat(rowPrefixCls, \"-range-hover\"), !isRangeStart && !isRangeEnd && isInRange(generateConfig, rangeStart, rangeEnd, date)));\n };\n return /*#__PURE__*/React.createElement(DatePanel, _extends({}, props, {\n panelName: \"week\",\n prefixColumn: prefixColumn,\n rowClassName: rowClassName,\n keyboardConfig: {\n onLeftRight: null\n }\n // No need check cell level\n ,\n isSameCell: function isSameCell() {\n return false;\n }\n }));\n}\nexport default WeekPanel;","export var YEAR_DECADE_COUNT = 10;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport { YEAR_DECADE_COUNT } from \"./constant\";\nimport PanelContext from \"../../PanelContext\";\nfunction YearHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n onPrevDecade = props.onPrevDecade,\n onNextDecade = props.onNextDecade,\n onDecadeClick = props.onDecadeClick;\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n if (hideHeader) {\n return null;\n }\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;\n var endYear = startYear + YEAR_DECADE_COUNT - 1;\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevDecade,\n onSuperNext: onNextDecade\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onDecadeClick,\n className: \"\".concat(prefixCls, \"-decade-btn\")\n }, startYear, \"-\", endYear));\n}\nexport default YearHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { YEAR_DECADE_COUNT } from \"./constant\";\nimport useCellClassName from \"../../hooks/useCellClassName\";\nimport { formatValue, isSameYear } from \"../../utils/dateUtil\";\nimport RangeContext from \"../../RangeContext\";\nimport PanelBody from \"../PanelBody\";\nexport var YEAR_COL_COUNT = 3;\nvar YEAR_ROW_COUNT = 4;\nfunction YearBody(props) {\n var prefixCls = props.prefixCls,\n value = props.value,\n viewDate = props.viewDate,\n locale = props.locale,\n generateConfig = props.generateConfig,\n cellRender = props.cellRender;\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n var yearPrefixCls = \"\".concat(prefixCls, \"-cell\");\n\n // =============================== Year ===============================\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;\n var endYear = startYear + YEAR_DECADE_COUNT - 1;\n var baseYear = generateConfig.setYear(viewDate, startYear - Math.ceil((YEAR_COL_COUNT * YEAR_ROW_COUNT - YEAR_DECADE_COUNT) / 2));\n var today = generateConfig.getNow();\n var isInView = function isInView(date) {\n var currentYearNumber = generateConfig.getYear(date);\n return startYear <= currentYearNumber && currentYearNumber <= endYear;\n };\n var getCellClassName = useCellClassName({\n cellPrefixCls: yearPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameYear(generateConfig, current, target);\n },\n isInView: isInView,\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addYear(date, offset);\n }\n });\n var getCellNode = cellRender ? function (date, wrapperNode) {\n return cellRender(date, {\n originNode: wrapperNode,\n today: today,\n type: 'year',\n locale: locale\n });\n } : undefined;\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: YEAR_ROW_COUNT,\n colNum: YEAR_COL_COUNT,\n baseDate: baseYear,\n getCellNode: getCellNode,\n getCellText: generateConfig.getYear,\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addYear,\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY',\n generateConfig: generateConfig\n });\n }\n }));\n}\nexport default YearBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport YearHeader from \"./YearHeader\";\nimport YearBody, { YEAR_COL_COUNT } from \"./YearBody\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\nimport { YEAR_DECADE_COUNT } from \"./constant\";\nexport { YEAR_DECADE_COUNT };\nfunction YearPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n sourceMode = props.sourceMode,\n _onSelect = props.onSelect,\n onPanelChange = props.onPanelChange;\n var panelPrefixCls = \"\".concat(prefixCls, \"-year-panel\");\n\n // ======================= Keyboard =======================\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff * YEAR_DECADE_COUNT), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff * YEAR_COL_COUNT), 'key');\n },\n onEnter: function onEnter() {\n onPanelChange(sourceMode === 'date' ? 'date' : 'month', value || viewDate);\n }\n });\n }\n };\n\n // ==================== View Operation ====================\n var onDecadeChange = function onDecadeChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff * 10);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(YearHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevDecade: function onPrevDecade() {\n onDecadeChange(-1);\n },\n onNextDecade: function onNextDecade() {\n onDecadeChange(1);\n },\n onDecadeClick: function onDecadeClick() {\n onPanelChange('decade', viewDate);\n }\n })), /*#__PURE__*/React.createElement(YearBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n onPanelChange(sourceMode === 'date' ? 'date' : 'month', date);\n _onSelect(date, 'mouse');\n }\n })));\n}\nexport default YearPanel;","import * as React from 'react';\nexport default function getExtraFooter(prefixCls, mode, renderExtraFooter) {\n if (!renderExtraFooter) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer-extra\")\n }, renderExtraFooter(mode));\n}","import * as React from 'react';\nexport default function getRanges(_ref) {\n var prefixCls = _ref.prefixCls,\n _ref$components = _ref.components,\n components = _ref$components === void 0 ? {} : _ref$components,\n needConfirmButton = _ref.needConfirmButton,\n onNow = _ref.onNow,\n onOk = _ref.onOk,\n okDisabled = _ref.okDisabled,\n showNow = _ref.showNow,\n locale = _ref.locale;\n var presetNode;\n var okNode;\n if (needConfirmButton) {\n var Button = components.button || 'button';\n if (onNow && showNow !== false) {\n presetNode = /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-now\")\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"\".concat(prefixCls, \"-now-btn\"),\n onClick: onNow\n }, locale.now));\n }\n okNode = needConfirmButton && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-ok\")\n }, /*#__PURE__*/React.createElement(Button, {\n disabled: okDisabled,\n onClick: onOk\n }, locale.ok));\n }\n if (!presetNode && !okNode) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"\".concat(prefixCls, \"-ranges\")\n }, presetNode, okNode);\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 _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/**\n * Logic:\n * When `mode` === `picker`,\n * click will trigger `onSelect` (if value changed trigger `onChange` also).\n * Panel change will not trigger `onSelect` but trigger `onPanelChange`\n */\n\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { useCellRender } from \"./hooks/useCellRender\";\nimport PanelContext from \"./PanelContext\";\nimport DatePanel from \"./panels/DatePanel\";\nimport DatetimePanel from \"./panels/DatetimePanel\";\nimport DecadePanel from \"./panels/DecadePanel\";\nimport MonthPanel from \"./panels/MonthPanel\";\nimport { MONTH_COL_COUNT } from \"./panels/MonthPanel/MonthBody\";\nimport QuarterPanel from \"./panels/QuarterPanel\";\nimport TimePanel from \"./panels/TimePanel\";\nimport WeekPanel from \"./panels/WeekPanel\";\nimport YearPanel from \"./panels/YearPanel\";\nimport RangeContext from \"./RangeContext\";\nimport { isEqual, WEEK_DAY_COUNT } from \"./utils/dateUtil\";\nimport getExtraFooter from \"./utils/getExtraFooter\";\nimport getRanges from \"./utils/getRanges\";\nimport { getLowerBoundTime, setDateTime, setTime } from \"./utils/timeUtil\";\nimport { PickerModeMap } from \"./utils/uiUtil\";\n\n// TMP type to fit for ts 3.9.2\n\n// Calendar picker type\nvar CALENDAR_PANEL_MODE = ['date', 'month'];\nfunction PickerPanel(props) {\n var _ref = props,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-picker' : _ref$prefixCls,\n className = _ref.className,\n style = _ref.style,\n locale = _ref.locale,\n generateConfig = _ref.generateConfig,\n value = _ref.value,\n defaultValue = _ref.defaultValue,\n pickerValue = _ref.pickerValue,\n defaultPickerValue = _ref.defaultPickerValue,\n disabledDate = _ref.disabledDate,\n mode = _ref.mode,\n _ref$picker = _ref.picker,\n picker = _ref$picker === void 0 ? 'date' : _ref$picker,\n _ref$tabIndex = _ref.tabIndex,\n tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,\n showNow = _ref.showNow,\n showTime = _ref.showTime,\n showToday = _ref.showToday,\n renderExtraFooter = _ref.renderExtraFooter,\n hideHeader = _ref.hideHeader,\n onSelect = _ref.onSelect,\n onChange = _ref.onChange,\n onPanelChange = _ref.onPanelChange,\n onMouseDown = _ref.onMouseDown,\n onPickerValueChange = _ref.onPickerValueChange,\n _onOk = _ref.onOk,\n components = _ref.components,\n direction = _ref.direction,\n _ref$hourStep = _ref.hourStep,\n hourStep = _ref$hourStep === void 0 ? 1 : _ref$hourStep,\n _ref$minuteStep = _ref.minuteStep,\n minuteStep = _ref$minuteStep === void 0 ? 1 : _ref$minuteStep,\n _ref$secondStep = _ref.secondStep,\n secondStep = _ref$secondStep === void 0 ? 1 : _ref$secondStep,\n dateRender = _ref.dateRender,\n monthCellRender = _ref.monthCellRender,\n cellRender = _ref.cellRender;\n var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';\n var isHourStepValid = 24 % hourStep === 0;\n var isMinuteStepValid = 60 % minuteStep === 0;\n var isSecondStepValid = 60 % secondStep === 0;\n\n // ============================ Warning ============================\n if (process.env.NODE_ENV !== 'production') {\n warning(!value || generateConfig.isValidate(value), 'Invalidate date pass to `value`.');\n warning(!value || generateConfig.isValidate(value), 'Invalidate date pass to `defaultValue`.');\n warning(isHourStepValid, \"`hourStep` \".concat(hourStep, \" is invalid. It should be a factor of 24.\"));\n warning(isMinuteStepValid, \"`minuteStep` \".concat(minuteStep, \" is invalid. It should be a factor of 60.\"));\n warning(isSecondStepValid, \"`secondStep` \".concat(secondStep, \" is invalid. It should be a factor of 60.\"));\n warning(!defaultPickerValue, \"'defaultPickerValue' is deprecated. Please use 'defaultValue' instead.\");\n warning(!dateRender, \"'dateRender' is deprecated. Please use 'cellRender' instead.\");\n warning(!monthCellRender, \"'monthCellRender' is deprecated. Please use 'cellRender' instead.\");\n }\n\n // ============================ State =============================\n\n var panelContext = React.useContext(PanelContext);\n var operationRef = panelContext.operationRef,\n onContextSelect = panelContext.onSelect,\n hideRanges = panelContext.hideRanges,\n defaultOpenValue = panelContext.defaultOpenValue;\n var _React$useContext = React.useContext(RangeContext),\n inRange = _React$useContext.inRange,\n panelPosition = _React$useContext.panelPosition,\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n var panelRef = React.useRef({});\n\n // Handle init logic\n var initRef = React.useRef(true);\n\n // Value\n var _useMergedState = useMergedState(null, {\n value: value,\n defaultValue: defaultValue,\n postState: function postState(val) {\n if (!val && defaultOpenValue && picker === 'time') {\n return defaultOpenValue;\n }\n return val;\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setInnerValue = _useMergedState2[1];\n\n // View date control\n var _useMergedState3 = useMergedState(null, {\n value: pickerValue,\n defaultValue: defaultPickerValue || mergedValue,\n postState: function postState(date) {\n var now = generateConfig.getNow();\n if (!date) {\n return now;\n }\n // When value is null and set showTime\n if (!mergedValue && showTime) {\n var defaultDateObject = _typeof(showTime) === 'object' ? showTime.defaultValue : defaultValue;\n return setDateTime(generateConfig, Array.isArray(date) ? date[0] : date, defaultDateObject || now);\n }\n return Array.isArray(date) ? date[0] : date;\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n viewDate = _useMergedState4[0],\n setInnerViewDate = _useMergedState4[1];\n var setViewDate = function setViewDate(date) {\n setInnerViewDate(date);\n if (onPickerValueChange) {\n onPickerValueChange(date);\n }\n };\n\n // Panel control\n var getInternalNextMode = function getInternalNextMode(nextMode) {\n var getNextMode = PickerModeMap[picker];\n if (getNextMode) {\n return getNextMode(nextMode);\n }\n return nextMode;\n };\n\n // Save panel is changed from which panel\n var _useMergedState5 = useMergedState(function () {\n if (picker === 'time') {\n return 'time';\n }\n return getInternalNextMode('date');\n }, {\n value: mode\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n mergedMode = _useMergedState6[0],\n setInnerMode = _useMergedState6[1];\n React.useEffect(function () {\n setInnerMode(picker);\n }, [picker]);\n var _React$useState = React.useState(function () {\n return mergedMode;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n sourceMode = _React$useState2[0],\n setSourceMode = _React$useState2[1];\n var onInternalPanelChange = function onInternalPanelChange(newMode, viewValue) {\n var nextMode = getInternalNextMode(newMode || mergedMode);\n setSourceMode(mergedMode);\n setInnerMode(nextMode);\n if (onPanelChange && (mergedMode !== nextMode || isEqual(generateConfig, viewDate, viewDate))) {\n onPanelChange(viewValue, nextMode);\n }\n };\n var triggerSelect = function triggerSelect(date, type) {\n var forceTriggerSelect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (mergedMode === picker || forceTriggerSelect) {\n setInnerValue(date);\n if (onSelect) {\n onSelect(date);\n }\n if (onContextSelect) {\n onContextSelect(date, type);\n }\n if (onChange && !isEqual(generateConfig, date, mergedValue) && !(disabledDate !== null && disabledDate !== void 0 && disabledDate(date))) {\n onChange(date);\n }\n }\n };\n var isSelectable = function isSelectable(key) {\n if (CALENDAR_PANEL_MODE.includes(mergedMode)) {\n var _date;\n var operationFnc;\n var isDateMode = mergedMode === 'date';\n if (key === KeyCode.PAGE_UP || key === KeyCode.PAGE_DOWN) {\n operationFnc = isDateMode ? generateConfig.addMonth : generateConfig.addYear;\n } else {\n operationFnc = isDateMode ? generateConfig.addDate : generateConfig.addMonth;\n }\n switch (key) {\n case KeyCode.LEFT:\n case KeyCode.PAGE_UP:\n _date = operationFnc(viewDate, -1);\n break;\n case KeyCode.RIGHT:\n case KeyCode.PAGE_DOWN:\n _date = operationFnc(viewDate, 1);\n break;\n case KeyCode.UP:\n case KeyCode.DOWN:\n _date = operationFnc(viewDate, Number(\"\".concat(key === KeyCode.UP ? '-' : '').concat(isDateMode ? WEEK_DAY_COUNT : MONTH_COL_COUNT)));\n break;\n }\n if (_date) {\n return !(disabledDate !== null && disabledDate !== void 0 && disabledDate(_date));\n }\n }\n return true;\n };\n\n // ========================= Interactive ==========================\n var onInternalKeyDown = function onInternalKeyDown(e) {\n if (panelRef.current && panelRef.current.onKeyDown) {\n var selectable = true;\n var which = e.which;\n if ([KeyCode.LEFT, KeyCode.RIGHT, KeyCode.UP, KeyCode.DOWN, KeyCode.PAGE_UP, KeyCode.PAGE_DOWN, KeyCode.ENTER].includes(which)) {\n e.preventDefault();\n if (which !== KeyCode.ENTER && tabIndex === 0) {\n selectable = isSelectable(which);\n }\n }\n\n // Cannot use keyboard to select disabled date\n if (selectable) {\n return panelRef.current.onKeyDown(e);\n }\n }\n\n /* istanbul ignore next */\n /* eslint-disable no-lone-blocks */\n {\n warning(false, 'Panel not correct handle keyDown event. Please help to fire issue about this.');\n return false;\n }\n /* eslint-enable no-lone-blocks */\n };\n var onInternalBlur = function onInternalBlur(e) {\n if (panelRef.current && panelRef.current.onBlur) {\n panelRef.current.onBlur(e);\n }\n };\n if (operationRef && panelPosition !== 'right') {\n operationRef.current = {\n onKeyDown: onInternalKeyDown,\n onClose: function onClose() {\n if (panelRef.current && panelRef.current.onClose) {\n panelRef.current.onClose();\n }\n }\n };\n }\n\n // ============================ Effect ============================\n React.useEffect(function () {\n if (value && !initRef.current) {\n setInnerViewDate(value);\n }\n }, [value]);\n React.useEffect(function () {\n initRef.current = false;\n }, []);\n\n // ============================ Panels ============================\n var panelNode;\n var mergedCellRender = useCellRender({\n cellRender: cellRender,\n monthCellRender: monthCellRender,\n dateRender: dateRender\n });\n var pickerProps = _objectSpread(_objectSpread({}, props), {}, {\n cellRender: mergedCellRender,\n operationRef: panelRef,\n prefixCls: prefixCls,\n viewDate: viewDate,\n value: mergedValue,\n onViewDateChange: setViewDate,\n sourceMode: sourceMode,\n onPanelChange: onInternalPanelChange,\n disabledDate: disabledDate\n });\n delete pickerProps.onChange;\n delete pickerProps.onSelect;\n switch (mergedMode) {\n case 'decade':\n panelNode = /*#__PURE__*/React.createElement(DecadePanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n case 'year':\n panelNode = /*#__PURE__*/React.createElement(YearPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n case 'month':\n panelNode = /*#__PURE__*/React.createElement(MonthPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n case 'quarter':\n panelNode = /*#__PURE__*/React.createElement(QuarterPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n case 'week':\n panelNode = /*#__PURE__*/React.createElement(WeekPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n case 'time':\n delete pickerProps.showTime;\n panelNode = /*#__PURE__*/React.createElement(TimePanel, _extends({}, pickerProps, _typeof(showTime) === 'object' ? showTime : null, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n default:\n if (showTime) {\n panelNode = /*#__PURE__*/React.createElement(DatetimePanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n } else {\n panelNode = /*#__PURE__*/React.createElement(DatePanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n }\n }\n\n // ============================ Footer ============================\n var extraFooter;\n var rangesNode;\n var onNow = function onNow() {\n var now = generateConfig.getNow();\n var lowerBoundTime = getLowerBoundTime(generateConfig.getHour(now), generateConfig.getMinute(now), generateConfig.getSecond(now), isHourStepValid ? hourStep : 1, isMinuteStepValid ? minuteStep : 1, isSecondStepValid ? secondStep : 1);\n var adjustedNow = setTime(generateConfig, now, lowerBoundTime[0],\n // hour\n lowerBoundTime[1],\n // minute\n lowerBoundTime[2] // second\n );\n triggerSelect(adjustedNow, 'submit');\n };\n if (!hideRanges) {\n extraFooter = getExtraFooter(prefixCls, mergedMode, renderExtraFooter);\n\n // This content is not displayed when the header switches year and month\n if (showTime && mergedMode !== 'date') {\n rangesNode = null;\n } else {\n rangesNode = getRanges({\n prefixCls: prefixCls,\n components: components,\n needConfirmButton: needConfirmButton,\n okDisabled: !mergedValue || disabledDate && disabledDate(mergedValue),\n locale: locale,\n showNow: showNow,\n onNow: needConfirmButton && onNow,\n onOk: function onOk() {\n if (mergedValue) {\n triggerSelect(mergedValue, 'submit', true);\n if (_onOk) {\n _onOk(mergedValue);\n }\n }\n }\n });\n }\n }\n var todayNode;\n if (showToday && mergedMode === 'date' && picker === 'date' && !showTime) {\n var now = generateConfig.getNow();\n var todayCls = \"\".concat(prefixCls, \"-today-btn\");\n var disabled = disabledDate && disabledDate(now);\n todayNode = /*#__PURE__*/React.createElement(\"a\", {\n className: classNames(todayCls, disabled && \"\".concat(todayCls, \"-disabled\")),\n \"aria-disabled\": disabled,\n onClick: function onClick() {\n if (!disabled) {\n triggerSelect(now, 'mouse', true);\n }\n }\n }, locale.today);\n }\n return /*#__PURE__*/React.createElement(PanelContext.Provider, {\n value: _objectSpread(_objectSpread({}, panelContext), {}, {\n mode: mergedMode,\n hideHeader: 'hideHeader' in props ? hideHeader : panelContext.hideHeader,\n hidePrevBtn: inRange && panelPosition === 'right',\n hideNextBtn: inRange && panelPosition === 'left'\n })\n }, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: tabIndex,\n className: classNames(\"\".concat(prefixCls, \"-panel\"), className, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-panel-has-range\"), rangedValue && rangedValue[0] && rangedValue[1]), \"\".concat(prefixCls, \"-panel-has-range-hover\"), hoverRangedValue && hoverRangedValue[0] && hoverRangedValue[1]), \"\".concat(prefixCls, \"-panel-rtl\"), direction === 'rtl')),\n style: style,\n onKeyDown: onInternalKeyDown,\n onBlur: onInternalBlur,\n onMouseDown: onMouseDown\n }, panelNode, extraFooter || rangesNode || todayNode ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, extraFooter, rangesNode, todayNode) : null));\n}\nexport default PickerPanel;\n/* eslint-enable */","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}","/* eslint-disable no-param-reassign */\nimport { removeCSS, updateCSS } from \"./Dom/dynamicCSS\";\nvar cached;\nfunction measureScrollbarSize(ele) {\n var randomId = \"rc-scrollbar-measure-\".concat(Math.random().toString(36).substring(7));\n var measureEle = document.createElement('div');\n measureEle.id = randomId;\n\n // Create Style\n var measureStyle = measureEle.style;\n measureStyle.position = 'absolute';\n measureStyle.left = '0';\n measureStyle.top = '0';\n measureStyle.width = '100px';\n measureStyle.height = '100px';\n measureStyle.overflow = 'scroll';\n\n // Clone Style if needed\n var fallbackWidth;\n var fallbackHeight;\n if (ele) {\n var targetStyle = getComputedStyle(ele);\n measureStyle.scrollbarColor = targetStyle.scrollbarColor;\n measureStyle.scrollbarWidth = targetStyle.scrollbarWidth;\n\n // Set Webkit style\n var webkitScrollbarStyle = getComputedStyle(ele, '::-webkit-scrollbar');\n var width = parseInt(webkitScrollbarStyle.width, 10);\n var height = parseInt(webkitScrollbarStyle.height, 10);\n\n // Try wrap to handle CSP case\n try {\n var widthStyle = width ? \"width: \".concat(webkitScrollbarStyle.width, \";\") : '';\n var heightStyle = height ? \"height: \".concat(webkitScrollbarStyle.height, \";\") : '';\n updateCSS(\"\\n#\".concat(randomId, \"::-webkit-scrollbar {\\n\").concat(widthStyle, \"\\n\").concat(heightStyle, \"\\n}\"), randomId);\n } catch (e) {\n // Can't wrap, just log error\n console.error(e);\n\n // Get from style directly\n fallbackWidth = width;\n fallbackHeight = height;\n }\n }\n document.body.appendChild(measureEle);\n\n // Measure. Get fallback style if provided\n var scrollWidth = ele && fallbackWidth && !isNaN(fallbackWidth) ? fallbackWidth : measureEle.offsetWidth - measureEle.clientWidth;\n var scrollHeight = ele && fallbackHeight && !isNaN(fallbackHeight) ? fallbackHeight : measureEle.offsetHeight - measureEle.clientHeight;\n\n // Clean up\n document.body.removeChild(measureEle);\n removeCSS(randomId);\n return {\n width: scrollWidth,\n height: scrollHeight\n };\n}\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n cached = measureScrollbarSize();\n }\n return cached.width;\n}\nexport function getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n return measureScrollbarSize(target);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { updateCSS, removeCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport { isBodyOverflowing } from \"./util\";\nvar UNIQUE_ID = \"rc-util-locker-\".concat(Date.now());\nvar uuid = 0;\nexport default function useScrollLocker(lock) {\n var mergedLock = !!lock;\n var _React$useState = React.useState(function () {\n uuid += 1;\n return \"\".concat(UNIQUE_ID, \"_\").concat(uuid);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n id = _React$useState2[0];\n useLayoutEffect(function () {\n if (mergedLock) {\n var scrollbarSize = getTargetScrollBarSize(document.body).width;\n var isOverflow = isBodyOverflowing();\n updateCSS(\"\\nhtml body {\\n overflow-y: hidden;\\n \".concat(isOverflow ? \"width: calc(100% - \".concat(scrollbarSize, \"px);\") : '', \"\\n}\"), id);\n } else {\n removeCSS(id);\n }\n return function () {\n removeCSS(id);\n };\n }, [mergedLock, id]);\n}","/**\n * Test usage export. Do not use in your production\n */\nexport function isBodyOverflowing() {\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;\n}","export var inline = false;\nexport function inlineMock(nextInline) {\n if (typeof nextInline === 'boolean') {\n inline = nextInline;\n }\n return inline;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport warning from \"rc-util/es/warning\";\nimport { supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport OrderContext from \"./Context\";\nimport useDom from \"./useDom\";\nimport useScrollLocker from \"./useScrollLocker\";\nimport { inlineMock } from \"./mock\";\nvar getPortalContainer = function getPortalContainer(getContainer) {\n if (getContainer === false) {\n return false;\n }\n if (!canUseDom() || !getContainer) {\n return null;\n }\n if (typeof getContainer === 'string') {\n return document.querySelector(getContainer);\n }\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n return getContainer;\n};\nvar Portal = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var open = props.open,\n autoLock = props.autoLock,\n getContainer = props.getContainer,\n debug = props.debug,\n _props$autoDestroy = props.autoDestroy,\n autoDestroy = _props$autoDestroy === void 0 ? true : _props$autoDestroy,\n children = props.children;\n var _React$useState = React.useState(open),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n shouldRender = _React$useState2[0],\n setShouldRender = _React$useState2[1];\n var mergedRender = shouldRender || open;\n\n // ========================= Warning =========================\n if (process.env.NODE_ENV !== 'production') {\n warning(canUseDom() || !open, \"Portal only work in client side. Please call 'useEffect' to show Portal instead default render in SSR.\");\n }\n\n // ====================== Should Render ======================\n React.useEffect(function () {\n if (autoDestroy || open) {\n setShouldRender(open);\n }\n }, [open, autoDestroy]);\n\n // ======================== Container ========================\n var _React$useState3 = React.useState(function () {\n return getPortalContainer(getContainer);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n innerContainer = _React$useState4[0],\n setInnerContainer = _React$useState4[1];\n React.useEffect(function () {\n var customizeContainer = getPortalContainer(getContainer);\n\n // Tell component that we check this in effect which is safe to be `null`\n setInnerContainer(customizeContainer !== null && customizeContainer !== void 0 ? customizeContainer : null);\n });\n var _useDom = useDom(mergedRender && !innerContainer, debug),\n _useDom2 = _slicedToArray(_useDom, 2),\n defaultContainer = _useDom2[0],\n queueCreate = _useDom2[1];\n var mergedContainer = innerContainer !== null && innerContainer !== void 0 ? innerContainer : defaultContainer;\n\n // ========================= Locker ==========================\n useScrollLocker(autoLock && open && canUseDom() && (mergedContainer === defaultContainer || mergedContainer === document.body));\n\n // =========================== Ref ===========================\n var childRef = null;\n if (children && supportRef(children) && ref) {\n var _ref = children;\n childRef = _ref.ref;\n }\n var mergedRef = useComposeRef(childRef, ref);\n\n // ========================= Render ==========================\n // Do not render when nothing need render\n // When innerContainer is `undefined`, it may not ready since user use ref in the same render\n if (!mergedRender || !canUseDom() || innerContainer === undefined) {\n return null;\n }\n\n // Render inline\n var renderInline = mergedContainer === false || inlineMock();\n var reffedChildren = children;\n if (ref) {\n reffedChildren = /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n });\n }\n return /*#__PURE__*/React.createElement(OrderContext.Provider, {\n value: queueCreate\n }, renderInline ? reffedChildren : /*#__PURE__*/createPortal(reffedChildren, mergedContainer));\n});\nif (process.env.NODE_ENV !== 'production') {\n Portal.displayName = 'Portal';\n}\nexport default Portal;","import Portal from \"./Portal\";\nimport { inlineMock } from \"./mock\";\nexport { inlineMock };\nexport default Portal;","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","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 _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n/**\n * Fallback to findDOMNode if origin ref do not provide any dom element\n */\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n var _super = _createSuper(DomWrapper);\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n return _super.apply(this, arguments);\n }\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return DomWrapper;\n}(React.Component);\nexport { DomWrapper as default };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { CollectionContext } from \"../Collection\";\nimport { observe, unobserve } from \"../utils/observerUtil\";\nimport DomWrapper from \"./DomWrapper\";\nfunction SingleObserver(props, ref) {\n var children = props.children,\n disabled = props.disabled;\n var elementRef = React.useRef(null);\n var wrapperRef = React.useRef(null);\n var onCollectionResize = React.useContext(CollectionContext);\n\n // =========================== Children ===========================\n var isRenderProps = typeof children === 'function';\n var mergedChildren = isRenderProps ? children(elementRef) : children;\n\n // ============================= Size =============================\n var sizeRef = React.useRef({\n width: -1,\n height: -1,\n offsetWidth: -1,\n offsetHeight: -1\n });\n\n // ============================= Ref ==============================\n var canRef = !isRenderProps && /*#__PURE__*/React.isValidElement(mergedChildren) && supportRef(mergedChildren);\n var originRef = canRef ? mergedChildren.ref : null;\n var mergedRef = useComposeRef(originRef, elementRef);\n var getDom = function getDom() {\n var _elementRef$current;\n return findDOMNode(elementRef.current) || (\n // Support `nativeElement` format\n elementRef.current && _typeof(elementRef.current) === 'object' ? findDOMNode((_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.nativeElement) : null) || findDOMNode(wrapperRef.current);\n };\n React.useImperativeHandle(ref, function () {\n return getDom();\n });\n\n // =========================== Observe ============================\n var propsRef = React.useRef(props);\n propsRef.current = props;\n\n // Handler\n var onInternalResize = React.useCallback(function (target) {\n var _propsRef$current = propsRef.current,\n onResize = _propsRef$current.onResize,\n data = _propsRef$current.data;\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n if (sizeRef.current.width !== fixedWidth || sizeRef.current.height !== fixedHeight || sizeRef.current.offsetWidth !== offsetWidth || sizeRef.current.offsetHeight !== offsetHeight) {\n var size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n };\n sizeRef.current = size;\n\n // IE is strange, right?\n var mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n var mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;\n var sizeInfo = _objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n });\n\n // Let collection know what happened\n onCollectionResize === null || onCollectionResize === void 0 || onCollectionResize(sizeInfo, target, data);\n if (onResize) {\n // defer the callback but not defer to next frame\n Promise.resolve().then(function () {\n onResize(sizeInfo, target);\n });\n }\n }\n }, []);\n\n // Dynamic observe\n React.useEffect(function () {\n var currentElement = getDom();\n if (currentElement && !disabled) {\n observe(currentElement, onInternalResize);\n }\n return function () {\n return unobserve(currentElement, onInternalResize);\n };\n }, [elementRef.current, disabled]);\n\n // ============================ Render ============================\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperRef\n }, canRef ? /*#__PURE__*/React.cloneElement(mergedChildren, {\n ref: mergedRef\n }) : mergedChildren);\n}\nvar RefSingleObserver = /*#__PURE__*/React.forwardRef(SingleObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefSingleObserver.displayName = 'SingleObserver';\n}\nexport default RefSingleObserver;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { warning } from \"rc-util/es/warning\";\nimport SingleObserver from \"./SingleObserver\";\nimport { Collection } from \"./Collection\";\nvar INTERNAL_PREFIX_KEY = 'rc-observer-key';\nimport { _rs } from \"./utils/observerUtil\";\nexport { /** @private Test only for mock trigger resize event */\n_rs };\nfunction ResizeObserver(props, ref) {\n var children = props.children;\n var childNodes = typeof children === 'function' ? [children] : toArray(children);\n if (process.env.NODE_ENV !== 'production') {\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Please use ResizeObserver.Collection instead.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n }\n }\n return childNodes.map(function (child, index) {\n var key = (child === null || child === void 0 ? void 0 : child.key) || \"\".concat(INTERNAL_PREFIX_KEY, \"-\").concat(index);\n return /*#__PURE__*/React.createElement(SingleObserver, _extends({}, props, {\n key: key,\n ref: index === 0 ? ref : undefined\n }), child);\n });\n}\nvar RefResizeObserver = /*#__PURE__*/React.forwardRef(ResizeObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefResizeObserver.displayName = 'ResizeObserver';\n}\nRefResizeObserver.Collection = Collection;\nexport default RefResizeObserver;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction getUseId() {\n // We need fully clone React function here to avoid webpack warning React 17 do not export `useId`\n var fullClone = _objectSpread({}, React);\n return fullClone.useId;\n}\nvar uuid = 0;\n\n/** @private Note only worked in develop env. Not work in production. */\nexport function resetUuid() {\n if (process.env.NODE_ENV !== 'production') {\n uuid = 0;\n }\n}\nvar useOriginId = getUseId();\nexport default useOriginId ?\n// Use React `useId`\nfunction useId(id) {\n var reactId = useOriginId();\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n return reactId;\n} :\n// Use compatible of `useId`\nfunction useCompatId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState('ssr-id'),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n var nextId = uuid;\n uuid += 1;\n setInnerId(\"rc_unique_\".concat(nextId));\n }, []);\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n\n // Return react native id or inner id\n return innerId;\n};","import classNames from 'classnames';\nimport * as React from 'react';\nexport default function Arrow(props) {\n var prefixCls = props.prefixCls,\n align = props.align,\n arrow = props.arrow,\n arrowPos = props.arrowPos;\n var _ref = arrow || {},\n className = _ref.className,\n content = _ref.content;\n var _arrowPos$x = arrowPos.x,\n x = _arrowPos$x === void 0 ? 0 : _arrowPos$x,\n _arrowPos$y = arrowPos.y,\n y = _arrowPos$y === void 0 ? 0 : _arrowPos$y;\n var arrowRef = React.useRef();\n\n // Skip if no align\n if (!align || !align.points) {\n return null;\n }\n var alignStyle = {\n position: 'absolute'\n };\n\n // Skip if no need to align\n if (align.autoArrow !== false) {\n var popupPoints = align.points[0];\n var targetPoints = align.points[1];\n var popupTB = popupPoints[0];\n var popupLR = popupPoints[1];\n var targetTB = targetPoints[0];\n var targetLR = targetPoints[1];\n\n // Top & Bottom\n if (popupTB === targetTB || !['t', 'b'].includes(popupTB)) {\n alignStyle.top = y;\n } else if (popupTB === 't') {\n alignStyle.top = 0;\n } else {\n alignStyle.bottom = 0;\n }\n\n // Left & Right\n if (popupLR === targetLR || !['l', 'r'].includes(popupLR)) {\n alignStyle.left = x;\n } else if (popupLR === 'l') {\n alignStyle.left = 0;\n } else {\n alignStyle.right = 0;\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: arrowRef,\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), className),\n style: alignStyle\n }, content);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport * as React from 'react';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n open = props.open,\n zIndex = props.zIndex,\n mask = props.mask,\n motion = props.motion;\n if (!mask) {\n return null;\n }\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n motionAppear: true,\n visible: open,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","import * as React from 'react';\nvar PopupContent = /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (_, next) {\n return next.cache;\n});\nif (process.env.NODE_ENV !== 'production') {\n PopupContent.displayName = 'PopupContent';\n}\nexport default PopupContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport ResizeObserver from 'rc-resize-observer';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport Arrow from \"./Arrow\";\nimport Mask from \"./Mask\";\nimport PopupContent from \"./PopupContent\";\nvar Popup = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var popup = props.popup,\n className = props.className,\n prefixCls = props.prefixCls,\n style = props.style,\n target = props.target,\n _onVisibleChanged = props.onVisibleChanged,\n open = props.open,\n keepDom = props.keepDom,\n fresh = props.fresh,\n onClick = props.onClick,\n mask = props.mask,\n arrow = props.arrow,\n arrowPos = props.arrowPos,\n align = props.align,\n motion = props.motion,\n maskMotion = props.maskMotion,\n forceRender = props.forceRender,\n getPopupContainer = props.getPopupContainer,\n autoDestroy = props.autoDestroy,\n Portal = props.portal,\n zIndex = props.zIndex,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onPointerEnter = props.onPointerEnter,\n ready = props.ready,\n offsetX = props.offsetX,\n offsetY = props.offsetY,\n offsetR = props.offsetR,\n offsetB = props.offsetB,\n onAlign = props.onAlign,\n onPrepare = props.onPrepare,\n stretch = props.stretch,\n targetWidth = props.targetWidth,\n targetHeight = props.targetHeight;\n var childNode = typeof popup === 'function' ? popup() : popup;\n\n // We can not remove holder only when motion finished.\n var isNodeVisible = open || keepDom;\n\n // ======================= Container ========================\n var getPopupContainerNeedParams = (getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer.length) > 0;\n var _React$useState = React.useState(!getPopupContainer || !getPopupContainerNeedParams),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n show = _React$useState2[0],\n setShow = _React$useState2[1];\n\n // Delay to show since `getPopupContainer` need target element\n useLayoutEffect(function () {\n if (!show && getPopupContainerNeedParams && target) {\n setShow(true);\n }\n }, [show, getPopupContainerNeedParams, target]);\n\n // ========================= Render =========================\n if (!show) {\n return null;\n }\n\n // >>>>> Offset\n var AUTO = 'auto';\n var offsetStyle = {\n left: '-1000vw',\n top: '-1000vh',\n right: AUTO,\n bottom: AUTO\n };\n\n // Set align style\n if (ready || !open) {\n var _experimental;\n var points = align.points;\n var dynamicInset = align.dynamicInset || ((_experimental = align._experimental) === null || _experimental === void 0 ? void 0 : _experimental.dynamicInset);\n var alignRight = dynamicInset && points[0][1] === 'r';\n var alignBottom = dynamicInset && points[0][0] === 'b';\n if (alignRight) {\n offsetStyle.right = offsetR;\n offsetStyle.left = AUTO;\n } else {\n offsetStyle.left = offsetX;\n offsetStyle.right = AUTO;\n }\n if (alignBottom) {\n offsetStyle.bottom = offsetB;\n offsetStyle.top = AUTO;\n } else {\n offsetStyle.top = offsetY;\n offsetStyle.bottom = AUTO;\n }\n }\n\n // >>>>> Misc\n var miscStyle = {};\n if (stretch) {\n if (stretch.includes('height') && targetHeight) {\n miscStyle.height = targetHeight;\n } else if (stretch.includes('minHeight') && targetHeight) {\n miscStyle.minHeight = targetHeight;\n }\n if (stretch.includes('width') && targetWidth) {\n miscStyle.width = targetWidth;\n } else if (stretch.includes('minWidth') && targetWidth) {\n miscStyle.minWidth = targetWidth;\n }\n }\n if (!open) {\n miscStyle.pointerEvents = 'none';\n }\n return /*#__PURE__*/React.createElement(Portal, {\n open: forceRender || isNodeVisible,\n getContainer: getPopupContainer && function () {\n return getPopupContainer(target);\n },\n autoDestroy: autoDestroy\n }, /*#__PURE__*/React.createElement(Mask, {\n prefixCls: prefixCls,\n open: open,\n zIndex: zIndex,\n mask: mask,\n motion: maskMotion\n }), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onAlign,\n disabled: !open\n }, function (resizeObserverRef) {\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n motionAppear: true,\n motionEnter: true,\n motionLeave: true,\n removeOnLeave: false,\n forceRender: forceRender,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onPrepare,\n onEnterPrepare: onPrepare,\n visible: open,\n onVisibleChanged: function onVisibleChanged(nextVisible) {\n var _motion$onVisibleChan;\n motion === null || motion === void 0 || (_motion$onVisibleChan = motion.onVisibleChanged) === null || _motion$onVisibleChan === void 0 || _motion$onVisibleChan.call(motion, nextVisible);\n _onVisibleChanged(nextVisible);\n }\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var cls = classNames(prefixCls, motionClassName, className);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: composeRef(resizeObserverRef, ref, motionRef),\n className: cls,\n style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n '--arrow-x': \"\".concat(arrowPos.x || 0, \"px\"),\n '--arrow-y': \"\".concat(arrowPos.y || 0, \"px\")\n }, offsetStyle), miscStyle), motionStyle), {}, {\n boxSizing: 'border-box',\n zIndex: zIndex\n }, style),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onPointerEnter: onPointerEnter,\n onClick: onClick\n }, arrow && /*#__PURE__*/React.createElement(Arrow, {\n prefixCls: prefixCls,\n arrow: arrow,\n arrowPos: arrowPos,\n align: align\n }), /*#__PURE__*/React.createElement(PopupContent, {\n cache: !open && !fresh\n }, childNode));\n });\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Popup.displayName = 'Popup';\n}\nexport default Popup;","import { fillRef, supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nvar TriggerWrapper = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var children = props.children,\n getTriggerDOMNode = props.getTriggerDOMNode;\n var canUseRef = supportRef(children);\n\n // When use `getTriggerDOMNode`, we should do additional work to get the real dom\n var setRef = React.useCallback(function (node) {\n fillRef(ref, getTriggerDOMNode ? getTriggerDOMNode(node) : node);\n }, [getTriggerDOMNode]);\n var mergedRef = useComposeRef(setRef, children.ref);\n return canUseRef ? /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n }) : children;\n});\nif (process.env.NODE_ENV !== 'production') {\n TriggerWrapper.displayName = 'TriggerWrapper';\n}\nexport default TriggerWrapper;","import * as React from 'react';\nvar TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;","import * as React from 'react';\nfunction toArray(val) {\n return val ? Array.isArray(val) ? val : [val] : [];\n}\nexport default function useAction(mobile, action, showAction, hideAction) {\n return React.useMemo(function () {\n var mergedShowAction = toArray(showAction !== null && showAction !== void 0 ? showAction : action);\n var mergedHideAction = toArray(hideAction !== null && hideAction !== void 0 ? hideAction : action);\n var showActionSet = new Set(mergedShowAction);\n var hideActionSet = new Set(mergedHideAction);\n if (mobile) {\n if (showActionSet.has('hover')) {\n showActionSet.delete('hover');\n showActionSet.add('click');\n }\n if (hideActionSet.has('hover')) {\n hideActionSet.delete('hover');\n hideActionSet.add('click');\n }\n }\n return [showActionSet, hideActionSet];\n }, [mobile, action, showAction, hideAction]);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nfunction isPointsEq() {\n var a1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var a2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var isAlignPoint = arguments.length > 2 ? arguments[2] : undefined;\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n for (var i = 0; i < placements.length; i += 1) {\n var _builtinPlacements$pl;\n var placement = placements[i];\n if (isPointsEq((_builtinPlacements$pl = builtinPlacements[placement]) === null || _builtinPlacements$pl === void 0 ? void 0 : _builtinPlacements$pl.points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n return '';\n}\n\n/** @deprecated We should not use this if we can refactor all deps */\nexport function getMotion(prefixCls, motion, animation, transitionName) {\n if (motion) {\n return motion;\n }\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n return null;\n}\nexport function getWin(ele) {\n return ele.ownerDocument.defaultView;\n}\n\n/**\n * Get all the scrollable parent elements of the element\n * @param ele The element to be detected\n * @param areaOnly Only return the parent which will cut visible area\n */\nexport function collectScroller(ele) {\n var scrollerList = [];\n var current = ele === null || ele === void 0 ? void 0 : ele.parentElement;\n var scrollStyle = ['hidden', 'scroll', 'clip', 'auto'];\n while (current) {\n var _getWin$getComputedSt = getWin(current).getComputedStyle(current),\n overflowX = _getWin$getComputedSt.overflowX,\n overflowY = _getWin$getComputedSt.overflowY,\n overflow = _getWin$getComputedSt.overflow;\n if ([overflowX, overflowY, overflow].some(function (o) {\n return scrollStyle.includes(o);\n })) {\n scrollerList.push(current);\n }\n current = current.parentElement;\n }\n return scrollerList;\n}\nexport function toNum(num) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return Number.isNaN(num) ? defaultValue : num;\n}\nfunction getPxValue(val) {\n return toNum(parseFloat(val), 0);\n}\n/**\n *\n *\n * **************************************\n * * Border *\n * * ************************** *\n * * * * * *\n * * B * * S * B *\n * * o * * c * o *\n * * r * Content * r * r *\n * * d * * o * d *\n * * e * * l * e *\n * * r ******************** l * r *\n * * * Scroll * *\n * * ************************** *\n * * Border *\n * **************************************\n *\n */\n/**\n * Get visible area of element\n */\nexport function getVisibleArea(initArea, scrollerList) {\n var visibleArea = _objectSpread({}, initArea);\n (scrollerList || []).forEach(function (ele) {\n if (ele instanceof HTMLBodyElement || ele instanceof HTMLHtmlElement) {\n return;\n }\n\n // Skip if static position which will not affect visible area\n var _getWin$getComputedSt2 = getWin(ele).getComputedStyle(ele),\n overflow = _getWin$getComputedSt2.overflow,\n overflowClipMargin = _getWin$getComputedSt2.overflowClipMargin,\n borderTopWidth = _getWin$getComputedSt2.borderTopWidth,\n borderBottomWidth = _getWin$getComputedSt2.borderBottomWidth,\n borderLeftWidth = _getWin$getComputedSt2.borderLeftWidth,\n borderRightWidth = _getWin$getComputedSt2.borderRightWidth;\n var eleRect = ele.getBoundingClientRect();\n var eleOutHeight = ele.offsetHeight,\n eleInnerHeight = ele.clientHeight,\n eleOutWidth = ele.offsetWidth,\n eleInnerWidth = ele.clientWidth;\n var borderTopNum = getPxValue(borderTopWidth);\n var borderBottomNum = getPxValue(borderBottomWidth);\n var borderLeftNum = getPxValue(borderLeftWidth);\n var borderRightNum = getPxValue(borderRightWidth);\n var scaleX = toNum(Math.round(eleRect.width / eleOutWidth * 1000) / 1000);\n var scaleY = toNum(Math.round(eleRect.height / eleOutHeight * 1000) / 1000);\n\n // Original visible area\n var eleScrollWidth = (eleOutWidth - eleInnerWidth - borderLeftNum - borderRightNum) * scaleX;\n var eleScrollHeight = (eleOutHeight - eleInnerHeight - borderTopNum - borderBottomNum) * scaleY;\n\n // Cut border size\n var scaledBorderTopWidth = borderTopNum * scaleY;\n var scaledBorderBottomWidth = borderBottomNum * scaleY;\n var scaledBorderLeftWidth = borderLeftNum * scaleX;\n var scaledBorderRightWidth = borderRightNum * scaleX;\n\n // Clip margin\n var clipMarginWidth = 0;\n var clipMarginHeight = 0;\n if (overflow === 'clip') {\n var clipNum = getPxValue(overflowClipMargin);\n clipMarginWidth = clipNum * scaleX;\n clipMarginHeight = clipNum * scaleY;\n }\n\n // Region\n var eleLeft = eleRect.x + scaledBorderLeftWidth - clipMarginWidth;\n var eleTop = eleRect.y + scaledBorderTopWidth - clipMarginHeight;\n var eleRight = eleLeft + eleRect.width + 2 * clipMarginWidth - scaledBorderLeftWidth - scaledBorderRightWidth - eleScrollWidth;\n var eleBottom = eleTop + eleRect.height + 2 * clipMarginHeight - scaledBorderTopWidth - scaledBorderBottomWidth - eleScrollHeight;\n visibleArea.left = Math.max(visibleArea.left, eleLeft);\n visibleArea.top = Math.max(visibleArea.top, eleTop);\n visibleArea.right = Math.min(visibleArea.right, eleRight);\n visibleArea.bottom = Math.min(visibleArea.bottom, eleBottom);\n });\n return visibleArea;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { isDOM } from \"rc-util/es/Dom/findDOMNode\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { collectScroller, getVisibleArea, getWin, toNum } from \"../util\";\nfunction getUnitOffset(size) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var offsetStr = \"\".concat(offset);\n var cells = offsetStr.match(/^(.*)\\%$/);\n if (cells) {\n return size * (parseFloat(cells[1]) / 100);\n }\n return parseFloat(offsetStr);\n}\nfunction getNumberOffset(rect, offset) {\n var _ref = offset || [],\n _ref2 = _slicedToArray(_ref, 2),\n offsetX = _ref2[0],\n offsetY = _ref2[1];\n return [getUnitOffset(rect.width, offsetX), getUnitOffset(rect.height, offsetY)];\n}\nfunction splitPoints() {\n var points = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return [points[0], points[1]];\n}\nfunction getAlignPoint(rect, points) {\n var topBottom = points[0];\n var leftRight = points[1];\n var x;\n var y;\n\n // Top & Bottom\n if (topBottom === 't') {\n y = rect.y;\n } else if (topBottom === 'b') {\n y = rect.y + rect.height;\n } else {\n y = rect.y + rect.height / 2;\n }\n\n // Left & Right\n if (leftRight === 'l') {\n x = rect.x;\n } else if (leftRight === 'r') {\n x = rect.x + rect.width;\n } else {\n x = rect.x + rect.width / 2;\n }\n return {\n x: x,\n y: y\n };\n}\nfunction reversePoints(points, index) {\n var reverseMap = {\n t: 'b',\n b: 't',\n l: 'r',\n r: 'l'\n };\n return points.map(function (point, i) {\n if (i === index) {\n return reverseMap[point] || 'c';\n }\n return point;\n }).join('');\n}\nexport default function useAlign(open, popupEle, target, placement, builtinPlacements, popupAlign, onPopupAlign) {\n var _React$useState = React.useState({\n ready: false,\n offsetX: 0,\n offsetY: 0,\n offsetR: 0,\n offsetB: 0,\n arrowX: 0,\n arrowY: 0,\n scaleX: 1,\n scaleY: 1,\n align: builtinPlacements[placement] || {}\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n offsetInfo = _React$useState2[0],\n setOffsetInfo = _React$useState2[1];\n var alignCountRef = React.useRef(0);\n var scrollerList = React.useMemo(function () {\n if (!popupEle) {\n return [];\n }\n return collectScroller(popupEle);\n }, [popupEle]);\n\n // ========================= Flip ==========================\n // We will memo flip info.\n // If size change to make flip, it will memo the flip info and use it in next align.\n var prevFlipRef = React.useRef({});\n var resetFlipCache = function resetFlipCache() {\n prevFlipRef.current = {};\n };\n if (!open) {\n resetFlipCache();\n }\n\n // ========================= Align =========================\n var onAlign = useEvent(function () {\n if (popupEle && target && open) {\n var _popupElement$parentE, _popupElement$parentE2;\n var popupElement = popupEle;\n var doc = popupElement.ownerDocument;\n var win = getWin(popupElement);\n var _win$getComputedStyle = win.getComputedStyle(popupElement),\n width = _win$getComputedStyle.width,\n height = _win$getComputedStyle.height,\n popupPosition = _win$getComputedStyle.position;\n var originLeft = popupElement.style.left;\n var originTop = popupElement.style.top;\n var originRight = popupElement.style.right;\n var originBottom = popupElement.style.bottom;\n var originOverflow = popupElement.style.overflow;\n\n // Placement\n var placementInfo = _objectSpread(_objectSpread({}, builtinPlacements[placement]), popupAlign);\n\n // placeholder element\n var placeholderElement = doc.createElement('div');\n (_popupElement$parentE = popupElement.parentElement) === null || _popupElement$parentE === void 0 || _popupElement$parentE.appendChild(placeholderElement);\n placeholderElement.style.left = \"\".concat(popupElement.offsetLeft, \"px\");\n placeholderElement.style.top = \"\".concat(popupElement.offsetTop, \"px\");\n placeholderElement.style.position = popupPosition;\n placeholderElement.style.height = \"\".concat(popupElement.offsetHeight, \"px\");\n placeholderElement.style.width = \"\".concat(popupElement.offsetWidth, \"px\");\n\n // Reset first\n popupElement.style.left = '0';\n popupElement.style.top = '0';\n popupElement.style.right = 'auto';\n popupElement.style.bottom = 'auto';\n popupElement.style.overflow = 'hidden';\n\n // Calculate align style, we should consider `transform` case\n var targetRect;\n if (Array.isArray(target)) {\n targetRect = {\n x: target[0],\n y: target[1],\n width: 0,\n height: 0\n };\n } else {\n var rect = target.getBoundingClientRect();\n targetRect = {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n };\n }\n var popupRect = popupElement.getBoundingClientRect();\n var _doc$documentElement = doc.documentElement,\n clientWidth = _doc$documentElement.clientWidth,\n clientHeight = _doc$documentElement.clientHeight,\n scrollWidth = _doc$documentElement.scrollWidth,\n scrollHeight = _doc$documentElement.scrollHeight,\n scrollTop = _doc$documentElement.scrollTop,\n scrollLeft = _doc$documentElement.scrollLeft;\n var popupHeight = popupRect.height;\n var popupWidth = popupRect.width;\n var targetHeight = targetRect.height;\n var targetWidth = targetRect.width;\n\n // Get bounding of visible area\n var visibleRegion = {\n left: 0,\n top: 0,\n right: clientWidth,\n bottom: clientHeight\n };\n var scrollRegion = {\n left: -scrollLeft,\n top: -scrollTop,\n right: scrollWidth - scrollLeft,\n bottom: scrollHeight - scrollTop\n };\n var htmlRegion = placementInfo.htmlRegion;\n var VISIBLE = 'visible';\n var VISIBLE_FIRST = 'visibleFirst';\n if (htmlRegion !== 'scroll' && htmlRegion !== VISIBLE_FIRST) {\n htmlRegion = VISIBLE;\n }\n var isVisibleFirst = htmlRegion === VISIBLE_FIRST;\n var scrollRegionArea = getVisibleArea(scrollRegion, scrollerList);\n var visibleRegionArea = getVisibleArea(visibleRegion, scrollerList);\n var visibleArea = htmlRegion === VISIBLE ? visibleRegionArea : scrollRegionArea;\n\n // When set to `visibleFirst`,\n // the check `adjust` logic will use `visibleRegion` for check first.\n var adjustCheckVisibleArea = isVisibleFirst ? visibleRegionArea : visibleArea;\n\n // Record right & bottom align data\n popupElement.style.left = 'auto';\n popupElement.style.top = 'auto';\n popupElement.style.right = '0';\n popupElement.style.bottom = '0';\n var popupMirrorRect = popupElement.getBoundingClientRect();\n\n // Reset back\n popupElement.style.left = originLeft;\n popupElement.style.top = originTop;\n popupElement.style.right = originRight;\n popupElement.style.bottom = originBottom;\n popupElement.style.overflow = originOverflow;\n (_popupElement$parentE2 = popupElement.parentElement) === null || _popupElement$parentE2 === void 0 || _popupElement$parentE2.removeChild(placeholderElement);\n\n // Calculate scale\n var _scaleX = toNum(Math.round(popupWidth / parseFloat(width) * 1000) / 1000);\n var _scaleY = toNum(Math.round(popupHeight / parseFloat(height) * 1000) / 1000);\n\n // No need to align since it's not visible in view\n if (_scaleX === 0 || _scaleY === 0 || isDOM(target) && !isVisible(target)) {\n return;\n }\n\n // Offset\n var offset = placementInfo.offset,\n targetOffset = placementInfo.targetOffset;\n var _getNumberOffset = getNumberOffset(popupRect, offset),\n _getNumberOffset2 = _slicedToArray(_getNumberOffset, 2),\n popupOffsetX = _getNumberOffset2[0],\n popupOffsetY = _getNumberOffset2[1];\n var _getNumberOffset3 = getNumberOffset(targetRect, targetOffset),\n _getNumberOffset4 = _slicedToArray(_getNumberOffset3, 2),\n targetOffsetX = _getNumberOffset4[0],\n targetOffsetY = _getNumberOffset4[1];\n targetRect.x -= targetOffsetX;\n targetRect.y -= targetOffsetY;\n\n // Points\n var _ref3 = placementInfo.points || [],\n _ref4 = _slicedToArray(_ref3, 2),\n popupPoint = _ref4[0],\n targetPoint = _ref4[1];\n var targetPoints = splitPoints(targetPoint);\n var popupPoints = splitPoints(popupPoint);\n var targetAlignPoint = getAlignPoint(targetRect, targetPoints);\n var popupAlignPoint = getAlignPoint(popupRect, popupPoints);\n\n // Real align info may not same as origin one\n var nextAlignInfo = _objectSpread({}, placementInfo);\n\n // Next Offset\n var nextOffsetX = targetAlignPoint.x - popupAlignPoint.x + popupOffsetX;\n var nextOffsetY = targetAlignPoint.y - popupAlignPoint.y + popupOffsetY;\n\n // ============== Intersection ===============\n // Get area by position. Used for check if flip area is better\n function getIntersectionVisibleArea(offsetX, offsetY) {\n var area = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : visibleArea;\n var l = popupRect.x + offsetX;\n var t = popupRect.y + offsetY;\n var r = l + popupWidth;\n var b = t + popupHeight;\n var visibleL = Math.max(l, area.left);\n var visibleT = Math.max(t, area.top);\n var visibleR = Math.min(r, area.right);\n var visibleB = Math.min(b, area.bottom);\n return Math.max(0, (visibleR - visibleL) * (visibleB - visibleT));\n }\n var originIntersectionVisibleArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY);\n\n // As `visibleFirst`, we prepare this for check\n var originIntersectionRecommendArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY, visibleRegionArea);\n\n // ========================== Overflow ===========================\n var targetAlignPointTL = getAlignPoint(targetRect, ['t', 'l']);\n var popupAlignPointTL = getAlignPoint(popupRect, ['t', 'l']);\n var targetAlignPointBR = getAlignPoint(targetRect, ['b', 'r']);\n var popupAlignPointBR = getAlignPoint(popupRect, ['b', 'r']);\n var overflow = placementInfo.overflow || {};\n var adjustX = overflow.adjustX,\n adjustY = overflow.adjustY,\n shiftX = overflow.shiftX,\n shiftY = overflow.shiftY;\n var supportAdjust = function supportAdjust(val) {\n if (typeof val === 'boolean') {\n return val;\n }\n return val >= 0;\n };\n\n // Prepare position\n var nextPopupY;\n var nextPopupBottom;\n var nextPopupX;\n var nextPopupRight;\n function syncNextPopupPosition() {\n nextPopupY = popupRect.y + nextOffsetY;\n nextPopupBottom = nextPopupY + popupHeight;\n nextPopupX = popupRect.x + nextOffsetX;\n nextPopupRight = nextPopupX + popupWidth;\n }\n syncNextPopupPosition();\n\n // >>>>>>>>>> Top & Bottom\n var needAdjustY = supportAdjust(adjustY);\n var sameTB = popupPoints[0] === targetPoints[0];\n\n // Bottom to Top\n if (needAdjustY && popupPoints[0] === 't' && (nextPopupBottom > adjustCheckVisibleArea.bottom || prevFlipRef.current.bt)) {\n var tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n tmpNextOffsetY -= popupHeight - targetHeight;\n } else {\n tmpNextOffsetY = targetAlignPointTL.y - popupAlignPointBR.y - popupOffsetY;\n }\n var newVisibleArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY);\n var newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.bt = true;\n nextOffsetY = tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextAlignInfo.points = [reversePoints(popupPoints, 0), reversePoints(targetPoints, 0)];\n } else {\n prevFlipRef.current.bt = false;\n }\n }\n\n // Top to Bottom\n if (needAdjustY && popupPoints[0] === 'b' && (nextPopupY < adjustCheckVisibleArea.top || prevFlipRef.current.tb)) {\n var _tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n _tmpNextOffsetY += popupHeight - targetHeight;\n } else {\n _tmpNextOffsetY = targetAlignPointBR.y - popupAlignPointTL.y - popupOffsetY;\n }\n var _newVisibleArea = getIntersectionVisibleArea(nextOffsetX, _tmpNextOffsetY);\n var _newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, _tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n _newVisibleArea > originIntersectionVisibleArea || _newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n _newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.tb = true;\n nextOffsetY = _tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextAlignInfo.points = [reversePoints(popupPoints, 0), reversePoints(targetPoints, 0)];\n } else {\n prevFlipRef.current.tb = false;\n }\n }\n\n // >>>>>>>>>> Left & Right\n var needAdjustX = supportAdjust(adjustX);\n\n // >>>>> Flip\n var sameLR = popupPoints[1] === targetPoints[1];\n\n // Right to Left\n if (needAdjustX && popupPoints[1] === 'l' && (nextPopupRight > adjustCheckVisibleArea.right || prevFlipRef.current.rl)) {\n var tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n tmpNextOffsetX -= popupWidth - targetWidth;\n } else {\n tmpNextOffsetX = targetAlignPointTL.x - popupAlignPointBR.x - popupOffsetX;\n }\n var _newVisibleArea2 = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY);\n var _newVisibleRecommendArea2 = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n _newVisibleArea2 > originIntersectionVisibleArea || _newVisibleArea2 === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n _newVisibleRecommendArea2 >= originIntersectionRecommendArea)) {\n prevFlipRef.current.rl = true;\n nextOffsetX = tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextAlignInfo.points = [reversePoints(popupPoints, 1), reversePoints(targetPoints, 1)];\n } else {\n prevFlipRef.current.rl = false;\n }\n }\n\n // Left to Right\n if (needAdjustX && popupPoints[1] === 'r' && (nextPopupX < adjustCheckVisibleArea.left || prevFlipRef.current.lr)) {\n var _tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n _tmpNextOffsetX += popupWidth - targetWidth;\n } else {\n _tmpNextOffsetX = targetAlignPointBR.x - popupAlignPointTL.x - popupOffsetX;\n }\n var _newVisibleArea3 = getIntersectionVisibleArea(_tmpNextOffsetX, nextOffsetY);\n var _newVisibleRecommendArea3 = getIntersectionVisibleArea(_tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n _newVisibleArea3 > originIntersectionVisibleArea || _newVisibleArea3 === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n _newVisibleRecommendArea3 >= originIntersectionRecommendArea)) {\n prevFlipRef.current.lr = true;\n nextOffsetX = _tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextAlignInfo.points = [reversePoints(popupPoints, 1), reversePoints(targetPoints, 1)];\n } else {\n prevFlipRef.current.lr = false;\n }\n }\n\n // ============================ Shift ============================\n syncNextPopupPosition();\n var numShiftX = shiftX === true ? 0 : shiftX;\n if (typeof numShiftX === 'number') {\n // Left\n if (nextPopupX < visibleRegionArea.left) {\n nextOffsetX -= nextPopupX - visibleRegionArea.left - popupOffsetX;\n if (targetRect.x + targetWidth < visibleRegionArea.left + numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.left + targetWidth - numShiftX;\n }\n }\n\n // Right\n if (nextPopupRight > visibleRegionArea.right) {\n nextOffsetX -= nextPopupRight - visibleRegionArea.right - popupOffsetX;\n if (targetRect.x > visibleRegionArea.right - numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.right + numShiftX;\n }\n }\n }\n var numShiftY = shiftY === true ? 0 : shiftY;\n if (typeof numShiftY === 'number') {\n // Top\n if (nextPopupY < visibleRegionArea.top) {\n nextOffsetY -= nextPopupY - visibleRegionArea.top - popupOffsetY;\n\n // When target if far away from visible area\n // Stop shift\n if (targetRect.y + targetHeight < visibleRegionArea.top + numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.top + targetHeight - numShiftY;\n }\n }\n\n // Bottom\n if (nextPopupBottom > visibleRegionArea.bottom) {\n nextOffsetY -= nextPopupBottom - visibleRegionArea.bottom - popupOffsetY;\n if (targetRect.y > visibleRegionArea.bottom - numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.bottom + numShiftY;\n }\n }\n }\n\n // ============================ Arrow ============================\n // Arrow center align\n var popupLeft = popupRect.x + nextOffsetX;\n var popupRight = popupLeft + popupWidth;\n var popupTop = popupRect.y + nextOffsetY;\n var popupBottom = popupTop + popupHeight;\n var targetLeft = targetRect.x;\n var targetRight = targetLeft + targetWidth;\n var targetTop = targetRect.y;\n var targetBottom = targetTop + targetHeight;\n var maxLeft = Math.max(popupLeft, targetLeft);\n var minRight = Math.min(popupRight, targetRight);\n var xCenter = (maxLeft + minRight) / 2;\n var nextArrowX = xCenter - popupLeft;\n var maxTop = Math.max(popupTop, targetTop);\n var minBottom = Math.min(popupBottom, targetBottom);\n var yCenter = (maxTop + minBottom) / 2;\n var nextArrowY = yCenter - popupTop;\n onPopupAlign === null || onPopupAlign === void 0 || onPopupAlign(popupEle, nextAlignInfo);\n\n // Additional calculate right & bottom position\n var offsetX4Right = popupMirrorRect.right - popupRect.x - (nextOffsetX + popupRect.width);\n var offsetY4Bottom = popupMirrorRect.bottom - popupRect.y - (nextOffsetY + popupRect.height);\n setOffsetInfo({\n ready: true,\n offsetX: nextOffsetX / _scaleX,\n offsetY: nextOffsetY / _scaleY,\n offsetR: offsetX4Right / _scaleX,\n offsetB: offsetY4Bottom / _scaleY,\n arrowX: nextArrowX / _scaleX,\n arrowY: nextArrowY / _scaleY,\n scaleX: _scaleX,\n scaleY: _scaleY,\n align: nextAlignInfo\n });\n }\n });\n var triggerAlign = function triggerAlign() {\n alignCountRef.current += 1;\n var id = alignCountRef.current;\n\n // Merge all align requirement into one frame\n Promise.resolve().then(function () {\n if (alignCountRef.current === id) {\n onAlign();\n }\n });\n };\n\n // Reset ready status when placement & open changed\n var resetReady = function resetReady() {\n setOffsetInfo(function (ori) {\n return _objectSpread(_objectSpread({}, ori), {}, {\n ready: false\n });\n });\n };\n useLayoutEffect(resetReady, [placement]);\n useLayoutEffect(function () {\n if (!open) {\n resetReady();\n }\n }, [open]);\n return [offsetInfo.ready, offsetInfo.offsetX, offsetInfo.offsetY, offsetInfo.offsetR, offsetInfo.offsetB, offsetInfo.arrowX, offsetInfo.arrowY, offsetInfo.scaleX, offsetInfo.scaleY, offsetInfo.align, triggerAlign];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"children\", \"action\", \"showAction\", \"hideAction\", \"popupVisible\", \"defaultPopupVisible\", \"onPopupVisibleChange\", \"afterPopupVisibleChange\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"focusDelay\", \"blurDelay\", \"mask\", \"maskClosable\", \"getPopupContainer\", \"forceRender\", \"autoDestroy\", \"destroyPopupOnHide\", \"popup\", \"popupClassName\", \"popupStyle\", \"popupPlacement\", \"builtinPlacements\", \"popupAlign\", \"zIndex\", \"stretch\", \"getPopupClassNameFromAlign\", \"fresh\", \"alignPoint\", \"onPopupClick\", \"onPopupAlign\", \"arrow\", \"popupMotion\", \"maskMotion\", \"popupTransitionName\", \"popupAnimation\", \"maskTransitionName\", \"maskAnimation\", \"className\", \"getTriggerDOMNode\"];\nimport Portal from '@rc-component/portal';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport { isDOM } from \"rc-util/es/Dom/findDOMNode\";\nimport { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useId from \"rc-util/es/hooks/useId\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport * as React from 'react';\nimport Popup from \"./Popup\";\nimport TriggerWrapper from \"./TriggerWrapper\";\nimport TriggerContext from \"./context\";\nimport useAction from \"./hooks/useAction\";\nimport useAlign from \"./hooks/useAlign\";\nimport useWatch from \"./hooks/useWatch\";\nimport useWinClick from \"./hooks/useWinClick\";\nimport { getAlignPopupClassName, getMotion } from \"./util\";\n\n// Removed Props List\n// Seems this can be auto\n// getDocument?: (element?: HTMLElement) => Document;\n\n// New version will not wrap popup with `rc-trigger-popup-content` when multiple children\n\nexport function generateTrigger() {\n var PortalComponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Portal;\n var Trigger = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-trigger-popup' : _props$prefixCls,\n children = props.children,\n _props$action = props.action,\n action = _props$action === void 0 ? 'hover' : _props$action,\n showAction = props.showAction,\n hideAction = props.hideAction,\n popupVisible = props.popupVisible,\n defaultPopupVisible = props.defaultPopupVisible,\n onPopupVisibleChange = props.onPopupVisibleChange,\n afterPopupVisibleChange = props.afterPopupVisibleChange,\n mouseEnterDelay = props.mouseEnterDelay,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n focusDelay = props.focusDelay,\n blurDelay = props.blurDelay,\n mask = props.mask,\n _props$maskClosable = props.maskClosable,\n maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable,\n getPopupContainer = props.getPopupContainer,\n forceRender = props.forceRender,\n autoDestroy = props.autoDestroy,\n destroyPopupOnHide = props.destroyPopupOnHide,\n popup = props.popup,\n popupClassName = props.popupClassName,\n popupStyle = props.popupStyle,\n popupPlacement = props.popupPlacement,\n _props$builtinPlaceme = props.builtinPlacements,\n builtinPlacements = _props$builtinPlaceme === void 0 ? {} : _props$builtinPlaceme,\n popupAlign = props.popupAlign,\n zIndex = props.zIndex,\n stretch = props.stretch,\n getPopupClassNameFromAlign = props.getPopupClassNameFromAlign,\n fresh = props.fresh,\n alignPoint = props.alignPoint,\n onPopupClick = props.onPopupClick,\n onPopupAlign = props.onPopupAlign,\n arrow = props.arrow,\n popupMotion = props.popupMotion,\n maskMotion = props.maskMotion,\n popupTransitionName = props.popupTransitionName,\n popupAnimation = props.popupAnimation,\n maskTransitionName = props.maskTransitionName,\n maskAnimation = props.maskAnimation,\n className = props.className,\n getTriggerDOMNode = props.getTriggerDOMNode,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedAutoDestroy = autoDestroy || destroyPopupOnHide || false;\n\n // =========================== Mobile ===========================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mobile = _React$useState2[0],\n setMobile = _React$useState2[1];\n useLayoutEffect(function () {\n setMobile(isMobile());\n }, []);\n\n // ========================== Context ===========================\n var subPopupElements = React.useRef({});\n var parentContext = React.useContext(TriggerContext);\n var context = React.useMemo(function () {\n return {\n registerSubPopup: function registerSubPopup(id, subPopupEle) {\n subPopupElements.current[id] = subPopupEle;\n parentContext === null || parentContext === void 0 || parentContext.registerSubPopup(id, subPopupEle);\n }\n };\n }, [parentContext]);\n\n // =========================== Popup ============================\n var id = useId();\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n popupEle = _React$useState4[0],\n setPopupEle = _React$useState4[1];\n var setPopupRef = useEvent(function (node) {\n if (isDOM(node) && popupEle !== node) {\n setPopupEle(node);\n }\n parentContext === null || parentContext === void 0 || parentContext.registerSubPopup(id, node);\n });\n\n // =========================== Target ===========================\n // Use state to control here since `useRef` update not trigger render\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n targetEle = _React$useState6[0],\n setTargetEle = _React$useState6[1];\n\n // Used for forwardRef target. Not use internal\n var externalForwardRef = React.useRef(null);\n var setTargetRef = useEvent(function (node) {\n if (isDOM(node) && targetEle !== node) {\n setTargetEle(node);\n externalForwardRef.current = node;\n }\n });\n\n // ========================== Children ==========================\n var child = React.Children.only(children);\n var originChildProps = (child === null || child === void 0 ? void 0 : child.props) || {};\n var cloneProps = {};\n var inPopupOrChild = useEvent(function (ele) {\n var _getShadowRoot, _getShadowRoot2;\n var childDOM = targetEle;\n return (childDOM === null || childDOM === void 0 ? void 0 : childDOM.contains(ele)) || ((_getShadowRoot = getShadowRoot(childDOM)) === null || _getShadowRoot === void 0 ? void 0 : _getShadowRoot.host) === ele || ele === childDOM || (popupEle === null || popupEle === void 0 ? void 0 : popupEle.contains(ele)) || ((_getShadowRoot2 = getShadowRoot(popupEle)) === null || _getShadowRoot2 === void 0 ? void 0 : _getShadowRoot2.host) === ele || ele === popupEle || Object.values(subPopupElements.current).some(function (subPopupEle) {\n return (subPopupEle === null || subPopupEle === void 0 ? void 0 : subPopupEle.contains(ele)) || ele === subPopupEle;\n });\n });\n\n // =========================== Motion ===========================\n var mergePopupMotion = getMotion(prefixCls, popupMotion, popupAnimation, popupTransitionName);\n var mergeMaskMotion = getMotion(prefixCls, maskMotion, maskAnimation, maskTransitionName);\n\n // ============================ Open ============================\n var _React$useState7 = React.useState(defaultPopupVisible || false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n internalOpen = _React$useState8[0],\n setInternalOpen = _React$useState8[1];\n\n // Render still use props as first priority\n var mergedOpen = popupVisible !== null && popupVisible !== void 0 ? popupVisible : internalOpen;\n\n // We use effect sync here in case `popupVisible` back to `undefined`\n var setMergedOpen = useEvent(function (nextOpen) {\n if (popupVisible === undefined) {\n setInternalOpen(nextOpen);\n }\n });\n useLayoutEffect(function () {\n setInternalOpen(popupVisible || false);\n }, [popupVisible]);\n var openRef = React.useRef(mergedOpen);\n openRef.current = mergedOpen;\n var lastTriggerRef = React.useRef([]);\n lastTriggerRef.current = [];\n var internalTriggerOpen = useEvent(function (nextOpen) {\n var _lastTriggerRef$curre;\n setMergedOpen(nextOpen);\n\n // Enter or Pointer will both trigger open state change\n // We only need take one to avoid duplicated change event trigger\n // Use `lastTriggerRef` to record last open type\n if (((_lastTriggerRef$curre = lastTriggerRef.current[lastTriggerRef.current.length - 1]) !== null && _lastTriggerRef$curre !== void 0 ? _lastTriggerRef$curre : mergedOpen) !== nextOpen) {\n lastTriggerRef.current.push(nextOpen);\n onPopupVisibleChange === null || onPopupVisibleChange === void 0 || onPopupVisibleChange(nextOpen);\n }\n });\n\n // Trigger for delay\n var delayRef = React.useRef();\n var clearDelay = function clearDelay() {\n clearTimeout(delayRef.current);\n };\n var triggerOpen = function triggerOpen(nextOpen) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n clearDelay();\n if (delay === 0) {\n internalTriggerOpen(nextOpen);\n } else {\n delayRef.current = setTimeout(function () {\n internalTriggerOpen(nextOpen);\n }, delay * 1000);\n }\n };\n React.useEffect(function () {\n return clearDelay;\n }, []);\n\n // ========================== Motion ============================\n var _React$useState9 = React.useState(false),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n inMotion = _React$useState10[0],\n setInMotion = _React$useState10[1];\n useLayoutEffect(function (firstMount) {\n if (!firstMount || mergedOpen) {\n setInMotion(true);\n }\n }, [mergedOpen]);\n var _React$useState11 = React.useState(null),\n _React$useState12 = _slicedToArray(_React$useState11, 2),\n motionPrepareResolve = _React$useState12[0],\n setMotionPrepareResolve = _React$useState12[1];\n\n // =========================== Align ============================\n var _React$useState13 = React.useState([0, 0]),\n _React$useState14 = _slicedToArray(_React$useState13, 2),\n mousePos = _React$useState14[0],\n setMousePos = _React$useState14[1];\n var setMousePosByEvent = function setMousePosByEvent(event) {\n setMousePos([event.clientX, event.clientY]);\n };\n var _useAlign = useAlign(mergedOpen, popupEle, alignPoint ? mousePos : targetEle, popupPlacement, builtinPlacements, popupAlign, onPopupAlign),\n _useAlign2 = _slicedToArray(_useAlign, 11),\n ready = _useAlign2[0],\n offsetX = _useAlign2[1],\n offsetY = _useAlign2[2],\n offsetR = _useAlign2[3],\n offsetB = _useAlign2[4],\n arrowX = _useAlign2[5],\n arrowY = _useAlign2[6],\n scaleX = _useAlign2[7],\n scaleY = _useAlign2[8],\n alignInfo = _useAlign2[9],\n onAlign = _useAlign2[10];\n var _useAction = useAction(mobile, action, showAction, hideAction),\n _useAction2 = _slicedToArray(_useAction, 2),\n showActions = _useAction2[0],\n hideActions = _useAction2[1];\n var clickToShow = showActions.has('click');\n var clickToHide = hideActions.has('click') || hideActions.has('contextMenu');\n var triggerAlign = useEvent(function () {\n if (!inMotion) {\n onAlign();\n }\n });\n var onScroll = function onScroll() {\n if (openRef.current && alignPoint && clickToHide) {\n triggerOpen(false);\n }\n };\n useWatch(mergedOpen, targetEle, popupEle, triggerAlign, onScroll);\n useLayoutEffect(function () {\n triggerAlign();\n }, [mousePos, popupPlacement]);\n\n // When no builtinPlacements and popupAlign changed\n useLayoutEffect(function () {\n if (mergedOpen && !(builtinPlacements !== null && builtinPlacements !== void 0 && builtinPlacements[popupPlacement])) {\n triggerAlign();\n }\n }, [JSON.stringify(popupAlign)]);\n var alignedClassName = React.useMemo(function () {\n var baseClassName = getAlignPopupClassName(builtinPlacements, prefixCls, alignInfo, alignPoint);\n return classNames(baseClassName, getPopupClassNameFromAlign === null || getPopupClassNameFromAlign === void 0 ? void 0 : getPopupClassNameFromAlign(alignInfo));\n }, [alignInfo, getPopupClassNameFromAlign, builtinPlacements, prefixCls, alignPoint]);\n\n // ============================ Refs ============================\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: externalForwardRef.current,\n forceAlign: triggerAlign\n };\n });\n\n // ========================== Stretch ===========================\n var _React$useState15 = React.useState(0),\n _React$useState16 = _slicedToArray(_React$useState15, 2),\n targetWidth = _React$useState16[0],\n setTargetWidth = _React$useState16[1];\n var _React$useState17 = React.useState(0),\n _React$useState18 = _slicedToArray(_React$useState17, 2),\n targetHeight = _React$useState18[0],\n setTargetHeight = _React$useState18[1];\n var syncTargetSize = function syncTargetSize() {\n if (stretch && targetEle) {\n var rect = targetEle.getBoundingClientRect();\n setTargetWidth(rect.width);\n setTargetHeight(rect.height);\n }\n };\n var onTargetResize = function onTargetResize() {\n syncTargetSize();\n triggerAlign();\n };\n\n // ========================== Motion ============================\n var onVisibleChanged = function onVisibleChanged(visible) {\n setInMotion(false);\n onAlign();\n afterPopupVisibleChange === null || afterPopupVisibleChange === void 0 || afterPopupVisibleChange(visible);\n };\n\n // We will trigger align when motion is in prepare\n var onPrepare = function onPrepare() {\n return new Promise(function (resolve) {\n syncTargetSize();\n setMotionPrepareResolve(function () {\n return resolve;\n });\n });\n };\n useLayoutEffect(function () {\n if (motionPrepareResolve) {\n onAlign();\n motionPrepareResolve();\n setMotionPrepareResolve(null);\n }\n }, [motionPrepareResolve]);\n\n // =========================== Action ===========================\n /**\n * Util wrapper for trigger action\n */\n function wrapperAction(eventName, nextOpen, delay, preEvent) {\n cloneProps[eventName] = function (event) {\n var _originChildProps$eve;\n preEvent === null || preEvent === void 0 || preEvent(event);\n triggerOpen(nextOpen, delay);\n\n // Pass to origin\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n (_originChildProps$eve = originChildProps[eventName]) === null || _originChildProps$eve === void 0 || _originChildProps$eve.call.apply(_originChildProps$eve, [originChildProps, event].concat(args));\n };\n }\n\n // ======================= Action: Click ========================\n if (clickToShow || clickToHide) {\n cloneProps.onClick = function (event) {\n var _originChildProps$onC;\n if (openRef.current && clickToHide) {\n triggerOpen(false);\n } else if (!openRef.current && clickToShow) {\n setMousePosByEvent(event);\n triggerOpen(true);\n }\n\n // Pass to origin\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n (_originChildProps$onC = originChildProps.onClick) === null || _originChildProps$onC === void 0 || _originChildProps$onC.call.apply(_originChildProps$onC, [originChildProps, event].concat(args));\n };\n }\n\n // Click to hide is special action since click popup element should not hide\n useWinClick(mergedOpen, clickToHide, targetEle, popupEle, mask, maskClosable, inPopupOrChild, triggerOpen);\n\n // ======================= Action: Hover ========================\n var hoverToShow = showActions.has('hover');\n var hoverToHide = hideActions.has('hover');\n var onPopupMouseEnter;\n var onPopupMouseLeave;\n if (hoverToShow) {\n // Compatible with old browser which not support pointer event\n wrapperAction('onMouseEnter', true, mouseEnterDelay, function (event) {\n setMousePosByEvent(event);\n });\n wrapperAction('onPointerEnter', true, mouseEnterDelay, function (event) {\n setMousePosByEvent(event);\n });\n onPopupMouseEnter = function onPopupMouseEnter(event) {\n // Only trigger re-open when popup is visible\n if ((mergedOpen || inMotion) && popupEle !== null && popupEle !== void 0 && popupEle.contains(event.target)) {\n triggerOpen(true, mouseEnterDelay);\n }\n };\n\n // Align Point\n if (alignPoint) {\n cloneProps.onMouseMove = function (event) {\n var _originChildProps$onM;\n // setMousePosByEvent(event);\n (_originChildProps$onM = originChildProps.onMouseMove) === null || _originChildProps$onM === void 0 || _originChildProps$onM.call(originChildProps, event);\n };\n }\n }\n if (hoverToHide) {\n wrapperAction('onMouseLeave', false, mouseLeaveDelay);\n wrapperAction('onPointerLeave', false, mouseLeaveDelay);\n onPopupMouseLeave = function onPopupMouseLeave() {\n triggerOpen(false, mouseLeaveDelay);\n };\n }\n\n // ======================= Action: Focus ========================\n if (showActions.has('focus')) {\n wrapperAction('onFocus', true, focusDelay);\n }\n if (hideActions.has('focus')) {\n wrapperAction('onBlur', false, blurDelay);\n }\n\n // ==================== Action: ContextMenu =====================\n if (showActions.has('contextMenu')) {\n cloneProps.onContextMenu = function (event) {\n var _originChildProps$onC2;\n if (openRef.current && hideActions.has('contextMenu')) {\n triggerOpen(false);\n } else {\n setMousePosByEvent(event);\n triggerOpen(true);\n }\n event.preventDefault();\n\n // Pass to origin\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n (_originChildProps$onC2 = originChildProps.onContextMenu) === null || _originChildProps$onC2 === void 0 || _originChildProps$onC2.call.apply(_originChildProps$onC2, [originChildProps, event].concat(args));\n };\n }\n\n // ========================= ClassName ==========================\n if (className) {\n cloneProps.className = classNames(originChildProps.className, className);\n }\n\n // =========================== Render ===========================\n var mergedChildrenProps = _objectSpread(_objectSpread({}, originChildProps), cloneProps);\n\n // Pass props into cloneProps for nest usage\n var passedProps = {};\n var passedEventList = ['onContextMenu', 'onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur'];\n passedEventList.forEach(function (eventName) {\n if (restProps[eventName]) {\n passedProps[eventName] = function () {\n var _mergedChildrenProps$;\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n (_mergedChildrenProps$ = mergedChildrenProps[eventName]) === null || _mergedChildrenProps$ === void 0 || _mergedChildrenProps$.call.apply(_mergedChildrenProps$, [mergedChildrenProps].concat(args));\n restProps[eventName].apply(restProps, args);\n };\n }\n });\n\n // Child Node\n var triggerNode = /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({}, mergedChildrenProps), passedProps));\n var arrowPos = {\n x: arrowX,\n y: arrowY\n };\n var innerArrow = arrow ? _objectSpread({}, arrow !== true ? arrow : {}) : null;\n\n // Render\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ResizeObserver, {\n disabled: !mergedOpen,\n ref: setTargetRef,\n onResize: onTargetResize\n }, /*#__PURE__*/React.createElement(TriggerWrapper, {\n getTriggerDOMNode: getTriggerDOMNode\n }, triggerNode)), /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Popup, {\n portal: PortalComponent,\n ref: setPopupRef,\n prefixCls: prefixCls,\n popup: popup,\n className: classNames(popupClassName, alignedClassName),\n style: popupStyle,\n target: targetEle,\n onMouseEnter: onPopupMouseEnter,\n onMouseLeave: onPopupMouseLeave\n // https://github.com/ant-design/ant-design/issues/43924\n ,\n onPointerEnter: onPopupMouseEnter,\n zIndex: zIndex\n // Open\n ,\n open: mergedOpen,\n keepDom: inMotion,\n fresh: fresh\n // Click\n ,\n onClick: onPopupClick\n // Mask\n ,\n mask: mask\n // Motion\n ,\n motion: mergePopupMotion,\n maskMotion: mergeMaskMotion,\n onVisibleChanged: onVisibleChanged,\n onPrepare: onPrepare\n // Portal\n ,\n forceRender: forceRender,\n autoDestroy: mergedAutoDestroy,\n getPopupContainer: getPopupContainer\n // Arrow\n ,\n align: alignInfo,\n arrow: innerArrow,\n arrowPos: arrowPos\n // Align\n ,\n ready: ready,\n offsetX: offsetX,\n offsetY: offsetY,\n offsetR: offsetR,\n offsetB: offsetB,\n onAlign: triggerAlign\n // Stretch\n ,\n stretch: stretch,\n targetWidth: targetWidth / scaleX,\n targetHeight: targetHeight / scaleY\n })));\n });\n if (process.env.NODE_ENV !== 'production') {\n Trigger.displayName = 'Trigger';\n }\n return Trigger;\n}\nexport default generateTrigger(Portal);","export default (function () {\n if (typeof navigator === 'undefined' || typeof window === 'undefined') {\n return false;\n }\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n return /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(agent === null || agent === void 0 ? void 0 : agent.substr(0, 4));\n});","import _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 _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Trigger from '@rc-component/trigger';\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\nfunction PickerTrigger(_ref) {\n var prefixCls = _ref.prefixCls,\n popupElement = _ref.popupElement,\n popupStyle = _ref.popupStyle,\n visible = _ref.visible,\n dropdownClassName = _ref.dropdownClassName,\n dropdownAlign = _ref.dropdownAlign,\n transitionName = _ref.transitionName,\n getPopupContainer = _ref.getPopupContainer,\n children = _ref.children,\n range = _ref.range,\n popupPlacement = _ref.popupPlacement,\n direction = _ref.direction;\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n var getPopupPlacement = function getPopupPlacement() {\n if (popupPlacement !== undefined) {\n return popupPlacement;\n }\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n };\n return /*#__PURE__*/React.createElement(Trigger, {\n showAction: [],\n hideAction: [],\n popupPlacement: getPopupPlacement(),\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: transitionName,\n popup: popupElement,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n popupClassName: classNames(dropdownClassName, _defineProperty(_defineProperty({}, \"\".concat(dropdownPrefixCls, \"-range\"), range), \"\".concat(dropdownPrefixCls, \"-rtl\"), direction === 'rtl')),\n popupStyle: popupStyle,\n getPopupContainer: getPopupContainer\n }, children);\n}\nexport default PickerTrigger;","import * as React from 'react';\nimport { executeValue } from \"./utils/miscUtil\";\nexport default function PresetPanel(props) {\n var prefixCls = props.prefixCls,\n presets = props.presets,\n _onClick = props.onClick,\n onHover = props.onHover;\n if (!presets.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-presets\")\n }, /*#__PURE__*/React.createElement(\"ul\", null, presets.map(function (_ref, index) {\n var label = _ref.label,\n value = _ref.value;\n return /*#__PURE__*/React.createElement(\"li\", {\n key: index,\n onClick: function onClick() {\n return _onClick === null || _onClick === void 0 ? void 0 : _onClick(executeValue(value));\n },\n onMouseEnter: function onMouseEnter() {\n return onHover === null || onHover === void 0 ? void 0 : onHover(executeValue(value));\n },\n onMouseLeave: function onMouseLeave() {\n return onHover === null || onHover === void 0 ? void 0 : onHover(null);\n }\n }, label);\n })));\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport React from \"react\";\nexport function getClearIcon(prefixCls, allowClear, clearIcon) {\n var mergedClearIcon = _typeof(allowClear) === \"object\" ? allowClear.clearIcon : clearIcon;\n return mergedClearIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-clear-btn\")\n });\n}","import _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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/**\n * Removed:\n * - getCalendarContainer: use `getPopupContainer` instead\n * - onOk\n *\n * New Feature:\n * - picker\n * - allowEmpty\n * - selectable\n *\n * Tips: Should add faq about `datetime` mode with `defaultValue`\n */\n\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\nimport useHoverValue from \"./hooks/useHoverValue\";\nimport usePickerInput from \"./hooks/usePickerInput\";\nimport usePresets from \"./hooks/usePresets\";\nimport useTextValueMapping from \"./hooks/useTextValueMapping\";\nimport useValueTexts from \"./hooks/useValueTexts\";\nimport PanelContext from \"./PanelContext\";\nimport PickerPanel from \"./PickerPanel\";\nimport PickerTrigger from \"./PickerTrigger\";\nimport PresetPanel from \"./PresetPanel\";\nimport { formatValue, isEqual, parseValue } from \"./utils/dateUtil\";\nimport { toArray } from \"./utils/miscUtil\";\nimport { elementsContains, getDefaultFormat, getInputSize } from \"./utils/uiUtil\";\nimport { legacyPropsWarning } from \"./utils/warnUtil\";\nimport { getClearIcon } from \"./utils/getClearIcon\";\n\n// TMP type to fit for ts 3.9.2\n\nfunction InnerPicker(props) {\n var _ref = props,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-picker' : _ref$prefixCls,\n id = _ref.id,\n name = _ref.name,\n tabIndex = _ref.tabIndex,\n style = _ref.style,\n className = _ref.className,\n dropdownClassName = _ref.dropdownClassName,\n dropdownAlign = _ref.dropdownAlign,\n popupStyle = _ref.popupStyle,\n transitionName = _ref.transitionName,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale,\n inputReadOnly = _ref.inputReadOnly,\n allowClear = _ref.allowClear,\n autoFocus = _ref.autoFocus,\n showTime = _ref.showTime,\n _ref$picker = _ref.picker,\n picker = _ref$picker === void 0 ? 'date' : _ref$picker,\n format = _ref.format,\n use12Hours = _ref.use12Hours,\n value = _ref.value,\n defaultValue = _ref.defaultValue,\n presets = _ref.presets,\n open = _ref.open,\n defaultOpen = _ref.defaultOpen,\n defaultOpenValue = _ref.defaultOpenValue,\n suffixIcon = _ref.suffixIcon,\n clearIcon = _ref.clearIcon,\n disabled = _ref.disabled,\n disabledDate = _ref.disabledDate,\n placeholder = _ref.placeholder,\n getPopupContainer = _ref.getPopupContainer,\n pickerRef = _ref.pickerRef,\n panelRender = _ref.panelRender,\n onChange = _ref.onChange,\n onOpenChange = _ref.onOpenChange,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onMouseDown = _ref.onMouseDown,\n onMouseUp = _ref.onMouseUp,\n onMouseEnter = _ref.onMouseEnter,\n onMouseLeave = _ref.onMouseLeave,\n onContextMenu = _ref.onContextMenu,\n onClick = _ref.onClick,\n _onKeyDown = _ref.onKeyDown,\n _onSelect = _ref.onSelect,\n direction = _ref.direction,\n _ref$autoComplete = _ref.autoComplete,\n autoComplete = _ref$autoComplete === void 0 ? 'off' : _ref$autoComplete,\n inputRender = _ref.inputRender,\n changeOnBlur = _ref.changeOnBlur;\n var inputRef = React.useRef(null);\n var isMouseDownRef = React.useRef(false);\n var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';\n var presetList = usePresets(presets);\n\n // ============================ Warning ============================\n if (process.env.NODE_ENV !== 'production') {\n legacyPropsWarning(props);\n }\n\n // ============================= State =============================\n var formatList = toArray(getDefaultFormat(format, picker, showTime, use12Hours));\n\n // Panel ref\n var panelDivRef = React.useRef(null);\n var inputDivRef = React.useRef(null);\n var containerRef = React.useRef(null);\n\n // Real value\n var _useMergedState = useMergedState(null, {\n value: value,\n defaultValue: defaultValue\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setInnerValue = _useMergedState2[1];\n\n // Selected value\n var _React$useState = React.useState(mergedValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n selectedValue = _React$useState2[0],\n setSelectedValue = _React$useState2[1];\n\n // Operation ref\n var operationRef = React.useRef(null);\n\n // Open\n var _useMergedState3 = useMergedState(false, {\n value: open,\n defaultValue: defaultOpen,\n postState: function postState(postOpen) {\n return disabled ? false : postOpen;\n },\n onChange: function onChange(newOpen) {\n if (onOpenChange) {\n onOpenChange(newOpen);\n }\n if (!newOpen && operationRef.current && operationRef.current.onClose) {\n operationRef.current.onClose();\n }\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedOpen = _useMergedState4[0],\n triggerInnerOpen = _useMergedState4[1];\n\n // ============================= Text ==============================\n var _useValueTexts = useValueTexts(selectedValue, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useValueTexts2 = _slicedToArray(_useValueTexts, 2),\n valueTexts = _useValueTexts2[0],\n firstValueText = _useValueTexts2[1];\n var _useTextValueMapping = useTextValueMapping({\n valueTexts: valueTexts,\n onTextChange: function onTextChange(newText) {\n var inputDate = parseValue(newText, {\n locale: locale,\n formatList: formatList,\n generateConfig: generateConfig\n });\n if (inputDate && (!disabledDate || !disabledDate(inputDate))) {\n setSelectedValue(inputDate);\n }\n }\n }),\n _useTextValueMapping2 = _slicedToArray(_useTextValueMapping, 3),\n text = _useTextValueMapping2[0],\n triggerTextChange = _useTextValueMapping2[1],\n resetText = _useTextValueMapping2[2];\n\n // ============================ Trigger ============================\n var triggerChange = function triggerChange(newValue) {\n setSelectedValue(newValue);\n setInnerValue(newValue);\n if (onChange && !isEqual(generateConfig, mergedValue, newValue)) {\n onChange(newValue, newValue ? formatValue(newValue, {\n generateConfig: generateConfig,\n locale: locale,\n format: formatList[0]\n }) : '');\n }\n };\n var triggerOpen = function triggerOpen(newOpen) {\n if (disabled && newOpen) {\n return;\n }\n triggerInnerOpen(newOpen);\n };\n var forwardKeyDown = function forwardKeyDown(e) {\n if (mergedOpen && operationRef.current && operationRef.current.onKeyDown) {\n // Let popup panel handle keyboard\n return operationRef.current.onKeyDown(e);\n }\n\n /* istanbul ignore next */\n /* eslint-disable no-lone-blocks */\n {\n warning(false, 'Picker not correct forward KeyDown operation. Please help to fire issue about this.');\n return false;\n }\n };\n var onInternalClick = function onInternalClick() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n onClick === null || onClick === void 0 || onClick.apply(void 0, args);\n if (inputRef.current) {\n inputRef.current.focus();\n triggerOpen(true);\n }\n };\n\n // ============================= Input =============================\n var onInternalBlur = function onInternalBlur(e) {\n if (changeOnBlur) {\n triggerChange(selectedValue);\n }\n onBlur === null || onBlur === void 0 || onBlur(e);\n };\n var _usePickerInput = usePickerInput({\n blurToCancel: needConfirmButton,\n changeOnBlur: changeOnBlur,\n open: mergedOpen,\n value: text,\n triggerOpen: triggerOpen,\n forwardKeyDown: forwardKeyDown,\n isClickOutside: function isClickOutside(target) {\n return !elementsContains([panelDivRef.current, inputDivRef.current, containerRef.current], target);\n },\n onSubmit: function onSubmit() {\n if (\n // When user typing disabledDate with keyboard and enter, this value will be empty\n !selectedValue ||\n // Normal disabled check\n disabledDate && disabledDate(selectedValue)) {\n return false;\n }\n triggerChange(selectedValue);\n triggerOpen(false);\n resetText();\n return true;\n },\n onCancel: function onCancel() {\n triggerOpen(false);\n setSelectedValue(mergedValue);\n resetText();\n },\n onKeyDown: function onKeyDown(e, preventDefault) {\n _onKeyDown === null || _onKeyDown === void 0 || _onKeyDown(e, preventDefault);\n },\n onFocus: onFocus,\n onBlur: onInternalBlur\n }),\n _usePickerInput2 = _slicedToArray(_usePickerInput, 2),\n inputProps = _usePickerInput2[0],\n _usePickerInput2$ = _usePickerInput2[1],\n focused = _usePickerInput2$.focused,\n typing = _usePickerInput2$.typing;\n\n // ============================= Sync ==============================\n // Close should sync back with text value\n React.useEffect(function () {\n if (!mergedOpen) {\n setSelectedValue(mergedValue);\n if (!valueTexts.length || valueTexts[0] === '') {\n triggerTextChange('');\n } else if (firstValueText !== text) {\n resetText();\n }\n }\n }, [mergedOpen, valueTexts]);\n\n // Change picker should sync back with text value\n React.useEffect(function () {\n if (!mergedOpen) {\n resetText();\n }\n }, [picker]);\n\n // Sync innerValue with control mode\n React.useEffect(function () {\n // Sync select value\n setSelectedValue(mergedValue);\n }, [mergedValue]);\n\n // ============================ Private ============================\n if (pickerRef) {\n pickerRef.current = {\n focus: function focus() {\n var _inputRef$current;\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();\n },\n blur: function blur() {\n var _inputRef$current2;\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.blur();\n }\n };\n }\n var _useHoverValue = useHoverValue(text, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useHoverValue2 = _slicedToArray(_useHoverValue, 3),\n hoverValue = _useHoverValue2[0],\n onEnter = _useHoverValue2[1],\n onLeave = _useHoverValue2[2];\n\n // ============================= Panel =============================\n var panelProps = _objectSpread(_objectSpread({}, props), {}, {\n className: undefined,\n style: undefined,\n pickerValue: undefined,\n onPickerValueChange: undefined,\n onChange: null\n });\n var panelNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-layout\")\n }, /*#__PURE__*/React.createElement(PresetPanel, {\n prefixCls: prefixCls,\n presets: presetList,\n onClick: function onClick(nextValue) {\n triggerChange(nextValue);\n triggerOpen(false);\n }\n }), /*#__PURE__*/React.createElement(PickerPanel, _extends({}, panelProps, {\n generateConfig: generateConfig,\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-panel-focused\"), !typing)),\n value: selectedValue,\n locale: locale,\n tabIndex: -1,\n onSelect: function onSelect(date) {\n _onSelect === null || _onSelect === void 0 || _onSelect(date);\n setSelectedValue(date);\n },\n direction: direction,\n onPanelChange: function onPanelChange(viewDate, mode) {\n var onPanelChange = props.onPanelChange;\n onLeave(true);\n onPanelChange === null || onPanelChange === void 0 || onPanelChange(viewDate, mode);\n }\n })));\n if (panelRender) {\n panelNode = panelRender(panelNode);\n }\n var panel = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-container\"),\n ref: panelDivRef,\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n }\n }, panelNode);\n var suffixNode;\n if (suffixIcon) {\n suffixNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\"),\n onMouseDown: function onMouseDown(e) {\n // Not lost focus\n e.preventDefault();\n }\n }, suffixIcon);\n }\n\n // ============================ Clear ============================\n if (process.env.NODE_ENV !== 'production') {\n warning(!props.clearIcon, '`clearIcon` will be removed in future. Please use `allowClear` instead.');\n }\n var mergedClearIcon = getClearIcon(prefixCls, allowClear, clearIcon);\n var clearNode = /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: function onMouseDown(e) {\n isMouseDownRef.current = true;\n e.preventDefault();\n e.stopPropagation();\n },\n onMouseUp: function onMouseUp(e) {\n if (isMouseDownRef.current) {\n isMouseDownRef.current = false;\n e.preventDefault();\n e.stopPropagation();\n triggerChange(null);\n triggerOpen(false);\n }\n },\n className: \"\".concat(prefixCls, \"-clear\"),\n role: \"button\"\n }, mergedClearIcon);\n var mergedAllowClear = !!allowClear && mergedValue && !disabled;\n var mergedInputProps = _objectSpread(_objectSpread(_objectSpread({\n id: id,\n tabIndex: tabIndex,\n disabled: disabled,\n readOnly: inputReadOnly || typeof formatList[0] === 'function' || !typing,\n value: hoverValue || text,\n onChange: function onChange(e) {\n triggerTextChange(e.target.value);\n },\n autoFocus: autoFocus,\n placeholder: placeholder,\n ref: inputRef,\n title: text\n }, inputProps), {}, {\n size: getInputSize(picker, formatList[0], generateConfig),\n name: name\n }, pickAttrs(props, {\n aria: true,\n data: true\n })), {}, {\n autoComplete: autoComplete\n });\n var inputNode = inputRender ? inputRender(mergedInputProps) : /*#__PURE__*/React.createElement(\"input\", mergedInputProps);\n\n // ============================ Warning ============================\n if (process.env.NODE_ENV !== 'production') {\n warning(!defaultOpenValue, '`defaultOpenValue` may confuse user for the current value status. Please use `defaultValue` instead.');\n }\n\n // ============================ Return =============================\n var onContextSelect = function onContextSelect(date, type) {\n if (type === 'submit' || type !== 'key' && !needConfirmButton) {\n // triggerChange will also update selected values\n triggerChange(date);\n triggerOpen(false);\n }\n };\n var popupPlacement = direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n return /*#__PURE__*/React.createElement(PanelContext.Provider, {\n value: {\n operationRef: operationRef,\n hideHeader: picker === 'time',\n onSelect: onContextSelect,\n open: mergedOpen,\n defaultOpenValue: defaultOpenValue,\n onDateMouseEnter: onEnter,\n onDateMouseLeave: onLeave\n }\n }, /*#__PURE__*/React.createElement(PickerTrigger, {\n visible: mergedOpen,\n popupElement: panel,\n popupStyle: popupStyle,\n prefixCls: prefixCls,\n dropdownClassName: dropdownClassName,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n transitionName: transitionName,\n popupPlacement: popupPlacement,\n direction: direction\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: containerRef,\n className: classNames(prefixCls, className, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), \"\".concat(prefixCls, \"-focused\"), focused), \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl')),\n style: style,\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onContextMenu: onContextMenu,\n onClick: onInternalClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), _defineProperty({}, \"\".concat(prefixCls, \"-input-placeholder\"), !!hoverValue)),\n ref: inputDivRef\n }, inputNode, suffixNode, mergedAllowClear && clearNode))));\n}\n\n// Wrap with class component to enable pass generic with instance method\nvar Picker = /*#__PURE__*/function (_React$Component) {\n _inherits(Picker, _React$Component);\n var _super = _createSuper(Picker);\n function Picker() {\n var _this;\n _classCallCheck(this, Picker);\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"pickerRef\", /*#__PURE__*/React.createRef());\n _defineProperty(_assertThisInitialized(_this), \"focus\", function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"blur\", function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n });\n return _this;\n }\n _createClass(Picker, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(InnerPicker, _extends({}, this.props, {\n pickerRef: this.pickerRef\n }));\n }\n }]);\n return Picker;\n}(React.Component);\nexport default Picker;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { getValue, updateValues } from \"../utils/miscUtil\";\nimport { getClosingViewDate, isSameYear, isSameMonth, isSameDecade } from \"../utils/dateUtil\";\nfunction getStartEndDistance(startDate, endDate, picker, generateConfig) {\n var startNext = getClosingViewDate(startDate, picker, generateConfig, 1);\n function getDistance(compareFunc) {\n if (compareFunc(startDate, endDate)) {\n return 'same';\n }\n if (compareFunc(startNext, endDate)) {\n return 'closing';\n }\n return 'far';\n }\n switch (picker) {\n case 'year':\n return getDistance(function (start, end) {\n return isSameDecade(generateConfig, start, end);\n });\n case 'quarter':\n case 'month':\n return getDistance(function (start, end) {\n return isSameYear(generateConfig, start, end);\n });\n default:\n return getDistance(function (start, end) {\n return isSameMonth(generateConfig, start, end);\n });\n }\n}\nfunction getRangeViewDate(values, index, picker, generateConfig) {\n var startDate = getValue(values, 0);\n var endDate = getValue(values, 1);\n if (index === 0) {\n return startDate;\n }\n if (startDate && endDate) {\n var distance = getStartEndDistance(startDate, endDate, picker, generateConfig);\n switch (distance) {\n case 'same':\n return startDate;\n case 'closing':\n return startDate;\n default:\n return getClosingViewDate(endDate, picker, generateConfig, -1);\n }\n }\n return startDate;\n}\nexport default function useRangeViewDates(_ref) {\n var values = _ref.values,\n picker = _ref.picker,\n defaultDates = _ref.defaultDates,\n generateConfig = _ref.generateConfig;\n var _React$useState = React.useState(function () {\n return [getValue(defaultDates, 0), getValue(defaultDates, 1)];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n defaultViewDates = _React$useState2[0],\n setDefaultViewDates = _React$useState2[1];\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n viewDates = _React$useState4[0],\n setInternalViewDates = _React$useState4[1];\n var startDate = getValue(values, 0);\n var endDate = getValue(values, 1);\n function getViewDate(index) {\n // If set default view date, use it\n if (defaultViewDates[index]) {\n return defaultViewDates[index];\n }\n return getValue(viewDates, index) || getRangeViewDate(values, index, picker, generateConfig) || startDate || endDate || generateConfig.getNow();\n }\n function setViewDate(viewDate, index) {\n if (viewDate) {\n var newViewDates = updateValues(viewDates, viewDate, index);\n // Set view date will clean up default one\n setDefaultViewDates(\n // Should always be an array\n updateValues(defaultViewDates, null, index) || [null, null]);\n\n // Reset another one when not have value\n var anotherIndex = (index + 1) % 2;\n if (!getValue(values, anotherIndex)) {\n newViewDates = updateValues(newViewDates, viewDate, anotherIndex);\n }\n setInternalViewDates(newViewDates);\n } else if (startDate || endDate) {\n // Reset all when has values when `viewDate` is `null` which means from open trigger\n setInternalViewDates(null);\n }\n }\n return [getViewDate, setViewDate];\n}","import _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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport raf from \"rc-util/es/raf\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport { useCellRender } from \"./hooks/useCellRender\";\nimport useHoverValue from \"./hooks/useHoverValue\";\nimport usePickerInput from \"./hooks/usePickerInput\";\nimport usePresets from \"./hooks/usePresets\";\nimport useRangeDisabled from \"./hooks/useRangeDisabled\";\nimport useRangeOpen from \"./hooks/useRangeOpen\";\nimport useRangeViewDates from \"./hooks/useRangeViewDates\";\nimport useTextValueMapping from \"./hooks/useTextValueMapping\";\nimport useValueTexts from \"./hooks/useValueTexts\";\nimport PanelContext from \"./PanelContext\";\nimport PickerPanel from \"./PickerPanel\";\nimport PickerTrigger from \"./PickerTrigger\";\nimport PresetPanel from \"./PresetPanel\";\nimport RangeContext from \"./RangeContext\";\nimport { formatValue, getClosingViewDate, isEqual, isSameDate, isSameQuarter, isSameWeek, parseValue } from \"./utils/dateUtil\";\nimport { getClearIcon } from \"./utils/getClearIcon\";\nimport getExtraFooter from \"./utils/getExtraFooter\";\nimport getRanges from \"./utils/getRanges\";\nimport { getValue, toArray, updateValues } from \"./utils/miscUtil\";\nimport { elementsContains, getDefaultFormat, getInputSize } from \"./utils/uiUtil\";\nimport { legacyPropsWarning } from \"./utils/warnUtil\";\nfunction reorderValues(values, generateConfig) {\n if (values && values[0] && values[1] && generateConfig.isAfter(values[0], values[1])) {\n return [values[1], values[0]];\n }\n return values;\n}\nfunction canValueTrigger(value, index, disabled, allowEmpty) {\n if (value) {\n return true;\n }\n if (allowEmpty && allowEmpty[index]) {\n return true;\n }\n if (disabled[(index + 1) % 2]) {\n return true;\n }\n return false;\n}\n\n// TMP type to fit for ts 3.9.2\n\nfunction InnerRangePicker(props) {\n var _ref = props,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-picker' : _ref$prefixCls,\n id = _ref.id,\n style = _ref.style,\n className = _ref.className,\n popupStyle = _ref.popupStyle,\n dropdownClassName = _ref.dropdownClassName,\n transitionName = _ref.transitionName,\n dropdownAlign = _ref.dropdownAlign,\n getPopupContainer = _ref.getPopupContainer,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale,\n placeholder = _ref.placeholder,\n autoFocus = _ref.autoFocus,\n disabled = _ref.disabled,\n format = _ref.format,\n _ref$picker = _ref.picker,\n picker = _ref$picker === void 0 ? 'date' : _ref$picker,\n showTime = _ref.showTime,\n use12Hours = _ref.use12Hours,\n _ref$separator = _ref.separator,\n separator = _ref$separator === void 0 ? '~' : _ref$separator,\n value = _ref.value,\n defaultValue = _ref.defaultValue,\n defaultPickerValue = _ref.defaultPickerValue,\n open = _ref.open,\n defaultOpen = _ref.defaultOpen,\n disabledDate = _ref.disabledDate,\n _disabledTime = _ref.disabledTime,\n dateRender = _ref.dateRender,\n monthCellRender = _ref.monthCellRender,\n cellRender = _ref.cellRender,\n panelRender = _ref.panelRender,\n presets = _ref.presets,\n ranges = _ref.ranges,\n allowEmpty = _ref.allowEmpty,\n allowClear = _ref.allowClear,\n suffixIcon = _ref.suffixIcon,\n clearIcon = _ref.clearIcon,\n pickerRef = _ref.pickerRef,\n inputReadOnly = _ref.inputReadOnly,\n mode = _ref.mode,\n renderExtraFooter = _ref.renderExtraFooter,\n onChange = _ref.onChange,\n onOpenChange = _ref.onOpenChange,\n onPanelChange = _ref.onPanelChange,\n onCalendarChange = _ref.onCalendarChange,\n _onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onMouseDown = _ref.onMouseDown,\n onMouseUp = _ref.onMouseUp,\n onMouseEnter = _ref.onMouseEnter,\n onMouseLeave = _ref.onMouseLeave,\n onClick = _ref.onClick,\n _onOk = _ref.onOk,\n _onKeyDown = _ref.onKeyDown,\n components = _ref.components,\n order = _ref.order,\n direction = _ref.direction,\n activePickerIndex = _ref.activePickerIndex,\n _ref$autoComplete = _ref.autoComplete,\n autoComplete = _ref$autoComplete === void 0 ? 'off' : _ref$autoComplete,\n changeOnBlur = _ref.changeOnBlur;\n var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';\n var containerRef = useRef(null);\n var panelDivRef = useRef(null);\n var startInputDivRef = useRef(null);\n var endInputDivRef = useRef(null);\n var separatorRef = useRef(null);\n var startInputRef = useRef(null);\n var endInputRef = useRef(null);\n var arrowRef = useRef(null);\n\n // ============================ Warning ============================\n if (process.env.NODE_ENV !== 'production') {\n legacyPropsWarning(props);\n }\n\n // ============================= Misc ==============================\n var formatList = toArray(getDefaultFormat(format, picker, showTime, use12Hours));\n var formatDateValue = function formatDateValue(values, index) {\n return values && values[index] ? formatValue(values[index], {\n generateConfig: generateConfig,\n locale: locale,\n format: formatList[0]\n }) : '';\n };\n\n // Operation ref\n var operationRef = useRef(null);\n var mergedDisabled = React.useMemo(function () {\n if (Array.isArray(disabled)) {\n return disabled;\n }\n return [disabled || false, disabled || false];\n }, [disabled]);\n\n // ============================= Value =============================\n var _useMergedState = useMergedState(null, {\n value: value,\n defaultValue: defaultValue,\n postState: function postState(values) {\n return picker === 'time' && !order ? values : reorderValues(values, generateConfig);\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setInnerValue = _useMergedState2[1];\n\n // =========================== View Date ===========================\n // Config view panel\n var _useRangeViewDates = useRangeViewDates({\n values: mergedValue,\n picker: picker,\n defaultDates: defaultPickerValue,\n generateConfig: generateConfig\n }),\n _useRangeViewDates2 = _slicedToArray(_useRangeViewDates, 2),\n getViewDate = _useRangeViewDates2[0],\n setViewDate = _useRangeViewDates2[1];\n\n // ========================= Select Values =========================\n var _useMergedState3 = useMergedState(mergedValue, {\n postState: function postState(values) {\n var postValues = values;\n if (mergedDisabled[0] && mergedDisabled[1]) {\n return postValues;\n }\n\n // Fill disabled unit\n for (var i = 0; i < 2; i += 1) {\n if (mergedDisabled[i] && !postValues && !getValue(postValues, i) && !getValue(allowEmpty, i)) {\n postValues = updateValues(postValues, generateConfig.getNow(), i);\n }\n }\n return postValues;\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n selectedValue = _useMergedState4[0],\n setSelectedValue = _useMergedState4[1];\n\n // ============================= Modes =============================\n var _useMergedState5 = useMergedState([picker, picker], {\n value: mode\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n mergedModes = _useMergedState6[0],\n setInnerModes = _useMergedState6[1];\n useEffect(function () {\n setInnerModes([picker, picker]);\n }, [picker]);\n var triggerModesChange = function triggerModesChange(modes, values) {\n setInnerModes(modes);\n if (onPanelChange) {\n onPanelChange(values, modes);\n }\n };\n\n // ============================= Open ==============================\n var _useRangeOpen = useRangeOpen(defaultOpen, open, activePickerIndex, changeOnBlur, needConfirmButton, startInputRef, endInputRef, getValue(selectedValue, 0), getValue(selectedValue, 1), mergedDisabled, onOpenChange),\n _useRangeOpen2 = _slicedToArray(_useRangeOpen, 4),\n mergedOpen = _useRangeOpen2[0],\n mergedActivePickerIndex = _useRangeOpen2[1],\n firstTimeOpen = _useRangeOpen2[2],\n _triggerOpen = _useRangeOpen2[3];\n var startOpen = mergedOpen && mergedActivePickerIndex === 0;\n var endOpen = mergedOpen && mergedActivePickerIndex === 1;\n\n // ========================= Disable Date ==========================\n var _useRangeDisabled = useRangeDisabled({\n picker: picker,\n selectedValue: selectedValue,\n locale: locale,\n disabled: mergedDisabled,\n disabledDate: disabledDate,\n generateConfig: generateConfig\n }, !mergedOpen || firstTimeOpen),\n _useRangeDisabled2 = _slicedToArray(_useRangeDisabled, 2),\n disabledStartDate = _useRangeDisabled2[0],\n disabledEndDate = _useRangeDisabled2[1];\n\n // ============================= Popup =============================\n // Popup min width\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n popupMinWidth = _useState2[0],\n setPopupMinWidth = _useState2[1];\n useEffect(function () {\n if (!mergedOpen && containerRef.current) {\n setPopupMinWidth(containerRef.current.offsetWidth);\n }\n }, [mergedOpen]);\n\n // ============================ Trigger ============================\n function triggerOpenAndFocus(index) {\n _triggerOpen(true, index, 'open');\n // Use setTimeout to make sure panel DOM exists\n raf(function () {\n var _inputRef$current;\n var inputRef = [startInputRef, endInputRef][index];\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();\n }, 0);\n }\n function triggerChange(newValue, sourceIndex, triggerCalendarChangeOnly) {\n var values = newValue;\n var startValue = getValue(values, 0);\n var endValue = getValue(values, 1);\n\n // >>>>> Format start & end values\n if (startValue && endValue && generateConfig.isAfter(startValue, endValue)) {\n if (\n // WeekPicker only compare week\n picker === 'week' && !isSameWeek(generateConfig, locale.locale, startValue, endValue) ||\n // QuotaPicker only compare week\n picker === 'quarter' && !isSameQuarter(generateConfig, startValue, endValue) ||\n // Other non-TimePicker compare date\n picker !== 'week' && picker !== 'quarter' && picker !== 'time' && !isSameDate(generateConfig, startValue, endValue)) {\n // Clean up end date when start date is after end date\n if (sourceIndex === 0) {\n values = [startValue, null];\n endValue = null;\n } else {\n startValue = null;\n values = [null, endValue];\n }\n } else if (picker !== 'time' || order !== false) {\n // Reorder when in same date\n values = reorderValues(values, generateConfig);\n }\n }\n setSelectedValue(values);\n var startStr = formatDateValue(values, 0);\n var endStr = formatDateValue(values, 1);\n if (onCalendarChange) {\n var _info = {\n range: sourceIndex === 0 ? 'start' : 'end'\n };\n onCalendarChange(values, [startStr, endStr], _info);\n }\n if (!triggerCalendarChangeOnly) {\n // >>>>> Trigger `onChange` event\n var canStartValueTrigger = canValueTrigger(startValue, 0, mergedDisabled, allowEmpty);\n var canEndValueTrigger = canValueTrigger(endValue, 1, mergedDisabled, allowEmpty);\n var canTrigger = values === null || canStartValueTrigger && canEndValueTrigger;\n if (canTrigger) {\n // Trigger onChange only when value is validate\n setInnerValue(values);\n if (onChange && (!isEqual(generateConfig, getValue(mergedValue, 0), startValue) || !isEqual(generateConfig, getValue(mergedValue, 1), endValue))) {\n onChange(values, [startStr, endStr]);\n }\n }\n }\n }\n var forwardKeyDown = function forwardKeyDown(e) {\n if (mergedOpen && operationRef.current && operationRef.current.onKeyDown) {\n // Let popup panel handle keyboard\n return operationRef.current.onKeyDown(e);\n }\n\n /* istanbul ignore next */\n /* eslint-disable no-lone-blocks */\n {\n warning(false, 'Picker not correct forward KeyDown operation. Please help to fire issue about this.');\n return false;\n }\n };\n\n // ============================= Text ==============================\n var sharedTextHooksProps = {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n };\n var _useValueTexts = useValueTexts(getValue(selectedValue, 0), sharedTextHooksProps),\n _useValueTexts2 = _slicedToArray(_useValueTexts, 2),\n startValueTexts = _useValueTexts2[0],\n firstStartValueText = _useValueTexts2[1];\n var _useValueTexts3 = useValueTexts(getValue(selectedValue, 1), sharedTextHooksProps),\n _useValueTexts4 = _slicedToArray(_useValueTexts3, 2),\n endValueTexts = _useValueTexts4[0],\n firstEndValueText = _useValueTexts4[1];\n var _onTextChange = function onTextChange(newText, index) {\n var inputDate = parseValue(newText, {\n locale: locale,\n formatList: formatList,\n generateConfig: generateConfig\n });\n var disabledFunc = index === 0 ? disabledStartDate : disabledEndDate;\n if (inputDate && !disabledFunc(inputDate)) {\n setSelectedValue(updateValues(selectedValue, inputDate, index));\n setViewDate(inputDate, index);\n }\n };\n var _useTextValueMapping = useTextValueMapping({\n valueTexts: startValueTexts,\n onTextChange: function onTextChange(newText) {\n return _onTextChange(newText, 0);\n }\n }),\n _useTextValueMapping2 = _slicedToArray(_useTextValueMapping, 3),\n startText = _useTextValueMapping2[0],\n triggerStartTextChange = _useTextValueMapping2[1],\n resetStartText = _useTextValueMapping2[2];\n var _useTextValueMapping3 = useTextValueMapping({\n valueTexts: endValueTexts,\n onTextChange: function onTextChange(newText) {\n return _onTextChange(newText, 1);\n }\n }),\n _useTextValueMapping4 = _slicedToArray(_useTextValueMapping3, 3),\n endText = _useTextValueMapping4[0],\n triggerEndTextChange = _useTextValueMapping4[1],\n resetEndText = _useTextValueMapping4[2];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n rangeHoverValue = _useState4[0],\n setRangeHoverValue = _useState4[1];\n\n // ========================== Hover Range ==========================\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n hoverRangedValue = _useState6[0],\n setHoverRangedValue = _useState6[1];\n var _useHoverValue = useHoverValue(startText, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useHoverValue2 = _slicedToArray(_useHoverValue, 3),\n startHoverValue = _useHoverValue2[0],\n onStartEnter = _useHoverValue2[1],\n onStartLeave = _useHoverValue2[2];\n var _useHoverValue3 = useHoverValue(endText, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useHoverValue4 = _slicedToArray(_useHoverValue3, 3),\n endHoverValue = _useHoverValue4[0],\n onEndEnter = _useHoverValue4[1],\n onEndLeave = _useHoverValue4[2];\n var onDateMouseEnter = function onDateMouseEnter(date) {\n setHoverRangedValue(updateValues(selectedValue, date, mergedActivePickerIndex));\n if (mergedActivePickerIndex === 0) {\n onStartEnter(date);\n } else {\n onEndEnter(date);\n }\n };\n var onDateMouseLeave = function onDateMouseLeave() {\n setHoverRangedValue(updateValues(selectedValue, null, mergedActivePickerIndex));\n if (mergedActivePickerIndex === 0) {\n onStartLeave();\n } else {\n onEndLeave();\n }\n };\n\n // ============================= Input =============================\n // We call effect to update `delayOpen` here since\n // when popup closed and input focused, should not trigger change when click another input\n var _React$useState = React.useState(mergedOpen),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n delayOpen = _React$useState2[0],\n setDelayOpen = _React$useState2[1];\n React.useEffect(function () {\n setDelayOpen(mergedOpen);\n }, [mergedOpen]);\n var onInternalBlur = function onInternalBlur(e) {\n if (delayOpen) {\n if (needConfirmButton) {\n // when in dateTime mode, switching between two date input fields will trigger onCalendarChange.\n // when onBlur is triggered, the input field has already switched,\n // so it's necessary to obtain the value of the previous input field here.\n var needTriggerIndex = mergedActivePickerIndex ? 0 : 1;\n var selectedIndexValue = getValue(selectedValue, needTriggerIndex);\n if (selectedIndexValue) {\n triggerChange(selectedValue, needTriggerIndex, true);\n }\n } else if (changeOnBlur) {\n var _selectedIndexValue = getValue(selectedValue, mergedActivePickerIndex);\n if (_selectedIndexValue) {\n triggerChange(selectedValue, mergedActivePickerIndex);\n }\n }\n }\n return onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n var getSharedInputHookProps = function getSharedInputHookProps(index, resetText) {\n return {\n blurToCancel: !changeOnBlur && needConfirmButton,\n changeOnBlur: changeOnBlur,\n forwardKeyDown: forwardKeyDown,\n onBlur: onInternalBlur,\n isClickOutside: function isClickOutside(target) {\n var elementsRefs = [startInputDivRef.current, endInputDivRef.current, containerRef.current];\n return !elementsContains([].concat(_toConsumableArray(needConfirmButton ? [elementsRefs[mergedActivePickerIndex]] : elementsRefs), [panelDivRef.current]), target);\n },\n onFocus: function onFocus(e) {\n if (_onFocus) {\n _onFocus(e);\n }\n },\n triggerOpen: function triggerOpen(newOpen) {\n if (newOpen) {\n _triggerOpen(newOpen, index, 'open');\n } else {\n _triggerOpen(newOpen,\n // Close directly if no selected value provided\n getValue(selectedValue, index) ? index : false, 'blur');\n }\n },\n onSubmit: function onSubmit() {\n if (\n // When user typing disabledDate with keyboard and enter, this value will be empty\n !selectedValue ||\n // Normal disabled check\n disabledDate && disabledDate(selectedValue[index])) {\n return false;\n }\n triggerChange(selectedValue, index);\n resetText();\n\n // Switch\n _triggerOpen(false, mergedActivePickerIndex, 'confirm');\n },\n onCancel: function onCancel() {\n _triggerOpen(false, index, 'cancel');\n setSelectedValue(mergedValue);\n resetText();\n }\n };\n };\n var sharedPickerInput = {\n onKeyDown: function onKeyDown(e, preventDefault) {\n _onKeyDown === null || _onKeyDown === void 0 || _onKeyDown(e, preventDefault);\n }\n };\n var _usePickerInput = usePickerInput(_objectSpread(_objectSpread({}, getSharedInputHookProps(0, resetStartText)), {}, {\n open: startOpen,\n value: startText\n }, sharedPickerInput)),\n _usePickerInput2 = _slicedToArray(_usePickerInput, 2),\n startInputProps = _usePickerInput2[0],\n _usePickerInput2$ = _usePickerInput2[1],\n startFocused = _usePickerInput2$.focused,\n startTyping = _usePickerInput2$.typing;\n var _usePickerInput3 = usePickerInput(_objectSpread(_objectSpread({}, getSharedInputHookProps(1, resetEndText)), {}, {\n open: endOpen,\n value: endText\n }, sharedPickerInput)),\n _usePickerInput4 = _slicedToArray(_usePickerInput3, 2),\n endInputProps = _usePickerInput4[0],\n _usePickerInput4$ = _usePickerInput4[1],\n endFocused = _usePickerInput4$.focused,\n endTyping = _usePickerInput4$.typing;\n\n // ========================== Click Picker ==========================\n var onPickerClick = function onPickerClick(e) {\n // When click inside the picker & outside the picker's input elements\n // the panel should still be opened\n if (onClick) {\n onClick(e);\n }\n if (!mergedOpen && !startInputRef.current.contains(e.target) && !endInputRef.current.contains(e.target)) {\n if (!mergedDisabled[0]) {\n triggerOpenAndFocus(0);\n } else if (!mergedDisabled[1]) {\n triggerOpenAndFocus(1);\n }\n }\n };\n var onPickerMouseDown = function onPickerMouseDown(e) {\n // shouldn't affect input elements if picker is active\n if (onMouseDown) {\n onMouseDown(e);\n }\n if (mergedOpen && (startFocused || endFocused) && !startInputRef.current.contains(e.target) && !endInputRef.current.contains(e.target)) {\n e.preventDefault();\n }\n };\n\n // ============================= Sync ==============================\n // Close should sync back with text value\n var startStr = mergedValue && mergedValue[0] ? formatValue(mergedValue[0], {\n locale: locale,\n format: 'YYYYMMDDHHmmss',\n generateConfig: generateConfig\n }) : '';\n var endStr = mergedValue && mergedValue[1] ? formatValue(mergedValue[1], {\n locale: locale,\n format: 'YYYYMMDDHHmmss',\n generateConfig: generateConfig\n }) : '';\n useEffect(function () {\n if (!mergedOpen) {\n setSelectedValue(mergedValue);\n if (!startValueTexts.length || startValueTexts[0] === '') {\n triggerStartTextChange('');\n } else if (firstStartValueText !== startText) {\n resetStartText();\n }\n if (!endValueTexts.length || endValueTexts[0] === '') {\n triggerEndTextChange('');\n } else if (firstEndValueText !== endText) {\n resetEndText();\n }\n }\n }, [mergedOpen, startValueTexts, endValueTexts]);\n\n // Sync innerValue with control mode\n useEffect(function () {\n setSelectedValue(mergedValue);\n }, [startStr, endStr]);\n var mergedCellRender = useCellRender({\n cellRender: cellRender,\n monthCellRender: monthCellRender,\n dateRender: dateRender\n });\n var panelDateRender = React.useMemo(function () {\n if (!mergedCellRender) return undefined;\n return function (date, info) {\n return mergedCellRender(date, _objectSpread(_objectSpread({}, info), {}, {\n range: mergedActivePickerIndex ? 'end' : 'start'\n }));\n };\n }, [mergedActivePickerIndex, mergedCellRender]);\n\n // ============================ Warning ============================\n if (process.env.NODE_ENV !== 'production') {\n if (value && Array.isArray(disabled) && (getValue(disabled, 0) && !getValue(value, 0) || getValue(disabled, 1) && !getValue(value, 1))) {\n warning(false, '`disabled` should not set with empty `value`. You should set `allowEmpty` or `value` instead.');\n }\n warning(!dateRender, \"'dateRender' is deprecated. Please use 'cellRender' instead.\");\n warning(!monthCellRender, \"'monthCellRender' is deprecated. Please use 'cellRender' instead.\");\n warning(!clearIcon, '`clearIcon` will be removed in future. Please use `allowClear` instead.');\n }\n\n // ============================ Private ============================\n if (pickerRef) {\n pickerRef.current = {\n focus: function focus() {\n if (startInputRef.current) {\n startInputRef.current.focus();\n }\n },\n blur: function blur() {\n if (startInputRef.current) {\n startInputRef.current.blur();\n }\n if (endInputRef.current) {\n endInputRef.current.blur();\n }\n }\n };\n }\n\n // ============================ Ranges =============================\n var presetList = usePresets(presets, ranges);\n\n // ============================= Panel =============================\n function renderPanel() {\n var panelPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var panelProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var panelHoverRangedValue = null;\n if (mergedOpen && hoverRangedValue && hoverRangedValue[0] && hoverRangedValue[1] && generateConfig.isAfter(hoverRangedValue[1], hoverRangedValue[0])) {\n panelHoverRangedValue = hoverRangedValue;\n }\n var panelShowTime = showTime;\n if (showTime && _typeof(showTime) === 'object' && showTime.defaultValue) {\n var timeDefaultValues = showTime.defaultValue;\n panelShowTime = _objectSpread(_objectSpread({}, showTime), {}, {\n defaultValue: getValue(timeDefaultValues, mergedActivePickerIndex) || undefined\n });\n }\n return /*#__PURE__*/React.createElement(RangeContext.Provider, {\n value: {\n inRange: true,\n panelPosition: panelPosition,\n rangedValue: rangeHoverValue || selectedValue,\n hoverRangedValue: panelHoverRangedValue\n }\n }, /*#__PURE__*/React.createElement(PickerPanel, _extends({}, props, panelProps, {\n cellRender: panelDateRender,\n showTime: panelShowTime,\n mode: mergedModes[mergedActivePickerIndex],\n generateConfig: generateConfig,\n style: undefined,\n direction: direction,\n disabledDate: mergedActivePickerIndex === 0 ? disabledStartDate : disabledEndDate,\n disabledTime: function disabledTime(date) {\n if (_disabledTime) {\n return _disabledTime(date, mergedActivePickerIndex === 0 ? 'start' : 'end');\n }\n return false;\n },\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-panel-focused\"), mergedActivePickerIndex === 0 ? !startTyping : !endTyping)),\n value: getValue(selectedValue, mergedActivePickerIndex),\n locale: locale,\n tabIndex: -1,\n onPanelChange: function onPanelChange(date, newMode) {\n // clear hover value when panel change\n if (mergedActivePickerIndex === 0) {\n onStartLeave(true);\n }\n if (mergedActivePickerIndex === 1) {\n onEndLeave(true);\n }\n triggerModesChange(updateValues(mergedModes, newMode, mergedActivePickerIndex), updateValues(selectedValue, date, mergedActivePickerIndex));\n var viewDate = date;\n if (panelPosition === 'right' && mergedModes[mergedActivePickerIndex] === newMode) {\n viewDate = getClosingViewDate(viewDate, newMode, generateConfig, -1);\n }\n setViewDate(viewDate, mergedActivePickerIndex);\n },\n onOk: null,\n onSelect: undefined,\n onChange: undefined,\n defaultValue: mergedActivePickerIndex === 0 ? getValue(selectedValue, 1) : getValue(selectedValue, 0)\n // defaultPickerValue={undefined}\n })));\n }\n var arrowLeft = 0;\n var panelLeft = 0;\n if (mergedActivePickerIndex && startInputDivRef.current && separatorRef.current && panelDivRef.current && arrowRef.current) {\n // Arrow offset\n arrowLeft = startInputDivRef.current.offsetWidth + separatorRef.current.offsetWidth;\n\n // If panelWidth - arrowWidth - arrowMarginLeft < arrowLeft, panel should move to right side.\n // If arrowOffsetLeft > arrowLeft, arrowMarginLeft = arrowOffsetLeft - arrowLeft\n var arrowMarginLeft = arrowRef.current.offsetLeft > arrowLeft ? arrowRef.current.offsetLeft - arrowLeft : arrowRef.current.offsetLeft;\n var panelWidth = panelDivRef.current.offsetWidth;\n var arrowWidth = arrowRef.current.offsetWidth;\n if (panelWidth && arrowWidth && arrowLeft > panelWidth - arrowWidth - (direction === 'rtl' ? 0 : arrowMarginLeft)) {\n panelLeft = arrowLeft;\n }\n }\n var arrowPositionStyle = direction === 'rtl' ? {\n right: arrowLeft\n } : {\n left: arrowLeft\n };\n function renderPanels() {\n var panels;\n var extraNode = getExtraFooter(prefixCls, mergedModes[mergedActivePickerIndex], renderExtraFooter);\n var rangesNode = getRanges({\n prefixCls: prefixCls,\n components: components,\n needConfirmButton: needConfirmButton,\n okDisabled: !getValue(selectedValue, mergedActivePickerIndex) || disabledDate && disabledDate(selectedValue[mergedActivePickerIndex]),\n locale: locale,\n // rangeList,\n onOk: function onOk() {\n var selectedIndexValue = getValue(selectedValue, mergedActivePickerIndex);\n if (selectedIndexValue) {\n triggerChange(selectedValue, mergedActivePickerIndex);\n _onOk === null || _onOk === void 0 || _onOk(selectedValue);\n\n // Switch\n _triggerOpen(false, mergedActivePickerIndex, 'confirm');\n }\n }\n });\n if (picker !== 'time' && !showTime) {\n var viewDate = getViewDate(mergedActivePickerIndex);\n var nextViewDate = getClosingViewDate(viewDate, picker, generateConfig);\n var currentMode = mergedModes[mergedActivePickerIndex];\n var showDoublePanel = currentMode === picker;\n var leftPanel = renderPanel(showDoublePanel ? 'left' : false, {\n pickerValue: viewDate,\n onPickerValueChange: function onPickerValueChange(newViewDate) {\n setViewDate(newViewDate, mergedActivePickerIndex);\n }\n });\n var rightPanel = renderPanel('right', {\n pickerValue: nextViewDate,\n onPickerValueChange: function onPickerValueChange(newViewDate) {\n setViewDate(getClosingViewDate(newViewDate, picker, generateConfig, -1), mergedActivePickerIndex);\n }\n });\n if (direction === 'rtl') {\n panels = /*#__PURE__*/React.createElement(React.Fragment, null, rightPanel, showDoublePanel && leftPanel);\n } else {\n panels = /*#__PURE__*/React.createElement(React.Fragment, null, leftPanel, showDoublePanel && rightPanel);\n }\n } else {\n panels = renderPanel();\n }\n var mergedNodes = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-layout\")\n }, /*#__PURE__*/React.createElement(PresetPanel, {\n prefixCls: prefixCls,\n presets: presetList,\n onClick: function onClick(nextValue) {\n triggerChange(nextValue, null);\n _triggerOpen(false, mergedActivePickerIndex, 'preset');\n },\n onHover: function onHover(hoverValue) {\n setRangeHoverValue(hoverValue);\n }\n }), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panels\")\n }, panels), (extraNode || rangesNode) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, extraNode, rangesNode)));\n if (panelRender) {\n mergedNodes = panelRender(mergedNodes);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-container\"),\n style: {\n marginLeft: panelLeft\n },\n ref: panelDivRef,\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n }\n }, mergedNodes);\n }\n var rangePanel = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-range-wrapper\"), \"\".concat(prefixCls, \"-\").concat(picker, \"-range-wrapper\")),\n style: {\n minWidth: popupMinWidth\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: arrowRef,\n className: \"\".concat(prefixCls, \"-range-arrow\"),\n style: arrowPositionStyle\n }), renderPanels());\n\n // ============================= Icons =============================\n var suffixNode;\n if (suffixIcon) {\n suffixNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\"),\n onMouseDown: function onMouseDown(e) {\n // Not lost focus\n e.preventDefault();\n }\n }, suffixIcon);\n }\n var mergedClearIcon = getClearIcon(prefixCls, allowClear, clearIcon);\n var clearNode = /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n onMouseUp: function onMouseUp(e) {\n e.preventDefault();\n e.stopPropagation();\n var values = mergedValue;\n if (!mergedDisabled[0]) {\n values = updateValues(values, null, 0);\n }\n if (!mergedDisabled[1]) {\n values = updateValues(values, null, 1);\n }\n triggerChange(values, null);\n _triggerOpen(false, mergedActivePickerIndex, 'clear');\n },\n className: \"\".concat(prefixCls, \"-clear\"),\n role: \"button\"\n }, mergedClearIcon);\n var mergedAllowClear = allowClear && (getValue(mergedValue, 0) && !mergedDisabled[0] || getValue(mergedValue, 1) && !mergedDisabled[1]);\n var inputSharedProps = {\n size: getInputSize(picker, formatList[0], generateConfig)\n };\n var activeBarLeft = 0;\n var activeBarWidth = 0;\n if (startInputDivRef.current && endInputDivRef.current && separatorRef.current) {\n if (mergedActivePickerIndex === 0) {\n activeBarWidth = startInputDivRef.current.offsetWidth;\n } else {\n activeBarLeft = arrowLeft;\n activeBarWidth = endInputDivRef.current.offsetWidth;\n }\n }\n var activeBarPositionStyle = direction === 'rtl' ? {\n right: activeBarLeft\n } : {\n left: activeBarLeft\n };\n // ============================ Return =============================\n var onContextSelect = function onContextSelect(date, type) {\n var values = updateValues(selectedValue, date, mergedActivePickerIndex);\n if (type === 'submit' || type !== 'key' && !needConfirmButton) {\n // triggerChange will also update selected values\n triggerChange(values, mergedActivePickerIndex);\n // clear hover value style\n if (mergedActivePickerIndex === 0) {\n onStartLeave();\n } else {\n onEndLeave();\n }\n\n // Switch\n var nextActivePickerIndex = mergedActivePickerIndex === 0 ? 1 : 0;\n if (mergedDisabled[nextActivePickerIndex]) {\n _triggerOpen(false, false, 'confirm');\n } else {\n _triggerOpen(false, mergedActivePickerIndex, 'confirm');\n }\n } else {\n setSelectedValue(values);\n }\n };\n return /*#__PURE__*/React.createElement(PanelContext.Provider, {\n value: {\n operationRef: operationRef,\n hideHeader: picker === 'time',\n onDateMouseEnter: onDateMouseEnter,\n onDateMouseLeave: onDateMouseLeave,\n hideRanges: true,\n onSelect: onContextSelect,\n open: mergedOpen\n }\n }, /*#__PURE__*/React.createElement(PickerTrigger, {\n visible: mergedOpen,\n popupElement: rangePanel,\n popupStyle: popupStyle,\n prefixCls: prefixCls,\n dropdownClassName: dropdownClassName,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n transitionName: transitionName,\n range: true,\n direction: direction\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: containerRef,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-range\"), className, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), mergedDisabled[0] && mergedDisabled[1]), \"\".concat(prefixCls, \"-focused\"), mergedActivePickerIndex === 0 ? startFocused : endFocused), \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl')),\n style: style,\n onClick: onPickerClick,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDown: onPickerMouseDown,\n onMouseUp: onMouseUp\n }, pickAttrs(props, {\n aria: true,\n data: true\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-input-active\"), mergedActivePickerIndex === 0), \"\".concat(prefixCls, \"-input-placeholder\"), !!startHoverValue)),\n ref: startInputDivRef\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n id: id,\n disabled: mergedDisabled[0],\n readOnly: inputReadOnly || typeof formatList[0] === 'function' || !startTyping,\n value: startHoverValue || startText,\n onChange: function onChange(e) {\n triggerStartTextChange(e.target.value);\n },\n autoFocus: autoFocus,\n placeholder: getValue(placeholder, 0) || '',\n ref: startInputRef\n }, startInputProps, inputSharedProps, {\n autoComplete: autoComplete\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-range-separator\"),\n ref: separatorRef\n }, separator), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-input-active\"), mergedActivePickerIndex === 1), \"\".concat(prefixCls, \"-input-placeholder\"), !!endHoverValue)),\n ref: endInputDivRef\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n disabled: mergedDisabled[1],\n readOnly: inputReadOnly || typeof formatList[0] === 'function' || !endTyping,\n value: endHoverValue || endText,\n onChange: function onChange(e) {\n triggerEndTextChange(e.target.value);\n },\n placeholder: getValue(placeholder, 1) || '',\n ref: endInputRef\n }, endInputProps, inputSharedProps, {\n autoComplete: autoComplete\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-active-bar\"),\n style: _objectSpread(_objectSpread({}, activeBarPositionStyle), {}, {\n width: activeBarWidth,\n position: 'absolute'\n })\n }), suffixNode, mergedAllowClear && clearNode)));\n}\n\n// Wrap with class component to enable pass generic with instance method\nvar RangePicker = /*#__PURE__*/function (_React$Component) {\n _inherits(RangePicker, _React$Component);\n var _super = _createSuper(RangePicker);\n function RangePicker() {\n var _this;\n _classCallCheck(this, RangePicker);\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), \"pickerRef\", /*#__PURE__*/React.createRef());\n _defineProperty(_assertThisInitialized(_this), \"focus\", function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"blur\", function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n });\n return _this;\n }\n _createClass(RangePicker, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(InnerRangePicker, _extends({}, this.props, {\n pickerRef: this.pickerRef\n }));\n }\n }]);\n return RangePicker;\n}(React.Component);\nexport default RangePicker;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useMergedState } from 'rc-util';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\n\n/**\n * 1. Click input to show picker\n * 2. Calculate next open index\n *\n * If click `confirm`:\n * 3. Hide current picker\n * 4. Open next index picker if exist\n *\n * If not `changeOnBlur` and click outside:\n * 3. Hide picker\n *\n * If `changeOnBlur` and click outside:\n * 3. Hide current picker\n * 4. Open next index picker if exist\n */\n\n/**\n * Auto control of open state\n */\nexport default function useRangeOpen(defaultOpen, open, activePickerIndex, changeOnBlur, needConfirmButton, startInputRef, endInputRef, startSelectedValue, endSelectedValue, disabled, onOpenChange) {\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n firstTimeOpen = _React$useState2[0],\n setFirstTimeOpen = _React$useState2[1];\n var _useMergedState = useMergedState(defaultOpen || false, {\n value: open\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n afferentOpen = _useMergedState2[0],\n setAfferentOpen = _useMergedState2[1];\n var _useMergedState3 = useMergedState(defaultOpen || false, {\n value: open,\n onChange: function onChange(nextOpen) {\n onOpenChange === null || onOpenChange === void 0 || onOpenChange(nextOpen);\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedOpen = _useMergedState4[0],\n setMergedOpen = _useMergedState4[1];\n var _useMergedState5 = useMergedState(0, {\n value: activePickerIndex\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n mergedActivePickerIndex = _useMergedState6[0],\n setMergedActivePickerIndex = _useMergedState6[1];\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n nextActiveIndex = _React$useState4[0],\n setNextActiveIndex = _React$useState4[1];\n React.useEffect(function () {\n if (mergedOpen) {\n setFirstTimeOpen(true);\n }\n }, [mergedOpen]);\n var queryNextIndex = function queryNextIndex(index) {\n return index === 0 ? 1 : 0;\n };\n var triggerOpen = useEvent(function (nextOpen, index, source) {\n if (index === false) {\n // Only when `nextOpen` is false and no need open to next index\n setMergedOpen(nextOpen);\n } else if (nextOpen) {\n setMergedActivePickerIndex(index);\n setMergedOpen(nextOpen);\n var nextIndex = queryNextIndex(index);\n\n // Record next open index\n if (!mergedOpen ||\n // Also set next index if next is empty\n ![startSelectedValue, endSelectedValue][nextIndex]) {\n setNextActiveIndex(nextIndex);\n } else {\n setFirstTimeOpen(false);\n if (nextActiveIndex !== null) {\n setNextActiveIndex(null);\n }\n }\n } else if (source === 'confirm' || source === 'blur' && changeOnBlur) {\n // dateTime mode does not need help getting the index\n var customNextActiveIndex = afferentOpen && !needConfirmButton ? queryNextIndex(index) : nextActiveIndex;\n if (customNextActiveIndex !== null) {\n setFirstTimeOpen(false);\n setMergedActivePickerIndex(customNextActiveIndex);\n }\n setNextActiveIndex(null);\n\n // Focus back\n if (customNextActiveIndex !== null && !disabled[customNextActiveIndex]) {\n raf(function () {\n var _ref$current;\n var ref = [startInputRef, endInputRef][customNextActiveIndex];\n (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();\n });\n } else {\n setMergedOpen(false);\n }\n } else {\n setMergedOpen(false);\n setAfferentOpen(false);\n }\n });\n return [mergedOpen, mergedActivePickerIndex, firstTimeOpen, triggerOpen];\n}","import * as React from 'react';\nimport { getQuarter, isSameDate } from \"../utils/dateUtil\";\nimport { getValue } from \"../utils/miscUtil\";\nexport default function useRangeDisabled(_ref, firstTimeOpen) {\n var picker = _ref.picker,\n locale = _ref.locale,\n selectedValue = _ref.selectedValue,\n disabledDate = _ref.disabledDate,\n disabled = _ref.disabled,\n generateConfig = _ref.generateConfig;\n var startDate = getValue(selectedValue, 0);\n var endDate = getValue(selectedValue, 1);\n function weekFirstDate(date) {\n return generateConfig.locale.getWeekFirstDate(locale.locale, date);\n }\n function monthNumber(date) {\n var year = generateConfig.getYear(date);\n var month = generateConfig.getMonth(date);\n return year * 100 + month;\n }\n function quarterNumber(date) {\n var year = generateConfig.getYear(date);\n var quarter = getQuarter(generateConfig, date);\n return year * 10 + quarter;\n }\n var disabledStartDate = React.useCallback(function (date) {\n if (disabled[0] || disabledDate && disabledDate(date)) {\n return true;\n }\n\n // Disabled range\n if (disabled[1] && endDate) {\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(date, endDate);\n }\n\n // Disabled part\n if (!firstTimeOpen && endDate) {\n switch (picker) {\n case 'quarter':\n return quarterNumber(date) > quarterNumber(endDate);\n case 'month':\n return monthNumber(date) > monthNumber(endDate);\n case 'week':\n return weekFirstDate(date) > weekFirstDate(endDate);\n default:\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(date, endDate);\n }\n }\n return false;\n }, [disabledDate, disabled[1], endDate, firstTimeOpen]);\n var disabledEndDate = React.useCallback(function (date) {\n if (disabled[1] || disabledDate && disabledDate(date)) {\n return true;\n }\n\n // Disabled range\n if (disabled[0] && startDate) {\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(startDate, date);\n }\n\n // Disabled part\n if (!firstTimeOpen && startDate) {\n switch (picker) {\n case 'quarter':\n return quarterNumber(date) < quarterNumber(startDate);\n case 'month':\n return monthNumber(date) < monthNumber(startDate);\n case 'week':\n return weekFirstDate(date) < weekFirstDate(startDate);\n default:\n return !isSameDate(generateConfig, date, startDate) && generateConfig.isAfter(startDate, date);\n }\n }\n return false;\n }, [disabledDate, disabled[0], startDate, firstTimeOpen]);\n return [disabledStartDate, disabledEndDate];\n}","import Picker from \"./Picker\";\nimport PickerPanel from \"./PickerPanel\";\nimport RangePicker from \"./RangePicker\";\nexport { PickerPanel, RangePicker };\nexport default Picker;","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'OK',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;","var locale = {\n locale: 'zh_CN',\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '确定',\n timeSelect: '选择时间',\n dateSelect: '选择日期',\n weekSelect: '选择周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上个月 (翻页上键)',\n nextMonth: '下个月 (翻页下键)',\n monthSelect: '选择月份',\n yearSelect: '选择年份',\n decadeSelect: '选择年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH时mm分ss秒',\n previousYear: '上一年 (Control键加左方向键)',\n nextYear: '下一年 (Control键加右方向键)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世纪',\n nextCentury: '下一世纪'\n};\nexport default locale;","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport canUseDom from \"./canUseDom\";\nimport contains from \"./contains\";\nvar APPEND_ORDER = 'data-rc-order';\nvar APPEND_PRIORITY = 'data-rc-priority';\nvar MARK_KEY = \"rc-util-key\";\nvar containerCache = new Map();\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n var head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(function (node) {\n return node.tagName === 'STYLE';\n });\n}\nexport function injectCSS(css) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!canUseDom()) {\n return null;\n }\n var csp = option.csp,\n prepend = option.prepend,\n _option$priority = option.priority,\n priority = _option$priority === void 0 ? 0 : _option$priority;\n var mergedOrder = getOrder(prepend);\n var isPrependQueue = mergedOrder === 'prependQueue';\n var styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, mergedOrder);\n if (isPrependQueue && priority) {\n styleNode.setAttribute(APPEND_PRIORITY, \"\".concat(priority));\n }\n if (csp !== null && csp !== void 0 && csp.nonce) {\n styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce;\n }\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (isPrependQueue) {\n var existStyle = (option.styles || findStyles(container)).filter(function (node) {\n // Ignore style which not injected by rc-util with prepend\n if (!['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER))) {\n return false;\n }\n\n // Ignore style which priority less then new style\n var nodePriority = Number(node.getAttribute(APPEND_PRIORITY) || 0);\n return priority >= nodePriority;\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return (option.styles || findStyles(container)).find(function (node) {\n return node.getAttribute(getMark(option)) === key;\n });\n}\nexport function removeCSS(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n if (existNode) {\n var container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n var cachedRealContainer = containerCache.get(container);\n\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key) {\n var originOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(originOption);\n var styles = findStyles(container);\n var option = _objectSpread(_objectSpread({}, originOption), {}, {\n styles: styles\n });\n\n // Sync real parent\n syncRealContainer(container, option);\n var existNode = findExistNode(key, option);\n if (existNode) {\n var _option$csp, _option$csp2;\n if ((_option$csp = option.csp) !== null && _option$csp !== void 0 && _option$csp.nonce && existNode.nonce !== ((_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce)) {\n var _option$csp3;\n existNode.nonce = (_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nexport function isDOM(node) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element\n // Since XULElement is also subclass of Element, we only need HTMLElement and SVGElement\n return node instanceof HTMLElement || node instanceof SVGElement;\n}\n\n/**\n * Retrieves a DOM node via a ref, and does not invoke `findDOMNode`.\n */\nexport function getDOM(node) {\n if (node && _typeof(node) === 'object' && isDOM(node.nativeElement)) {\n return node.nativeElement;\n }\n if (isDOM(node)) {\n return node;\n }\n return null;\n}\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\nexport default function findDOMNode(node) {\n var domNode = getDOM(node);\n if (domNode) {\n return domNode;\n }\n if (node instanceof React.Component) {\n var _ReactDOM$findDOMNode;\n return (_ReactDOM$findDOMNode = ReactDOM.findDOMNode) === null || _ReactDOM$findDOMNode === void 0 ? void 0 : _ReactDOM$findDOMNode.call(ReactDOM, node);\n }\n return null;\n}","function getRoot(ele) {\n var _ele$getRootNode;\n return ele === null || ele === void 0 || (_ele$getRootNode = ele.getRootNode) === null || _ele$getRootNode === void 0 ? void 0 : _ele$getRootNode.call(ele);\n}\n\n/**\n * Check if is in shadowRoot\n */\nexport function inShadow(ele) {\n return getRoot(ele) instanceof ShadowRoot;\n}\n\n/**\n * Return shadowRoot if possible\n */\nexport function getShadowRoot(ele) {\n return inShadow(ele) ? getRoot(ele) : null;\n}","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35,\n // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36,\n // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37,\n // also NUM_WEST\n /**\n * UP\n */\n UP: 38,\n // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39,\n // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40,\n // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45,\n // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46,\n // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91,\n // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n // needs localization\n /**\n * DASH\n */\n DASH: 189,\n // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187,\n // needs localization\n /**\n * COMMA\n */\n COMMA: 188,\n // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190,\n // needs localization\n /**\n * SLASH\n */\n SLASH: 191,\n // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n if (e.altKey && !e.ctrlKey || e.metaKey ||\n // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n },\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as ReactDOM from 'react-dom';\n// Let compiler not to search module usage\nvar fullClone = _objectSpread({}, ReactDOM);\nvar version = fullClone.version,\n reactRender = fullClone.render,\n unmountComponentAtNode = fullClone.unmountComponentAtNode;\nvar createRoot;\ntry {\n var mainVersion = Number((version || '').split('.')[0]);\n if (mainVersion >= 18) {\n createRoot = fullClone.createRoot;\n }\n} catch (e) {\n // Do nothing;\n}\nfunction toggleWarning(skip) {\n var __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && _typeof(__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\nvar MARK = '__rc_react_root__';\n\n// ========================== Render ==========================\n\nfunction modernRender(node, container) {\n toggleWarning(true);\n var root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _r(node, container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyRender(node, container);\n }\n}\nexport function render(node, container) {\n if (createRoot) {\n modernRender(node, container);\n return;\n }\n legacyRender(node, container);\n}\n\n// ========================= Unmount ==========================\nfunction modernUnmount(_x) {\n return _modernUnmount.apply(this, arguments);\n}\nfunction _modernUnmount() {\n _modernUnmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(container) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", Promise.resolve().then(function () {\n var _container$MARK;\n (_container$MARK = container[MARK]) === null || _container$MARK === void 0 || _container$MARK.unmount();\n delete container[MARK];\n }));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _modernUnmount.apply(this, arguments);\n}\nfunction legacyUnmount(container) {\n unmountComponentAtNode(container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _u(container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyUnmount(container);\n }\n}\nexport function unmount(_x2) {\n return _unmount.apply(this, arguments);\n}\nfunction _unmount() {\n _unmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(container) {\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(createRoot !== undefined)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", modernUnmount(container));\n case 2:\n legacyUnmount(container);\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _unmount.apply(this, arguments);\n}","import * as React from 'react';\nexport default function useEvent(callback) {\n var fnRef = React.useRef();\n fnRef.current = callback;\n var memoFn = React.useCallback(function () {\n var _fnRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));\n }, []);\n return memoFn;\n}","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nvar useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nvar useLayoutEffect = function useLayoutEffect(callback, deps) {\n var firstMountRef = React.useRef(true);\n useInternalLayoutEffect(function () {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(function () {\n firstMountRef.current = false;\n return function () {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport var useLayoutUpdateEffect = function useLayoutUpdateEffect(callback, deps) {\n useLayoutEffect(function (firstMount) {\n if (!firstMount) {\n return callback();\n }\n }, deps);\n};\nexport default useLayoutEffect;","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n return cacheRef.current.value;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"./useEvent\";\nimport { useLayoutUpdateEffect } from \"./useLayoutEffect\";\nimport useState from \"./useState\";\n/** We only think `undefined` is empty */\nfunction hasValue(value) {\n return value !== undefined;\n}\n\n/**\n * Similar to `useState` but will use props value if provided.\n * Note that internal use rc-util `useState` hook.\n */\nexport default function useMergedState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState;\n\n // ======================= Init =======================\n var _useState = useState(function () {\n if (hasValue(value)) {\n return value;\n } else if (hasValue(defaultValue)) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n } else {\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }\n }),\n _useState2 = _slicedToArray(_useState, 2),\n innerValue = _useState2[0],\n setInnerValue = _useState2[1];\n var mergedValue = value !== undefined ? value : innerValue;\n var postMergedValue = postState ? postState(mergedValue) : mergedValue;\n\n // ====================== Change ======================\n var onChangeFn = useEvent(onChange);\n var _useState3 = useState([mergedValue]),\n _useState4 = _slicedToArray(_useState3, 2),\n prevValue = _useState4[0],\n setPrevValue = _useState4[1];\n useLayoutUpdateEffect(function () {\n var prev = prevValue[0];\n if (innerValue !== prev) {\n onChangeFn(innerValue, prev);\n }\n }, [prevValue]);\n\n // Sync value back to `undefined` when it from control to un-control\n useLayoutUpdateEffect(function () {\n if (!hasValue(value)) {\n setInnerValue(value);\n }\n }, [value]);\n\n // ====================== Update ======================\n var triggerChange = useEvent(function (updater, ignoreDestroy) {\n setInnerValue(updater, ignoreDestroy);\n setPrevValue([mergedValue], ignoreDestroy);\n });\n return [postMergedValue, triggerChange];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"./warning\";\n\n/**\n * Deeply compares two object literals.\n * @param obj1 object 1\n * @param obj2 object 2\n * @param shallow shallow compare\n * @returns\n */\nfunction isEqual(obj1, obj2) {\n var shallow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n // https://github.com/mapbox/mapbox-gl-js/pull/5979/files#diff-fde7145050c47cc3a306856efd5f9c3016e86e859de9afbd02c879be5067e58f\n var refSet = new Set();\n function deepEqual(a, b) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var circular = refSet.has(a);\n warning(!circular, 'Warning: There may be circular references');\n if (circular) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (shallow && level > 1) {\n return false;\n }\n refSet.add(a);\n var newLevel = level + 1;\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (var i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], newLevel)) {\n return false;\n }\n }\n return true;\n }\n if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {\n var keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every(function (key) {\n return deepEqual(a[key], b[key], newLevel);\n });\n }\n // other\n return false;\n }\n return deepEqual(obj1, obj2);\n}\nexport default isEqual;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n\n/* eslint-enable max-len */\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = _objectSpread({}, ariaOnly);\n }\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if (\n // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) ||\n // Data\n mergedConfig.data && match(key, dataPrefix) ||\n // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\nvar rafUUID = 0;\nvar rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nvar wrapperRaf = function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n\n // Trigger\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n });\n\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(id);\n return caf(realId);\n};\nif (process.env.NODE_ENV !== 'production') {\n wrapperRaf.ids = function () {\n return rafIds;\n };\n}\nexport default wrapperRaf;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isValidElement } from 'react';\nimport { ForwardRef, isFragment, isMemo } from 'react-is';\nimport useMemo from \"./hooks/useMemo\";\nexport var fillRef = function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n};\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport var composeRef = function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n var refList = refs.filter(Boolean);\n if (refList.length <= 1) {\n return refList[0];\n }\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n};\nexport var useComposeRef = function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length !== next.length || prev.every(function (ref, i) {\n return ref !== next[i];\n });\n });\n};\nexport var supportRef = function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n\n // Function component node\n if (typeof type === 'function' && !((_type$prototype = type.prototype) !== null && _type$prototype !== void 0 && _type$prototype.render) && type.$$typeof !== ForwardRef) {\n return false;\n }\n\n // Class component\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) !== null && _nodeOrComponent$prot !== void 0 && _nodeOrComponent$prot.render) && nodeOrComponent.$$typeof !== ForwardRef) {\n return false;\n }\n return true;\n};\nexport var supportNodeRef = function supportNodeRef(node) {\n if (! /*#__PURE__*/isValidElement(node)) {\n return false;\n }\n if (isFragment(node)) {\n return false;\n }\n return supportRef(node);\n};","export default function get(entity, path) {\n var current = entity;\n for (var i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n current = current[path[i]];\n }\n return current;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from \"./get\";\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n var clone;\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n }\n\n // Delete prop if `removeIfUndefined` and value is undefined\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n return clone;\n}\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n return internalSet(entity, paths, value, removeIfUndefined);\n}\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\nfunction createEmpty(source) {\n return Array.isArray(source) ? [] : {};\n}\nvar keys = typeof Reflect === 'undefined' ? Object.keys : Reflect.ownKeys;\n\n/**\n * Merge objects which will create\n */\nexport function merge() {\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n var clone = createEmpty(sources[0]);\n sources.forEach(function (src) {\n function internalMerge(path, parentLoopSet) {\n var loopSet = new Set(parentLoopSet);\n var value = get(src, path);\n var isArr = Array.isArray(value);\n if (isArr || isObject(value)) {\n // Only add not loop obj\n if (!loopSet.has(value)) {\n loopSet.add(value);\n var originValue = get(clone, path);\n if (isArr) {\n // Array will always be override\n clone = set(clone, path, []);\n } else if (!originValue || _typeof(originValue) !== 'object') {\n // Init container if not exist\n clone = set(clone, path, createEmpty(value));\n }\n keys(value).forEach(function (key) {\n internalMerge([].concat(_toConsumableArray(path), [key]), loopSet);\n });\n }\n } else {\n clone = set(clone, path, value);\n }\n }\n internalMerge([]);\n });\n return clone;\n}","/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport var preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nexport function warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nexport function note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'OK',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;"],"names":["_excluded","Context","MotionProvider","_ref","children","props","Provider","value","DomWrapper","_React$Component","_super","this","apply","arguments","key","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","STEP_PREPARED","makePrefixMap","styleProp","eventName","prefixes","toLowerCase","concat","domSupport","win","vendorPrefixes","window","animationend","transitionend","animation","transition","style","_document$createEleme","document","createElement","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","Object","keys","len","length","i","prototype","hasOwnProperty","call","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionName","transitionType","replace","match","toUpperCase","onInternalMotionEnd","cacheElementRef","useRef","removeMotionEvents","element","removeEventListener","current","addEventListener","canUseDom","useLayoutEffect","useEffect","FULL_STEP_QUEUE","SIMPLE_STEP_QUEUE","SkipStep","DoStep","isActive","step","status","prepareOnly","callback","_useState","useState","_useState2","setStep","_useNextFrame","nextFrameRef","cancelNextFrame","raf","cancel","nextFrame","delay","undefined","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","STEP_QUEUE","index","indexOf","nextStep","result","info","doNext","Promise","resolve","then","config","transitionSupport","CSSMotion","ref","_props$visible","visible","_props$removeOnLeave","removeOnLeave","forceRender","motionName","leavedClassName","eventProps","supportMotion","contextMotion","isSupportTransition","motion","nodeRef","wrapperNodeRef","_useStatus","getElement","_ref$motionEnter","motionEnter","_ref$motionAppear","motionAppear","_ref$motionLeave","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","asyncVisible","setAsyncVisible","_useState3","_useState4","setStatus","_useState5","_useState6","setStyle","mountedRef","deadlineRef","getDomElement","activeRef","updateMotionEndStatus","event","deadline","target","canEnd","currentActive","_useDomMotionEvents","useDomMotionEvents","patchMotionEvents","getEventHandlers","targetStatus","eventHandlers","_useStepQueue","useStepQueue","newStep","onPrepare","_eventHandlers$step","clearTimeout","setTimeout","_useStepQueue2","startStep","active","nextStatus","isMounted","nextEventHandlers","firstMountChangeRef","mergedStyle","useStatus","HTMLElement","findDOMNode","e","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","motionChildren","setNodeRef","node","mergedProps","className","display","statusSuffix","motionCls","displayName","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","String","parseKeys","map","_excluded2","MOTION_PROP_NAMES","CSSMotionList","_this","_len","args","Array","_key","keyEntities","removeKey","nextKeyEntities","state","entity","setState","filter","_this2","_this$props","component","_onVisibleChanged","onAllRemoved","restProps","Component","motionProps","forEach","prop","_ref2","changedVisible","_ref3","_ref4","parsedKeyObjects","mixedKeyEntities","prevKeys","currentKeys","list","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","slice","obj","push","matchKey","diffKeys","prevEntity","find","_ref5","prefixCls","_props$duration","duration","showProgress","_props$pauseOnHover","pauseOnHover","eventKey","content","closable","_props$closeIcon","closeIcon","divProps","onClick","onNoticeClose","times","forcedHovering","hovering","_React$useState","_React$useState2","setHovering","_React$useState3","_React$useState4","percent","setPercent","_React$useState5","_React$useState6","spentTime","setSpentTime","mergedHovering","mergedShowProgress","onInternalClose","start","Date","now","timeout","animationFrame","performance","calculate","cancelAnimationFrame","requestAnimationFrame","timestamp","runtime","progress","Math","min","closableObj","ariaProps","pickAttrs","validPercent","noticePrefixCls","onMouseEnter","_divProps$onMouseEnte","onMouseLeave","_divProps$onMouseLeav","tabIndex","onKeyDown","code","keyCode","KeyCode","ENTER","preventDefault","stopPropagation","max","NotificationContext","classNames","_config$offset","_config$threshold","_config$gap","offset","threshold","gap","configList","placement","onAllNoticeRemoved","stackConfig","stack","ctxCls","useContext","dictRef","latestNotice","setLatestNotice","hoverKeys","setHoverKeys","_useStack","_useStack2","_useStack2$","expanded","placementMotion","prev","some","dataKey","_keys","_keys2","motionClassName","motionStyle","motionIndex","strKey","configClassName","configStyle","configClassNames","configStyles","styles","restConfig","dataIndex","findIndex","item","stackStyle","transformX","_dictRef$current$strK","_dictRef$current$strK2","_dictRef$current$strK3","height","offsetHeight","verticalOffset","_dictRef$current$keys","transformY","startsWith","scaleX","offsetWidth","transform","wrapper","includes","k","Notice","notice","_props$prefixCls","container","maxCount","renderNotifications","setConfigList","_config$onClose","onClose","open","_list$index","clone","innerConfig","close","destroy","placements","setPlacements","nextPlacements","_config$placement","originPlacements","emptyRef","placementList","createPortal","placementConfigList","defaultGetContainer","body","uniqueKey","useNotification","rootConfig","_rootConfig$getContai","getContainer","shareConfig","setContainer","notificationsRef","contextHolder","taskQueue","setTaskQueue","api","mergedConfig","objList","val","mergeConfig","queue","type","task","oriQueue","items_per_page","jump_to","jump_to_confirm","page","prev_page","next_page","prev_5","next_5","prev_3","next_3","page_size","o","c","proto","oldFormat","format","formatStr","str","bind","localeMap","bn_BD","by_BY","en_GB","en_US","fr_BE","fr_CA","hy_AM","kmr_IQ","nl_BE","pt_BR","zh_CN","zh_HK","zh_TW","parseLocale","locale","split","parseNoMatchNotice","generateConfig","getNow","getFixedDate","string","getEndDate","date","endOf","getWeekDay","weekday","localeData","firstDayOfWeek","getYear","year","getMonth","month","getDate","getHour","hour","getMinute","minute","getSecond","second","addYear","diff","add","addMonth","addDate","setYear","setMonth","setDate","num","setHour","setMinute","setSecond","isAfter","date1","date2","isValidate","isValid","getWeekFirstDay","getWeekFirstDate","getWeek","week","getShortWeekDays","weekdaysMin","getShortMonths","monthsShort","_format","parse","text","formats","localeStr","formatText","weekStr","firstWeek","startOf","j","nextWeek","DECADE_UNIT_DIFF","DECADE_DISTANCE_COUNT","isNullEqual","value1","value2","isSameYear","year1","year2","equal","getQuarter","floor","isSameQuarter","quarter1","quarter2","isSameMonth","month1","month2","isSameDate","isSameWeek","time1","time2","isSameTime","isInRange","startDate","endDate","getClosingViewDate","viewDate","picker","formatValue","parseValue","formatList","getCellDateDisabled","cellDate","mode","disabledDate","getDisabledFromRange","currentMode","end","_date","startMonth","startYear","useValueTexts","_useMemo","useMemo","firstValueText","fullValueTexts","next","_useMemo2","texts","join","useHoverValue","valueText","internalSetValue","setValue","immediately","_useValueTexts","firstText","onLeave","Element","offsetParent","getBBox","_getBBox","width","getBoundingClientRect","_element$getBoundingC","_width","_height","scrollIds","Map","scrollTo","to","get","set","scrollTop","perTick","createKeyDownHandler","onLeftRight","onCtrlLeftRight","onUpDown","onPageUpDown","onEnter","which","ctrlKey","metaKey","LEFT","RIGHT","UP","DOWN","PAGE_UP","PAGE_DOWN","getDefaultFormat","showTime","use12Hours","mergedFormat","getInputSize","defaultSize","globalClickFunc","clickCallbacks","Set","PickerModeMap","quarter","time","elementsContains","elements","ele","contains","usePickerInput","isClickOutside","triggerOpen","forwardKeyDown","_onKeyDown","blurToCancel","changeOnBlur","onSubmit","onCancel","_onFocus","onFocus","_onBlur","onBlur","typing","setTyping","focused","setFocused","preventBlurRef","valueChangedRef","preventDefaultRef","inputProps","onMouseDown","TAB","shiftKey","ESC","SHIFT","activeElement","shadowRoot","_e$composedPath","composed","composedPath","getTargetFromEvent","clickedOutside","queueFunc","delete","size","usePresets","presets","legacyRanges","entries","label","useTextValueMapping","valueTexts","onTextChange","setInnerText","valueTextsRef","resetText","every","valText","useCellRender","cellRender","monthCellRender","dateRender","today","originNode","leftPad","fill","toArray","isArray","getValue","values","updateValues","newValues","executeValue","useCellClassName","cellPrefixCls","rangedValue","hoverRangedValue","isInView","isSameCell","offsetCell","currentDate","prevDate","nextDate","rangeStart","rangeEnd","hoverStart","hoverEnd","isRangeHovered","isRangeStart","isRangeEnd","isHoverStart","isHoverEnd","isHoverEdgeStart","isHoverEdgeEnd","nextTime","setDateTime","defaultDate","newDate","getLastDay","lastDay","monthShow","PanelBody","onSelect","rowNum","colNum","prefixColumn","rowClassName","baseDate","getCellClassName","getCellText","getCellNode","getCellDate","titleCell","headerCells","_React$useContext","onDateMouseEnter","onDateMouseLeave","rows","row","rowStartDate","_loop","disabled","title","inner","Number","rowCount","weekFirstDay","monthStartDate","startDateWeekDay","alignStartDate","getWeekStartDate","weekDaysLocale","shortWeekDays","wrapperNode","HIDDEN_STYLE","visibility","_ref$prevIcon","prevIcon","_ref$nextIcon","nextIcon","_ref$superPrevIcon","superPrevIcon","_ref$superNextIcon","superNextIcon","onSuperPrev","onSuperNext","onPrev","onNext","hideNextBtn","hidePrevBtn","onNextMonth","onPrevMonth","onNextYear","onPrevYear","onYearClick","onMonthClick","hideHeader","headerPrefixCls","monthsLocale","shortMonths","yearNode","yearFormat","monthNode","monthFormat","monthYearNodes","monthBeforeYear","_props$panelName","panelName","keyboardConfig","operationRef","onViewDateChange","onPanelChange","_onSelect","panelPrefixCls","onYearChange","onMonthChange","units","hideDisabledOptions","ulRef","liRefs","scrollRef","li","offsetTop","tryOrNextFrame","isVisible","id","_scrollRef$current","position","unit","subType","shouldUnitsUpdate","prevUnits","nextUnits","generateUnits","disabledUnits","integerStep","isPM","activeColumnIndex","showHour","showMinute","showSecond","_props$hourStep","hourStep","_props$minuteStep","minuteStep","_props$secondStep","secondStep","disabledHours","disabledMinutes","disabledSeconds","disabledTime","columns","contentPrefixCls","columnPrefixCls","originHour","_React$useMemo","disabledConfig","_React$useMemo2","mergedDisabledHours","mergedDisabledMinutes","mergedDisabledSeconds","rawHours","memorizedRawHours","_React$useMemo3","AMPMDisabled","hourValue","_React$useMemo4","AMDisabled","PMDisabled","hours","hourMeta","hourLabel","minutes","seconds","setTime","isNewPM","newHour","newMinute","newSecond","newFormattedHour","mergedHour","mergedMinute","mergedSecond","newDisabledMinutes","availableMinute","newDisabledSeconds","availableSecond","useTimeSelection","addColumnNode","condition","columnValue","onColumnSelect","column","valueIndex","unitLen","nextUnit","PMIndex","_props$format","_props$use12Hours","bodyOperationRef","setActiveColumnIndex","columnsCount","bool","ACTIVE_PANEL","tuple","findValidTime","refValue","disabledRange","maxValidTime","rangeSet","has","defaultValue","activePanel","setActivePanel","dateOperationRef","timeOperationRef","timeProps","nextActivePanel","activeIndex","onInternalSelect","source","selectedDate","_disabledTimes$disabl","_disabledTimes$disabl2","_disabledTimes$disabl3","_disabledTimes","validHour","validMinute","validSeconds","disabledTimes","onPrevDecades","onNextDecades","yearNumber","endYear","DECADE_UNIT_DIFF_DES","decadeYearNumber","startDecadeYear","endDecadeYear","baseDecadeYear","ceil","DECADE_COL_COUNT","startDecadeNumber","endDecadeNumber","onDecadesChange","baseMonth","baseQuarter","quarterFormat","_React$useContext2","rowPrefixCls","YEAR_DECADE_COUNT","onPrevDecade","onNextDecade","onDecadeClick","yearPrefixCls","baseYear","currentYearNumber","sourceMode","onDecadeChange","getExtraFooter","renderExtraFooter","getRanges","presetNode","okNode","_ref$components","components","needConfirmButton","onNow","onOk","okDisabled","showNow","Button","button","ok","CALENDAR_PANEL_MODE","_ref$prefixCls","pickerValue","defaultPickerValue","_ref$picker","_ref$tabIndex","showToday","onChange","onPickerValueChange","_onOk","direction","_ref$hourStep","_ref$minuteStep","_ref$secondStep","isHourStepValid","isMinuteStepValid","isSecondStepValid","panelContext","onContextSelect","hideRanges","defaultOpenValue","inRange","panelPosition","panelRef","initRef","_useMergedState","useMergedState","postState","_useMergedState2","mergedValue","setInnerValue","_useMergedState3","defaultDateObject","_useMergedState4","setInnerViewDate","setViewDate","getInternalNextMode","nextMode","getNextMode","_useMergedState5","_useMergedState6","mergedMode","setInnerMode","panelNode","setSourceMode","triggerSelect","onInternalKeyDown","selectable","operationFnc","isDateMode","isSelectable","extraFooter","rangesNode","todayNode","mergedCellRender","pickerProps","newMode","viewValue","lowerBoundTime","lowerBoundHour","lowerBoundMinute","getLowerBoundTime","adjustedNow","todayCls","EMPTY_LIST","measureScrollbarSize","randomId","random","toString","substring","measureEle","fallbackWidth","fallbackHeight","measureStyle","left","top","overflow","targetStyle","getComputedStyle","scrollbarColor","scrollbarWidth","webkitScrollbarStyle","parseInt","widthStyle","heightStyle","console","error","appendChild","scrollWidth","isNaN","clientWidth","scrollHeight","clientHeight","removeChild","UNIQUE_ID","uuid","useScrollLocker","lock","mergedLock","scrollbarSize","isOverflow","innerHeight","documentElement","innerWidth","inline","getPortalContainer","querySelector","autoLock","_props$autoDestroy","debug","autoDestroy","shouldRender","setShouldRender","mergedRender","innerContainer","setInnerContainer","customizeContainer","_useDom","render","appendedRef","queueCreate","setQueue","mergedQueueCreate","appendFn","origin","append","parentElement","cleanup","_ele$parentElement","useDom","_useDom2","defaultContainer","mergedContainer","childRef","mergedRef","nextInline","renderInline","reffedChildren","option","ret","child","keepEmpty","isFragment","CollectionContext","elementListeners","resizeObserver","entities","_elementListeners$get","listener","SingleObserver","elementRef","wrapperRef","onCollectionResize","isRenderProps","mergedChildren","sizeRef","canRef","originRef","getDom","_elementRef$current","nativeElement","propsRef","onInternalResize","_propsRef$current","onResize","data","_target$getBoundingCl","fixedWidth","fixedHeight","mergedOffsetWidth","round","mergedOffsetHeight","sizeInfo","currentElement","observe","unobserve","ResizeObserver","RefResizeObserver","Collection","onBatchResize","resizeIdRef","resizeInfosRef","currentId","useOriginId","useId","reactId","innerId","setInnerId","nextId","Arrow","align","arrow","arrowPos","_arrowPos$x","x","_arrowPos$y","y","arrowRef","points","alignStyle","autoArrow","popupPoints","targetPoints","popupTB","popupLR","targetTB","targetLR","bottom","right","Mask","zIndex","mask","_","cache","Popup","popup","keepDom","fresh","maskMotion","getPopupContainer","Portal","portal","onPointerEnter","ready","offsetX","offsetY","offsetR","offsetB","onAlign","stretch","targetWidth","targetHeight","childNode","isNodeVisible","getPopupContainerNeedParams","show","setShow","AUTO","offsetStyle","_experimental","dynamicInset","alignRight","alignBottom","miscStyle","minHeight","minWidth","pointerEvents","resizeObserverRef","nextVisible","_motion$onVisibleChan","motionRef","cls","boxSizing","getTriggerDOMNode","canUseRef","setRef","isPointsEq","a1","a2","getMotion","getWin","ownerDocument","defaultView","collectScroller","scrollerList","scrollStyle","_getWin$getComputedSt","overflowX","overflowY","toNum","getPxValue","parseFloat","getVisibleArea","initArea","visibleArea","HTMLBodyElement","HTMLHtmlElement","_getWin$getComputedSt2","overflowClipMargin","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","eleRect","eleOutHeight","eleInnerHeight","eleOutWidth","eleInnerWidth","borderTopNum","borderBottomNum","borderLeftNum","borderRightNum","scaleY","eleScrollWidth","eleScrollHeight","scaledBorderTopWidth","scaledBorderBottomWidth","scaledBorderLeftWidth","scaledBorderRightWidth","clipMarginWidth","clipMarginHeight","clipNum","eleLeft","eleTop","eleRight","eleBottom","getUnitOffset","offsetStr","cells","getNumberOffset","rect","splitPoints","getAlignPoint","topBottom","leftRight","reversePoints","reverseMap","t","b","l","r","point","PortalComponent","Trigger","_props$action","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","_props$mouseLeaveDela","mouseLeaveDelay","focusDelay","blurDelay","_props$maskClosable","maskClosable","destroyPopupOnHide","popupClassName","popupStyle","popupPlacement","_props$builtinPlaceme","builtinPlacements","popupAlign","getPopupClassNameFromAlign","alignPoint","onPopupClick","onPopupAlign","popupMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","mergedAutoDestroy","mobile","setMobile","navigator","agent","userAgent","vendor","opera","test","substr","isMobile","subPopupElements","parentContext","context","registerSubPopup","subPopupEle","popupEle","setPopupEle","setPopupRef","useEvent","targetEle","setTargetEle","externalForwardRef","setTargetRef","only","originChildProps","cloneProps","inPopupOrChild","_getShadowRoot","_getShadowRoot2","childDOM","host","mergePopupMotion","mergeMaskMotion","_React$useState7","_React$useState8","internalOpen","setInternalOpen","mergedOpen","setMergedOpen","nextOpen","openRef","lastTriggerRef","internalTriggerOpen","_lastTriggerRef$curre","delayRef","clearDelay","_React$useState9","_React$useState10","inMotion","setInMotion","firstMount","_React$useState11","_React$useState12","motionPrepareResolve","setMotionPrepareResolve","_React$useState13","_React$useState14","mousePos","setMousePos","setMousePosByEvent","clientX","clientY","_useAlign","arrowX","arrowY","offsetInfo","setOffsetInfo","alignCountRef","prevFlipRef","_popupElement$parentE","_popupElement$parentE2","targetRect","popupElement","doc","_win$getComputedStyle","popupPosition","originLeft","originTop","originRight","originBottom","originOverflow","placementInfo","placeholderElement","offsetLeft","popupRect","_doc$documentElement","scrollLeft","popupHeight","popupWidth","visibleRegion","scrollRegion","htmlRegion","VISIBLE","VISIBLE_FIRST","isVisibleFirst","scrollRegionArea","visibleRegionArea","adjustCheckVisibleArea","popupMirrorRect","_scaleX","_scaleY","targetOffset","_getNumberOffset","_getNumberOffset2","popupOffsetX","popupOffsetY","_getNumberOffset3","_getNumberOffset4","targetOffsetX","targetOffsetY","popupPoint","targetAlignPoint","popupAlignPoint","nextAlignInfo","nextOffsetX","nextOffsetY","getIntersectionVisibleArea","area","visibleL","visibleT","visibleR","visibleB","nextPopupY","nextPopupBottom","nextPopupX","nextPopupRight","originIntersectionVisibleArea","originIntersectionRecommendArea","targetAlignPointTL","popupAlignPointTL","targetAlignPointBR","popupAlignPointBR","adjustX","adjustY","shiftX","shiftY","supportAdjust","syncNextPopupPosition","needAdjustY","sameTB","bt","tmpNextOffsetY","newVisibleArea","newVisibleRecommendArea","tb","_tmpNextOffsetY","_newVisibleArea","_newVisibleRecommendArea","needAdjustX","sameLR","rl","tmpNextOffsetX","_newVisibleArea2","_newVisibleRecommendArea2","lr","_tmpNextOffsetX","_newVisibleArea3","_newVisibleRecommendArea3","numShiftX","numShiftY","popupLeft","popupRight","popupTop","popupBottom","targetLeft","targetRight","targetTop","targetBottom","nextArrowX","nextArrowY","offsetX4Right","offsetY4Bottom","resetReady","ori","useAlign","_useAlign2","alignInfo","_useAction","mergedShowAction","mergedHideAction","showActionSet","hideActionSet","useAction","_useAction2","showActions","hideActions","clickToShow","clickToHide","triggerAlign","onScroll","targetScrollList","popupScrollList","mergedList","notifyScroll","scroller","passive","useWatch","JSON","stringify","alignedClassName","baseClassName","isAlignPoint","_builtinPlacements$pl","getAlignPopupClassName","forceAlign","_React$useState15","_React$useState16","setTargetWidth","_React$useState17","_React$useState18","setTargetHeight","syncTargetSize","wrapperAction","preEvent","_originChildProps$eve","_originChildProps$onC","_len2","_key2","lockRef","genClickEvents","clickInside","_genClickEvents","_genClickEvents2","onWinMouseDown","onWinClick","_genClickEvents3","_genClickEvents4","onShadowMouseDown","onShadowClick","targetShadowRoot","useWinClick","onPopupMouseEnter","onPopupMouseLeave","hoverToShow","hoverToHide","onMouseMove","_originChildProps$onM","onContextMenu","_originChildProps$onC2","_len3","_key3","mergedChildrenProps","passedProps","_mergedChildrenProps$","_len4","_key4","triggerNode","innerArrow","BUILT_IN_PLACEMENTS","bottomLeft","bottomRight","topLeft","topRight","dropdownClassName","dropdownAlign","range","dropdownPrefixCls","PresetPanel","_onClick","onHover","getClearIcon","allowClear","clearIcon","InnerPicker","name","inputReadOnly","autoFocus","defaultOpen","suffixIcon","placeholder","pickerRef","panelRender","onOpenChange","onMouseUp","_ref$autoComplete","autoComplete","inputRender","inputRef","isMouseDownRef","presetList","panelDivRef","inputDivRef","containerRef","selectedValue","setSelectedValue","postOpen","newOpen","triggerInnerOpen","_useValueTexts2","_useTextValueMapping","newText","inputDate","_useTextValueMapping2","triggerTextChange","triggerChange","newValue","_usePickerInput","_usePickerInput2","_usePickerInput2$","focus","_inputRef$current","blur","_inputRef$current2","_useHoverValue","_useHoverValue2","hoverValue","panelProps","nextValue","suffixNode","panel","mergedClearIcon","clearNode","role","mergedAllowClear","mergedInputProps","readOnly","aria","inputNode","Picker","getStartEndDistance","startNext","getDistance","compareFunc","decade1","decade2","isSameDecade","useRangeViewDates","defaultDates","defaultViewDates","setDefaultViewDates","viewDates","setInternalViewDates","getRangeViewDate","newViewDates","anotherIndex","reorderValues","canValueTrigger","allowEmpty","InnerRangePicker","_ref$separator","separator","_disabledTime","ranges","onCalendarChange","order","activePickerIndex","startInputDivRef","endInputDivRef","separatorRef","startInputRef","endInputRef","formatDateValue","mergedDisabled","_useRangeViewDates","_useRangeViewDates2","getViewDate","postValues","mergedModes","setInnerModes","triggerModesChange","modes","_useRangeOpen","startSelectedValue","endSelectedValue","firstTimeOpen","setFirstTimeOpen","afferentOpen","setAfferentOpen","mergedActivePickerIndex","setMergedActivePickerIndex","nextActiveIndex","setNextActiveIndex","queryNextIndex","nextIndex","customNextActiveIndex","_ref$current","useRangeOpen","_useRangeOpen2","_triggerOpen","startOpen","endOpen","_useRangeDisabled","weekFirstDate","monthNumber","quarterNumber","useRangeDisabled","_useRangeDisabled2","disabledStartDate","disabledEndDate","popupMinWidth","setPopupMinWidth","triggerOpenAndFocus","sourceIndex","triggerCalendarChangeOnly","startValue","endValue","startStr","endStr","canStartValueTrigger","canEndValueTrigger","sharedTextHooksProps","startValueTexts","firstStartValueText","_useValueTexts3","_useValueTexts4","endValueTexts","firstEndValueText","_onTextChange","startText","triggerStartTextChange","resetStartText","_useTextValueMapping3","_useTextValueMapping4","endText","triggerEndTextChange","resetEndText","rangeHoverValue","setRangeHoverValue","setHoverRangedValue","startHoverValue","onStartEnter","onStartLeave","_useHoverValue3","_useHoverValue4","endHoverValue","onEndEnter","onEndLeave","delayOpen","setDelayOpen","onInternalBlur","needTriggerIndex","getSharedInputHookProps","elementsRefs","sharedPickerInput","startInputProps","startFocused","startTyping","_usePickerInput3","_usePickerInput4","endInputProps","_usePickerInput4$","endFocused","endTyping","panelDateRender","renderPanel","panelHoverRangedValue","panelShowTime","timeDefaultValues","arrowLeft","panelLeft","arrowMarginLeft","panelWidth","arrowWidth","arrowPositionStyle","rangePanel","panels","extraNode","nextViewDate","showDoublePanel","leftPanel","newViewDate","rightPanel","mergedNodes","marginLeft","renderPanels","inputSharedProps","activeBarLeft","activeBarWidth","activeBarPositionStyle","backToToday","clear","timeSelect","dateSelect","weekSelect","monthSelect","yearSelect","decadeSelect","dateFormat","dayFormat","dateTimeFormat","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","APPEND_ORDER","APPEND_PRIORITY","MARK_KEY","containerCache","getMark","mark","attachTo","findStyles","from","tagName","injectCSS","css","csp","prepend","_option$priority","priority","mergedOrder","getOrder","isPrependQueue","styleNode","setAttribute","nonce","innerHTML","firstChild","existStyle","getAttribute","nodePriority","insertBefore","nextSibling","findExistNode","removeCSS","existNode","updateCSS","originOption","cachedRealContainer","root","n","parentNode","placeholderStyle","syncRealContainer","_option$csp","_option$csp2","_option$csp3","newNode","isDOM","SVGElement","_ReactDOM$findDOMNode","domNode","getDOM","getRoot","_ele$getRootNode","getRootNode","getShadowRoot","ShadowRoot","inShadow","MAC_ENTER","BACKSPACE","NUM_CENTER","CTRL","ALT","PAUSE","CAPS_LOCK","SPACE","END","HOME","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","isCharacterKey","createRoot","fullClone","version","reactRender","unmountComponentAtNode","toggleWarning","skip","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","usingClientEntryPoint","MARK","modernRender","legacyRender","fnRef","memoFn","_fnRef$current","useInternalLayoutEffect","deps","firstMountRef","useLayoutUpdateEffect","shouldUpdate","cacheRef","hasValue","defaultStateValue","innerValue","postMergedValue","onChangeFn","prevValue","setPrevValue","updater","ignoreDestroy","useSafeState","destroyRef","obj1","obj2","shallow","refSet","deepEqual","a","level","circular","newLevel","propList","ariaPrefix","dataPrefix","prefix","ariaOnly","attr","attrs","caf","handle","rafUUID","rafIds","wrapperRaf","callRef","leftTimes","realId","fillRef","composeRef","refs","refList","Boolean","useComposeRef","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isMemo","$$typeof","ForwardRef","path","internalSet","paths","removeIfUndefined","_paths","restPath","createEmpty","Reflect","ownKeys","merge","sources","src","internalMerge","parentLoopSet","loopSet","isArr","getPrototypeOf","originValue","warned","preWarningFns","warning","valid","message","note","method","warningOnce","noteOnce","preMessage","fn","resetWarned"],"sourceRoot":""}