{"version":3,"file":"acea490a143ab18e3f3c.bundle.js","mappings":"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","sources":["webpack://spartner/./node_modules/rc-pagination/es/locale/zh_CN.js","webpack://spartner/./node_modules/rc-pagination/es/Options.js","webpack://spartner/./node_modules/rc-pagination/es/Pager.js","webpack://spartner/./node_modules/rc-pagination/es/Pagination.js","webpack://spartner/./node_modules/rc-pagination/es/locale/en_US.js","webpack://spartner/./node_modules/rc-pagination/lib/locale/en_US.js","webpack://spartner/./node_modules/rc-pagination/lib/locale/ru_RU.js","webpack://spartner/./node_modules/rc-picker/es/generate/dayjs.js","webpack://spartner/./node_modules/rc-picker/es/panels/DecadePanel/constant.js","webpack://spartner/./node_modules/rc-picker/es/utils/dateUtil.js","webpack://spartner/./node_modules/rc-picker/es/hooks/useValueTexts.js","webpack://spartner/./node_modules/rc-picker/es/hooks/useHoverValue.js","webpack://spartner/./node_modules/rc-picker/es/utils/uiUtil.js","webpack://spartner/./node_modules/rc-picker/es/hooks/usePickerInput.js","webpack://spartner/./node_modules/rc-picker/es/hooks/usePresets.js","webpack://spartner/./node_modules/rc-picker/es/hooks/useTextValueMapping.js","webpack://spartner/./node_modules/rc-picker/es/PanelContext.js","webpack://spartner/./node_modules/rc-picker/es/hooks/useCellRender.js","webpack://spartner/./node_modules/rc-picker/es/utils/miscUtil.js","webpack://spartner/./node_modules/rc-picker/es/hooks/useCellClassName.js","webpack://spartner/./node_modules/rc-picker/es/RangeContext.js","webpack://spartner/./node_modules/rc-picker/es/utils/timeUtil.js","webpack://spartner/./node_modules/rc-picker/es/panels/PanelBody.js","webpack://spartner/./node_modules/rc-picker/es/panels/DatePanel/DateBody.js","webpack://spartner/./node_modules/rc-picker/es/panels/Header.js","webpack://spartner/./node_modules/rc-picker/es/panels/DatePanel/DateHeader.js","webpack://spartner/./node_modules/rc-picker/es/panels/DatePanel/index.js","webpack://spartner/./node_modules/rc-picker/es/panels/TimePanel/TimeUnitColumn.js","webpack://spartner/./node_modules/rc-picker/es/panels/TimePanel/TimeBody.js","webpack://spartner/./node_modules/rc-picker/es/hooks/useTimeSelection.js","webpack://spartner/./node_modules/rc-picker/es/panels/TimePanel/TimeHeader.js","webpack://spartner/./node_modules/rc-picker/es/panels/TimePanel/index.js","webpack://spartner/./node_modules/rc-picker/es/panels/DatetimePanel/index.js","webpack://spartner/./node_modules/rc-picker/es/panels/DecadePanel/DecadeHeader.js","webpack://spartner/./node_modules/rc-picker/es/panels/DecadePanel/DecadeBody.js","webpack://spartner/./node_modules/rc-picker/es/panels/DecadePanel/index.js","webpack://spartner/./node_modules/rc-picker/es/panels/MonthPanel/MonthHeader.js","webpack://spartner/./node_modules/rc-picker/es/panels/MonthPanel/MonthBody.js","webpack://spartner/./node_modules/rc-picker/es/panels/MonthPanel/index.js","webpack://spartner/./node_modules/rc-picker/es/panels/QuarterPanel/QuarterHeader.js","webpack://spartner/./node_modules/rc-picker/es/panels/QuarterPanel/QuarterBody.js","webpack://spartner/./node_modules/rc-picker/es/panels/QuarterPanel/index.js","webpack://spartner/./node_modules/rc-picker/es/panels/WeekPanel/index.js","webpack://spartner/./node_modules/rc-picker/es/panels/YearPanel/constant.js","webpack://spartner/./node_modules/rc-picker/es/panels/YearPanel/YearHeader.js","webpack://spartner/./node_modules/rc-picker/es/panels/YearPanel/YearBody.js","webpack://spartner/./node_modules/rc-picker/es/panels/YearPanel/index.js","webpack://spartner/./node_modules/rc-picker/es/utils/getExtraFooter.js","webpack://spartner/./node_modules/rc-picker/es/utils/getRanges.js","webpack://spartner/./node_modules/rc-picker/es/PickerPanel.js","webpack://spartner/./node_modules/rc-picker/es/PickerTrigger.js","webpack://spartner/./node_modules/rc-picker/es/PresetPanel.js","webpack://spartner/./node_modules/rc-picker/es/utils/getClearIcon.js","webpack://spartner/./node_modules/rc-picker/es/Picker.js","webpack://spartner/./node_modules/rc-picker/es/hooks/useRangeViewDates.js","webpack://spartner/./node_modules/rc-picker/es/RangePicker.js","webpack://spartner/./node_modules/rc-picker/es/hooks/useRangeOpen.js","webpack://spartner/./node_modules/rc-picker/es/hooks/useRangeDisabled.js","webpack://spartner/./node_modules/rc-picker/es/index.js","webpack://spartner/./node_modules/rc-picker/es/locale/en_US.js","webpack://spartner/./node_modules/rc-picker/es/locale/ru_RU.js","webpack://spartner/./node_modules/rc-picker/lib/locale/en_US.js","webpack://spartner/./node_modules/rc-picker/lib/locale/ru_RU.js","webpack://spartner/./node_modules/rc-progress/es/common.js","webpack://spartner/./node_modules/rc-progress/es/hooks/useId.js","webpack://spartner/./node_modules/rc-progress/node_modules/rc-util/es/Dom/canUseDom.js","webpack://spartner/./node_modules/rc-progress/es/Circle/PtgCircle.js","webpack://spartner/./node_modules/rc-progress/es/Circle/util.js","webpack://spartner/./node_modules/rc-progress/es/Circle/index.js","webpack://spartner/./node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js","webpack://spartner/./node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js","webpack://spartner/./node_modules/rc-resize-observer/es/utils/observerUtil.js","webpack://spartner/./node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","webpack://spartner/./node_modules/rc-resize-observer/es/Collection.js","webpack://spartner/./node_modules/rc-resize-observer/es/SingleObserver/index.js","webpack://spartner/./node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js","webpack://spartner/./node_modules/rc-resize-observer/es/index.js","webpack://spartner/./node_modules/rc-segmented/node_modules/rc-util/es/ref.js","webpack://spartner/./node_modules/rc-segmented/node_modules/rc-util/es/hooks/useLayoutEffect.js","webpack://spartner/./node_modules/rc-segmented/node_modules/rc-util/es/Dom/canUseDom.js","webpack://spartner/./node_modules/rc-segmented/es/MotionThumb.js","webpack://spartner/./node_modules/rc-segmented/es/index.js","webpack://spartner/./node_modules/rc-segmented/node_modules/rc-util/es/omit.js","webpack://spartner/./node_modules/rc-segmented/node_modules/rc-util/es/hooks/useMergedState.js","webpack://spartner/./node_modules/rc-segmented/node_modules/rc-util/es/hooks/useState.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/hooks/useMergedState.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/hooks/useState.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/warning.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/Dom/canUseDom.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/hooks/useLayoutEffect.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/KeyCode.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/hooks/useMemo.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/ref.js","webpack://spartner/./node_modules/rc-select/es/TransBtn.js","webpack://spartner/./node_modules/rc-select/es/hooks/useBaseProps.js","webpack://spartner/./node_modules/rc-select/es/hooks/useLock.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/pickAttrs.js","webpack://spartner/./node_modules/rc-select/es/Selector/Input.js","webpack://spartner/./node_modules/rc-select/es/utils/commonUtil.js","webpack://spartner/./node_modules/rc-select/es/Selector/MultipleSelector.js","webpack://spartner/./node_modules/rc-select/es/hooks/useLayoutEffect.js","webpack://spartner/./node_modules/rc-select/es/Selector/SingleSelector.js","webpack://spartner/./node_modules/rc-select/es/Selector/index.js","webpack://spartner/./node_modules/rc-select/es/utils/keyUtil.js","webpack://spartner/./node_modules/rc-select/es/SelectTrigger.js","webpack://spartner/./node_modules/rc-select/es/utils/valueUtil.js","webpack://spartner/./node_modules/rc-select/es/BaseSelect.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/isMobile.js","webpack://spartner/./node_modules/rc-select/es/hooks/useDelayReset.js","webpack://spartner/./node_modules/rc-select/es/hooks/useSelectTriggerControl.js","webpack://spartner/./node_modules/rc-select/es/hooks/useAllowClear.js","webpack://spartner/./node_modules/rc-select/es/OptGroup.js","webpack://spartner/./node_modules/rc-select/es/Option.js","webpack://spartner/./node_modules/rc-select/es/SelectContext.js","webpack://spartner/./node_modules/rc-select/es/OptionList.js","webpack://spartner/./node_modules/rc-select/es/utils/platformUtil.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/omit.js","webpack://spartner/./node_modules/rc-select/es/hooks/useFilterOptions.js","webpack://spartner/./node_modules/rc-select/es/hooks/useId.js","webpack://spartner/./node_modules/rc-select/node_modules/rc-util/es/Children/toArray.js","webpack://spartner/./node_modules/rc-select/es/utils/legacyUtil.js","webpack://spartner/./node_modules/rc-select/es/hooks/useRefFunc.js","webpack://spartner/./node_modules/rc-select/es/Select.js","webpack://spartner/./node_modules/rc-select/es/hooks/useOptions.js","webpack://spartner/./node_modules/rc-select/es/hooks/useCache.js","webpack://spartner/./node_modules/rc-select/es/index.js","webpack://spartner/./node_modules/rc-pagination/node_modules/classnames/index.js"],"sourcesContent":["var locale = {\n // Options\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n // Pagination\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页',\n page_size: '页码'\n};\nexport default locale;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport KEYCODE from \"rc-util/es/KeyCode\";\nimport React from 'react';\nvar defaultPageSizeOptions = ['10', '20', '50', '100'];\nvar Options = function Options(props) {\n var _props$pageSizeOption = props.pageSizeOptions,\n pageSizeOptions = _props$pageSizeOption === void 0 ? defaultPageSizeOptions : _props$pageSizeOption,\n locale = props.locale,\n changeSize = props.changeSize,\n pageSize = props.pageSize,\n goButton = props.goButton,\n quickGo = props.quickGo,\n rootPrefixCls = props.rootPrefixCls,\n Select = props.selectComponentClass,\n selectPrefixCls = props.selectPrefixCls,\n disabled = props.disabled,\n buildOptionText = props.buildOptionText;\n var _React$useState = React.useState(''),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n goInputText = _React$useState2[0],\n setGoInputText = _React$useState2[1];\n var getValidValue = function getValidValue() {\n return !goInputText || Number.isNaN(goInputText) ? undefined : Number(goInputText);\n };\n var mergeBuildOptionText = typeof buildOptionText === 'function' ? buildOptionText : function (value) {\n return \"\".concat(value, \" \").concat(locale.items_per_page);\n };\n var changeSizeHandle = function changeSizeHandle(value) {\n changeSize === null || changeSize === void 0 || changeSize(Number(value));\n };\n var handleChange = function handleChange(e) {\n setGoInputText(e.target.value);\n };\n var handleBlur = function handleBlur(e) {\n if (goButton || goInputText === '') {\n return;\n }\n setGoInputText('');\n if (e.relatedTarget && (e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item-link\")) >= 0 || e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item\")) >= 0)) {\n return;\n }\n quickGo === null || quickGo === void 0 || quickGo(getValidValue());\n };\n var go = function go(e) {\n if (goInputText === '') {\n return;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n setGoInputText('');\n quickGo === null || quickGo === void 0 || quickGo(getValidValue());\n }\n };\n var getPageSizeOptions = function getPageSizeOptions() {\n if (pageSizeOptions.some(function (option) {\n return option.toString() === pageSize.toString();\n })) {\n return pageSizeOptions;\n }\n return pageSizeOptions.concat([pageSize.toString()]).sort(function (a, b) {\n var numberA = Number.isNaN(Number(a)) ? 0 : Number(a);\n var numberB = Number.isNaN(Number(b)) ? 0 : Number(b);\n return numberA - numberB;\n });\n };\n // ============== cls ==============\n var prefixCls = \"\".concat(rootPrefixCls, \"-options\");\n\n // ============== render ==============\n\n if (!changeSize && !quickGo) {\n return null;\n }\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n if (changeSize && Select) {\n var options = getPageSizeOptions().map(function (opt, i) {\n return /*#__PURE__*/React.createElement(Select.Option, {\n key: i,\n value: opt.toString()\n }, mergeBuildOptionText(opt));\n });\n changeSelect = /*#__PURE__*/React.createElement(Select, {\n disabled: disabled,\n prefixCls: selectPrefixCls,\n showSearch: false,\n className: \"\".concat(prefixCls, \"-size-changer\"),\n optionLabelProp: \"children\",\n popupMatchSelectWidth: false,\n value: (pageSize || pageSizeOptions[0]).toString(),\n onChange: changeSizeHandle,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n },\n \"aria-label\": locale.page_size,\n defaultOpen: false\n }, options);\n }\n if (quickGo) {\n if (goButton) {\n gotoButton = typeof goButton === 'boolean' ? /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: go,\n onKeyUp: go,\n disabled: disabled,\n className: \"\".concat(prefixCls, \"-quick-jumper-button\")\n }, locale.jump_to_confirm) : /*#__PURE__*/React.createElement(\"span\", {\n onClick: go,\n onKeyUp: go\n }, goButton);\n }\n goInput = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-quick-jumper\")\n }, locale.jump_to, /*#__PURE__*/React.createElement(\"input\", {\n disabled: disabled,\n type: \"text\",\n value: goInputText,\n onChange: handleChange,\n onKeyUp: go,\n onBlur: handleBlur,\n \"aria-label\": locale.page\n }), locale.page, gotoButton);\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n className: prefixCls\n }, changeSelect, goInput);\n};\nif (process.env.NODE_ENV !== 'production') {\n Options.displayName = 'Options';\n}\nexport default Options;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint react/prop-types: 0 */\nimport classNames from 'classnames';\nimport React from 'react';\nvar Pager = function Pager(props) {\n var _classNames;\n var rootPrefixCls = props.rootPrefixCls,\n page = props.page,\n active = props.active,\n className = props.className,\n showTitle = props.showTitle,\n onClick = props.onClick,\n onKeyPress = props.onKeyPress,\n itemRender = props.itemRender;\n var prefixCls = \"\".concat(rootPrefixCls, \"-item\");\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(page), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), !page), _classNames), className);\n var handleClick = function handleClick() {\n onClick(page);\n };\n var handleKeyPress = function handleKeyPress(e) {\n onKeyPress(e, onClick, page);\n };\n var pager = itemRender(page, 'page', /*#__PURE__*/React.createElement(\"a\", {\n rel: \"nofollow\"\n }, page));\n return pager ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? String(page) : null,\n className: cls,\n onClick: handleClick,\n onKeyDown: handleKeyPress,\n tabIndex: 0\n }, pager) : null;\n};\nif (process.env.NODE_ENV !== 'production') {\n Pager.displayName = 'Pager';\n}\nexport default Pager;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport warning from \"rc-util/es/warning\";\nimport React, { useEffect } from 'react';\nimport zhCN from \"./locale/zh_CN\";\nimport Options from \"./Options\";\nimport Pager from \"./Pager\";\nvar defaultItemRender = function defaultItemRender(page, type, element) {\n return element;\n};\nfunction noop() {}\nfunction isInteger(v) {\n var value = Number(v);\n return typeof value === 'number' && !Number.isNaN(value) && isFinite(value) && Math.floor(value) === value;\n}\nfunction calculatePage(p, pageSize, total) {\n var _pageSize = typeof p === 'undefined' ? pageSize : p;\n return Math.floor((total - 1) / _pageSize) + 1;\n}\nvar Pagination = function Pagination(props) {\n var _classNames5;\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-pagination' : _props$prefixCls,\n _props$selectPrefixCl = props.selectPrefixCls,\n selectPrefixCls = _props$selectPrefixCl === void 0 ? 'rc-select' : _props$selectPrefixCl,\n className = props.className,\n selectComponentClass = props.selectComponentClass,\n currentProp = props.current,\n _props$defaultCurrent = props.defaultCurrent,\n defaultCurrent = _props$defaultCurrent === void 0 ? 1 : _props$defaultCurrent,\n _props$total = props.total,\n total = _props$total === void 0 ? 0 : _props$total,\n pageSizeProp = props.pageSize,\n _props$defaultPageSiz = props.defaultPageSize,\n defaultPageSize = _props$defaultPageSiz === void 0 ? 10 : _props$defaultPageSiz,\n _props$onChange = props.onChange,\n onChange = _props$onChange === void 0 ? noop : _props$onChange,\n hideOnSinglePage = props.hideOnSinglePage,\n _props$showPrevNextJu = props.showPrevNextJumpers,\n showPrevNextJumpers = _props$showPrevNextJu === void 0 ? true : _props$showPrevNextJu,\n showQuickJumper = props.showQuickJumper,\n showLessItems = props.showLessItems,\n _props$showTitle = props.showTitle,\n showTitle = _props$showTitle === void 0 ? true : _props$showTitle,\n _props$onShowSizeChan = props.onShowSizeChange,\n onShowSizeChange = _props$onShowSizeChan === void 0 ? noop : _props$onShowSizeChan,\n _props$locale = props.locale,\n locale = _props$locale === void 0 ? zhCN : _props$locale,\n style = props.style,\n _props$totalBoundaryS = props.totalBoundaryShowSizeChanger,\n totalBoundaryShowSizeChanger = _props$totalBoundaryS === void 0 ? 50 : _props$totalBoundaryS,\n disabled = props.disabled,\n simple = props.simple,\n showTotal = props.showTotal,\n showSizeChangerProp = props.showSizeChanger,\n pageSizeOptions = props.pageSizeOptions,\n _props$itemRender = props.itemRender,\n itemRender = _props$itemRender === void 0 ? defaultItemRender : _props$itemRender,\n jumpPrevIcon = props.jumpPrevIcon,\n jumpNextIcon = props.jumpNextIcon,\n prevIcon = props.prevIcon,\n nextIcon = props.nextIcon;\n var paginationRef = React.useRef(null);\n var _useMergedState = useMergedState(10, {\n value: pageSizeProp,\n defaultValue: defaultPageSize\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n pageSize = _useMergedState2[0],\n setPageSize = _useMergedState2[1];\n var _useMergedState3 = useMergedState(1, {\n value: currentProp,\n defaultValue: defaultCurrent,\n postState: function postState(c) {\n return Math.max(1, Math.min(c, calculatePage(undefined, pageSize, total)));\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n current = _useMergedState4[0],\n setCurrent = _useMergedState4[1];\n var _React$useState = React.useState(current),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n internalInputVal = _React$useState2[0],\n setInternalInputVal = _React$useState2[1];\n useEffect(function () {\n setInternalInputVal(current);\n }, [current]);\n var hasOnChange = onChange !== noop;\n var hasCurrent = ('current' in props);\n if (process.env.NODE_ENV !== 'production') {\n warning(hasCurrent ? hasOnChange : true, 'You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.');\n }\n var jumpPrevPage = Math.max(1, current - (showLessItems ? 3 : 5));\n var jumpNextPage = Math.min(calculatePage(undefined, pageSize, total), current + (showLessItems ? 3 : 5));\n function getItemIcon(icon, label) {\n var iconNode = icon || /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: \"\".concat(prefixCls, \"-item-link\")\n });\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, props));\n }\n return iconNode;\n }\n function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, pageSize, total);\n var value;\n if (inputValue === '') {\n value = inputValue;\n } else if (Number.isNaN(Number(inputValue))) {\n value = internalInputVal;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n return value;\n }\n function isValid(page) {\n return isInteger(page) && page !== current && isInteger(total) && total > 0;\n }\n var shouldDisplayQuickJumper = total > pageSize ? showQuickJumper : false;\n\n /**\n * prevent \"up arrow\" key reseting cursor position within textbox\n * @see https://stackoverflow.com/a/1081114\n */\n function handleKeyDown(event) {\n if (event.keyCode === KeyCode.UP || event.keyCode === KeyCode.DOWN) {\n event.preventDefault();\n }\n }\n function handleKeyUp(event) {\n var value = getValidValue(event);\n if (value !== internalInputVal) {\n setInternalInputVal(value);\n }\n switch (event.keyCode) {\n case KeyCode.ENTER:\n handleChange(value);\n break;\n case KeyCode.UP:\n handleChange(value - 1);\n break;\n case KeyCode.DOWN:\n handleChange(value + 1);\n break;\n default:\n break;\n }\n }\n function handleBlur(event) {\n handleChange(getValidValue(event));\n }\n function changePageSize(size) {\n var newCurrent = calculatePage(size, pageSize, total);\n var nextCurrent = current > newCurrent && newCurrent !== 0 ? newCurrent : current;\n setPageSize(size);\n setInternalInputVal(nextCurrent);\n onShowSizeChange === null || onShowSizeChange === void 0 || onShowSizeChange(current, size);\n setCurrent(nextCurrent);\n onChange === null || onChange === void 0 || onChange(nextCurrent, size);\n }\n function handleChange(page) {\n if (isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, pageSize, total);\n var newPage = page;\n if (page > currentPage) {\n newPage = currentPage;\n } else if (page < 1) {\n newPage = 1;\n }\n if (newPage !== internalInputVal) {\n setInternalInputVal(newPage);\n }\n setCurrent(newPage);\n onChange === null || onChange === void 0 || onChange(newPage, pageSize);\n return newPage;\n }\n return current;\n }\n var hasPrev = current > 1;\n var hasNext = current < calculatePage(undefined, pageSize, total);\n var showSizeChanger = showSizeChangerProp !== null && showSizeChangerProp !== void 0 ? showSizeChangerProp : total > totalBoundaryShowSizeChanger;\n function prevHandle() {\n if (hasPrev) handleChange(current - 1);\n }\n function nextHandle() {\n if (hasNext) handleChange(current + 1);\n }\n function jumpPrevHandle() {\n handleChange(jumpPrevPage);\n }\n function jumpNextHandle() {\n handleChange(jumpNextPage);\n }\n function runIfEnter(event, callback) {\n if (event.key === 'Enter' || event.charCode === KeyCode.ENTER || event.keyCode === KeyCode.ENTER) {\n for (var _len = arguments.length, restParams = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n callback.apply(void 0, restParams);\n }\n }\n function runIfEnterPrev(event) {\n runIfEnter(event, prevHandle);\n }\n function runIfEnterNext(event) {\n runIfEnter(event, nextHandle);\n }\n function runIfEnterJumpPrev(event) {\n runIfEnter(event, jumpPrevHandle);\n }\n function runIfEnterJumpNext(event) {\n runIfEnter(event, jumpNextHandle);\n }\n function renderPrev(prevPage) {\n var prevButton = itemRender(prevPage, 'prev', getItemIcon(prevIcon, 'prev page'));\n return /*#__PURE__*/React.isValidElement(prevButton) ? /*#__PURE__*/React.cloneElement(prevButton, {\n disabled: !hasPrev\n }) : prevButton;\n }\n function renderNext(nextPage) {\n var nextButton = itemRender(nextPage, 'next', getItemIcon(nextIcon, 'next page'));\n return /*#__PURE__*/React.isValidElement(nextButton) ? /*#__PURE__*/React.cloneElement(nextButton, {\n disabled: !hasNext\n }) : nextButton;\n }\n function handleGoTO(event) {\n if (event.type === 'click' || event.keyCode === KeyCode.ENTER) {\n handleChange(internalInputVal);\n }\n }\n var jumpPrev = null;\n var dataOrAriaAttributeProps = pickAttrs(props, {\n aria: true,\n data: true\n });\n var totalText = showTotal && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-total-text\")\n }, showTotal(total, [total === 0 ? 0 : (current - 1) * pageSize + 1, current * pageSize > total ? total : current * pageSize]));\n var jumpNext = null;\n var allPages = calculatePage(undefined, pageSize, total);\n\n // ================== Render ==================\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (hideOnSinglePage && total <= pageSize) {\n return null;\n }\n var pagerList = [];\n var pagerProps = {\n rootPrefixCls: prefixCls,\n onClick: handleChange,\n onKeyPress: runIfEnter,\n showTitle: showTitle,\n itemRender: itemRender,\n page: -1\n };\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n var goButton = showQuickJumper && showQuickJumper.goButton;\n\n // ================== Simple ==================\n // FIXME: ts type\n var gotoButton = goButton;\n var simplePager = null;\n if (simple) {\n // ====== Simple quick jump ======\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: handleGoTO,\n onKeyUp: handleGoTO\n }, locale.jump_to_confirm);\n } else {\n gotoButton = /*#__PURE__*/React.createElement(\"span\", {\n onClick: handleGoTO,\n onKeyUp: handleGoTO\n }, goButton);\n }\n gotoButton = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(locale.jump_to).concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, gotoButton);\n }\n simplePager = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n value: internalInputVal,\n disabled: disabled,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onChange: handleKeyUp,\n onBlur: handleBlur,\n size: 3\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-slash\")\n }, \"/\"), allPages);\n }\n\n // ====================== Normal ======================\n var pageBufferSize = showLessItems ? 1 : 2;\n if (allPages <= 3 + pageBufferSize * 2) {\n if (!allPages) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: \"noPager\",\n page: 1,\n className: \"\".concat(prefixCls, \"-item-disabled\")\n })));\n }\n for (var i = 1; i <= allPages; i += 1) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: i,\n page: i,\n active: current === i\n })));\n }\n } else {\n var prevItemTitle = showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = showLessItems ? locale.next_3 : locale.next_5;\n var jumpPrevContent = itemRender(jumpPrevPage, 'jump-prev', getItemIcon(jumpPrevIcon, 'prev page'));\n var jumpNextContent = itemRender(jumpNextPage, 'jump-next', getItemIcon(jumpNextIcon, 'next page'));\n if (showPrevNextJumpers) {\n jumpPrev = jumpPrevContent ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? prevItemTitle : null,\n key: \"prev\",\n onClick: jumpPrevHandle,\n tabIndex: 0,\n onKeyDown: runIfEnterJumpPrev,\n className: classNames(\"\".concat(prefixCls, \"-jump-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-prev-custom-icon\"), !!jumpPrevIcon))\n }, jumpPrevContent) : null;\n jumpNext = jumpNextContent ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? nextItemTitle : null,\n key: \"next\",\n onClick: jumpNextHandle,\n tabIndex: 0,\n onKeyDown: runIfEnterJumpNext,\n className: classNames(\"\".concat(prefixCls, \"-jump-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-next-custom-icon\"), !!jumpNextIcon))\n }, jumpNextContent) : null;\n }\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n for (var _i = left; _i <= right; _i += 1) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: _i,\n page: _i,\n active: current === _i\n })));\n }\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = /*#__PURE__*/React.cloneElement(pagerList[0], {\n className: classNames(\"\".concat(prefixCls, \"-item-after-jump-prev\"), pagerList[0].props.className)\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n var lastOne = pagerList[pagerList.length - 1];\n pagerList[pagerList.length - 1] = /*#__PURE__*/React.cloneElement(lastOne, {\n className: classNames(\"\".concat(prefixCls, \"-item-before-jump-next\"), lastOne.props.className)\n });\n pagerList.push(jumpNext);\n }\n if (left !== 1) {\n pagerList.unshift( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: 1,\n page: 1\n })));\n }\n if (right !== allPages) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: allPages,\n page: allPages\n })));\n }\n }\n var prev = renderPrev(prevPage);\n if (prev) {\n var prevDisabled = !hasPrev || !allPages;\n prev = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: prevHandle,\n tabIndex: prevDisabled ? null : 0,\n onKeyDown: runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), prevDisabled)),\n \"aria-disabled\": prevDisabled\n }, prev);\n }\n var next = renderNext(nextPage);\n if (next) {\n var nextDisabled, nextTabIndex;\n if (simple) {\n nextDisabled = !hasNext;\n nextTabIndex = hasPrev ? 0 : null;\n } else {\n nextDisabled = !hasNext || !allPages;\n nextTabIndex = nextDisabled ? null : 0;\n }\n next = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: nextHandle,\n tabIndex: nextTabIndex,\n onKeyDown: runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), nextDisabled)),\n \"aria-disabled\": nextDisabled\n }, next);\n }\n var cls = classNames(prefixCls, className, (_classNames5 = {}, _defineProperty(_classNames5, \"\".concat(prefixCls, \"-simple\"), simple), _defineProperty(_classNames5, \"\".concat(prefixCls, \"-disabled\"), disabled), _classNames5));\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: cls,\n style: style,\n ref: paginationRef\n }, dataOrAriaAttributeProps), totalText, prev, simple ? simplePager : pagerList, next, /*#__PURE__*/React.createElement(Options, {\n locale: locale,\n rootPrefixCls: prefixCls,\n disabled: disabled,\n selectComponentClass: selectComponentClass,\n selectPrefixCls: selectPrefixCls,\n changeSize: showSizeChanger ? changePageSize : null,\n pageSize: pageSize,\n pageSizeOptions: pageSizeOptions,\n quickGo: shouldDisplayQuickJumper ? handleChange : null,\n goButton: gotoButton\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n Pagination.displayName = 'Pagination';\n}\nexport default Pagination;","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;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar 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};\nvar _default = exports.default = locale;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar locale = {\n // Options\n items_per_page: '/ стр.',\n jump_to: 'Перейти',\n jump_to_confirm: 'подтвердить',\n page: 'Страница',\n // Pagination\n prev_page: 'Назад',\n next_page: 'Вперед',\n prev_5: 'Предыдущие 5',\n next_5: 'Следующие 5',\n prev_3: 'Предыдущие 3',\n next_3: 'Следующие 3',\n page_size: 'размер страницы'\n};\nvar _default = exports.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}","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 _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: 'ru_RU',\n today: 'Сегодня',\n now: 'Сейчас',\n backToToday: 'Текущая дата',\n ok: 'ОК',\n clear: 'Очистить',\n month: 'Месяц',\n year: 'Год',\n timeSelect: 'Выбрать время',\n dateSelect: 'Выбрать дату',\n monthSelect: 'Выбрать месяц',\n yearSelect: 'Выбрать год',\n decadeSelect: 'Выбрать десятилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предыдущий месяц (PageUp)',\n nextMonth: 'Следующий месяц (PageDown)',\n previousYear: 'Предыдущий год (Control + left)',\n nextYear: 'Следующий год (Control + right)',\n previousDecade: 'Предыдущее десятилетие',\n nextDecade: 'Следущее десятилетие',\n previousCentury: 'Предыдущий век',\n nextCentury: 'Следующий век'\n};\nexport default locale;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar 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};\nvar _default = exports.default = locale;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar locale = {\n locale: 'ru_RU',\n today: 'Сегодня',\n now: 'Сейчас',\n backToToday: 'Текущая дата',\n ok: 'ОК',\n clear: 'Очистить',\n month: 'Месяц',\n year: 'Год',\n timeSelect: 'Выбрать время',\n dateSelect: 'Выбрать дату',\n monthSelect: 'Выбрать месяц',\n yearSelect: 'Выбрать год',\n decadeSelect: 'Выбрать десятилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предыдущий месяц (PageUp)',\n nextMonth: 'Следующий месяц (PageDown)',\n previousYear: 'Предыдущий год (Control + left)',\n nextYear: 'Следующий год (Control + right)',\n previousDecade: 'Предыдущее десятилетие',\n nextDecade: 'Следущее десятилетие',\n previousCentury: 'Предыдущий век',\n nextCentury: 'Следующий век'\n};\nvar _default = exports.default = locale;","import { useRef, useEffect } from 'react';\nexport var defaultProps = {\n percent: 0,\n prefixCls: 'rc-progress',\n strokeColor: '#2db7f5',\n strokeLinecap: 'round',\n strokeWidth: 1,\n trailColor: '#D9D9D9',\n trailWidth: 1,\n gapPosition: 'bottom'\n};\nexport var useTransitionDuration = function useTransitionDuration() {\n var pathsRef = useRef([]);\n var prevTimeStamp = useRef(null);\n useEffect(function () {\n var now = Date.now();\n var updated = false;\n pathsRef.current.forEach(function (path) {\n if (!path) {\n return;\n }\n updated = true;\n var pathStyle = path.style;\n pathStyle.transitionDuration = '.3s, .3s, .3s, .06s';\n if (prevTimeStamp.current && now - prevTimeStamp.current < 100) {\n pathStyle.transitionDuration = '0s, 0s';\n }\n });\n if (updated) {\n prevTimeStamp.current = Date.now();\n }\n });\n return pathsRef.current;\n};","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nvar uuid = 0;\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && canUseDom();\n/** Get unique id for accessibility usage */\nfunction getUUID() {\n var retId;\n // Test never reach\n /* istanbul ignore if */\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n return retId;\n}\nexport default (function (id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n setInnerId(\"rc_progress_\".concat(getUUID()));\n }, []);\n return id || innerId;\n});","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nvar Block = function Block(_ref) {\n var bg = _ref.bg,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: '100%',\n height: '100%',\n background: bg\n }\n }, children);\n};\nfunction getPtgColors(color, scale) {\n return Object.keys(color).map(function (key) {\n var parsedKey = parseFloat(key);\n var ptgKey = \"\".concat(Math.floor(parsedKey * scale), \"%\");\n return \"\".concat(color[key], \" \").concat(ptgKey);\n });\n}\nvar PtgCircle = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n color = props.color,\n gradientId = props.gradientId,\n radius = props.radius,\n circleStyleForStack = props.style,\n ptg = props.ptg,\n strokeLinecap = props.strokeLinecap,\n strokeWidth = props.strokeWidth,\n size = props.size,\n gapDegree = props.gapDegree;\n var isGradient = color && _typeof(color) === 'object';\n var stroke = isGradient ? \"#FFF\" : undefined;\n // ========================== Circle ==========================\n var halfSize = size / 2;\n var circleNode = /*#__PURE__*/React.createElement(\"circle\", {\n className: \"\".concat(prefixCls, \"-circle-path\"),\n r: radius,\n cx: halfSize,\n cy: halfSize,\n stroke: stroke,\n strokeLinecap: strokeLinecap,\n strokeWidth: strokeWidth,\n opacity: ptg === 0 ? 0 : 1,\n style: circleStyleForStack,\n ref: ref\n });\n // ========================== Render ==========================\n if (!isGradient) {\n return circleNode;\n }\n var maskId = \"\".concat(gradientId, \"-conic\");\n var fromDeg = gapDegree ? \"\".concat(180 + gapDegree / 2, \"deg\") : '0deg';\n var conicColors = getPtgColors(color, (360 - gapDegree) / 360);\n var linearColors = getPtgColors(color, 1);\n var conicColorBg = \"conic-gradient(from \".concat(fromDeg, \", \").concat(conicColors.join(', '), \")\");\n var linearColorBg = \"linear-gradient(to \".concat(gapDegree ? 'bottom' : 'top', \", \").concat(linearColors.join(', '), \")\");\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"mask\", {\n id: maskId\n }, circleNode), /*#__PURE__*/React.createElement(\"foreignObject\", {\n x: 0,\n y: 0,\n width: size,\n height: size,\n mask: \"url(#\".concat(maskId, \")\")\n }, /*#__PURE__*/React.createElement(Block, {\n bg: linearColorBg\n }, /*#__PURE__*/React.createElement(Block, {\n bg: conicColorBg\n }))));\n});\nif (process.env.NODE_ENV !== 'production') {\n PtgCircle.displayName = 'PtgCircle';\n}\nexport default PtgCircle;","export var VIEW_BOX_SIZE = 100;\nexport var getCircleStyle = function getCircleStyle(perimeter, perimeterWithoutGap, offset, percent, rotateDeg, gapDegree, gapPosition, strokeColor, strokeLinecap, strokeWidth) {\n var stepSpace = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : 0;\n var offsetDeg = offset / 100 * 360 * ((360 - gapDegree) / 360);\n var positionDeg = gapDegree === 0 ? 0 : {\n bottom: 0,\n top: 180,\n left: 90,\n right: -90\n }[gapPosition];\n var strokeDashoffset = (100 - percent) / 100 * perimeterWithoutGap;\n // Fix percent accuracy when strokeLinecap is round\n // https://github.com/ant-design/ant-design/issues/35009\n if (strokeLinecap === 'round' && percent !== 100) {\n strokeDashoffset += strokeWidth / 2;\n // when percent is small enough (<= 1%), keep smallest value to avoid it's disappearance\n if (strokeDashoffset >= perimeterWithoutGap) {\n strokeDashoffset = perimeterWithoutGap - 0.01;\n }\n }\n var halfSize = VIEW_BOX_SIZE / 2;\n return {\n stroke: typeof strokeColor === 'string' ? strokeColor : undefined,\n strokeDasharray: \"\".concat(perimeterWithoutGap, \"px \").concat(perimeter),\n strokeDashoffset: strokeDashoffset + stepSpace,\n transform: \"rotate(\".concat(rotateDeg + offsetDeg + positionDeg, \"deg)\"),\n transformOrigin: \"\".concat(halfSize, \"px \").concat(halfSize, \"px\"),\n transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s',\n fillOpacity: 0\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"steps\", \"strokeWidth\", \"trailWidth\", \"gapDegree\", \"gapPosition\", \"trailColor\", \"strokeLinecap\", \"style\", \"className\", \"strokeColor\", \"percent\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { defaultProps, useTransitionDuration } from '../common';\nimport useId from '../hooks/useId';\nimport PtgCircle from './PtgCircle';\nimport { VIEW_BOX_SIZE, getCircleStyle } from './util';\nfunction toArray(value) {\n var mergedValue = value !== null && value !== void 0 ? value : [];\n return Array.isArray(mergedValue) ? mergedValue : [mergedValue];\n}\nvar Circle = function Circle(props) {\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n id = _defaultProps$props.id,\n prefixCls = _defaultProps$props.prefixCls,\n steps = _defaultProps$props.steps,\n strokeWidth = _defaultProps$props.strokeWidth,\n trailWidth = _defaultProps$props.trailWidth,\n _defaultProps$props$g = _defaultProps$props.gapDegree,\n gapDegree = _defaultProps$props$g === void 0 ? 0 : _defaultProps$props$g,\n gapPosition = _defaultProps$props.gapPosition,\n trailColor = _defaultProps$props.trailColor,\n strokeLinecap = _defaultProps$props.strokeLinecap,\n style = _defaultProps$props.style,\n className = _defaultProps$props.className,\n strokeColor = _defaultProps$props.strokeColor,\n percent = _defaultProps$props.percent,\n restProps = _objectWithoutProperties(_defaultProps$props, _excluded);\n var halfSize = VIEW_BOX_SIZE / 2;\n var mergedId = useId(id);\n var gradientId = \"\".concat(mergedId, \"-gradient\");\n var radius = halfSize - strokeWidth / 2;\n var perimeter = Math.PI * 2 * radius;\n var rotateDeg = gapDegree > 0 ? 90 + gapDegree / 2 : -90;\n var perimeterWithoutGap = perimeter * ((360 - gapDegree) / 360);\n var _ref = _typeof(steps) === 'object' ? steps : {\n count: steps,\n space: 2\n },\n stepCount = _ref.count,\n stepSpace = _ref.space;\n var percentList = toArray(percent);\n var strokeColorList = toArray(strokeColor);\n var gradient = strokeColorList.find(function (color) {\n return color && _typeof(color) === 'object';\n });\n var isConicGradient = gradient && _typeof(gradient) === 'object';\n var mergedStrokeLinecap = isConicGradient ? 'butt' : strokeLinecap;\n var circleStyle = getCircleStyle(perimeter, perimeterWithoutGap, 0, 100, rotateDeg, gapDegree, gapPosition, trailColor, mergedStrokeLinecap, strokeWidth);\n var paths = useTransitionDuration();\n var getStokeList = function getStokeList() {\n var stackPtg = 0;\n return percentList.map(function (ptg, index) {\n var color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];\n var circleStyleForStack = getCircleStyle(perimeter, perimeterWithoutGap, stackPtg, ptg, rotateDeg, gapDegree, gapPosition, color, mergedStrokeLinecap, strokeWidth);\n stackPtg += ptg;\n return /*#__PURE__*/React.createElement(PtgCircle, {\n key: index,\n color: color,\n ptg: ptg,\n radius: radius,\n prefixCls: prefixCls,\n gradientId: gradientId,\n style: circleStyleForStack,\n strokeLinecap: mergedStrokeLinecap,\n strokeWidth: strokeWidth,\n gapDegree: gapDegree,\n ref: function ref(elem) {\n // https://reactjs.org/docs/refs-and-the-dom.html#callback-refs\n // React will call the ref callback with the DOM element when the component mounts,\n // and call it with `null` when it unmounts.\n // Refs are guaranteed to be up-to-date before componentDidMount or componentDidUpdate fires.\n paths[index] = elem;\n },\n size: VIEW_BOX_SIZE\n });\n }).reverse();\n };\n var getStepStokeList = function getStepStokeList() {\n // only show the first percent when pass steps\n var current = Math.round(stepCount * (percentList[0] / 100));\n var stepPtg = 100 / stepCount;\n var stackPtg = 0;\n return new Array(stepCount).fill(null).map(function (_, index) {\n var color = index <= current - 1 ? strokeColorList[0] : trailColor;\n var stroke = color && _typeof(color) === 'object' ? \"url(#\".concat(gradientId, \")\") : undefined;\n var circleStyleForStack = getCircleStyle(perimeter, perimeterWithoutGap, stackPtg, stepPtg, rotateDeg, gapDegree, gapPosition, color, 'butt', strokeWidth, stepSpace);\n stackPtg += (perimeterWithoutGap - circleStyleForStack.strokeDashoffset + stepSpace) * 100 / perimeterWithoutGap;\n return /*#__PURE__*/React.createElement(\"circle\", {\n key: index,\n className: \"\".concat(prefixCls, \"-circle-path\"),\n r: radius,\n cx: halfSize,\n cy: halfSize,\n stroke: stroke,\n strokeWidth: strokeWidth,\n opacity: 1,\n style: circleStyleForStack,\n ref: function ref(elem) {\n paths[index] = elem;\n }\n });\n });\n };\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-circle\"), className),\n viewBox: \"0 0 \".concat(VIEW_BOX_SIZE, \" \").concat(VIEW_BOX_SIZE),\n style: style,\n id: id,\n role: \"presentation\"\n }, restProps), !stepCount && /*#__PURE__*/React.createElement(\"circle\", {\n className: \"\".concat(prefixCls, \"-circle-trail\"),\n r: radius,\n cx: halfSize,\n cy: halfSize,\n stroke: trailColor,\n strokeLinecap: mergedStrokeLinecap,\n strokeWidth: trailWidth || strokeWidth,\n style: circleStyle\n }), stepCount ? getStepStokeList() : getStokeList());\n};\nif (process.env.NODE_ENV !== 'production') {\n Circle.displayName = 'Circle';\n}\nexport default Circle;","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\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 ReactDOM from 'react-dom';\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nexport default function findDOMNode(node) {\n if (node instanceof HTMLElement) {\n return node;\n }\n\n return ReactDOM.findDOMNode(node);\n}","import ResizeObserver from 'resize-observer-polyfill'; // =============================== Const ===============================\n\nvar elementListeners = new Map();\n\nfunction onResize(entities) {\n entities.forEach(function (entity) {\n var _elementListeners$get;\n\n var target = entity.target;\n (_elementListeners$get = elementListeners.get(target)) === null || _elementListeners$get === void 0 ? void 0 : _elementListeners$get.forEach(function (listener) {\n return listener(target);\n });\n });\n} // Note: ResizeObserver polyfill not support option to measure border-box resize\n\n\nvar resizeObserver = new ResizeObserver(onResize); // Dev env only\n\nexport var _el = process.env.NODE_ENV !== 'production' ? elementListeners : null; // eslint-disable-line\n\nexport var _rs = process.env.NODE_ENV !== 'production' ? onResize : null; // eslint-disable-line\n// ============================== Observe ==============================\n\nexport function observe(element, callback) {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set());\n resizeObserver.observe(element);\n }\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\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 */\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport { DomWrapper as default };","import * as React from 'react';\nexport var CollectionContext = /*#__PURE__*/React.createContext(null);\n/**\n * Collect all the resize event from children ResizeObserver\n */\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 ? void 0 : onBatchResize(resizeInfosRef.current);\n resizeInfosRef.current = [];\n }\n }); // Continue bubbling if parent exist\n\n onCollectionResize === null || onCollectionResize === void 0 ? void 0 : onCollectionResize(size, element, data);\n }, [onBatchResize, onCollectionResize]);\n return /*#__PURE__*/React.createElement(CollectionContext.Provider, {\n value: onResize\n }, children);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { observe, unobserve } from '../utils/observerUtil';\nimport DomWrapper from './DomWrapper';\nimport { CollectionContext } from '../Collection';\nexport default function SingleObserver(props) {\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); // =========================== Children ===========================\n\n var isRenderProps = typeof children === 'function';\n var mergedChildren = isRenderProps ? children(elementRef) : children; // ============================= Size =============================\n\n var sizeRef = React.useRef({\n width: -1,\n height: -1,\n offsetWidth: -1,\n offsetHeight: -1\n }); // ============================= Ref ==============================\n\n var canRef = !isRenderProps && /*#__PURE__*/React.isValidElement(mergedChildren) && supportRef(mergedChildren);\n var originRef = canRef ? mergedChildren.ref : null;\n var mergedRef = React.useMemo(function () {\n return composeRef(originRef, elementRef);\n }, [originRef, elementRef]); // =========================== Observe ============================\n\n var propsRef = React.useRef(props);\n propsRef.current = props; // Handler\n\n var onInternalResize = React.useCallback(function (target) {\n var _propsRef$current = propsRef.current,\n onResize = _propsRef$current.onResize,\n data = _propsRef$current.data;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\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\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\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; // IE is strange, right?\n\n var mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n var mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;\n\n var sizeInfo = _objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n }); // Let collection know what happened\n\n\n onCollectionResize === null || onCollectionResize === void 0 ? void 0 : onCollectionResize(sizeInfo, target, data);\n\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 }, []); // Dynamic observe\n\n React.useEffect(function () {\n var currentElement = findDOMNode(elementRef.current) || findDOMNode(wrapperRef.current);\n\n if (currentElement && !disabled) {\n observe(currentElement, onInternalResize);\n }\n\n return function () {\n return unobserve(currentElement, onInternalResize);\n };\n }, [elementRef.current, disabled]); // ============================ Render ============================\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperRef\n }, canRef ? /*#__PURE__*/React.cloneElement(mergedChildren, {\n ref: mergedRef\n }) : mergedChildren);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","import _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';\n\nfunction ResizeObserver(props) {\n var children = props.children;\n var childNodes = typeof children === 'function' ? [children] : toArray(children);\n\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\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 }), child);\n });\n}\n\nResizeObserver.Collection = Collection;\nexport default ResizeObserver;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","import * as React from 'react';\nimport canUseDom from '../Dom/canUseDom';\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\n\nvar useLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nexport default useLayoutEffect;","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import _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 useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nvar calcThumbStyle = function calcThumbStyle(targetElement) {\n return targetElement ? {\n left: targetElement.offsetLeft,\n right: targetElement.parentElement.clientWidth - targetElement.clientWidth - targetElement.offsetLeft,\n width: targetElement.clientWidth\n } : null;\n};\nvar toPX = function toPX(value) {\n return value !== undefined ? \"\".concat(value, \"px\") : undefined;\n};\nexport default function MotionThumb(props) {\n var prefixCls = props.prefixCls,\n containerRef = props.containerRef,\n value = props.value,\n getValueIndex = props.getValueIndex,\n motionName = props.motionName,\n onMotionStart = props.onMotionStart,\n onMotionEnd = props.onMotionEnd,\n direction = props.direction;\n var thumbRef = React.useRef(null);\n var _React$useState = React.useState(value),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevValue = _React$useState2[0],\n setPrevValue = _React$useState2[1];\n\n // =========================== Effect ===========================\n var findValueElement = function findValueElement(val) {\n var _containerRef$current;\n var index = getValueIndex(val);\n var ele = (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.querySelectorAll(\".\".concat(prefixCls, \"-item\"))[index];\n return (ele === null || ele === void 0 ? void 0 : ele.offsetParent) && ele;\n };\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n prevStyle = _React$useState4[0],\n setPrevStyle = _React$useState4[1];\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n nextStyle = _React$useState6[0],\n setNextStyle = _React$useState6[1];\n useLayoutEffect(function () {\n if (prevValue !== value) {\n var prev = findValueElement(prevValue);\n var next = findValueElement(value);\n var calcPrevStyle = calcThumbStyle(prev);\n var calcNextStyle = calcThumbStyle(next);\n setPrevValue(value);\n setPrevStyle(calcPrevStyle);\n setNextStyle(calcNextStyle);\n if (prev && next) {\n onMotionStart();\n } else {\n onMotionEnd();\n }\n }\n }, [value]);\n var thumbStart = React.useMemo(function () {\n return direction === 'rtl' ? toPX(-(prevStyle === null || prevStyle === void 0 ? void 0 : prevStyle.right)) : toPX(prevStyle === null || prevStyle === void 0 ? void 0 : prevStyle.left);\n }, [direction, prevStyle]);\n var thumbActive = React.useMemo(function () {\n return direction === 'rtl' ? toPX(-(nextStyle === null || nextStyle === void 0 ? void 0 : nextStyle.right)) : toPX(nextStyle === null || nextStyle === void 0 ? void 0 : nextStyle.left);\n }, [direction, nextStyle]);\n\n // =========================== Motion ===========================\n var onAppearStart = function onAppearStart() {\n return {\n transform: \"translateX(var(--thumb-start-left))\",\n width: \"var(--thumb-start-width)\"\n };\n };\n var onAppearActive = function onAppearActive() {\n return {\n transform: \"translateX(var(--thumb-active-left))\",\n width: \"var(--thumb-active-width)\"\n };\n };\n var onVisibleChanged = function onVisibleChanged() {\n setPrevStyle(null);\n setNextStyle(null);\n onMotionEnd();\n };\n\n // =========================== Render ===========================\n // No need motion when nothing exist in queue\n if (!prevStyle || !nextStyle) {\n return null;\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: true,\n motionName: motionName,\n motionAppear: true,\n onAppearStart: onAppearStart,\n onAppearActive: onAppearActive,\n onVisibleChanged: onVisibleChanged\n }, function (_ref, ref) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedStyle = _objectSpread(_objectSpread({}, motionStyle), {}, {\n '--thumb-start-left': thumbStart,\n '--thumb-start-width': toPX(prevStyle === null || prevStyle === void 0 ? void 0 : prevStyle.width),\n '--thumb-active-left': thumbActive,\n '--thumb-active-width': toPX(nextStyle === null || nextStyle === void 0 ? void 0 : nextStyle.width)\n });\n\n // It's little ugly which should be refactor when @umi/test update to latest jsdom\n var motionProps = {\n ref: composeRef(thumbRef, ref),\n style: mergedStyle,\n className: classNames(\"\".concat(prefixCls, \"-thumb\"), motionClassName)\n };\n if (process.env.NODE_ENV === 'test') {\n motionProps['data-test-style'] = JSON.stringify(mergedStyle);\n }\n return /*#__PURE__*/React.createElement(\"div\", motionProps);\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"prefixCls\", \"direction\", \"options\", \"disabled\", \"defaultValue\", \"value\", \"onChange\", \"className\", \"motionName\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport omit from \"rc-util/es/omit\";\nimport MotionThumb from \"./MotionThumb\";\nfunction getValidTitle(option) {\n if (typeof option.title !== 'undefined') {\n return option.title;\n }\n\n // read `label` when title is `undefined`\n if (_typeof(option.label) !== 'object') {\n var _option$label;\n return (_option$label = option.label) === null || _option$label === void 0 ? void 0 : _option$label.toString();\n }\n}\nfunction normalizeOptions(options) {\n return options.map(function (option) {\n if (_typeof(option) === 'object' && option !== null) {\n var validTitle = getValidTitle(option);\n return _objectSpread(_objectSpread({}, option), {}, {\n title: validTitle\n });\n }\n return {\n label: option === null || option === void 0 ? void 0 : option.toString(),\n title: option === null || option === void 0 ? void 0 : option.toString(),\n value: option\n };\n });\n}\nvar InternalSegmentedOption = function InternalSegmentedOption(_ref) {\n var prefixCls = _ref.prefixCls,\n className = _ref.className,\n disabled = _ref.disabled,\n checked = _ref.checked,\n label = _ref.label,\n title = _ref.title,\n value = _ref.value,\n onChange = _ref.onChange;\n var handleChange = function handleChange(event) {\n if (disabled) {\n return;\n }\n onChange(event, value);\n };\n return /*#__PURE__*/React.createElement(\"label\", {\n className: classNames(className, _defineProperty({}, \"\".concat(prefixCls, \"-item-disabled\"), disabled))\n }, /*#__PURE__*/React.createElement(\"input\", {\n className: \"\".concat(prefixCls, \"-item-input\"),\n type: \"radio\",\n disabled: disabled,\n checked: checked,\n onChange: handleChange\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-label\"),\n title: title\n }, label));\n};\nvar Segmented = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _segmentedOptions$, _classNames2;\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-segmented' : _props$prefixCls,\n direction = props.direction,\n options = props.options,\n disabled = props.disabled,\n defaultValue = props.defaultValue,\n value = props.value,\n onChange = props.onChange,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$motionName = props.motionName,\n motionName = _props$motionName === void 0 ? 'thumb-motion' : _props$motionName,\n restProps = _objectWithoutProperties(props, _excluded);\n var containerRef = React.useRef(null);\n var mergedRef = React.useMemo(function () {\n return composeRef(containerRef, ref);\n }, [containerRef, ref]);\n var segmentedOptions = React.useMemo(function () {\n return normalizeOptions(options);\n }, [options]);\n\n // Note: We should not auto switch value when value not exist in options\n // which may break single source of truth.\n var _useMergedState = useMergedState((_segmentedOptions$ = segmentedOptions[0]) === null || _segmentedOptions$ === void 0 ? void 0 : _segmentedOptions$.value, {\n value: value,\n defaultValue: defaultValue\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n rawValue = _useMergedState2[0],\n setRawValue = _useMergedState2[1];\n\n // ======================= Change ========================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n thumbShow = _React$useState2[0],\n setThumbShow = _React$useState2[1];\n var handleChange = function handleChange(event, val) {\n if (disabled) {\n return;\n }\n setRawValue(val);\n onChange === null || onChange === void 0 ? void 0 : onChange(val);\n };\n var divProps = omit(restProps, ['children']);\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n className: classNames(prefixCls, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), disabled), _classNames2), className),\n ref: mergedRef\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-group\")\n }, /*#__PURE__*/React.createElement(MotionThumb, {\n prefixCls: prefixCls,\n value: rawValue,\n containerRef: containerRef,\n motionName: \"\".concat(prefixCls, \"-\").concat(motionName),\n direction: direction,\n getValueIndex: function getValueIndex(val) {\n return segmentedOptions.findIndex(function (n) {\n return n.value === val;\n });\n },\n onMotionStart: function onMotionStart() {\n setThumbShow(true);\n },\n onMotionEnd: function onMotionEnd() {\n setThumbShow(false);\n }\n }), segmentedOptions.map(function (segmentedOption) {\n return /*#__PURE__*/React.createElement(InternalSegmentedOption, _extends({}, segmentedOption, {\n key: segmentedOption.value,\n prefixCls: prefixCls,\n className: classNames(segmentedOption.className, \"\".concat(prefixCls, \"-item\"), _defineProperty({}, \"\".concat(prefixCls, \"-item-selected\"), segmentedOption.value === rawValue && !thumbShow)),\n checked: segmentedOption.value === rawValue,\n onChange: handleChange,\n disabled: !!disabled || !!segmentedOption.disabled\n }));\n })));\n});\nSegmented.displayName = 'Segmented';\nSegmented.defaultProps = {\n options: []\n};\nexport default Segmented;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nexport default function omit(obj, fields) {\n var clone = _objectSpread({}, obj);\n\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n\n return clone;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useState from './useState';\n/**\n * Similar to `useState` but will use props value if provided.\n * Note that internal use rc-util `useState` hook.\n */\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 var _useState = useState(function () {\n if (value !== undefined) {\n return value;\n }\n\n if (defaultValue !== undefined) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }),\n _useState2 = _slicedToArray(_useState, 2),\n innerValue = _useState2[0],\n setInnerValue = _useState2[1];\n\n var mergedValue = value !== undefined ? value : innerValue;\n\n if (postState) {\n mergedValue = postState(mergedValue);\n } // setState\n\n\n var onChangeRef = React.useRef(onChange);\n onChangeRef.current = onChange;\n var triggerChange = React.useCallback(function (newValue, ignoreDestroy) {\n setInnerValue(newValue, ignoreDestroy);\n\n if (mergedValue !== newValue && onChangeRef.current) {\n onChangeRef.current(newValue, mergedValue);\n }\n }, [mergedValue, onChangeRef]); // Effect of reset value to `undefined`\n\n var prevValueRef = React.useRef(value);\n React.useEffect(function () {\n if (value === undefined && value !== prevValueRef.current) {\n setInnerValue(value);\n }\n\n prevValueRef.current = value;\n }, [value]);\n return [mergedValue, 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 */\n\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n\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\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n\n setValue(updater);\n }\n\n return [value, safeSetState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useState from './useState';\n/**\n * Similar to `useState` but will use props value if provided.\n * Note that internal use rc-util `useState` hook.\n */\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 var _useState = useState(function () {\n if (value !== undefined) {\n return value;\n }\n\n if (defaultValue !== undefined) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }),\n _useState2 = _slicedToArray(_useState, 2),\n innerValue = _useState2[0],\n setInnerValue = _useState2[1];\n\n var mergedValue = value !== undefined ? value : innerValue;\n\n if (postState) {\n mergedValue = postState(mergedValue);\n } // setState\n\n\n var onChangeRef = React.useRef(onChange);\n onChangeRef.current = onChange;\n var triggerChange = React.useCallback(function (newValue, ignoreDestroy) {\n setInnerValue(newValue, ignoreDestroy);\n\n if (mergedValue !== newValue && onChangeRef.current) {\n onChangeRef.current(newValue, mergedValue);\n }\n }, [mergedValue, onChangeRef]); // Effect of reset value to `undefined`\n\n var prevValueRef = React.useRef(value);\n React.useEffect(function () {\n if (value === undefined && value !== prevValueRef.current) {\n setInnerValue(value);\n }\n\n prevValueRef.current = value;\n }, [value]);\n return [mergedValue, 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 */\n\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n\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\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n\n setValue(updater);\n }\n\n return [value, safeSetState];\n}","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\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}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import * as React from 'react';\nimport canUseDom from '../Dom/canUseDom';\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\n\nvar useLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nexport default useLayoutEffect;","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n\n if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n\n default:\n return true;\n }\n },\n\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n\n return cacheRef.current.value;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","import * as React from 'react';\nimport classNames from 'classnames';\nvar TransBtn = function TransBtn(_ref) {\n var className = _ref.className,\n customizeIcon = _ref.customizeIcon,\n customizeIconProps = _ref.customizeIconProps,\n _onMouseDown = _ref.onMouseDown,\n onClick = _ref.onClick,\n children = _ref.children;\n var icon;\n if (typeof customizeIcon === 'function') {\n icon = customizeIcon(customizeIconProps);\n } else {\n icon = customizeIcon;\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: className,\n onMouseDown: function onMouseDown(event) {\n event.preventDefault();\n if (_onMouseDown) {\n _onMouseDown(event);\n }\n },\n style: {\n userSelect: 'none',\n WebkitUserSelect: 'none'\n },\n unselectable: \"on\",\n onClick: onClick,\n \"aria-hidden\": true\n }, icon !== undefined ? icon : /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(className.split(/\\s+/).map(function (cls) {\n return \"\".concat(cls, \"-icon\");\n }))\n }, children));\n};\nexport default TransBtn;","/**\n * BaseSelect provide some parsed data into context.\n * You can use this hooks to get them.\n */\n\nimport * as React from 'react';\nexport var BaseSelectContext = /*#__PURE__*/React.createContext(null);\nexport default function useBaseProps() {\n return React.useContext(BaseSelectContext);\n}","import * as React from 'react';\n\n/**\n * Locker return cached mark.\n * If set to `true`, will return `true` in a short time even if set `false`.\n * If set to `false` and then set to `true`, will change to `true`.\n * And after time duration, it will back to `null` automatically.\n */\nexport default function useLock() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 250;\n var lockRef = React.useRef(null);\n var timeoutRef = React.useRef(null);\n\n // Clean up\n React.useEffect(function () {\n return function () {\n window.clearTimeout(timeoutRef.current);\n };\n }, []);\n function doLock(locked) {\n if (locked || lockRef.current === null) {\n lockRef.current = locked;\n }\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(function () {\n lockRef.current = null;\n }, duration);\n }\n return [function () {\n return lockRef.current;\n }, doLock];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n/* eslint-enable max-len */\n\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\n\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\n\n\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = _objectSpread({}, ariaOnly);\n }\n\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if ( // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) || // Data\n mergedConfig.data && match(key, dataPrefix) || // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { warning } from \"rc-util/es/warning\";\nvar Input = function Input(_ref, ref) {\n var _inputNode2;\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n inputElement = _ref.inputElement,\n disabled = _ref.disabled,\n tabIndex = _ref.tabIndex,\n autoFocus = _ref.autoFocus,\n autoComplete = _ref.autoComplete,\n editable = _ref.editable,\n activeDescendantId = _ref.activeDescendantId,\n value = _ref.value,\n maxLength = _ref.maxLength,\n _onKeyDown = _ref.onKeyDown,\n _onMouseDown = _ref.onMouseDown,\n _onChange = _ref.onChange,\n onPaste = _ref.onPaste,\n _onCompositionStart = _ref.onCompositionStart,\n _onCompositionEnd = _ref.onCompositionEnd,\n open = _ref.open,\n attrs = _ref.attrs;\n var inputNode = inputElement || /*#__PURE__*/React.createElement(\"input\", null);\n var _inputNode = inputNode,\n originRef = _inputNode.ref,\n originProps = _inputNode.props;\n var onOriginKeyDown = originProps.onKeyDown,\n onOriginChange = originProps.onChange,\n onOriginMouseDown = originProps.onMouseDown,\n onOriginCompositionStart = originProps.onCompositionStart,\n onOriginCompositionEnd = originProps.onCompositionEnd,\n style = originProps.style;\n warning(!('maxLength' in inputNode.props), \"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled.\");\n inputNode = /*#__PURE__*/React.cloneElement(inputNode, _objectSpread(_objectSpread(_objectSpread({\n type: 'search'\n }, originProps), {}, {\n // Override over origin props\n id: id,\n ref: composeRef(ref, originRef),\n disabled: disabled,\n tabIndex: tabIndex,\n autoComplete: autoComplete || 'off',\n autoFocus: autoFocus,\n className: classNames(\"\".concat(prefixCls, \"-selection-search-input\"), (_inputNode2 = inputNode) === null || _inputNode2 === void 0 || (_inputNode2 = _inputNode2.props) === null || _inputNode2 === void 0 ? void 0 : _inputNode2.className),\n role: 'combobox',\n 'aria-expanded': open || false,\n 'aria-haspopup': 'listbox',\n 'aria-owns': \"\".concat(id, \"_list\"),\n 'aria-autocomplete': 'list',\n 'aria-controls': \"\".concat(id, \"_list\"),\n 'aria-activedescendant': open ? activeDescendantId : undefined\n }, attrs), {}, {\n value: editable ? value : '',\n maxLength: maxLength,\n readOnly: !editable,\n unselectable: !editable ? 'on' : null,\n style: _objectSpread(_objectSpread({}, style), {}, {\n opacity: editable ? null : 0\n }),\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(event);\n if (onOriginKeyDown) {\n onOriginKeyDown(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n _onMouseDown(event);\n if (onOriginMouseDown) {\n onOriginMouseDown(event);\n }\n },\n onChange: function onChange(event) {\n _onChange(event);\n if (onOriginChange) {\n onOriginChange(event);\n }\n },\n onCompositionStart: function onCompositionStart(event) {\n _onCompositionStart(event);\n if (onOriginCompositionStart) {\n onOriginCompositionStart(event);\n }\n },\n onCompositionEnd: function onCompositionEnd(event) {\n _onCompositionEnd(event);\n if (onOriginCompositionEnd) {\n onOriginCompositionEnd(event);\n }\n },\n onPaste: onPaste\n }));\n return inputNode;\n};\nvar RefInput = /*#__PURE__*/React.forwardRef(Input);\nRefInput.displayName = 'Input';\nexport default RefInput;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n return value !== undefined ? [value] : [];\n}\nexport var isClient = typeof window !== 'undefined' && window.document && window.document.documentElement;\n\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && isClient;\nexport function hasValue(value) {\n return value !== undefined && value !== null;\n}\n\n/** combo mode no value judgment function */\nexport function isComboNoValue(value) {\n return !value && value !== 0;\n}\nfunction isTitleType(title) {\n return ['string', 'number'].includes(_typeof(title));\n}\nexport function getTitle(item) {\n var title = undefined;\n if (item) {\n if (isTitleType(item.title)) {\n title = item.title.toString();\n } else if (isTitleType(item.label)) {\n title = item.label.toString();\n }\n }\n return title;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Overflow from 'rc-overflow';\nimport TransBtn from \"../TransBtn\";\nimport Input from \"./Input\";\nimport useLayoutEffect from \"../hooks/useLayoutEffect\";\nimport { getTitle } from \"../utils/commonUtil\";\nfunction itemKey(value) {\n var _value$key;\n return (_value$key = value.key) !== null && _value$key !== void 0 ? _value$key : value.value;\n}\nvar onPreventMouseDown = function onPreventMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n};\nvar SelectSelector = function SelectSelector(props) {\n var id = props.id,\n prefixCls = props.prefixCls,\n values = props.values,\n open = props.open,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n inputRef = props.inputRef,\n placeholder = props.placeholder,\n disabled = props.disabled,\n mode = props.mode,\n showSearch = props.showSearch,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n tabIndex = props.tabIndex,\n removeIcon = props.removeIcon,\n maxTagCount = props.maxTagCount,\n maxTagTextLength = props.maxTagTextLength,\n _props$maxTagPlacehol = props.maxTagPlaceholder,\n maxTagPlaceholder = _props$maxTagPlacehol === void 0 ? function (omittedValues) {\n return \"+ \".concat(omittedValues.length, \" ...\");\n } : _props$maxTagPlacehol,\n tagRender = props.tagRender,\n onToggleOpen = props.onToggleOpen,\n onRemove = props.onRemove,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n var measureRef = React.useRef(null);\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n inputWidth = _useState2[0],\n setInputWidth = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n var selectionPrefixCls = \"\".concat(prefixCls, \"-selection\");\n\n // ===================== Search ======================\n var inputValue = open || mode === \"multiple\" && autoClearSearchValue === false || mode === 'tags' ? searchValue : '';\n var inputEditable = mode === 'tags' || mode === \"multiple\" && autoClearSearchValue === false || showSearch && (open || focused);\n\n // We measure width and set to the input immediately\n useLayoutEffect(function () {\n setInputWidth(measureRef.current.scrollWidth);\n }, [inputValue]);\n\n // ===================== Render ======================\n // >>> Render Selector Node. Includes Item & Rest\n function defaultRenderSelector(item, content, itemDisabled, closable, onClose) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(selectionPrefixCls, \"-item\"), _defineProperty({}, \"\".concat(selectionPrefixCls, \"-item-disabled\"), itemDisabled)),\n title: getTitle(item)\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-item-content\")\n }, content), closable && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(selectionPrefixCls, \"-item-remove\"),\n onMouseDown: onPreventMouseDown,\n onClick: onClose,\n customizeIcon: removeIcon\n }, \"\\xD7\"));\n }\n function customizeRenderSelector(value, content, itemDisabled, closable, onClose) {\n var onMouseDown = function onMouseDown(e) {\n onPreventMouseDown(e);\n onToggleOpen(!open);\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: onMouseDown\n }, tagRender({\n label: content,\n value: value,\n disabled: itemDisabled,\n closable: closable,\n onClose: onClose\n }));\n }\n function renderItem(valueItem) {\n var itemDisabled = valueItem.disabled,\n label = valueItem.label,\n value = valueItem.value;\n var closable = !disabled && !itemDisabled;\n var displayLabel = label;\n if (typeof maxTagTextLength === 'number') {\n if (typeof label === 'string' || typeof label === 'number') {\n var strLabel = String(displayLabel);\n if (strLabel.length > maxTagTextLength) {\n displayLabel = \"\".concat(strLabel.slice(0, maxTagTextLength), \"...\");\n }\n }\n }\n var onClose = function onClose(event) {\n if (event) event.stopPropagation();\n onRemove(valueItem);\n };\n return typeof tagRender === 'function' ? customizeRenderSelector(value, displayLabel, itemDisabled, closable, onClose) : defaultRenderSelector(valueItem, displayLabel, itemDisabled, closable, onClose);\n }\n function renderRest(omittedValues) {\n var content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n return defaultRenderSelector({\n title: content\n }, content, false);\n }\n\n // >>> Input Node\n var inputNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(selectionPrefixCls, \"-search\"),\n style: {\n width: inputWidth\n },\n onFocus: function onFocus() {\n setFocused(true);\n },\n onBlur: function onBlur() {\n setFocused(false);\n }\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n open: open,\n prefixCls: prefixCls,\n id: id,\n inputElement: null,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: onInputChange,\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true)\n }), /*#__PURE__*/React.createElement(\"span\", {\n ref: measureRef,\n className: \"\".concat(selectionPrefixCls, \"-search-mirror\"),\n \"aria-hidden\": true\n }, inputValue, \"\\xA0\"));\n\n // >>> Selections\n var selectionNode = /*#__PURE__*/React.createElement(Overflow, {\n prefixCls: \"\".concat(selectionPrefixCls, \"-overflow\"),\n data: values,\n renderItem: renderItem,\n renderRest: renderRest,\n suffix: inputNode,\n itemKey: itemKey,\n maxCount: maxTagCount\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, selectionNode, !values.length && !inputValue && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-placeholder\")\n }, placeholder));\n};\nexport default SelectSelector;","/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { isBrowserClient } from \"../utils/commonUtil\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nexport default function useLayoutEffect(effect, deps) {\n // Never happen in test env\n if (isBrowserClient) {\n /* istanbul ignore next */\n React.useLayoutEffect(effect, deps);\n } else {\n React.useEffect(effect, deps);\n }\n}\n/* eslint-enable */","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Input from \"./Input\";\nimport { getTitle } from \"../utils/commonUtil\";\nvar SingleSelector = function SingleSelector(props) {\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n id = props.id,\n inputRef = props.inputRef,\n disabled = props.disabled,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n mode = props.mode,\n open = props.open,\n values = props.values,\n placeholder = props.placeholder,\n tabIndex = props.tabIndex,\n showSearch = props.showSearch,\n searchValue = props.searchValue,\n activeValue = props.activeValue,\n maxLength = props.maxLength,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd,\n title = props.title;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n inputChanged = _React$useState2[0],\n setInputChanged = _React$useState2[1];\n var combobox = mode === 'combobox';\n var inputEditable = combobox || showSearch;\n var item = values[0];\n var inputValue = searchValue || '';\n if (combobox && activeValue && !inputChanged) {\n inputValue = activeValue;\n }\n React.useEffect(function () {\n if (combobox) {\n setInputChanged(false);\n }\n }, [combobox, activeValue]);\n\n // Not show text when closed expect combobox mode\n var hasTextInput = mode !== 'combobox' && !open && !showSearch ? false : !!inputValue;\n\n // Get title of selection item\n var selectionTitle = title === undefined ? getTitle(item) : title;\n var renderPlaceholder = function renderPlaceholder() {\n if (item) {\n return null;\n }\n var hiddenStyle = hasTextInput ? {\n visibility: 'hidden'\n } : undefined;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-placeholder\"),\n style: hiddenStyle\n }, placeholder);\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-search\")\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n prefixCls: prefixCls,\n id: id,\n open: open,\n inputElement: inputElement,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: function onChange(e) {\n setInputChanged(true);\n onInputChange(e);\n },\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true),\n maxLength: combobox ? maxLength : undefined\n })), !combobox && item ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-item\"),\n title: selectionTitle\n // 当 Select 已经选中选项时,还需 selection 隐藏但留在原地占位\n // https://github.com/ant-design/ant-design/issues/27688\n // https://github.com/ant-design/ant-design/issues/41530\n ,\n style: hasTextInput ? {\n visibility: 'hidden'\n } : undefined\n }, item.label) : null, renderPlaceholder());\n};\nexport default SingleSelector;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/**\n * Cursor rule:\n * 1. Only `showSearch` enabled\n * 2. Only `open` is `true`\n * 3. When typing, set `open` to `true` which hit rule of 2\n *\n * Accessibility:\n * - https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html\n */\n\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport MultipleSelector from \"./MultipleSelector\";\nimport SingleSelector from \"./SingleSelector\";\nimport useLock from \"../hooks/useLock\";\nimport { isValidateOpenKey } from \"../utils/keyUtil\";\nvar Selector = function Selector(props, ref) {\n var inputRef = useRef(null);\n var compositionStatusRef = useRef(false);\n var prefixCls = props.prefixCls,\n open = props.open,\n mode = props.mode,\n showSearch = props.showSearch,\n tokenWithEnter = props.tokenWithEnter,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSubmit = props.onSearchSubmit,\n onToggleOpen = props.onToggleOpen,\n onInputKeyDown = props.onInputKeyDown,\n domRef = props.domRef;\n\n // ======================= Ref =======================\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n inputRef.current.focus();\n },\n blur: function blur() {\n inputRef.current.blur();\n }\n };\n });\n\n // ====================== Input ======================\n var _useLock = useLock(0),\n _useLock2 = _slicedToArray(_useLock, 2),\n getInputMouseDown = _useLock2[0],\n setInputMouseDown = _useLock2[1];\n var onInternalInputKeyDown = function onInternalInputKeyDown(event) {\n var which = event.which;\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n event.preventDefault();\n }\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n if (which === KeyCode.ENTER && mode === 'tags' && !compositionStatusRef.current && !open) {\n // When menu isn't open, OptionList won't trigger a value change\n // So when enter is pressed, the tag's input value should be emitted here to let selector know\n onSearchSubmit === null || onSearchSubmit === void 0 || onSearchSubmit(event.target.value);\n }\n if (isValidateOpenKey(which)) {\n onToggleOpen(true);\n }\n };\n\n /**\n * We can not use `findDOMNode` sine it will get warning,\n * have to use timer to check if is input element.\n */\n var onInternalInputMouseDown = function onInternalInputMouseDown() {\n setInputMouseDown(true);\n };\n\n // When paste come, ignore next onChange\n var pastedTextRef = useRef(null);\n var triggerOnSearch = function triggerOnSearch(value) {\n if (onSearch(value, true, compositionStatusRef.current) !== false) {\n onToggleOpen(true);\n }\n };\n var onInputCompositionStart = function onInputCompositionStart() {\n compositionStatusRef.current = true;\n };\n var onInputCompositionEnd = function onInputCompositionEnd(e) {\n compositionStatusRef.current = false;\n\n // Trigger search again to support `tokenSeparators` with typewriting\n if (mode !== 'combobox') {\n triggerOnSearch(e.target.value);\n }\n };\n var onInputChange = function onInputChange(event) {\n var value = event.target.value;\n\n // Pasted text should replace back to origin content\n if (tokenWithEnter && pastedTextRef.current && /[\\r\\n]/.test(pastedTextRef.current)) {\n // CRLF will be treated as a single space for input element\n var replacedText = pastedTextRef.current.replace(/[\\r\\n]+$/, '').replace(/\\r\\n/g, ' ').replace(/[\\r\\n]/g, ' ');\n value = value.replace(replacedText, pastedTextRef.current);\n }\n pastedTextRef.current = null;\n triggerOnSearch(value);\n };\n var onInputPaste = function onInputPaste(e) {\n var clipboardData = e.clipboardData;\n var value = clipboardData.getData('text');\n pastedTextRef.current = value;\n };\n var onClick = function onClick(_ref) {\n var target = _ref.target;\n if (target !== inputRef.current) {\n // Should focus input if click the selector\n var isIE = document.body.style.msTouchAction !== undefined;\n if (isIE) {\n setTimeout(function () {\n inputRef.current.focus();\n });\n } else {\n inputRef.current.focus();\n }\n }\n };\n var onMouseDown = function onMouseDown(event) {\n var inputMouseDown = getInputMouseDown();\n\n // when mode is combobox, don't prevent default behavior\n // https://github.com/ant-design/ant-design/issues/37320\n if (event.target !== inputRef.current && !inputMouseDown && mode !== 'combobox') {\n event.preventDefault();\n }\n if (mode !== 'combobox' && (!showSearch || !inputMouseDown) || !open) {\n if (open && autoClearSearchValue !== false) {\n onSearch('', true, false);\n }\n onToggleOpen();\n }\n };\n\n // ================= Inner Selector ==================\n var sharedProps = {\n inputRef: inputRef,\n onInputKeyDown: onInternalInputKeyDown,\n onInputMouseDown: onInternalInputMouseDown,\n onInputChange: onInputChange,\n onInputPaste: onInputPaste,\n onInputCompositionStart: onInputCompositionStart,\n onInputCompositionEnd: onInputCompositionEnd\n };\n var selectNode = mode === 'multiple' || mode === 'tags' ? /*#__PURE__*/React.createElement(MultipleSelector, _extends({}, props, sharedProps)) : /*#__PURE__*/React.createElement(SingleSelector, _extends({}, props, sharedProps));\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: domRef,\n className: \"\".concat(prefixCls, \"-selector\"),\n onClick: onClick,\n onMouseDown: onMouseDown\n }, selectNode);\n};\nvar ForwardSelector = /*#__PURE__*/React.forwardRef(Selector);\nForwardSelector.displayName = 'Selector';\nexport default ForwardSelector;","import KeyCode from \"rc-util/es/KeyCode\";\n\n/** keyCode Judgment function */\nexport function isValidateOpenKey(currentKeyCode) {\n return ![\n // System function button\n KeyCode.ESC, KeyCode.SHIFT, KeyCode.BACKSPACE, KeyCode.TAB, KeyCode.WIN_KEY, KeyCode.ALT, KeyCode.META, KeyCode.WIN_KEY_RIGHT, KeyCode.CTRL, KeyCode.SEMICOLON, KeyCode.EQUALS, KeyCode.CAPS_LOCK, KeyCode.CONTEXT_MENU,\n // F1-F12\n KeyCode.F1, KeyCode.F2, KeyCode.F3, KeyCode.F4, KeyCode.F5, KeyCode.F6, KeyCode.F7, KeyCode.F8, KeyCode.F9, KeyCode.F10, KeyCode.F11, KeyCode.F12].includes(currentKeyCode);\n}","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 _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"disabled\", \"visible\", \"children\", \"popupElement\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"direction\", \"placement\", \"builtinPlacements\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"getPopupContainer\", \"empty\", \"getTriggerDOMNode\", \"onPopupVisibleChange\", \"onPopupMouseEnter\"];\nimport Trigger from '@rc-component/trigger';\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar getBuiltInPlacements = function getBuiltInPlacements(dropdownMatchSelectWidth) {\n // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided\n var adjustX = dropdownMatchSelectWidth === true ? 0 : 1;\n return {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n },\n htmlRegion: 'scroll'\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n },\n htmlRegion: 'scroll'\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n },\n htmlRegion: 'scroll'\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n },\n htmlRegion: 'scroll'\n }\n };\n};\nvar SelectTrigger = function SelectTrigger(props, ref) {\n var prefixCls = props.prefixCls,\n disabled = props.disabled,\n visible = props.visible,\n children = props.children,\n popupElement = props.popupElement,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'ltr' : _props$direction,\n placement = props.placement,\n builtinPlacements = props.builtinPlacements,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n getPopupContainer = props.getPopupContainer,\n empty = props.empty,\n getTriggerDOMNode = props.getTriggerDOMNode,\n onPopupVisibleChange = props.onPopupVisibleChange,\n onPopupMouseEnter = props.onPopupMouseEnter,\n restProps = _objectWithoutProperties(props, _excluded);\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n var popupNode = popupElement;\n if (dropdownRender) {\n popupNode = dropdownRender(popupElement);\n }\n var mergedBuiltinPlacements = React.useMemo(function () {\n return builtinPlacements || getBuiltInPlacements(dropdownMatchSelectWidth);\n }, [builtinPlacements, dropdownMatchSelectWidth]);\n\n // ===================== Motion ======================\n var mergedTransitionName = animation ? \"\".concat(dropdownPrefixCls, \"-\").concat(animation) : transitionName;\n\n // =================== Popup Width ===================\n var isNumberPopupWidth = typeof dropdownMatchSelectWidth === 'number';\n var stretch = React.useMemo(function () {\n if (isNumberPopupWidth) {\n return null;\n }\n return dropdownMatchSelectWidth === false ? 'minWidth' : 'width';\n }, [dropdownMatchSelectWidth, isNumberPopupWidth]);\n var popupStyle = dropdownStyle;\n if (isNumberPopupWidth) {\n popupStyle = _objectSpread(_objectSpread({}, popupStyle), {}, {\n width: dropdownMatchSelectWidth\n });\n }\n\n // ======================= Ref =======================\n var popupRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n getPopupElement: function getPopupElement() {\n return popupRef.current;\n }\n };\n });\n return /*#__PURE__*/React.createElement(Trigger, _extends({}, restProps, {\n showAction: onPopupVisibleChange ? ['click'] : [],\n hideAction: onPopupVisibleChange ? ['click'] : [],\n popupPlacement: placement || (direction === 'rtl' ? 'bottomRight' : 'bottomLeft'),\n builtinPlacements: mergedBuiltinPlacements,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: mergedTransitionName,\n popup: /*#__PURE__*/React.createElement(\"div\", {\n ref: popupRef,\n onMouseEnter: onPopupMouseEnter\n }, popupNode),\n stretch: stretch,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: getPopupContainer,\n popupClassName: classNames(dropdownClassName, _defineProperty({}, \"\".concat(dropdownPrefixCls, \"-empty\"), empty)),\n popupStyle: popupStyle,\n getTriggerDOMNode: getTriggerDOMNode,\n onPopupVisibleChange: onPopupVisibleChange\n }), children);\n};\nvar RefSelectTrigger = /*#__PURE__*/React.forwardRef(SelectTrigger);\nRefSelectTrigger.displayName = 'SelectTrigger';\nexport default RefSelectTrigger;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nfunction getKey(data, index) {\n var key = data.key;\n var value;\n if ('value' in data) {\n value = data.value;\n }\n if (key !== null && key !== undefined) {\n return key;\n }\n if (value !== undefined) {\n return value;\n }\n return \"rc-index-key-\".concat(index);\n}\nexport function fillFieldNames(fieldNames, childrenAsData) {\n var _ref = fieldNames || {},\n label = _ref.label,\n value = _ref.value,\n options = _ref.options,\n groupLabel = _ref.groupLabel;\n var mergedLabel = label || (childrenAsData ? 'children' : 'label');\n return {\n label: mergedLabel,\n value: value || 'value',\n options: options || 'options',\n groupLabel: groupLabel || mergedLabel\n };\n}\n\n/**\n * Flat options into flatten list.\n * We use `optionOnly` here is aim to avoid user use nested option group.\n * Here is simply set `key` to the index if not provided.\n */\nexport function flattenOptions(options) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n fieldNames = _ref2.fieldNames,\n childrenAsData = _ref2.childrenAsData;\n var flattenList = [];\n var _fillFieldNames = fillFieldNames(fieldNames, false),\n fieldLabel = _fillFieldNames.label,\n fieldValue = _fillFieldNames.value,\n fieldOptions = _fillFieldNames.options,\n groupLabel = _fillFieldNames.groupLabel;\n function dig(list, isGroupOption) {\n list.forEach(function (data) {\n if (isGroupOption || !(fieldOptions in data)) {\n var value = data[fieldValue];\n\n // Option\n flattenList.push({\n key: getKey(data, flattenList.length),\n groupOption: isGroupOption,\n data: data,\n label: data[fieldLabel],\n value: value\n });\n } else {\n var grpLabel = data[groupLabel];\n if (grpLabel === undefined && childrenAsData) {\n grpLabel = data.label;\n }\n\n // Option Group\n flattenList.push({\n key: getKey(data, flattenList.length),\n group: true,\n data: data,\n label: grpLabel\n });\n dig(data[fieldOptions], true);\n }\n });\n }\n dig(options, false);\n return flattenList;\n}\n\n/**\n * Inject `props` into `option` for legacy usage\n */\nexport function injectPropsWithOption(option) {\n var newOption = _objectSpread({}, option);\n if (!('props' in newOption)) {\n Object.defineProperty(newOption, 'props', {\n get: function get() {\n warning(false, 'Return type is option instead of Option instance. Please read value directly instead of reading from `props`.');\n return newOption;\n }\n });\n }\n return newOption;\n}\nexport function getSeparatedContent(text, tokens) {\n if (!tokens || !tokens.length) {\n return null;\n }\n var match = false;\n function separate(str, _ref3) {\n var _ref4 = _toArray(_ref3),\n token = _ref4[0],\n restTokens = _ref4.slice(1);\n if (!token) {\n return [str];\n }\n var list = str.split(token);\n match = match || list.length > 1;\n return list.reduce(function (prevList, unitStr) {\n return [].concat(_toConsumableArray(prevList), _toConsumableArray(separate(unitStr, restTokens)));\n }, []).filter(function (unit) {\n return unit;\n });\n }\n var list = separate(text, tokens);\n return match ? list : null;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"showSearch\", \"tagRender\", \"direction\", \"omitDomProps\", \"displayValues\", \"onDisplayValuesChange\", \"emptyOptions\", \"notFoundContent\", \"onClear\", \"mode\", \"disabled\", \"loading\", \"getInputElement\", \"getRawInputElement\", \"open\", \"defaultOpen\", \"onDropdownVisibleChange\", \"activeValue\", \"onActiveValueChange\", \"activeDescendantId\", \"searchValue\", \"autoClearSearchValue\", \"onSearch\", \"onSearchSplit\", \"tokenSeparators\", \"allowClear\", \"suffixIcon\", \"clearIcon\", \"OptionList\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"placement\", \"builtinPlacements\", \"getPopupContainer\", \"showAction\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\"];\nimport classNames from 'classnames';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useAllowClear } from \"./hooks/useAllowClear\";\nimport { BaseSelectContext } from \"./hooks/useBaseProps\";\nimport useDelayReset from \"./hooks/useDelayReset\";\nimport useLock from \"./hooks/useLock\";\nimport useSelectTriggerControl from \"./hooks/useSelectTriggerControl\";\nimport Selector from \"./Selector\";\nimport SelectTrigger from \"./SelectTrigger\";\nimport TransBtn from \"./TransBtn\";\nimport { getSeparatedContent } from \"./utils/valueUtil\";\nvar DEFAULT_OMIT_PROPS = ['value', 'onChange', 'removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'onPopupScroll', 'tabIndex'];\nexport function isMultiple(mode) {\n return mode === 'tags' || mode === 'multiple';\n}\nvar BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _customizeRawInputEle, _classNames2;\n var id = props.id,\n prefixCls = props.prefixCls,\n className = props.className,\n showSearch = props.showSearch,\n tagRender = props.tagRender,\n direction = props.direction,\n omitDomProps = props.omitDomProps,\n displayValues = props.displayValues,\n onDisplayValuesChange = props.onDisplayValuesChange,\n emptyOptions = props.emptyOptions,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n onClear = props.onClear,\n mode = props.mode,\n disabled = props.disabled,\n loading = props.loading,\n getInputElement = props.getInputElement,\n getRawInputElement = props.getRawInputElement,\n open = props.open,\n defaultOpen = props.defaultOpen,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n activeValue = props.activeValue,\n onActiveValueChange = props.onActiveValueChange,\n activeDescendantId = props.activeDescendantId,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSplit = props.onSearchSplit,\n tokenSeparators = props.tokenSeparators,\n allowClear = props.allowClear,\n suffixIcon = props.suffixIcon,\n clearIcon = props.clearIcon,\n OptionList = props.OptionList,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n placement = props.placement,\n builtinPlacements = props.builtinPlacements,\n getPopupContainer = props.getPopupContainer,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // ============================== MISC ==============================\n var multiple = isMultiple(mode);\n var mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';\n var domProps = _objectSpread({}, restProps);\n DEFAULT_OMIT_PROPS.forEach(function (propName) {\n delete domProps[propName];\n });\n omitDomProps === null || omitDomProps === void 0 || omitDomProps.forEach(function (propName) {\n delete domProps[propName];\n });\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 React.useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ============================== Refs ==============================\n var containerRef = React.useRef(null);\n var selectorDomRef = React.useRef(null);\n var triggerRef = React.useRef(null);\n var selectorRef = React.useRef(null);\n var listRef = React.useRef(null);\n var blurRef = React.useRef(false);\n\n /** Used for component focused management */\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2];\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, function () {\n var _selectorRef$current, _selectorRef$current2;\n return {\n focus: (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus,\n blur: (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur,\n scrollTo: function scrollTo(arg) {\n var _listRef$current;\n return (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(arg);\n }\n };\n });\n\n // ========================== Search Value ==========================\n var mergedSearchValue = React.useMemo(function () {\n var _displayValues$;\n if (mode !== 'combobox') {\n return searchValue;\n }\n var val = (_displayValues$ = displayValues[0]) === null || _displayValues$ === void 0 ? void 0 : _displayValues$.value;\n return typeof val === 'string' || typeof val === 'number' ? String(val) : '';\n }, [searchValue, mode, displayValues]);\n\n // ========================== Custom Input ==========================\n // Only works in `combobox`\n var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null;\n\n // Used for customize replacement for `rc-cascader`\n var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();\n var customizeRawInputRef = useComposeRef(selectorDomRef, customizeRawInputElement === null || customizeRawInputElement === void 0 || (_customizeRawInputEle = customizeRawInputElement.props) === null || _customizeRawInputEle === void 0 ? void 0 : _customizeRawInputEle.ref);\n\n // ============================== Open ==============================\n // SSR not support Portal which means we need delay `open` for the first time render\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n rendered = _React$useState4[0],\n setRendered = _React$useState4[1];\n useLayoutEffect(function () {\n setRendered(true);\n }, []);\n var _useMergedState = useMergedState(false, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n innerOpen = _useMergedState2[0],\n setInnerOpen = _useMergedState2[1];\n var mergedOpen = rendered ? innerOpen : false;\n\n // Not trigger `open` in `combobox` when `notFoundContent` is empty\n var emptyListContent = !notFoundContent && emptyOptions;\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n var triggerOpen = emptyListContent ? false : mergedOpen;\n var onToggleOpen = React.useCallback(function (newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n if (!disabled) {\n setInnerOpen(nextOpen);\n if (mergedOpen !== nextOpen) {\n onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 || onDropdownVisibleChange(nextOpen);\n }\n }\n }, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]);\n\n // ============================= Search =============================\n var tokenWithEnter = React.useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n var onInternalSearch = function onInternalSearch(searchText, fromTyping, isCompositing) {\n var ret = true;\n var newSearchText = searchText;\n onActiveValueChange === null || onActiveValueChange === void 0 || onActiveValueChange(null);\n\n // Check if match the `tokenSeparators`\n var patchLabels = isCompositing ? null : getSeparatedContent(searchText, tokenSeparators);\n\n // Ignore combobox since it's not split-able\n if (mode !== 'combobox' && patchLabels) {\n newSearchText = '';\n onSearchSplit === null || onSearchSplit === void 0 || onSearchSplit(patchLabels);\n\n // Should close when paste finish\n onToggleOpen(false);\n\n // Tell Selector that break next actions\n ret = false;\n }\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText, {\n source: fromTyping ? 'typing' : 'effect'\n });\n }\n return ret;\n };\n\n // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n var onInternalSearchSubmit = function onInternalSearchSubmit(searchText) {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n onSearch(searchText, {\n source: 'submit'\n });\n };\n\n // Close will clean up single mode search text\n React.useEffect(function () {\n if (!mergedOpen && !multiple && mode !== 'combobox') {\n onInternalSearch('', false, false);\n }\n }, [mergedOpen]);\n\n // ============================ Disabled ============================\n // Close dropdown & remove focus state when disabled change\n React.useEffect(function () {\n if (innerOpen && disabled) {\n setInnerOpen(false);\n }\n\n // After onBlur is triggered, the focused does not need to be reset\n if (disabled && !blurRef.current) {\n setMockFocused(false);\n }\n }, [disabled]);\n\n // ============================ Keyboard ============================\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1];\n\n // KeyDown\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var which = event.which;\n if (which === KeyCode.ENTER) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n }\n\n // We only manage open state here, close logic should handle by list component\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n setClearLock(!!mergedSearchValue);\n\n // Remove value by `backspace`\n if (which === KeyCode.BACKSPACE && !clearLock && multiple && !mergedSearchValue && displayValues.length) {\n var cloneDisplayValues = _toConsumableArray(displayValues);\n var removedDisplayValue = null;\n for (var i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {\n var current = cloneDisplayValues[i];\n if (!current.disabled) {\n cloneDisplayValues.splice(i, 1);\n removedDisplayValue = current;\n break;\n }\n }\n if (removedDisplayValue) {\n onDisplayValuesChange(cloneDisplayValues, {\n type: 'remove',\n values: [removedDisplayValue]\n });\n }\n }\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n if (mergedOpen && listRef.current) {\n var _listRef$current2;\n (_listRef$current2 = listRef.current).onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown.apply(void 0, [event].concat(rest));\n };\n\n // KeyUp\n var onInternalKeyUp = function onInternalKeyUp(event) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n if (mergedOpen && listRef.current) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current).onKeyUp.apply(_listRef$current3, [event].concat(rest));\n }\n onKeyUp === null || onKeyUp === void 0 || onKeyUp.apply(void 0, [event].concat(rest));\n };\n\n // ============================ Selector ============================\n var onSelectorRemove = function onSelectorRemove(val) {\n var newValues = displayValues.filter(function (i) {\n return i !== val;\n });\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [val]\n });\n };\n\n // ========================== Focus / Blur ==========================\n /** Record real focus status */\n var focusRef = React.useRef(false);\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n }\n\n // `showAction` should handle `focus` if set\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n focusRef.current = true;\n };\n var onContainerBlur = function onContainerBlur() {\n blurRef.current = true;\n setMockFocused(false, function () {\n focusRef.current = false;\n blurRef.current = false;\n onToggleOpen(false);\n });\n if (disabled) {\n return;\n }\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n onSearch(mergedSearchValue, {\n source: 'submit'\n });\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n onSearch('', {\n source: 'blur'\n });\n }\n }\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n };\n\n // Give focus back of Select\n var activeTimeoutIds = [];\n React.useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var _triggerRef$current;\n var target = event.target;\n var popupElement = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement();\n\n // We should give focus back to selector if clicked item is not focusable\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n cancelSetMockFocused();\n if (!mobile && !popupElement.contains(document.activeElement)) {\n var _selectorRef$current3;\n (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 || _selectorRef$current3.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n restArgs[_key3 - 1] = arguments[_key3];\n }\n onMouseDown === null || onMouseDown === void 0 || onMouseDown.apply(void 0, [event].concat(restArgs));\n };\n\n // ============================ Dropdown ============================\n var _React$useState5 = React.useState({}),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n forceUpdate = _React$useState6[1];\n // We need force update here since popup dom is render async\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n // Used for raw custom input trigger\n var onTriggerVisibleChange;\n if (customizeRawInputElement) {\n onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {\n onToggleOpen(newOpen);\n };\n }\n\n // Close when click on non-select element\n useSelectTriggerControl(function () {\n var _triggerRef$current2;\n return [containerRef.current, (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement()];\n }, triggerOpen, onToggleOpen, !!customizeRawInputElement);\n\n // ============================ Context =============================\n var baseSelectContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, props), {}, {\n notFoundContent: notFoundContent,\n open: mergedOpen,\n triggerOpen: triggerOpen,\n id: id,\n showSearch: mergedShowSearch,\n multiple: multiple,\n toggleOpen: onToggleOpen\n });\n }, [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]);\n\n // ==================================================================\n // == Render ==\n // ==================================================================\n\n // ============================= Arrow ==============================\n var showSuffixIcon = !!suffixIcon || loading;\n var arrowNode;\n if (showSuffixIcon) {\n arrowNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), _defineProperty({}, \"\".concat(prefixCls, \"-arrow-loading\"), loading)),\n customizeIcon: suffixIcon,\n customizeIconProps: {\n loading: loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch\n }\n });\n }\n\n // ============================= Clear ==============================\n var onClearMouseDown = function onClearMouseDown() {\n var _selectorRef$current4;\n onClear === null || onClear === void 0 || onClear();\n (_selectorRef$current4 = selectorRef.current) === null || _selectorRef$current4 === void 0 || _selectorRef$current4.focus();\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues\n });\n onInternalSearch('', false, false);\n };\n var _useAllowClear = useAllowClear(prefixCls, onClearMouseDown, displayValues, allowClear, clearIcon, disabled, mergedSearchValue, mode),\n mergedAllowClear = _useAllowClear.allowClear,\n clearNode = _useAllowClear.clearIcon;\n\n // =========================== OptionList ===========================\n var optionList = /*#__PURE__*/React.createElement(OptionList, {\n ref: listRef\n });\n\n // ============================= Select =============================\n var mergedClassName = classNames(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), mockFocused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-multiple\"), multiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-single\"), !multiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-allow-clear\"), allowClear), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-arrow\"), showSuffixIcon), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-loading\"), loading), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-open\"), mergedOpen), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-customize-input\"), customizeInputElement), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-search\"), mergedShowSearch), _classNames2));\n\n // >>> Selector\n var selectorNode = /*#__PURE__*/React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: optionList,\n animation: animation,\n transitionName: transitionName,\n dropdownStyle: dropdownStyle,\n dropdownClassName: dropdownClassName,\n direction: direction,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n dropdownRender: dropdownRender,\n dropdownAlign: dropdownAlign,\n placement: placement,\n builtinPlacements: builtinPlacements,\n getPopupContainer: getPopupContainer,\n empty: emptyOptions,\n getTriggerDOMNode: function getTriggerDOMNode() {\n return selectorDomRef.current;\n },\n onPopupVisibleChange: onTriggerVisibleChange,\n onPopupMouseEnter: onPopupMouseEnter\n }, customizeRawInputElement ? /*#__PURE__*/React.cloneElement(customizeRawInputElement, {\n ref: customizeRawInputRef\n }) : /*#__PURE__*/React.createElement(Selector, _extends({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: id,\n showSearch: mergedShowSearch,\n autoClearSearchValue: autoClearSearchValue,\n mode: mode,\n activeDescendantId: activeDescendantId,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n activeValue: activeValue,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n onSearchSubmit: onInternalSearchSubmit,\n onRemove: onSelectorRemove,\n tokenWithEnter: tokenWithEnter\n })));\n\n // >>> Render\n var renderNode;\n\n // Render raw\n if (customizeRawInputElement) {\n renderNode = selectorNode;\n } else {\n renderNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergedClassName\n }, domProps, {\n ref: containerRef,\n onMouseDown: onInternalMouseDown,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onFocus: onContainerFocus,\n onBlur: onContainerBlur\n }), mockFocused && !mergedOpen && /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: 'hidden',\n opacity: 0\n },\n \"aria-live\": \"polite\"\n }, \"\".concat(displayValues.map(function (_ref) {\n var label = _ref.label,\n value = _ref.value;\n return ['number', 'string'].includes(_typeof(label)) ? label : value;\n }).join(', '))), selectorNode, arrowNode, mergedAllowClear && clearNode);\n }\n return /*#__PURE__*/React.createElement(BaseSelectContext.Provider, {\n value: baseSelectContext\n }, renderNode);\n});\n\n// Set display name for dev\nif (process.env.NODE_ENV !== 'production') {\n BaseSelect.displayName = 'BaseSelect';\n}\nexport default BaseSelect;","export default (function () {\n if (typeof navigator === 'undefined' || typeof window === 'undefined') {\n return false;\n }\n\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n\n if (/(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 return true;\n }\n\n return false;\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n\n/**\n * Similar with `useLock`, but this hook will always execute last value.\n * When set to `true`, it will keep `true` for a short time even if `false` is set.\n */\nexport default function useDelayReset() {\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n bool = _React$useState2[0],\n setBool = _React$useState2[1];\n var delayRef = React.useRef(null);\n var cancelLatest = function cancelLatest() {\n window.clearTimeout(delayRef.current);\n };\n React.useEffect(function () {\n return cancelLatest;\n }, []);\n var delaySetBool = function delaySetBool(value, callback) {\n cancelLatest();\n delayRef.current = window.setTimeout(function () {\n setBool(value);\n if (callback) {\n callback();\n }\n }, timeout);\n };\n return [bool, delaySetBool, cancelLatest];\n}","import * as React from 'react';\nexport default function useSelectTriggerControl(elements, open, triggerOpen, customizedTrigger) {\n var propsRef = React.useRef(null);\n propsRef.current = {\n open: open,\n triggerOpen: triggerOpen,\n customizedTrigger: customizedTrigger\n };\n React.useEffect(function () {\n function onGlobalMouseDown(event) {\n var _propsRef$current;\n // If trigger is customized, Trigger will take control of popupVisible\n if ((_propsRef$current = propsRef.current) !== null && _propsRef$current !== void 0 && _propsRef$current.customizedTrigger) {\n return;\n }\n var target = event.target;\n if (target.shadowRoot && event.composed) {\n target = event.composedPath()[0] || target;\n }\n if (propsRef.current.open && elements().filter(function (element) {\n return element;\n }).every(function (element) {\n return !element.contains(target) && element !== target;\n })) {\n // Should trigger close\n propsRef.current.triggerOpen(false);\n }\n }\n window.addEventListener('mousedown', onGlobalMouseDown);\n return function () {\n return window.removeEventListener('mousedown', onGlobalMouseDown);\n };\n }, []);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport TransBtn from \"../TransBtn\";\nimport React from 'react';\nexport function useAllowClear(prefixCls, onClearMouseDown, displayValues, allowClear, clearIcon) {\n var disabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n var mergedSearchValue = arguments.length > 6 ? arguments[6] : undefined;\n var mode = arguments.length > 7 ? arguments[7] : undefined;\n var mergedClearIcon = React.useMemo(function () {\n if (_typeof(allowClear) === \"object\") {\n return allowClear.clearIcon;\n }\n if (!!clearIcon) return clearIcon;\n }, [allowClear, clearIcon]);\n var mergedAllowClear = React.useMemo(function () {\n if (!disabled && !!allowClear && (displayValues.length || mergedSearchValue) && !(mode === 'combobox' && mergedSearchValue === '')) {\n return true;\n }\n return false;\n }, [allowClear, disabled, displayValues.length, mergedSearchValue, mode]);\n return {\n allowClear: mergedAllowClear,\n clearIcon: /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(prefixCls, \"-clear\"),\n onMouseDown: onClearMouseDown,\n customizeIcon: mergedClearIcon\n }, \"\\xD7\")\n };\n}","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar OptGroup = function OptGroup() {\n return null;\n};\nOptGroup.isSelectOptGroup = true;\nexport default OptGroup;","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar Option = function Option() {\n return null;\n};\nOption.isSelectOption = true;\nexport default Option;","import * as React from 'react';\n\n// Use any here since we do not get the type during compilation\n\nvar SelectContext = /*#__PURE__*/React.createContext(null);\nexport default SelectContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar _excluded = [\"disabled\", \"title\", \"children\", \"style\", \"className\"];\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport omit from \"rc-util/es/omit\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport List from 'rc-virtual-list';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport SelectContext from \"./SelectContext\";\nimport TransBtn from \"./TransBtn\";\nimport useBaseProps from \"./hooks/useBaseProps\";\nimport { isPlatformMac } from \"./utils/platformUtil\";\n\n// export interface OptionListProps {\n\nfunction isTitleType(content) {\n return typeof content === 'string' || typeof content === 'number';\n}\n\n/**\n * Using virtual list of option display.\n * Will fallback to dom if use customize render.\n */\nvar OptionList = function OptionList(_, ref) {\n var _useBaseProps = useBaseProps(),\n prefixCls = _useBaseProps.prefixCls,\n id = _useBaseProps.id,\n open = _useBaseProps.open,\n multiple = _useBaseProps.multiple,\n mode = _useBaseProps.mode,\n searchValue = _useBaseProps.searchValue,\n toggleOpen = _useBaseProps.toggleOpen,\n notFoundContent = _useBaseProps.notFoundContent,\n onPopupScroll = _useBaseProps.onPopupScroll;\n var _React$useContext = React.useContext(SelectContext),\n flattenOptions = _React$useContext.flattenOptions,\n onActiveValue = _React$useContext.onActiveValue,\n defaultActiveFirstOption = _React$useContext.defaultActiveFirstOption,\n onSelect = _React$useContext.onSelect,\n menuItemSelectedIcon = _React$useContext.menuItemSelectedIcon,\n rawValues = _React$useContext.rawValues,\n fieldNames = _React$useContext.fieldNames,\n virtual = _React$useContext.virtual,\n direction = _React$useContext.direction,\n listHeight = _React$useContext.listHeight,\n listItemHeight = _React$useContext.listItemHeight,\n optionRender = _React$useContext.optionRender;\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\");\n var memoFlattenOptions = useMemo(function () {\n return flattenOptions;\n }, [open, flattenOptions], function (prev, next) {\n return next[0] && prev[1] !== next[1];\n });\n\n // =========================== List ===========================\n var listRef = React.useRef(null);\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n var scrollIntoView = function scrollIntoView(args) {\n if (listRef.current) {\n listRef.current.scrollTo(typeof args === 'number' ? {\n index: args\n } : args);\n }\n };\n\n // ========================== Active ==========================\n var getEnabledActiveIndex = function getEnabledActiveIndex(index) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var len = memoFlattenOptions.length;\n for (var i = 0; i < len; i += 1) {\n var current = (index + i * offset + len) % len;\n var _memoFlattenOptions$c = memoFlattenOptions[current],\n group = _memoFlattenOptions$c.group,\n data = _memoFlattenOptions$c.data;\n if (!group && !data.disabled) {\n return current;\n }\n }\n return -1;\n };\n var _React$useState = React.useState(function () {\n return getEnabledActiveIndex(0);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeIndex = _React$useState2[0],\n setActiveIndex = _React$useState2[1];\n var setActive = function setActive(index) {\n var fromKeyboard = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n setActiveIndex(index);\n var info = {\n source: fromKeyboard ? 'keyboard' : 'mouse'\n };\n\n // Trigger active event\n var flattenItem = memoFlattenOptions[index];\n if (!flattenItem) {\n onActiveValue(null, -1, info);\n return;\n }\n onActiveValue(flattenItem.value, index, info);\n };\n\n // Auto active first item when list length or searchValue changed\n useEffect(function () {\n setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);\n }, [memoFlattenOptions.length, searchValue]);\n\n // https://github.com/ant-design/ant-design/issues/34975\n var isSelected = React.useCallback(function (value) {\n return rawValues.has(value) && mode !== 'combobox';\n }, [mode, _toConsumableArray(rawValues).toString(), rawValues.size]);\n\n // Auto scroll to item position in single mode\n useEffect(function () {\n /**\n * React will skip `onChange` when component update.\n * `setActive` function will call root accessibility state update which makes re-render.\n * So we need to delay to let Input component trigger onChange first.\n */\n var timeoutId = setTimeout(function () {\n if (!multiple && open && rawValues.size === 1) {\n var value = Array.from(rawValues)[0];\n var index = memoFlattenOptions.findIndex(function (_ref) {\n var data = _ref.data;\n return data.value === value;\n });\n if (index !== -1) {\n setActive(index);\n scrollIntoView(index);\n }\n }\n });\n\n // Force trigger scrollbar visible when open\n if (open) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(undefined);\n }\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [open, searchValue]);\n\n // ========================== Values ==========================\n var onSelectValue = function onSelectValue(value) {\n if (value !== undefined) {\n onSelect(value, {\n selected: !rawValues.has(value)\n });\n }\n\n // Single mode should always close by select\n if (!multiple) {\n toggleOpen(false);\n }\n };\n\n // ========================= Keyboard =========================\n React.useImperativeHandle(ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var which = event.which,\n ctrlKey = event.ctrlKey;\n switch (which) {\n // >>> Arrow keys & ctrl + n/p on Mac\n case KeyCode.N:\n case KeyCode.P:\n case KeyCode.UP:\n case KeyCode.DOWN:\n {\n var offset = 0;\n if (which === KeyCode.UP) {\n offset = -1;\n } else if (which === KeyCode.DOWN) {\n offset = 1;\n } else if (isPlatformMac() && ctrlKey) {\n if (which === KeyCode.N) {\n offset = 1;\n } else if (which === KeyCode.P) {\n offset = -1;\n }\n }\n if (offset !== 0) {\n var nextActiveIndex = getEnabledActiveIndex(activeIndex + offset, offset);\n scrollIntoView(nextActiveIndex);\n setActive(nextActiveIndex, true);\n }\n break;\n }\n\n // >>> Select\n case KeyCode.ENTER:\n {\n // value\n var item = memoFlattenOptions[activeIndex];\n if (item && !item.data.disabled) {\n onSelectValue(item.value);\n } else {\n onSelectValue(undefined);\n }\n if (open) {\n event.preventDefault();\n }\n break;\n }\n\n // >>> Close\n case KeyCode.ESC:\n {\n toggleOpen(false);\n if (open) {\n event.stopPropagation();\n }\n }\n }\n },\n onKeyUp: function onKeyUp() {},\n scrollTo: function scrollTo(index) {\n scrollIntoView(index);\n }\n };\n });\n\n // ========================== Render ==========================\n if (memoFlattenOptions.length === 0) {\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n className: \"\".concat(itemPrefixCls, \"-empty\"),\n onMouseDown: onListMouseDown\n }, notFoundContent);\n }\n var omitFieldNameList = Object.keys(fieldNames).map(function (key) {\n return fieldNames[key];\n });\n var getLabel = function getLabel(item) {\n return item.label;\n };\n function getItemAriaProps(item, index) {\n var group = item.group;\n return {\n role: group ? 'presentation' : 'option',\n id: \"\".concat(id, \"_list_\").concat(index)\n };\n }\n var renderItem = function renderItem(index) {\n var item = memoFlattenOptions[index];\n if (!item) return null;\n var itemData = item.data || {};\n var value = itemData.value;\n var group = item.group;\n var attrs = pickAttrs(itemData, true);\n var mergedLabel = getLabel(item);\n return item ? /*#__PURE__*/React.createElement(\"div\", _extends({\n \"aria-label\": typeof mergedLabel === 'string' && !group ? mergedLabel : null\n }, attrs, {\n key: index\n }, getItemAriaProps(item, index), {\n \"aria-selected\": isSelected(value)\n }), value) : null;\n };\n var a11yProps = {\n role: 'listbox',\n id: \"\".concat(id, \"_list\")\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, virtual && /*#__PURE__*/React.createElement(\"div\", _extends({}, a11yProps, {\n style: {\n height: 0,\n width: 0,\n overflow: 'hidden'\n }\n }), renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), /*#__PURE__*/React.createElement(List, {\n itemKey: \"key\",\n ref: listRef,\n data: memoFlattenOptions,\n height: listHeight,\n itemHeight: listItemHeight,\n fullHeight: false,\n onMouseDown: onListMouseDown,\n onScroll: onPopupScroll,\n virtual: virtual,\n direction: direction,\n innerProps: virtual ? null : a11yProps\n }, function (item, itemIndex) {\n var _classNames;\n var group = item.group,\n groupOption = item.groupOption,\n data = item.data,\n label = item.label,\n value = item.value;\n var key = data.key;\n\n // Group\n if (group) {\n var _data$title;\n var groupTitle = (_data$title = data.title) !== null && _data$title !== void 0 ? _data$title : isTitleType(label) ? label.toString() : undefined;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(itemPrefixCls, \"\".concat(itemPrefixCls, \"-group\")),\n title: groupTitle\n }, label !== undefined ? label : key);\n }\n var disabled = data.disabled,\n title = data.title,\n children = data.children,\n style = data.style,\n className = data.className,\n otherProps = _objectWithoutProperties(data, _excluded);\n var passedProps = omit(otherProps, omitFieldNameList);\n\n // Option\n var selected = isSelected(value);\n var optionPrefixCls = \"\".concat(itemPrefixCls, \"-option\");\n var optionClassName = classNames(itemPrefixCls, optionPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-grouped\"), groupOption), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-active\"), activeIndex === itemIndex && !disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-selected\"), selected), _classNames));\n var mergedLabel = getLabel(item);\n var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === 'function' || selected;\n\n // https://github.com/ant-design/ant-design/issues/34145\n var content = typeof mergedLabel === 'number' ? mergedLabel : mergedLabel || value;\n // https://github.com/ant-design/ant-design/issues/26717\n var optionTitle = isTitleType(content) ? content.toString() : undefined;\n if (title !== undefined) {\n optionTitle = title;\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, pickAttrs(passedProps), !virtual ? getItemAriaProps(item, itemIndex) : {}, {\n \"aria-selected\": selected,\n className: optionClassName,\n title: optionTitle,\n onMouseMove: function onMouseMove() {\n if (activeIndex === itemIndex || disabled) {\n return;\n }\n setActive(itemIndex);\n },\n onClick: function onClick() {\n if (!disabled) {\n onSelectValue(value);\n }\n },\n style: style\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(optionPrefixCls, \"-content\")\n }, typeof optionRender === 'function' ? optionRender(item, {\n index: itemIndex\n }) : content), /*#__PURE__*/React.isValidElement(menuItemSelectedIcon) || selected, iconVisible && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(itemPrefixCls, \"-option-state\"),\n customizeIcon: menuItemSelectedIcon,\n customizeIconProps: {\n value: value,\n disabled: disabled,\n isSelected: selected\n }\n }, selected ? '✓' : null));\n }));\n};\nvar RefOptionList = /*#__PURE__*/React.forwardRef(OptionList);\nRefOptionList.displayName = 'OptionList';\nexport default RefOptionList;","/* istanbul ignore file */\nexport function isPlatformMac() {\n return /(mac\\sos|macintosh)/i.test(navigator.appVersion);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nexport default function omit(obj, fields) {\n var clone = _objectSpread({}, obj);\n\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n\n return clone;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport { toArray } from \"../utils/commonUtil\";\nimport { injectPropsWithOption } from \"../utils/valueUtil\";\nfunction includes(test, search) {\n return toArray(test).join('').toUpperCase().includes(search);\n}\nexport default (function (options, fieldNames, searchValue, filterOption, optionFilterProp) {\n return React.useMemo(function () {\n if (!searchValue || filterOption === false) {\n return options;\n }\n var fieldOptions = fieldNames.options,\n fieldLabel = fieldNames.label,\n fieldValue = fieldNames.value;\n var filteredOptions = [];\n var customizeFilter = typeof filterOption === 'function';\n var upperSearch = searchValue.toUpperCase();\n var filterFunc = customizeFilter ? filterOption : function (_, option) {\n // Use provided `optionFilterProp`\n if (optionFilterProp) {\n return includes(option[optionFilterProp], upperSearch);\n }\n\n // Auto select `label` or `value` by option type\n if (option[fieldOptions]) {\n // hack `fieldLabel` since `OptionGroup` children is not `label`\n return includes(option[fieldLabel !== 'children' ? fieldLabel : 'label'], upperSearch);\n }\n return includes(option[fieldValue], upperSearch);\n };\n var wrapOption = customizeFilter ? function (opt) {\n return injectPropsWithOption(opt);\n } : function (opt) {\n return opt;\n };\n options.forEach(function (item) {\n // Group should check child options\n if (item[fieldOptions]) {\n // Check group first\n var matchGroup = filterFunc(searchValue, wrapOption(item));\n if (matchGroup) {\n filteredOptions.push(item);\n } else {\n // Check option\n var subOptions = item[fieldOptions].filter(function (subItem) {\n return filterFunc(searchValue, wrapOption(subItem));\n });\n if (subOptions.length) {\n filteredOptions.push(_objectSpread(_objectSpread({}, item), {}, _defineProperty({}, fieldOptions, subOptions)));\n }\n }\n return;\n }\n if (filterFunc(searchValue, wrapOption(item))) {\n filteredOptions.push(item);\n }\n });\n return filteredOptions;\n }, [options, filterOption, optionFilterProp, searchValue, fieldNames]);\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nvar uuid = 0;\n\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && canUseDom();\n\n/** Get unique id for accessibility usage */\nexport function getUUID() {\n var retId;\n\n // Test never reach\n /* istanbul ignore if */\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n return retId;\n}\nexport default function useId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n setInnerId(\"rc_select_\".concat(getUUID()));\n }, []);\n return id || innerId;\n}","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\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 _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\", \"value\"],\n _excluded2 = [\"children\"];\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nfunction convertNodeToOption(node) {\n var _ref = node,\n key = _ref.key,\n _ref$props = _ref.props,\n children = _ref$props.children,\n value = _ref$props.value,\n restProps = _objectWithoutProperties(_ref$props, _excluded);\n return _objectSpread({\n key: key,\n value: value !== undefined ? value : key,\n children: children\n }, restProps);\n}\nexport function convertChildrenToData(nodes) {\n var optionOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return toArray(nodes).map(function (node, index) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return null;\n }\n var _ref2 = node,\n isSelectOptGroup = _ref2.type.isSelectOptGroup,\n key = _ref2.key,\n _ref2$props = _ref2.props,\n children = _ref2$props.children,\n restProps = _objectWithoutProperties(_ref2$props, _excluded2);\n if (optionOnly || !isSelectOptGroup) {\n return convertNodeToOption(node);\n }\n return _objectSpread(_objectSpread({\n key: \"__RC_SELECT_GRP__\".concat(key === null ? index : key, \"__\"),\n label: key\n }, restProps), {}, {\n options: convertChildrenToData(children)\n });\n }).filter(function (data) {\n return data;\n });\n}","import * as React from 'react';\n\n/**\n * Same as `React.useCallback` but always return a memoized function\n * but redirect to real function.\n */\nexport default function useRefFunc(callback) {\n var funcRef = React.useRef();\n funcRef.current = callback;\n var cacheFn = React.useCallback(function () {\n return funcRef.current.apply(funcRef, arguments);\n }, []);\n return cacheFn;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"id\", \"mode\", \"prefixCls\", \"backfill\", \"fieldNames\", \"inputValue\", \"searchValue\", \"onSearch\", \"autoClearSearchValue\", \"onSelect\", \"onDeselect\", \"dropdownMatchSelectWidth\", \"filterOption\", \"filterSort\", \"optionFilterProp\", \"optionLabelProp\", \"options\", \"optionRender\", \"children\", \"defaultActiveFirstOption\", \"menuItemSelectedIcon\", \"virtual\", \"direction\", \"listHeight\", \"listItemHeight\", \"value\", \"defaultValue\", \"labelInValue\", \"onChange\"];\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n *\n * New api:\n * - listHeight\n * - listItemHeight\n * - component\n *\n * Remove deprecated api:\n * - multiple\n * - tags\n * - combobox\n * - firstActiveValue\n * - dropdownMenuStyle\n * - openClassName (Not list in api)\n *\n * Update:\n * - `backfill` only support `combobox` mode\n * - `combobox` mode not support `labelInValue` since it's meaningless\n * - `getInputElement` only support `combobox` mode\n * - `onChange` return OptionData instead of ReactNode\n * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode\n * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option\n * - `combobox` mode not support `optionLabelProp`\n */\n\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport BaseSelect, { isMultiple } from \"./BaseSelect\";\nimport OptGroup from \"./OptGroup\";\nimport Option from \"./Option\";\nimport OptionList from \"./OptionList\";\nimport SelectContext from \"./SelectContext\";\nimport useCache from \"./hooks/useCache\";\nimport useFilterOptions from \"./hooks/useFilterOptions\";\nimport useId from \"./hooks/useId\";\nimport useOptions from \"./hooks/useOptions\";\nimport useRefFunc from \"./hooks/useRefFunc\";\nimport { hasValue, isComboNoValue, toArray } from \"./utils/commonUtil\";\nimport { fillFieldNames, flattenOptions, injectPropsWithOption } from \"./utils/valueUtil\";\nimport warningProps, { warningNullOptions } from \"./utils/warningPropsUtil\";\nvar OMIT_DOM_PROPS = ['inputValue'];\nfunction isRawValue(value) {\n return !value || _typeof(value) !== 'object';\n}\nvar Select = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var id = props.id,\n mode = props.mode,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-select' : _props$prefixCls,\n backfill = props.backfill,\n fieldNames = props.fieldNames,\n inputValue = props.inputValue,\n searchValue = props.searchValue,\n onSearch = props.onSearch,\n _props$autoClearSearc = props.autoClearSearchValue,\n autoClearSearchValue = _props$autoClearSearc === void 0 ? true : _props$autoClearSearc,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect,\n _props$dropdownMatchS = props.dropdownMatchSelectWidth,\n dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? true : _props$dropdownMatchS,\n filterOption = props.filterOption,\n filterSort = props.filterSort,\n optionFilterProp = props.optionFilterProp,\n optionLabelProp = props.optionLabelProp,\n options = props.options,\n optionRender = props.optionRender,\n children = props.children,\n defaultActiveFirstOption = props.defaultActiveFirstOption,\n menuItemSelectedIcon = props.menuItemSelectedIcon,\n virtual = props.virtual,\n direction = props.direction,\n _props$listHeight = props.listHeight,\n listHeight = _props$listHeight === void 0 ? 200 : _props$listHeight,\n _props$listItemHeight = props.listItemHeight,\n listItemHeight = _props$listItemHeight === void 0 ? 20 : _props$listItemHeight,\n value = props.value,\n defaultValue = props.defaultValue,\n labelInValue = props.labelInValue,\n onChange = props.onChange,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedId = useId(id);\n var multiple = isMultiple(mode);\n var childrenAsData = !!(!options && children);\n var mergedFilterOption = React.useMemo(function () {\n if (filterOption === undefined && mode === 'combobox') {\n return false;\n }\n return filterOption;\n }, [filterOption, mode]);\n\n // ========================= FieldNames =========================\n var mergedFieldNames = React.useMemo(function () {\n return fillFieldNames(fieldNames, childrenAsData);\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [\n // We stringify fieldNames to avoid unnecessary re-renders.\n JSON.stringify(fieldNames), childrenAsData]\n /* eslint-enable react-hooks/exhaustive-deps */);\n\n // =========================== Search ===========================\n var _useMergedState = useMergedState('', {\n value: searchValue !== undefined ? searchValue : inputValue,\n postState: function postState(search) {\n return search || '';\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedSearchValue = _useMergedState2[0],\n setSearchValue = _useMergedState2[1];\n\n // =========================== Option ===========================\n var parsedOptions = useOptions(options, children, mergedFieldNames, optionFilterProp, optionLabelProp);\n var valueOptions = parsedOptions.valueOptions,\n labelOptions = parsedOptions.labelOptions,\n mergedOptions = parsedOptions.options;\n\n // ========================= Wrap Value =========================\n var convert2LabelValues = React.useCallback(function (draftValues) {\n // Convert to array\n var valueList = toArray(draftValues);\n\n // Convert to labelInValue type\n return valueList.map(function (val) {\n var rawValue;\n var rawLabel;\n var rawKey;\n var rawDisabled;\n var rawTitle;\n\n // Fill label & value\n if (isRawValue(val)) {\n rawValue = val;\n } else {\n var _val$value;\n rawKey = val.key;\n rawLabel = val.label;\n rawValue = (_val$value = val.value) !== null && _val$value !== void 0 ? _val$value : rawKey;\n }\n var option = valueOptions.get(rawValue);\n if (option) {\n var _option$key;\n // Fill missing props\n if (rawLabel === undefined) rawLabel = option === null || option === void 0 ? void 0 : option[optionLabelProp || mergedFieldNames.label];\n if (rawKey === undefined) rawKey = (_option$key = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key !== void 0 ? _option$key : rawValue;\n rawDisabled = option === null || option === void 0 ? void 0 : option.disabled;\n rawTitle = option === null || option === void 0 ? void 0 : option.title;\n\n // Warning if label not same as provided\n if (process.env.NODE_ENV !== 'production' && !optionLabelProp) {\n var optionLabel = option === null || option === void 0 ? void 0 : option[mergedFieldNames.label];\n if (optionLabel !== undefined && ! /*#__PURE__*/React.isValidElement(optionLabel) && ! /*#__PURE__*/React.isValidElement(rawLabel) && optionLabel !== rawLabel) {\n warning(false, '`label` of `value` is not same as `label` in Select options.');\n }\n }\n }\n return {\n label: rawLabel,\n value: rawValue,\n key: rawKey,\n disabled: rawDisabled,\n title: rawTitle\n };\n });\n }, [mergedFieldNames, optionLabelProp, valueOptions]);\n\n // =========================== Values ===========================\n var _useMergedState3 = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n internalValue = _useMergedState4[0],\n setInternalValue = _useMergedState4[1];\n\n // Merged value with LabelValueType\n var rawLabeledValues = React.useMemo(function () {\n var _values$;\n var values = convert2LabelValues(internalValue);\n\n // combobox no need save value when it's no value (exclude value equal 0)\n if (mode === 'combobox' && isComboNoValue((_values$ = values[0]) === null || _values$ === void 0 ? void 0 : _values$.value)) {\n return [];\n }\n return values;\n }, [internalValue, convert2LabelValues, mode]);\n\n // Fill label with cache to avoid option remove\n var _useCache = useCache(rawLabeledValues, valueOptions),\n _useCache2 = _slicedToArray(_useCache, 2),\n mergedValues = _useCache2[0],\n getMixedOption = _useCache2[1];\n var displayValues = React.useMemo(function () {\n // `null` need show as placeholder instead\n // https://github.com/ant-design/ant-design/issues/25057\n if (!mode && mergedValues.length === 1) {\n var firstValue = mergedValues[0];\n if (firstValue.value === null && (firstValue.label === null || firstValue.label === undefined)) {\n return [];\n }\n }\n return mergedValues.map(function (item) {\n var _item$label;\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_item$label = item.label) !== null && _item$label !== void 0 ? _item$label : item.value\n });\n });\n }, [mode, mergedValues]);\n\n /** Convert `displayValues` to raw value type set */\n var rawValues = React.useMemo(function () {\n return new Set(mergedValues.map(function (val) {\n return val.value;\n }));\n }, [mergedValues]);\n React.useEffect(function () {\n if (mode === 'combobox') {\n var _mergedValues$;\n var strValue = (_mergedValues$ = mergedValues[0]) === null || _mergedValues$ === void 0 ? void 0 : _mergedValues$.value;\n setSearchValue(hasValue(strValue) ? String(strValue) : '');\n }\n }, [mergedValues]);\n\n // ======================= Display Option =======================\n // Create a placeholder item if not exist in `options`\n var createTagOption = useRefFunc(function (val, label) {\n var _ref;\n var mergedLabel = label !== null && label !== void 0 ? label : val;\n return _ref = {}, _defineProperty(_ref, mergedFieldNames.value, val), _defineProperty(_ref, mergedFieldNames.label, mergedLabel), _ref;\n });\n\n // Fill tag as option if mode is `tags`\n var filledTagOptions = React.useMemo(function () {\n if (mode !== 'tags') {\n return mergedOptions;\n }\n\n // >>> Tag mode\n var cloneOptions = _toConsumableArray(mergedOptions);\n\n // Check if value exist in options (include new patch item)\n var existOptions = function existOptions(val) {\n return valueOptions.has(val);\n };\n\n // Fill current value as option\n _toConsumableArray(mergedValues).sort(function (a, b) {\n return a.value < b.value ? -1 : 1;\n }).forEach(function (item) {\n var val = item.value;\n if (!existOptions(val)) {\n cloneOptions.push(createTagOption(val, item.label));\n }\n });\n return cloneOptions;\n }, [createTagOption, mergedOptions, valueOptions, mergedValues, mode]);\n var filteredOptions = useFilterOptions(filledTagOptions, mergedFieldNames, mergedSearchValue, mergedFilterOption, optionFilterProp);\n\n // Fill options with search value if needed\n var filledSearchOptions = React.useMemo(function () {\n if (mode !== 'tags' || !mergedSearchValue || filteredOptions.some(function (item) {\n return item[optionFilterProp || 'value'] === mergedSearchValue;\n })) {\n return filteredOptions;\n }\n // ignore when search value equal select input value\n if (filteredOptions.some(function (item) {\n return item[mergedFieldNames.value] === mergedSearchValue;\n })) {\n return filteredOptions;\n }\n // Fill search value as option\n return [createTagOption(mergedSearchValue)].concat(_toConsumableArray(filteredOptions));\n }, [createTagOption, optionFilterProp, mode, filteredOptions, mergedSearchValue, mergedFieldNames]);\n var orderedFilteredOptions = React.useMemo(function () {\n if (!filterSort) {\n return filledSearchOptions;\n }\n return _toConsumableArray(filledSearchOptions).sort(function (a, b) {\n return filterSort(a, b);\n });\n }, [filledSearchOptions, filterSort]);\n var displayOptions = React.useMemo(function () {\n return flattenOptions(orderedFilteredOptions, {\n fieldNames: mergedFieldNames,\n childrenAsData: childrenAsData\n });\n }, [orderedFilteredOptions, mergedFieldNames, childrenAsData]);\n\n // =========================== Change ===========================\n var triggerChange = function triggerChange(values) {\n var labeledValues = convert2LabelValues(values);\n setInternalValue(labeledValues);\n if (onChange && (\n // Trigger event only when value changed\n labeledValues.length !== mergedValues.length || labeledValues.some(function (newVal, index) {\n var _mergedValues$index;\n return ((_mergedValues$index = mergedValues[index]) === null || _mergedValues$index === void 0 ? void 0 : _mergedValues$index.value) !== (newVal === null || newVal === void 0 ? void 0 : newVal.value);\n }))) {\n var returnValues = labelInValue ? labeledValues : labeledValues.map(function (v) {\n return v.value;\n });\n var returnOptions = labeledValues.map(function (v) {\n return injectPropsWithOption(getMixedOption(v.value));\n });\n onChange(\n // Value\n multiple ? returnValues : returnValues[0],\n // Option\n multiple ? returnOptions : returnOptions[0]);\n }\n };\n\n // ======================= Accessibility ========================\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeValue = _React$useState2[0],\n setActiveValue = _React$useState2[1];\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n accessibilityIndex = _React$useState4[0],\n setAccessibilityIndex = _React$useState4[1];\n var mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';\n var onActiveValue = React.useCallback(function (active, index) {\n var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref2$source = _ref2.source,\n source = _ref2$source === void 0 ? 'keyboard' : _ref2$source;\n setAccessibilityIndex(index);\n if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {\n setActiveValue(String(active));\n }\n }, [backfill, mode]);\n\n // ========================= OptionList =========================\n var triggerSelect = function triggerSelect(val, selected, type) {\n var getSelectEnt = function getSelectEnt() {\n var _option$key2;\n var option = getMixedOption(val);\n return [labelInValue ? {\n label: option === null || option === void 0 ? void 0 : option[mergedFieldNames.label],\n value: val,\n key: (_option$key2 = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key2 !== void 0 ? _option$key2 : val\n } : val, injectPropsWithOption(option)];\n };\n if (selected && onSelect) {\n var _getSelectEnt = getSelectEnt(),\n _getSelectEnt2 = _slicedToArray(_getSelectEnt, 2),\n wrappedValue = _getSelectEnt2[0],\n _option = _getSelectEnt2[1];\n onSelect(wrappedValue, _option);\n } else if (!selected && onDeselect && type !== 'clear') {\n var _getSelectEnt3 = getSelectEnt(),\n _getSelectEnt4 = _slicedToArray(_getSelectEnt3, 2),\n _wrappedValue = _getSelectEnt4[0],\n _option2 = _getSelectEnt4[1];\n onDeselect(_wrappedValue, _option2);\n }\n };\n\n // Used for OptionList selection\n var onInternalSelect = useRefFunc(function (val, info) {\n var cloneValues;\n\n // Single mode always trigger select only with option list\n var mergedSelect = multiple ? info.selected : true;\n if (mergedSelect) {\n cloneValues = multiple ? [].concat(_toConsumableArray(mergedValues), [val]) : [val];\n } else {\n cloneValues = mergedValues.filter(function (v) {\n return v.value !== val;\n });\n }\n triggerChange(cloneValues);\n triggerSelect(val, mergedSelect);\n\n // Clean search value if single or configured\n if (mode === 'combobox') {\n // setSearchValue(String(val));\n setActiveValue('');\n } else if (!isMultiple || autoClearSearchValue) {\n setSearchValue('');\n setActiveValue('');\n }\n });\n\n // ======================= Display Change =======================\n // BaseSelect display values change\n var onDisplayValuesChange = function onDisplayValuesChange(nextValues, info) {\n triggerChange(nextValues);\n var type = info.type,\n values = info.values;\n if (type === 'remove' || type === 'clear') {\n values.forEach(function (item) {\n triggerSelect(item.value, false, type);\n });\n }\n };\n\n // =========================== Search ===========================\n var onInternalSearch = function onInternalSearch(searchText, info) {\n setSearchValue(searchText);\n setActiveValue(null);\n\n // [Submit] Tag mode should flush input\n if (info.source === 'submit') {\n var formatted = (searchText || '').trim();\n // prevent empty tags from appearing when you click the Enter button\n if (formatted) {\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), [formatted])));\n triggerChange(newRawValues);\n triggerSelect(formatted, true);\n setSearchValue('');\n }\n return;\n }\n if (info.source !== 'blur') {\n if (mode === 'combobox') {\n triggerChange(searchText);\n }\n onSearch === null || onSearch === void 0 || onSearch(searchText);\n }\n };\n var onInternalSearchSplit = function onInternalSearchSplit(words) {\n var patchValues = words;\n if (mode !== 'tags') {\n patchValues = words.map(function (word) {\n var opt = labelOptions.get(word);\n return opt === null || opt === void 0 ? void 0 : opt.value;\n }).filter(function (val) {\n return val !== undefined;\n });\n }\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), _toConsumableArray(patchValues))));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true);\n });\n };\n\n // ========================== Context ===========================\n var selectContext = React.useMemo(function () {\n var realVirtual = virtual !== false && dropdownMatchSelectWidth !== false;\n return _objectSpread(_objectSpread({}, parsedOptions), {}, {\n flattenOptions: displayOptions,\n onActiveValue: onActiveValue,\n defaultActiveFirstOption: mergedDefaultActiveFirstOption,\n onSelect: onInternalSelect,\n menuItemSelectedIcon: menuItemSelectedIcon,\n rawValues: rawValues,\n fieldNames: mergedFieldNames,\n virtual: realVirtual,\n direction: direction,\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n childrenAsData: childrenAsData,\n optionRender: optionRender\n });\n }, [parsedOptions, displayOptions, onActiveValue, mergedDefaultActiveFirstOption, onInternalSelect, menuItemSelectedIcon, rawValues, mergedFieldNames, virtual, dropdownMatchSelectWidth, listHeight, listItemHeight, childrenAsData, optionRender]);\n\n // ========================== Warning ===========================\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props);\n warningNullOptions(mergedOptions, mergedFieldNames);\n }\n\n // ==============================================================\n // == Render ==\n // ==============================================================\n return /*#__PURE__*/React.createElement(SelectContext.Provider, {\n value: selectContext\n }, /*#__PURE__*/React.createElement(BaseSelect, _extends({}, restProps, {\n // >>> MISC\n id: mergedId,\n prefixCls: prefixCls,\n ref: ref,\n omitDomProps: OMIT_DOM_PROPS,\n mode: mode\n // >>> Values\n ,\n displayValues: displayValues,\n onDisplayValuesChange: onDisplayValuesChange\n // >>> Trigger\n ,\n direction: direction\n // >>> Search\n ,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n autoClearSearchValue: autoClearSearchValue,\n onSearchSplit: onInternalSearchSplit,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n // >>> OptionList\n ,\n OptionList: OptionList,\n emptyOptions: !displayOptions.length\n // >>> Accessibility\n ,\n activeValue: activeValue,\n activeDescendantId: \"\".concat(mergedId, \"_list_\").concat(accessibilityIndex)\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\nvar TypedSelect = Select;\nTypedSelect.Option = Option;\nTypedSelect.OptGroup = OptGroup;\nexport default TypedSelect;","import * as React from 'react';\nimport { convertChildrenToData } from \"../utils/legacyUtil\";\n\n/**\n * Parse `children` to `options` if `options` is not provided.\n * Then flatten the `options`.\n */\nexport default function useOptions(options, children, fieldNames, optionFilterProp, optionLabelProp) {\n return React.useMemo(function () {\n var mergedOptions = options;\n var childrenAsData = !options;\n if (childrenAsData) {\n mergedOptions = convertChildrenToData(children);\n }\n var valueOptions = new Map();\n var labelOptions = new Map();\n var setLabelOptions = function setLabelOptions(labelOptionsMap, option, key) {\n if (key && typeof key === 'string') {\n labelOptionsMap.set(option[key], option);\n }\n };\n function dig(optionList) {\n var isChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n // for loop to speed up collection speed\n for (var i = 0; i < optionList.length; i += 1) {\n var option = optionList[i];\n if (!option[fieldNames.options] || isChildren) {\n valueOptions.set(option[fieldNames.value], option);\n setLabelOptions(labelOptions, option, fieldNames.label);\n // https://github.com/ant-design/ant-design/issues/35304\n setLabelOptions(labelOptions, option, optionFilterProp);\n setLabelOptions(labelOptions, option, optionLabelProp);\n } else {\n dig(option[fieldNames.options], true);\n }\n }\n }\n dig(mergedOptions);\n return {\n options: mergedOptions,\n valueOptions: valueOptions,\n labelOptions: labelOptions\n };\n }, [options, children, fieldNames, optionFilterProp, optionLabelProp]);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\n/**\n * Cache `value` related LabeledValue & options.\n */\nexport default (function (labeledValues, valueOptions) {\n var cacheRef = React.useRef({\n values: new Map(),\n options: new Map()\n });\n var filledLabeledValues = React.useMemo(function () {\n var _cacheRef$current = cacheRef.current,\n prevValueCache = _cacheRef$current.values,\n prevOptionCache = _cacheRef$current.options;\n\n // Fill label by cache\n var patchedValues = labeledValues.map(function (item) {\n if (item.label === undefined) {\n var _prevValueCache$get;\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_prevValueCache$get = prevValueCache.get(item.value)) === null || _prevValueCache$get === void 0 ? void 0 : _prevValueCache$get.label\n });\n }\n return item;\n });\n\n // Refresh cache\n var valueCache = new Map();\n var optionCache = new Map();\n patchedValues.forEach(function (item) {\n valueCache.set(item.value, item);\n optionCache.set(item.value, valueOptions.get(item.value) || prevOptionCache.get(item.value));\n });\n cacheRef.current.values = valueCache;\n cacheRef.current.options = optionCache;\n return patchedValues;\n }, [labeledValues, valueOptions]);\n var getOption = React.useCallback(function (val) {\n return valueOptions.get(val) || cacheRef.current.options.get(val);\n }, [valueOptions]);\n return [filledLabeledValues, getOption];\n});","import Select from \"./Select\";\nimport Option from \"./Option\";\nimport OptGroup from \"./OptGroup\";\nimport BaseSelect from \"./BaseSelect\";\nimport useBaseProps from \"./hooks/useBaseProps\";\nexport { Option, OptGroup, BaseSelect, useBaseProps };\nexport default Select;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["items_per_page","jump_to","jump_to_confirm","page","prev_page","next_page","prev_5","next_5","prev_3","next_3","page_size","defaultPageSizeOptions","props","_props$pageSizeOption","pageSizeOptions","locale","changeSize","pageSize","goButton","quickGo","rootPrefixCls","Select","selectComponentClass","selectPrefixCls","disabled","buildOptionText","_React$useState","_React$useState2","goInputText","setGoInputText","getValidValue","Number","isNaN","undefined","mergeBuildOptionText","value","concat","go","e","keyCode","ENTER","type","prefixCls","changeSelect","goInput","gotoButton","options","some","option","toString","sort","a","b","map","opt","i","Option","key","showSearch","className","optionLabelProp","popupMatchSelectWidth","onChange","getPopupContainer","triggerNode","parentNode","defaultOpen","onClick","onKeyUp","target","onBlur","relatedTarget","indexOf","_classNames","active","showTitle","onKeyPress","itemRender","cls","pager","rel","title","String","onKeyDown","tabIndex","defaultItemRender","element","noop","isInteger","v","isFinite","Math","floor","calculatePage","p","total","_pageSize","_classNames5","_props$prefixCls","_props$selectPrefixCl","currentProp","current","_props$defaultCurrent","defaultCurrent","_props$total","pageSizeProp","_props$defaultPageSiz","defaultPageSize","_props$onChange","hideOnSinglePage","_props$showPrevNextJu","showPrevNextJumpers","showQuickJumper","showLessItems","_props$showTitle","_props$onShowSizeChan","onShowSizeChange","_props$locale","style","_props$totalBoundaryS","totalBoundaryShowSizeChanger","simple","showTotal","showSizeChangerProp","showSizeChanger","_props$itemRender","jumpPrevIcon","jumpNextIcon","prevIcon","nextIcon","paginationRef","_useMergedState","useMergedState","defaultValue","_useMergedState2","setPageSize","_useMergedState3","postState","c","max","min","_useMergedState4","setCurrent","internalInputVal","setInternalInputVal","useEffect","jumpPrevPage","jumpNextPage","getItemIcon","icon","label","iconNode","inputValue","allPages","shouldDisplayQuickJumper","handleKeyUp","event","KeyCode","handleChange","UP","DOWN","isValid","currentPage","newPage","hasPrev","hasNext","prevHandle","nextHandle","jumpPrevHandle","jumpNextHandle","runIfEnter","callback","charCode","_len","arguments","length","restParams","Array","_key","apply","handleGoTO","jumpPrev","dataOrAriaAttributeProps","pickAttrs","aria","data","totalText","jumpNext","pagerList","pagerProps","prevPage","nextPage","simplePager","preventDefault","size","pageBufferSize","push","prevItemTitle","nextItemTitle","jumpPrevContent","jumpNextContent","left","right","_i","unshift","lastOne","prev","prevButton","renderPrev","prevDisabled","nextDisabled","nextTabIndex","next","nextButton","renderNext","ref","newCurrent","nextCurrent","Object","defineProperty","exports","o","proto","prototype","oldFormat","format","formatStr","str","replace","bind","this","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","split","parseNoMatchNotice","getNow","getFixedDate","string","getEndDate","date","endOf","getWeekDay","clone","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","getWeekFirstDay","getWeekFirstDate","getWeek","week","getShortWeekDays","weekdaysMin","getShortMonths","monthsShort","_format","parse","text","formats","localeStr","formatText","includes","weekStr","firstWeek","startOf","j","nextWeek","DECADE_UNIT_DIFF","DECADE_DISTANCE_COUNT","isNullEqual","value1","value2","isSameYear","generateConfig","year1","year2","equal","getQuarter","isSameQuarter","quarter1","quarter2","isSameMonth","month1","month2","isSameDate","isSameWeek","time1","time2","isSameTime","isInRange","startDate","endDate","getClosingViewDate","viewDate","picker","offset","formatValue","_ref","parseValue","_ref2","formatList","getCellDateDisabled","_ref3","cellDate","mode","disabledDate","getDisabledFromRange","currentMode","start","end","_date","startMonth","startYear","useValueTexts","_useMemo","useMemo","firstValueText","fullValueTexts","_useMemo2","texts","join","useHoverValue","valueText","_useState","useState","_useState2","internalSetValue","raf","useRef","setValue","val","immediately","cancelAnimationFrame","requestAnimationFrame","_useValueTexts","firstText","onLeave","scrollIds","Map","scrollTo","to","duration","get","set","scrollTop","perTick","createKeyDownHandler","onLeftRight","onCtrlLeftRight","onUpDown","onPageUpDown","onEnter","which","ctrlKey","metaKey","LEFT","RIGHT","PAGE_UP","PAGE_DOWN","getDefaultFormat","showTime","use12Hours","mergedFormat","getInputSize","defaultSize","globalClickFunc","clickCallbacks","Set","PickerModeMap","quarter","time","elementsContains","elements","ele","contains","usePickerInput","open","isClickOutside","triggerOpen","forwardKeyDown","_onKeyDown","blurToCancel","changeOnBlur","onSubmit","onCancel","_onFocus","onFocus","_onBlur","typing","setTyping","_useState3","_useState4","focused","setFocused","preventBlurRef","valueChangedRef","preventDefaultRef","inputProps","onMouseDown","TAB","shiftKey","ESC","SHIFT","document","activeElement","setTimeout","shadowRoot","_e$composedPath","composed","composedPath","call","getTargetFromEvent","clickedOutside","window","addEventListener","forEach","queueFunc","delete","removeEventListener","usePresets","presets","legacyRanges","entries","useTextValueMapping","valueTexts","onTextChange","setInnerText","valueTextsRef","resetText","useLayoutEffect","every","valText","useCellRender","cellRender","monthCellRender","dateRender","info","today","originNode","leftPad","fill","toArray","isArray","getValue","values","index","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","inner","onMouseEnter","onMouseLeave","rowCount","weekFirstDay","monthStartDate","startDateWeekDay","alignStartDate","getWeekStartDate","weekDaysLocale","shortWeekDays","wrapperNode","HIDDEN_STYLE","visibility","_ref$prevIcon","_ref$nextIcon","_ref$superPrevIcon","superPrevIcon","_ref$superNextIcon","superNextIcon","onSuperPrev","onSuperNext","onPrev","onNext","children","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","cancel","_scrollRef$current","position","unit","subType","shouldUnitsUpdate","prevUnits","nextUnits","generateUnits","step","disabledUnits","integerStep","isPM","activeColumnIndex","showHour","showMinute","showSecond","_props$hourStep","hourStep","_props$minuteStep","minuteStep","_props$secondStep","secondStep","disabledHours","disabledMinutes","disabledSeconds","disabledTime","columns","contentPrefixCls","columnPrefixCls","originHour","now","_React$useMemo","disabledConfig","_React$useMemo2","mergedDisabledHours","mergedDisabledMinutes","mergedDisabledSeconds","rawHours","memorizedRawHours","_React$useMemo3","AMPMDisabled","hourValue","_React$useMemo4","AMDisabled","PMDisabled","hours","filter","hourMeta","hourLabel","minutes","seconds","setTime","isNewPM","newHour","newMinute","newSecond","newFormattedHour","mergedHour","mergedMinute","mergedSecond","newDisabledMinutes","availableMinute","find","newDisabledSeconds","availableSecond","useTimeSelection","addColumnNode","condition","node","columnValue","onColumnSelect","column","valueIndex","findIndex","unitLen","nextUnit","PMIndex","_props$format","_props$use12Hours","bodyOperationRef","setActiveColumnIndex","columnsCount","bool","ACTIVE_PANEL","args","tuple","findValidTime","refValue","disabledRange","maxValidTime","rangeSet","has","activePanel","setActivePanel","dateOperationRef","timeOperationRef","timeProps","nextActivePanel","activeIndex","onClose","onInternalSelect","source","selectedDate","_disabledTimes$disabl","_disabledTimes$disabl2","_disabledTimes$disabl3","_disabledTimes","validHour","validMinute","validSeconds","disabledTimes","onPrevDecades","onNextDecades","yearNumber","endYear","decadeYearNumber","startDecadeYear","endDecadeYear","baseDecadeYear","ceil","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","onPickerValueChange","_onOk","direction","_ref$hourStep","_ref$minuteStep","_ref$secondStep","isHourStepValid","isMinuteStepValid","isSecondStepValid","panelContext","onContextSelect","hideRanges","defaultOpenValue","inRange","panelPosition","panelRef","initRef","mergedValue","setInnerValue","defaultDateObject","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","Provider","BUILT_IN_PLACEMENTS","bottomLeft","points","overflow","adjustX","adjustY","bottomRight","topLeft","topRight","popupElement","popupStyle","visible","dropdownClassName","dropdownAlign","transitionName","range","popupPlacement","dropdownPrefixCls","showAction","hideAction","builtinPlacements","popupTransitionName","popup","popupAlign","popupVisible","popupClassName","PresetPanel","_onClick","onHover","getClearIcon","allowClear","clearIcon","InnerPicker","name","inputReadOnly","autoFocus","suffixIcon","placeholder","pickerRef","panelRender","onOpenChange","onMouseUp","onContextMenu","_ref$autoComplete","autoComplete","inputRender","inputRef","isMouseDownRef","presetList","panelDivRef","inputDivRef","containerRef","selectedValue","setSelectedValue","postOpen","newOpen","mergedOpen","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","stopPropagation","role","mergedAllowClear","mergedInputProps","readOnly","inputNode","_React$Component","Picker","_super","_this","_len2","_key2","useRangeViewDates","defaultDates","defaultViewDates","setDefaultViewDates","_React$useState3","_React$useState4","viewDates","setInternalViewDates","startNext","getDistance","compareFunc","decade1","decade2","isSameDecade","getStartEndDistance","getRangeViewDate","newViewDates","anotherIndex","reorderValues","canValueTrigger","allowEmpty","InnerRangePicker","_ref$separator","separator","_disabledTime","ranges","onCalendarChange","order","activePickerIndex","startInputDivRef","endInputDivRef","separatorRef","startInputRef","endInputRef","arrowRef","formatDateValue","mergedDisabled","_useRangeViewDates","_useRangeViewDates2","getViewDate","postValues","mergedModes","setInnerModes","_useRangeOpen","startSelectedValue","endSelectedValue","firstTimeOpen","setFirstTimeOpen","afferentOpen","setAfferentOpen","nextOpen","setMergedOpen","mergedActivePickerIndex","setMergedActivePickerIndex","nextActiveIndex","setNextActiveIndex","queryNextIndex","useEvent","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","offsetWidth","sharedTextHooksProps","startValueTexts","firstStartValueText","_useValueTexts3","_useValueTexts4","endValueTexts","firstEndValueText","_onTextChange","startText","triggerStartTextChange","resetStartText","_useTextValueMapping3","_useTextValueMapping4","endText","triggerEndTextChange","resetEndText","rangeHoverValue","setRangeHoverValue","_useState5","_useState6","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","modes","arrowLeft","panelLeft","arrowMarginLeft","offsetLeft","panelWidth","arrowWidth","arrowPositionStyle","rangePanel","minWidth","panels","extraNode","nextViewDate","showDoublePanel","leftPanel","newViewDate","rightPanel","mergedNodes","marginLeft","renderPanels","inputSharedProps","activeBarLeft","activeBarWidth","activeBarPositionStyle","width","RangePicker","backToToday","clear","timeSelect","dateSelect","weekSelect","monthSelect","yearSelect","decadeSelect","dateFormat","dayFormat","dateTimeFormat","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","defaultProps","percent","strokeColor","strokeLinecap","strokeWidth","trailColor","trailWidth","gapPosition","uuid","isBrowserClient","createElement","Block","bg","height","background","getPtgColors","color","scale","keys","parsedKey","parseFloat","ptgKey","gradientId","radius","circleStyleForStack","ptg","gapDegree","isGradient","stroke","halfSize","circleNode","r","cx","cy","opacity","maskId","fromDeg","conicColors","linearColors","conicColorBg","linearColorBg","x","y","mask","getCircleStyle","perimeter","perimeterWithoutGap","rotateDeg","stepSpace","offsetDeg","positionDeg","bottom","top","strokeDashoffset","strokeDasharray","transform","transformOrigin","VIEW_BOX_SIZE","transition","fillOpacity","stepPtg","stackPtg","pathsRef","prevTimeStamp","_defaultProps$props","steps","_defaultProps$props$g","restProps","mergedId","innerId","setInnerId","retId","useId","PI","count","space","stepCount","percentList","strokeColorList","gradient","mergedStrokeLinecap","circleStyle","paths","Date","updated","path","pathStyle","transitionDuration","viewBox","round","_","elem","reverse","getStokeList","ret","child","keepEmpty","isFragment","findDOMNode","HTMLElement","elementListeners","resizeObserver","entities","entity","_elementListeners$get","listener","DomWrapper","CollectionContext","SingleObserver","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","elementRef","wrapperRef","onCollectionResize","isRenderProps","mergedChildren","sizeRef","offsetHeight","canRef","isMemo","render","originRef","mergedRef","refs","refList","fillRef","composeRef","propsRef","onInternalResize","_propsRef$current","onResize","_target$getBoundingCl","getBoundingClientRect","fixedWidth","fixedHeight","mergedOffsetWidth","mergedOffsetHeight","sizeInfo","Promise","resolve","then","currentElement","observe","unobserve","ResizeObserver","Collection","onBatchResize","resizeIdRef","resizeInfosRef","currentId","calcThumbStyle","targetElement","parentElement","clientWidth","toPX","MotionThumb","getValueIndex","motionName","onMotionStart","onMotionEnd","thumbRef","prevValue","setPrevValue","findValueElement","_containerRef$current","querySelectorAll","offsetParent","prevStyle","setPrevStyle","_React$useState5","_React$useState6","nextStyle","setNextStyle","calcPrevStyle","calcNextStyle","thumbStart","thumbActive","motionAppear","onAppearStart","onAppearActive","onVisibleChanged","motionClassName","motionStyle","mergedStyle","motionProps","_excluded","InternalSegmentedOption","checked","Segmented","_segmentedOptions$","_classNames2","obj","fields","_props$className","_props$motionName","segmentedOptions","validTitle","_option$label","getValidTitle","normalizeOptions","defaultStateValue","destroyRef","updater","ignoreDestroy","innerValue","onChangeRef","prevValueRef","rawValue","setRawValue","thumbShow","setThumbShow","divProps","n","segmentedOption","displayName","warned","valid","message","method","canUseDom","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","navigator","userAgent","shouldUpdate","cacheRef","customizeIcon","customizeIconProps","_onMouseDown","userSelect","WebkitUserSelect","unselectable","BaseSelectContext","useLock","lockRef","timeoutRef","clearTimeout","locked","propList","match","prefix","mergedConfig","ariaOnly","attr","attrs","Input","_inputNode2","inputElement","editable","activeDescendantId","maxLength","_onChange","onPaste","_onCompositionStart","onCompositionStart","_onCompositionEnd","onCompositionEnd","_inputNode","originProps","onOriginKeyDown","onOriginChange","onOriginMouseDown","onOriginCompositionStart","onOriginCompositionEnd","RefInput","documentElement","isTitleType","getTitle","item","itemKey","_value$key","onPreventMouseDown","effect","deps","searchValue","autoClearSearchValue","removeIcon","maxTagCount","maxTagTextLength","_props$maxTagPlacehol","maxTagPlaceholder","omittedValues","tagRender","onToggleOpen","onRemove","onInputChange","onInputPaste","onInputKeyDown","onInputMouseDown","onInputCompositionStart","onInputCompositionEnd","measureRef","inputWidth","setInputWidth","selectionPrefixCls","inputEditable","defaultRenderSelector","content","itemDisabled","closable","scrollWidth","selectionNode","renderItem","valueItem","displayLabel","strLabel","slice","customizeRenderSelector","renderRest","suffix","maxCount","activeValue","inputChanged","setInputChanged","combobox","hasTextInput","selectionTitle","hiddenStyle","renderPlaceholder","Selector","compositionStatusRef","tokenWithEnter","onSearch","onSearchSubmit","domRef","_useLock","_useLock2","getInputMouseDown","setInputMouseDown","pastedTextRef","triggerOnSearch","sharedProps","currentKeyCode","test","replacedText","clipboardData","getData","selectNode","MultipleSelector","body","msTouchAction","inputMouseDown","ForwardSelector","SelectTrigger","animation","dropdownStyle","_props$direction","placement","dropdownMatchSelectWidth","dropdownRender","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter","popupNode","mergedBuiltinPlacements","htmlRegion","getBuiltInPlacements","mergedTransitionName","isNumberPopupWidth","stretch","popupRef","getPopupElement","RefSelectTrigger","getKey","fillFieldNames","fieldNames","childrenAsData","mergedLabel","groupLabel","injectPropsWithOption","newOption","DEFAULT_OMIT_PROPS","BaseSelect","_customizeRawInputEle","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","_props$notFoundConten","notFoundContent","onClear","loading","getInputElement","getRawInputElement","onDropdownVisibleChange","onActiveValueChange","onSearchSplit","tokenSeparators","OptionList","_props$showAction","multiple","mergedShowSearch","domProps","propName","mobile","setMobile","agent","vendor","opera","substr","isMobile","selectorDomRef","triggerRef","selectorRef","listRef","blurRef","_useDelayReset","timeout","setBool","delayRef","cancelLatest","useDelayReset","_useDelayReset2","mockFocused","setMockFocused","cancelSetMockFocused","_selectorRef$current","_selectorRef$current2","arg","_listRef$current","mergedSearchValue","_displayValues$","customizeInputElement","customizeRawInputElement","customizeRawInputRef","useComposeRef","rendered","setRendered","innerOpen","setInnerOpen","emptyListContent","tokenSeparator","onInternalSearch","searchText","fromTyping","isCompositing","newSearchText","patchLabels","tokens","list","separate","_ref4","token","restTokens","reduce","prevList","unitStr","getSeparatedContent","getClearLock","setClearLock","focusRef","activeTimeoutIds","timeoutId","splice","onTriggerVisibleChange","forceUpdate","customizedTrigger","onGlobalMouseDown","_triggerRef$current2","useSelectTriggerControl","arrowNode","baseSelectContext","toggleOpen","showSuffixIcon","renderNode","_useAllowClear","onClearMouseDown","useAllowClear","_selectorRef$current4","optionList","mergedClassName","selectorNode","trim","_triggerRef$current","_selectorRef$current3","_len3","restArgs","_key3","_listRef$current2","clearLock","cloneDisplayValues","removedDisplayValue","rest","_listRef$current3","OptGroup","isSelectOptGroup","isSelectOption","_useBaseProps","onPopupScroll","flattenOptions","onActiveValue","defaultActiveFirstOption","menuItemSelectedIcon","rawValues","virtual","listHeight","listItemHeight","optionRender","itemPrefixCls","memoFlattenOptions","onListMouseDown","scrollIntoView","getEnabledActiveIndex","len","_memoFlattenOptions$c","group","setActiveIndex","setActive","fromKeyboard","flattenItem","isSelected","from","onSelectValue","selected","appVersion","omitFieldNameList","getLabel","getItemAriaProps","itemData","a11yProps","itemHeight","fullHeight","onScroll","innerProps","itemIndex","groupOption","_data$title","groupTitle","passedProps","optionPrefixCls","optionClassName","iconVisible","optionTitle","onMouseMove","RefOptionList","search","toUpperCase","_excluded2","nodes","optionOnly","_ref2$props","_ref$props","convertNodeToOption","useRefFunc","funcRef","cacheFn","OMIT_DOM_PROPS","TypedSelect","backfill","_props$autoClearSearc","onDeselect","_props$dropdownMatchS","filterOption","filterSort","optionFilterProp","_props$listHeight","_props$listItemHeight","labelInValue","mergedFilterOption","mergedFieldNames","JSON","stringify","setSearchValue","parsedOptions","mergedOptions","valueOptions","labelOptions","setLabelOptions","labelOptionsMap","dig","isChildren","useOptions","convert2LabelValues","draftValues","rawLabel","rawKey","rawDisabled","rawTitle","_val$value","isRawValue","_option$key","internalValue","setInternalValue","rawLabeledValues","_values$","isComboNoValue","_useCache","labeledValues","_cacheRef$current","prevValueCache","prevOptionCache","patchedValues","_prevValueCache$get","valueCache","optionCache","useCache","_useCache2","mergedValues","getMixedOption","firstValue","_item$label","_mergedValues$","strValue","hasValue","createTagOption","filteredOptions","fieldOptions","fieldLabel","fieldValue","customizeFilter","upperSearch","filterFunc","wrapOption","subOptions","subItem","useFilterOptions","cloneOptions","existOptions","filledSearchOptions","orderedFilteredOptions","displayOptions","flattenList","_fillFieldNames","isGroupOption","grpLabel","newVal","_mergedValues$index","returnValues","returnOptions","setActiveValue","accessibilityIndex","setAccessibilityIndex","mergedDefaultActiveFirstOption","_ref2$source","getSelectEnt","_option$key2","_getSelectEnt","_getSelectEnt2","wrappedValue","_option","_getSelectEnt3","_getSelectEnt4","_wrappedValue","_option2","cloneValues","mergedSelect","selectContext","realVirtual","nextValues","formatted","newRawValues","words","patchValues","word","newRawValue","hasOwn","hasOwnProperty","classNames","classes","appendClass","newClass","module","default"],"sourceRoot":""}