@next-bricks/advanced 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/2553.5cdf2c85.js +2 -0
- package/dist/chunks/2553.5cdf2c85.js.map +1 -0
- package/dist/chunks/4158.30eff24a.js +3 -0
- package/dist/chunks/4158.30eff24a.js.map +1 -0
- package/dist/chunks/4643.e9c1fa0c.js +2 -0
- package/dist/chunks/4643.e9c1fa0c.js.map +1 -0
- package/dist/chunks/7882.7705394d.js +2 -0
- package/dist/chunks/7882.7705394d.js.map +1 -0
- package/dist/chunks/9703.27cd3d59.js +2 -0
- package/dist/chunks/9703.27cd3d59.js.map +1 -0
- package/dist/chunks/{eo-cascader.3aecea58.js → eo-cascader.be17bc29.js} +2 -2
- package/dist/chunks/{eo-cascader.3aecea58.js.map → eo-cascader.be17bc29.js.map} +1 -1
- package/dist/chunks/eo-next-table.2c09f81e.js +2 -0
- package/dist/chunks/eo-next-table.2c09f81e.js.map +1 -0
- package/dist/chunks/{eo-table.a22495c0.js → eo-table.8d1c324b.js} +2 -2
- package/dist/chunks/{eo-table.a22495c0.js.map → eo-table.8d1c324b.js.map} +1 -1
- package/dist/chunks/{main.e794c7be.js → main.331abc39.js} +2 -2
- package/dist/chunks/main.331abc39.js.map +1 -0
- package/dist/examples.json +1 -1
- package/dist/index.6fcbf59c.js +2 -0
- package/dist/index.6fcbf59c.js.map +1 -0
- package/dist/manifest.json +28 -0
- package/dist/types.json +261 -0
- package/dist-types/next-table/Table.d.ts +8 -1
- package/dist-types/next-table/index.d.ts +9 -1
- package/dist-types/next-table/interface.d.ts +11 -1
- package/docs/eo-next-table.md +89 -0
- package/package.json +2 -2
- package/dist/chunks/2001.22032139.js +0 -2
- package/dist/chunks/2001.22032139.js.map +0 -1
- package/dist/chunks/4553.ebc88a76.js +0 -2
- package/dist/chunks/4553.ebc88a76.js.map +0 -1
- package/dist/chunks/5077.e0967b68.js +0 -3
- package/dist/chunks/5077.e0967b68.js.map +0 -1
- package/dist/chunks/8682.fa753f30.js +0 -2
- package/dist/chunks/8682.fa753f30.js.map +0 -1
- package/dist/chunks/eo-next-table.099c1f2f.js +0 -2
- package/dist/chunks/eo-next-table.099c1f2f.js.map +0 -1
- package/dist/chunks/main.e794c7be.js.map +0 -1
- package/dist/index.ab954402.js +0 -2
- package/dist/index.ab954402.js.map +0 -1
- /package/dist/chunks/{5077.e0967b68.js.LICENSE.txt → 4158.30eff24a.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/2001.22032139.js","mappings":"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","sources":["webpack:///../../node_modules/rc-table/es/constant.js","webpack:///../../node_modules/@rc-component/context/es/context.js","webpack:///../../node_modules/@rc-component/context/es/Immutable.js","webpack:///../../node_modules/rc-table/es/context/TableContext.js","webpack:///../../node_modules/rc-table/es/hooks/useRenderTimes.js","webpack:///../../node_modules/rc-table/es/context/PerfContext.js","webpack:///../../node_modules/rc-table/es/utils/valueUtil.js","webpack:///../../node_modules/rc-table/es/Cell/index.js","webpack:///../../node_modules/rc-table/es/Cell/useCellRender.js","webpack:///../../node_modules/rc-table/es/Cell/useHoverState.js","webpack:///../../node_modules/rc-table/es/utils/fixUtil.js","webpack:///../../node_modules/rc-table/es/Footer/SummaryContext.js","webpack:///../../node_modules/rc-table/es/Footer/Row.js","webpack:///../../node_modules/rc-table/es/Footer/Summary.js","webpack:///../../node_modules/rc-table/es/Footer/Cell.js","webpack:///../../node_modules/rc-table/es/Footer/index.js","webpack:///../../node_modules/rc-util/es/Dom/styleChecker.js","webpack:///../../node_modules/rc-table/es/hooks/useFlattenRecords.js","webpack:///../../node_modules/rc-table/es/Body/ExpandedRow.js","webpack:///../../node_modules/rc-table/es/Body/BodyRow.js","webpack:///../../node_modules/rc-table/es/Body/MeasureCell.js","webpack:///../../node_modules/rc-table/es/Body/MeasureRow.js","webpack:///../../node_modules/rc-table/es/Body/index.js","webpack:///../../node_modules/rc-table/es/utils/legacyUtil.js","webpack:///../../node_modules/rc-table/es/ColGroup.js","webpack:///../../node_modules/rc-table/es/FixedHolder/index.js","webpack:///../../node_modules/rc-table/es/Header/HeaderRow.js","webpack:///../../node_modules/rc-table/es/Header/Header.js","webpack:///../../node_modules/rc-table/es/hooks/useColumns.js","webpack:///../../node_modules/rc-table/es/utils/expandUtil.js","webpack:///../../node_modules/rc-table/es/hooks/useFrame.js","webpack:///../../node_modules/rc-table/es/hooks/useSticky.js","webpack:///../../node_modules/rc-table/es/hooks/useStickyOffsets.js","webpack:///../../node_modules/rc-table/es/Panel/index.js","webpack:///../../node_modules/rc-util/es/Dom/addEventListener.js","webpack:///../../node_modules/rc-util/es/Dom/css.js","webpack:///../../node_modules/rc-table/es/stickyScrollBar.js","webpack:///../../node_modules/rc-table/es/Table.js","webpack:///../../node_modules/rc-table/es/hooks/useHover.js","webpack:///../../node_modules/rc-table/es/hooks/useExpand.js","webpack:///../../node_modules/rc-table/es/hooks/useFixedInfo.js","webpack:///../../node_modules/rc-table/es/sugar/Column.js","webpack:///../../node_modules/rc-table/es/sugar/ColumnGroup.js","webpack:///../../node_modules/antd/es/_util/hooks/useForceUpdate.js","webpack:///../../node_modules/antd/es/_util/responsiveObserver.js","webpack:///../../node_modules/antd/es/grid/hooks/useBreakpoint.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/DoubleLeftOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/DoubleLeftOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/DoubleRightOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/DoubleRightOutlined.js","webpack:///../../node_modules/rc-pagination/es/KeyCode.js","webpack:///../../node_modules/rc-pagination/es/Options.js","webpack:///../../node_modules/rc-pagination/es/Pager.js","webpack:///../../node_modules/rc-pagination/es/Pagination.js","webpack:///../../node_modules/rc-pagination/es/locale/zh_CN.js","webpack:///../../node_modules/antd/es/select/index.js","webpack:///../../node_modules/antd/es/pagination/Select.js","webpack:///../../node_modules/antd/es/input/style/index.js","webpack:///../../node_modules/antd/es/pagination/style/index.js","webpack:///../../node_modules/antd/es/pagination/Pagination.js","webpack:///../../node_modules/antd/es/pagination/index.js","webpack:///../../node_modules/antd/es/_util/reactNode.js","webpack:///../../node_modules/antd/es/spin/style/index.js","webpack:///../../node_modules/antd/es/spin/index.js","webpack:///../../node_modules/throttle-debounce/esm/index.js","webpack:///../../node_modules/antd/es/_util/getScroll.js","webpack:///../../node_modules/antd/es/table/util.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","webpack:///../../node_modules/@ant-design/icons/es/icons/FilterFilled.js","webpack:///../../node_modules/antd/es/_util/wave/style.js","webpack:///../../node_modules/rc-util/es/React/render.js","webpack:///../../node_modules/antd/es/_util/wave/util.js","webpack:///../../node_modules/antd/es/_util/wave/WaveEffect.js","webpack:///../../node_modules/antd/es/_util/wave/useWave.js","webpack:///../../node_modules/antd/es/_util/wave/index.js","webpack:///../../node_modules/antd/es/button/button-group.js","webpack:///../../node_modules/antd/es/button/buttonHelpers.js","webpack:///../../node_modules/antd/es/button/LoadingIcon.js","webpack:///../../node_modules/antd/es/button/style/group.js","webpack:///../../node_modules/antd/es/style/compact-item-vertical.js","webpack:///../../node_modules/antd/es/button/style/index.js","webpack:///../../node_modules/antd/es/button/button.js","webpack:///../../node_modules/antd/es/button/index.js","webpack:///../../node_modules/rc-checkbox/es/index.js","webpack:///../../node_modules/antd/es/checkbox/Group.js","webpack:///../../node_modules/antd/es/checkbox/Checkbox.js","webpack:///../../node_modules/antd/es/checkbox/index.js","webpack:///../../node_modules/rc-util/es/Portal.js","webpack:///../../node_modules/rc-trigger/es/utils/alignUtil.js","webpack:///../../node_modules/dom-align/dist-web/index.js","webpack:///../../node_modules/rc-trigger/es/utils/legacyUtil.js","webpack:///../../node_modules/rc-trigger/es/Popup/Mask.js","webpack:///../../node_modules/rc-align/es/util.js","webpack:///../../node_modules/rc-align/es/Align.js","webpack:///../../node_modules/rc-align/es/hooks/useBuffer.js","webpack:///../../node_modules/rc-align/es/index.js","webpack:///../../node_modules/rc-trigger/es/Popup/useVisibleStatus.js","webpack:///../../node_modules/rc-trigger/es/Popup/PopupInner.js","webpack:///../../node_modules/rc-trigger/es/Popup/useStretchStyle.js","webpack:///../../node_modules/rc-trigger/es/Popup/MobilePopupInner.js","webpack:///../../node_modules/rc-trigger/es/Popup/index.js","webpack:///../../node_modules/rc-trigger/es/context.js","webpack:///../../node_modules/rc-trigger/es/index.js","webpack:///../../node_modules/rc-dropdown/es/placements.js","webpack:///../../node_modules/rc-util/es/Dom/focus.js","webpack:///../../node_modules/rc-dropdown/es/hooks/useAccessibility.js","webpack:///../../node_modules/rc-dropdown/es/Dropdown.js","webpack:///../../node_modules/rc-dropdown/es/index.js","webpack:///../../node_modules/rc-menu/es/context/IdContext.js","webpack:///../../node_modules/rc-menu/es/context/MenuContext.js","webpack:///../../node_modules/rc-menu/es/context/PathContext.js","webpack:///../../node_modules/rc-menu/es/context/PrivateContext.js","webpack:///../../node_modules/rc-menu/es/hooks/useAccessibility.js","webpack:///../../node_modules/rc-menu/es/hooks/useKeyRecords.js","webpack:///../../node_modules/rc-menu/es/hooks/useMemoCallback.js","webpack:///../../node_modules/rc-menu/es/hooks/useUUID.js","webpack:///../../node_modules/rc-menu/es/hooks/useActive.js","webpack:///../../node_modules/rc-menu/es/utils/warnUtil.js","webpack:///../../node_modules/rc-menu/es/Icon.js","webpack:///../../node_modules/rc-menu/es/hooks/useDirectionStyle.js","webpack:///../../node_modules/rc-menu/es/MenuItem.js","webpack:///../../node_modules/rc-menu/es/SubMenu/SubMenuList.js","webpack:///../../node_modules/rc-menu/es/utils/nodeUtil.js","webpack:///../../node_modules/rc-menu/es/placements.js","webpack:///../../node_modules/rc-menu/es/utils/motionUtil.js","webpack:///../../node_modules/rc-menu/es/SubMenu/PopupTrigger.js","webpack:///../../node_modules/rc-menu/es/SubMenu/InlineSubMenuList.js","webpack:///../../node_modules/rc-menu/es/SubMenu/index.js","webpack:///../../node_modules/rc-menu/es/Menu.js","webpack:///../../node_modules/rc-menu/es/utils/timeUtil.js","webpack:///../../node_modules/rc-menu/es/MenuItemGroup.js","webpack:///../../node_modules/rc-menu/es/Divider.js","webpack:///../../node_modules/rc-menu/es/index.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/EllipsisOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/EllipsisOutlined.js","webpack:///../../node_modules/antd/es/style/motion/collapse.js","webpack:///../../node_modules/antd/es/style/motion/zoom.js","webpack:///../../node_modules/antd/es/menu/style/horizontal.js","webpack:///../../node_modules/antd/es/menu/style/rtl.js","webpack:///../../node_modules/antd/es/menu/style/theme.js","webpack:///../../node_modules/antd/es/menu/style/vertical.js","webpack:///../../node_modules/antd/es/menu/style/index.js","webpack:///../../node_modules/antd/es/menu/OverrideContext.js","webpack:///../../node_modules/antd/es/menu/MenuDivider.js","webpack:///../../node_modules/antd/es/layout/Sider.js","webpack:///../../node_modules/rc-tooltip/es/placements.js","webpack:///../../node_modules/rc-tooltip/es/Popup.js","webpack:///../../node_modules/rc-tooltip/es/Tooltip.js","webpack:///../../node_modules/rc-tooltip/es/index.js","webpack:///../../node_modules/antd/es/style/roundedArrow.js","webpack:///../../node_modules/antd/es/style/placementArrow.js","webpack:///../../node_modules/antd/es/_util/placements.js","webpack:///../../node_modules/antd/es/theme/interface/presetColors.js","webpack:///../../node_modules/antd/es/style/presetColor.js","webpack:///../../node_modules/antd/es/tooltip/style/index.js","webpack:///../../node_modules/antd/es/_util/colors.js","webpack:///../../node_modules/antd/es/tooltip/util.js","webpack:///../../node_modules/antd/es/tooltip/index.js","webpack:///../../node_modules/antd/es/tooltip/PurePanel.js","webpack:///../../node_modules/antd/es/menu/MenuContext.js","webpack:///../../node_modules/antd/es/menu/MenuItem.js","webpack:///../../node_modules/antd/es/menu/SubMenu.js","webpack:///../../node_modules/antd/es/menu/hooks/useItems.js","webpack:///../../node_modules/antd/es/menu/menu.js","webpack:///../../node_modules/antd/es/menu/index.js","webpack:///../../node_modules/antd/es/_util/styleChecker.js","webpack:///../../node_modules/antd/es/space/Item.js","webpack:///../../node_modules/antd/es/space/index.js","webpack:///../../node_modules/antd/es/_util/hooks/useFlexGapSupport.js","webpack:///../../node_modules/antd/es/dropdown/style/button.js","webpack:///../../node_modules/antd/es/dropdown/style/status.js","webpack:///../../node_modules/antd/es/dropdown/style/index.js","webpack:///../../node_modules/antd/es/dropdown/dropdown-button.js","webpack:///../../node_modules/antd/es/dropdown/dropdown.js","webpack:///../../node_modules/antd/es/dropdown/index.js","webpack:///../../node_modules/antd/es/radio/context.js","webpack:///../../node_modules/antd/es/radio/style/index.js","webpack:///../../node_modules/antd/es/radio/radio.js","webpack:///../../node_modules/antd/es/radio/group.js","webpack:///../../node_modules/antd/es/_util/getDataOrAriaProps.js","webpack:///../../node_modules/antd/es/radio/radioButton.js","webpack:///../../node_modules/antd/es/radio/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack:///../../node_modules/rc-tree/es/MotionTreeNode.js","webpack:///../../node_modules/rc-tree/es/utils/diffUtil.js","webpack:///../../node_modules/rc-tree/es/NodeList.js","webpack:///../../node_modules/rc-tree/es/Tree.js","webpack:///../../node_modules/rc-tree/es/DropIndicator.js","webpack:///../../node_modules/rc-tree/es/index.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/HolderOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/HolderOutlined.js","webpack:///../../node_modules/antd/es/tree/utils/dropIndicator.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/CaretDownFilled.js","webpack:///../../node_modules/@ant-design/icons/es/icons/CaretDownFilled.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/FileOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/FileOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/MinusSquareOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/MinusSquareOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/PlusSquareOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/PlusSquareOutlined.js","webpack:///../../node_modules/antd/es/tree/style/index.js","webpack:///../../node_modules/antd/es/tree/Tree.js","webpack:///../../node_modules/antd/es/tree/utils/iconUtil.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/FolderOpenOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/FolderOpenOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/FolderOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/FolderOutlined.js","webpack:///../../node_modules/antd/es/tree/utils/dictUtil.js","webpack:///../../node_modules/antd/es/tree/DirectoryTree.js","webpack:///../../node_modules/antd/es/tree/index.js","webpack:///../../node_modules/rc-input/es/utils/commonUtils.js","webpack:///../../node_modules/rc-input/es/BaseInput.js","webpack:///../../node_modules/rc-input/es/Input.js","webpack:///../../node_modules/rc-input/es/index.js","webpack:///../../node_modules/antd/es/input/hooks/useRemovePasswordTimeout.js","webpack:///../../node_modules/antd/es/input/Input.js","webpack:///../../node_modules/antd/es/input/utils.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/EyeInvisibleOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/EyeInvisibleOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/EyeOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/EyeOutlined.js","webpack:///../../node_modules/antd/es/input/Password.js","webpack:///../../node_modules/antd/es/input/Search.js","webpack:///../../node_modules/rc-textarea/es/calculateNodeHeight.js","webpack:///../../node_modules/rc-textarea/es/ResizableTextArea.js","webpack:///../../node_modules/rc-textarea/es/TextArea.js","webpack:///../../node_modules/rc-textarea/es/index.js","webpack:///../../node_modules/antd/es/input/TextArea.js","webpack:///../../node_modules/antd/es/input/index.js","webpack:///../../node_modules/antd/es/input/Group.js","webpack:///../../node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","webpack:///../../node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","webpack:///../../node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","webpack:///../../node_modules/antd/es/_util/hooks/useSyncState.js","webpack:///../../node_modules/antd/es/table/hooks/useFilter/index.js","webpack:///../../node_modules/antd/es/table/hooks/usePagination.js","webpack:///../../node_modules/antd/es/_util/extendsObject.js","webpack:///../../node_modules/antd/es/table/hooks/useSelection.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","webpack:///../../node_modules/antd/es/table/hooks/useSorter.js","webpack:///../../node_modules/antd/es/table/hooks/useTitleColumns.js","webpack:///../../node_modules/antd/es/table/RcTable.js","webpack:///../../node_modules/antd/es/table/style/bordered.js","webpack:///../../node_modules/antd/es/table/style/ellipsis.js","webpack:///../../node_modules/antd/es/table/style/empty.js","webpack:///../../node_modules/antd/es/style/operationUnit.js","webpack:///../../node_modules/antd/es/table/style/expand.js","webpack:///../../node_modules/antd/es/table/style/filter.js","webpack:///../../node_modules/antd/es/table/style/fixed.js","webpack:///../../node_modules/antd/es/table/style/pagination.js","webpack:///../../node_modules/antd/es/table/style/radius.js","webpack:///../../node_modules/antd/es/table/style/rtl.js","webpack:///../../node_modules/antd/es/table/style/selection.js","webpack:///../../node_modules/antd/es/table/style/size.js","webpack:///../../node_modules/antd/es/table/style/sorter.js","webpack:///../../node_modules/antd/es/table/style/sticky.js","webpack:///../../node_modules/antd/es/table/style/summary.js","webpack:///../../node_modules/antd/es/table/style/index.js","webpack:///../../node_modules/antd/es/table/InternalTable.js","webpack:///../../node_modules/antd/es/table/hooks/useLazyKVMap.js","webpack:///../../node_modules/antd/es/_util/scrollTo.js","webpack:///../../node_modules/antd/es/_util/easings.js","webpack:///../../node_modules/antd/es/table/ExpandIcon.js","webpack:///../../node_modules/antd/es/table/Table.js","webpack:///../../node_modules/antd/es/table/Column.js","webpack:///../../node_modules/antd/es/table/ColumnGroup.js","webpack:///../../node_modules/antd/es/table/index.js","webpack:///../../node_modules/antd/es/theme/themes/dark/colorAlgorithm.js","webpack:///../../node_modules/antd/es/theme/themes/dark/colors.js","webpack:///../../node_modules/antd/es/theme/themes/compact/index.js","webpack:///../../node_modules/antd/es/theme/index.js","webpack:///../../node_modules/antd/es/theme/themes/dark/index.js","webpack:///../../node_modules/antd/es/theme/themes/compact/genCompactSizeMapToken.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js"],"sourcesContent":["export var EXPAND_COLUMN = {};","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nexport function createContext(defaultValue) {\n var Context = /*#__PURE__*/React.createContext(undefined);\n\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n\n useLayoutEffect(function () {\n unstable_batchedUpdates(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n\n return {\n Context: Context,\n Provider: Provider,\n defaultValue: defaultValue\n };\n}\n/** e.g. useSelect(userContext) => user */\n\nexport function useContext(holder, selector) {\n var eventSelector = useEvent(typeof selector === 'function' ? selector : function (ctx) {\n if (selector === undefined) {\n return ctx;\n }\n\n if (!Array.isArray(selector)) {\n return ctx[selector];\n }\n\n var obj = {};\n selector.forEach(function (key) {\n obj[key] = ctx[key];\n });\n return obj;\n });\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n\n var valueRef = React.useRef();\n valueRef.current = eventSelector(context ? getValue() : holder === null || holder === void 0 ? void 0 : holder.defaultValue);\n\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n forceUpdate = _React$useState4[1];\n\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n\n function trigger(nextValue) {\n var nextSelectorValue = eventSelector(nextValue);\n\n if (!isEqual(valueRef.current, nextSelectorValue, true)) {\n forceUpdate({});\n }\n }\n\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return valueRef.current;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nvar ImmutableContext = /*#__PURE__*/React.createContext(0);\n\n/**\n * Get render update mark by `makeImmutable` root.\n * Do not deps on the return value as render times\n * but only use for `useMemo` or `useCallback` deps.\n */\nexport function useImmutableMark() {\n return React.useContext(ImmutableContext);\n}\n/**\n * Wrapped Component will be marked as Immutable.\n * When Component parent trigger render,\n * it will notice children component (use with `responseImmutable`) node that parent has updated.\n\n * @param Component Passed Component\n * @param triggerRender Customize trigger `responseImmutable` children re-render logic. Default will always trigger re-render when this component re-render.\n */\n\nexport function makeImmutable(Component, shouldTriggerRender) {\n var refAble = supportRef(Component);\n\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n var renderTimesRef = React.useRef(0);\n var prevProps = React.useRef(props);\n\n if ( // Always trigger re-render if not provide `notTriggerRender`\n !shouldTriggerRender || shouldTriggerRender(prevProps.current, props)) {\n renderTimesRef.current += 1;\n }\n\n prevProps.current = props;\n return /*#__PURE__*/React.createElement(ImmutableContext.Provider, {\n value: renderTimesRef.current\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps)));\n };\n\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableRoot(\".concat(Component.displayName || Component.name, \")\");\n }\n\n return refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;\n}\n/**\n * Wrapped Component with `React.memo`.\n * But will rerender when parent with `makeImmutable` rerender.\n */\n\nexport function responseImmutable(Component, propsAreEqual) {\n var refAble = supportRef(Component);\n\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n useImmutableMark();\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n };\n\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableResponse(\".concat(Component.displayName || Component.name, \")\");\n }\n\n return refAble ? /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(ImmutableComponent), propsAreEqual) : /*#__PURE__*/React.memo(ImmutableComponent, propsAreEqual);\n}","import { createContext } from '@rc-component/context';\nvar TableContext = createContext();\nexport default TableContext;","/* istanbul ignore file */\nimport * as React from 'react';\nfunction useRenderTimes(props, debug) {\n // Render times\n var timesRef = React.useRef(0);\n timesRef.current += 1;\n\n // Props changed\n var propsRef = React.useRef(props);\n var keys = [];\n Object.keys(props || {}).map(function (key) {\n var _propsRef$current;\n if ((props === null || props === void 0 ? void 0 : props[key]) !== ((_propsRef$current = propsRef.current) === null || _propsRef$current === void 0 ? void 0 : _propsRef$current[key])) {\n keys.push(key);\n }\n });\n propsRef.current = props;\n\n // Cache keys since React rerender may cause it lost\n var keysRef = React.useRef([]);\n if (keys.length) {\n keysRef.current = keys;\n }\n React.useDebugValue(timesRef.current);\n React.useDebugValue(keysRef.current.join(', '));\n if (debug) {\n console.log(\"\".concat(debug, \":\"), timesRef.current, keysRef.current);\n }\n return timesRef.current;\n}\nexport default process.env.NODE_ENV !== 'production' ? useRenderTimes : function () {};\nexport var RenderBlock = /*#__PURE__*/React.memo(function () {\n var times = useRenderTimes();\n return /*#__PURE__*/React.createElement(\"h1\", null, \"Render Times: \", times);\n});\nRenderBlock.displayName = 'RenderBlock';","import * as React from 'react';\n// TODO: Remove when use `responsiveImmutable`\nvar PerfContext = /*#__PURE__*/React.createContext({\n renderWithProps: false\n});\nexport default PerfContext;","var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';\nfunction toArray(arr) {\n if (arr === undefined || arr === null) {\n return [];\n }\n return Array.isArray(arr) ? arr : [arr];\n}\nexport function getColumnsKey(columns) {\n var columnKeys = [];\n var keys = {};\n columns.forEach(function (column) {\n var _ref = column || {},\n key = _ref.key,\n dataIndex = _ref.dataIndex;\n var mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;\n while (keys[mergedKey]) {\n mergedKey = \"\".concat(mergedKey, \"_next\");\n }\n keys[mergedKey] = true;\n columnKeys.push(mergedKey);\n });\n return columnKeys;\n}\nexport function validateValue(val) {\n return val !== null && val !== undefined;\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 _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useCellRender from \"./useCellRender\";\nimport useHoverState from \"./useHoverState\";\nvar getTitleFromCellRenderChildren = function getTitleFromCellRenderChildren(_ref) {\n var ellipsis = _ref.ellipsis,\n rowType = _ref.rowType,\n children = _ref.children;\n var title;\n var ellipsisConfig = ellipsis === true ? {\n showTitle: true\n } : ellipsis;\n if (ellipsisConfig && (ellipsisConfig.showTitle || rowType === 'header')) {\n if (typeof children === 'string' || typeof children === 'number') {\n title = children.toString();\n } else if ( /*#__PURE__*/React.isValidElement(children) && typeof children.props.children === 'string') {\n title = children.props.children;\n }\n }\n return title;\n};\nfunction Cell(props) {\n var _ref2, _ref3, _legacyCellProps$colS, _ref4, _ref5, _legacyCellProps$rowS, _additionalProps$titl, _classNames;\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var Component = props.component,\n children = props.children,\n ellipsis = props.ellipsis,\n scope = props.scope,\n prefixCls = props.prefixCls,\n className = props.className,\n align = props.align,\n record = props.record,\n render = props.render,\n dataIndex = props.dataIndex,\n renderIndex = props.renderIndex,\n shouldCellUpdate = props.shouldCellUpdate,\n index = props.index,\n rowType = props.rowType,\n colSpan = props.colSpan,\n rowSpan = props.rowSpan,\n fixLeft = props.fixLeft,\n fixRight = props.fixRight,\n firstFixLeft = props.firstFixLeft,\n lastFixLeft = props.lastFixLeft,\n firstFixRight = props.firstFixRight,\n lastFixRight = props.lastFixRight,\n appendNode = props.appendNode,\n _props$additionalProp = props.additionalProps,\n additionalProps = _props$additionalProp === void 0 ? {} : _props$additionalProp,\n isSticky = props.isSticky;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var _useContext = useContext(TableContext, ['supportSticky', 'allColumnsFixedLeft']),\n supportSticky = _useContext.supportSticky,\n allColumnsFixedLeft = _useContext.allColumnsFixedLeft;\n\n // ====================== Value =======================\n var _useCellRender = useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate),\n _useCellRender2 = _slicedToArray(_useCellRender, 2),\n childNode = _useCellRender2[0],\n legacyCellProps = _useCellRender2[1];\n\n // ====================== Fixed =======================\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number' && supportSticky;\n var isFixRight = typeof fixRight === 'number' && supportSticky;\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = fixLeft;\n }\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = fixRight;\n }\n\n // ================ RowSpan & ColSpan =================\n var mergedColSpan = (_ref2 = (_ref3 = (_legacyCellProps$colS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.colSpan) !== null && _legacyCellProps$colS !== void 0 ? _legacyCellProps$colS : additionalProps.colSpan) !== null && _ref3 !== void 0 ? _ref3 : colSpan) !== null && _ref2 !== void 0 ? _ref2 : 1;\n var mergedRowSpan = (_ref4 = (_ref5 = (_legacyCellProps$rowS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.rowSpan) !== null && _legacyCellProps$rowS !== void 0 ? _legacyCellProps$rowS : additionalProps.rowSpan) !== null && _ref5 !== void 0 ? _ref5 : rowSpan) !== null && _ref4 !== void 0 ? _ref4 : 1;\n\n // ====================== Hover =======================\n var _useHoverState = useHoverState(index, mergedRowSpan),\n _useHoverState2 = _slicedToArray(_useHoverState, 2),\n hovering = _useHoverState2[0],\n onHover = _useHoverState2[1];\n var onMouseEnter = function onMouseEnter(event) {\n var _additionalProps$onMo;\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 ? void 0 : _additionalProps$onMo.call(additionalProps, event);\n };\n var onMouseLeave = function onMouseLeave(event) {\n var _additionalProps$onMo2;\n if (record) {\n onHover(-1, -1);\n }\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === void 0 ? void 0 : _additionalProps$onMo2.call(additionalProps, event);\n };\n\n // ====================== Render ======================\n if (mergedColSpan === 0 || mergedRowSpan === 0) {\n return null;\n }\n\n // >>>>> Title\n var title = (_additionalProps$titl = additionalProps.title) !== null && _additionalProps$titl !== void 0 ? _additionalProps$titl : getTitleFromCellRenderChildren({\n rowType: rowType,\n ellipsis: ellipsis,\n children: childNode\n });\n\n // >>>>> ClassName\n var mergedClassName = classNames(cellPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left\"), isFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-first\"), firstFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-last\"), lastFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-all\"), lastFixLeft && allColumnsFixedLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right\"), isFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right-first\"), firstFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right-last\"), lastFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-ellipsis\"), ellipsis), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-with-append\"), appendNode), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-sticky\"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-row-hover\"), !legacyCellProps && hovering), _classNames), additionalProps.className, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.className);\n\n // >>>>> Style\n var alignStyle = {};\n if (align) {\n alignStyle.textAlign = align;\n }\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, additionalProps.style), alignStyle), fixedStyle), legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.style);\n\n // >>>>> Children Node\n var mergedChildNode = childNode;\n\n // Not crash if final `childNode` is not validate ReactNode\n if (_typeof(mergedChildNode) === 'object' && !Array.isArray(mergedChildNode) && ! /*#__PURE__*/React.isValidElement(mergedChildNode)) {\n mergedChildNode = null;\n }\n if (ellipsis && (lastFixLeft || firstFixRight)) {\n mergedChildNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(cellPrefixCls, \"-content\")\n }, mergedChildNode);\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, legacyCellProps, additionalProps, {\n className: mergedClassName,\n style: mergedStyle\n // A11y\n ,\n title: title,\n scope: scope\n // Hover\n ,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave\n //Span\n ,\n colSpan: mergedColSpan !== 1 ? mergedColSpan : null,\n rowSpan: mergedRowSpan !== 1 ? mergedRowSpan : null\n }), appendNode, mergedChildNode);\n}\nexport default /*#__PURE__*/React.memo(Cell);","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { useImmutableMark } from '@rc-component/context';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport { validateValue } from \"../utils/valueUtil\";\nfunction isRenderCell(data) {\n return data && _typeof(data) === 'object' && !Array.isArray(data) && ! /*#__PURE__*/React.isValidElement(data);\n}\nexport default function useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate) {\n // TODO: Remove this after next major version\n var perfRecord = React.useContext(PerfContext);\n var mark = useImmutableMark();\n\n // ======================== Render ========================\n var retData = useMemo(function () {\n if (validateValue(children)) {\n return [children];\n }\n var path = dataIndex === null || dataIndex === undefined || dataIndex === '' ? [] : Array.isArray(dataIndex) ? dataIndex : [dataIndex];\n var value = getValue(record, path);\n\n // Customize render node\n var returnChildNode = value;\n var returnCellProps = undefined;\n if (render) {\n var renderData = render(value, record, renderIndex);\n if (isRenderCell(renderData)) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`columns.render` return cell props is deprecated with perf issue, please use `onCell` instead.');\n }\n returnChildNode = renderData.children;\n returnCellProps = renderData.props;\n perfRecord.renderWithProps = true;\n } else {\n returnChildNode = renderData;\n }\n }\n return [returnChildNode, returnCellProps];\n }, [\n // Force update deps\n mark,\n // Normal deps\n record, children, dataIndex, render, renderIndex], function (prev, next) {\n if (shouldCellUpdate) {\n var _prev = _slicedToArray(prev, 2),\n prevRecord = _prev[1];\n var _next = _slicedToArray(next, 2),\n nextRecord = _next[1];\n return shouldCellUpdate(nextRecord, prevRecord);\n }\n\n // Legacy mode should always update\n if (perfRecord.renderWithProps) {\n return true;\n }\n return !isEqual(prev, next, true);\n });\n return retData;\n}","import { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\n/** Check if cell is in hover range */\nfunction inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {\n var cellEndRow = cellStartRow + cellRowSpan - 1;\n return cellStartRow <= endRow && cellEndRow >= startRow;\n}\nexport default function useHoverState(rowIndex, rowSpan) {\n return useContext(TableContext, function (ctx) {\n var hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow);\n return [hovering, ctx.onHover];\n });\n}","export function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets, direction, curColumns) {\n var startColumn = columns[colStart] || {};\n var endColumn = columns[colEnd] || {};\n var fixLeft;\n var fixRight;\n if (startColumn.fixed === 'left') {\n fixLeft = stickyOffsets.left[direction === 'rtl' ? colEnd : colStart];\n } else if (endColumn.fixed === 'right') {\n fixRight = stickyOffsets.right[direction === 'rtl' ? colStart : colEnd];\n }\n var lastFixLeft = false;\n var firstFixRight = false;\n var lastFixRight = false;\n var firstFixLeft = false;\n var nextColumn = columns[colEnd + 1];\n var prevColumn = columns[colStart - 1];\n\n // no children only\n var canLastFix = !(curColumns !== null && curColumns !== void 0 && curColumns.children);\n if (direction === 'rtl') {\n if (fixLeft !== undefined) {\n var prevFixLeft = prevColumn && prevColumn.fixed === 'left';\n firstFixLeft = !prevFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var nextFixRight = nextColumn && nextColumn.fixed === 'right';\n lastFixRight = !nextFixRight && canLastFix;\n }\n } else if (fixLeft !== undefined) {\n var nextFixLeft = nextColumn && nextColumn.fixed === 'left';\n lastFixLeft = !nextFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var prevFixRight = prevColumn && prevColumn.fixed === 'right';\n firstFixRight = !prevFixRight && canLastFix;\n }\n return {\n fixLeft: fixLeft,\n fixRight: fixRight,\n lastFixLeft: lastFixLeft,\n firstFixRight: firstFixRight,\n lastFixRight: lastFixRight,\n firstFixLeft: firstFixLeft,\n isSticky: stickyOffsets.isSticky\n };\n}","import * as React from 'react';\nvar SummaryContext = /*#__PURE__*/React.createContext({});\nexport default SummaryContext;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport default function FooterRow(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"tr\", props, children);\n}","import Cell from \"./Cell\";\nimport Row from \"./Row\";\n/**\n * Syntactic sugar. Do not support HOC.\n */\nfunction Summary(_ref) {\n var children = _ref.children;\n return children;\n}\nSummary.Row = Row;\nSummary.Cell = Cell;\nexport default Summary;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport SummaryContext from \"./SummaryContext\";\nexport default function SummaryCell(_ref) {\n var className = _ref.className,\n index = _ref.index,\n children = _ref.children,\n _ref$colSpan = _ref.colSpan,\n colSpan = _ref$colSpan === void 0 ? 1 : _ref$colSpan,\n rowSpan = _ref.rowSpan,\n align = _ref.align;\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var _React$useContext = React.useContext(SummaryContext),\n scrollColumnIndex = _React$useContext.scrollColumnIndex,\n stickyOffsets = _React$useContext.stickyOffsets,\n flattenColumns = _React$useContext.flattenColumns,\n columns = _React$useContext.columns;\n var lastIndex = index + colSpan - 1;\n var mergedColSpan = lastIndex + 1 === scrollColumnIndex ? colSpan + 1 : colSpan;\n var fixedInfo = getCellFixedInfo(index, index + mergedColSpan - 1, flattenColumns, stickyOffsets, direction, columns === null || columns === void 0 ? void 0 : columns[index]);\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: className,\n index: index,\n component: \"td\",\n prefixCls: prefixCls,\n record: null,\n dataIndex: null,\n align: align,\n colSpan: mergedColSpan,\n rowSpan: rowSpan,\n render: function render() {\n return children;\n }\n }, fixedInfo));\n}","import { responseImmutable, useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport Summary from \"./Summary\";\nimport SummaryContext from \"./SummaryContext\";\nfunction Footer(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var children = props.children,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns,\n columns = props.columns;\n var prefixCls = useContext(TableContext, 'prefixCls');\n var lastColumnIndex = flattenColumns.length - 1;\n var scrollColumn = flattenColumns[lastColumnIndex];\n var summaryContext = React.useMemo(function () {\n return {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n scrollColumnIndex: scrollColumn !== null && scrollColumn !== void 0 && scrollColumn.scrollbar ? lastColumnIndex : null,\n columns: columns\n };\n }, [scrollColumn, flattenColumns, lastColumnIndex, stickyOffsets, columns]);\n return /*#__PURE__*/React.createElement(SummaryContext.Provider, {\n value: summaryContext\n }, /*#__PURE__*/React.createElement(\"tfoot\", {\n className: \"\".concat(prefixCls, \"-summary\")\n }, children));\n}\nexport default responseImmutable(Footer);\nexport var FooterComponents = Summary;","import canUseDom from \"./canUseDom\";\nvar isStyleNameSupport = function isStyleNameSupport(styleName) {\n if (canUseDom() && window.document.documentElement) {\n var styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n var documentElement = window.document.documentElement;\n return styleNameList.some(function (name) {\n return name in documentElement.style;\n });\n }\n return false;\n};\nvar isStyleValueSupport = function isStyleValueSupport(styleName, value) {\n if (!isStyleNameSupport(styleName)) {\n return false;\n }\n var ele = document.createElement('div');\n var origin = ele.style[styleName];\n ele.style[styleName] = value;\n return ele.style[styleName] !== origin;\n};\nexport function isStyleSupport(styleName, styleValue) {\n if (!Array.isArray(styleName) && styleValue !== undefined) {\n return isStyleValueSupport(styleName, styleValue);\n }\n return isStyleNameSupport(styleName);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\n// recursion (flat tree structure)\nfunction flatRecord(record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n var arr = [];\n arr.push({\n record: record,\n indent: indent,\n index: index\n });\n var key = getRowKey(record);\n var expanded = expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.has(key);\n if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n var tempArr = flatRecord(record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n arr.push.apply(arr, _toConsumableArray(tempArr));\n }\n }\n return arr;\n}\n\n/**\n * flat tree data on expanded state\n *\n * @export\n * @template T\n * @param {*} data : table data\n * @param {string} childrenColumnName : 指定树形结构的列名\n * @param {Set<Key>} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey<T>} getRowKey : 获取当前rowKey的方法\n * @returns flattened data\n */\nexport default function useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey) {\n var arr = React.useMemo(function () {\n if (expandedKeys !== null && expandedKeys !== void 0 && expandedKeys.size) {\n var temp = [];\n\n // collect flattened record\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n temp.push.apply(temp, _toConsumableArray(flatRecord(record, 0, childrenColumnName, expandedKeys, getRowKey, i)));\n }\n return temp;\n }\n return data === null || data === void 0 ? void 0 : data.map(function (item, index) {\n return {\n record: item,\n indent: 0,\n index: index\n };\n });\n }, [data, childrenColumnName, expandedKeys, getRowKey]);\n return arr;\n}","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nfunction ExpandedRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var prefixCls = props.prefixCls,\n children = props.children,\n Component = props.component,\n cellComponent = props.cellComponent,\n className = props.className,\n expanded = props.expanded,\n colSpan = props.colSpan,\n isEmpty = props.isEmpty;\n var _useContext = useContext(TableContext, ['scrollbarSize', 'fixHeader', 'fixColumn', 'componentWidth', 'horizonScroll']),\n scrollbarSize = _useContext.scrollbarSize,\n fixHeader = _useContext.fixHeader,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth,\n horizonScroll = _useContext.horizonScroll;\n\n // Cache render node\n var contentNode = children;\n if (isEmpty ? horizonScroll : fixColumn) {\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: componentWidth - (fixHeader ? scrollbarSize : 0),\n position: 'sticky',\n left: 0,\n overflow: 'hidden'\n },\n className: \"\".concat(prefixCls, \"-expanded-row-fixed\")\n }, componentWidth !== 0 && contentNode);\n }\n return /*#__PURE__*/React.createElement(Component, {\n className: className,\n style: {\n display: expanded ? null : 'none'\n }\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n colSpan: colSpan\n }, contentNode));\n}\nexport default ExpandedRow;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { responseImmutable, useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport ExpandedRow from \"./ExpandedRow\";\nfunction BodyRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var className = props.className,\n style = props.style,\n record = props.record,\n index = props.index,\n renderIndex = props.renderIndex,\n rowKey = props.rowKey,\n rowExpandable = props.rowExpandable,\n expandedKeys = props.expandedKeys,\n onRow = props.onRow,\n _props$indent = props.indent,\n indent = _props$indent === void 0 ? 0 : _props$indent,\n RowComponent = props.rowComponent,\n cellComponent = props.cellComponent,\n scopeCellComponent = props.scopeCellComponent,\n childrenColumnName = props.childrenColumnName;\n var _useContext = useContext(TableContext, ['prefixCls', 'fixedInfoList', 'flattenColumns', 'expandableType', 'expandRowByClick', 'onTriggerExpand', 'rowClassName', 'expandedRowClassName', 'indentSize', 'expandIcon', 'expandedRowRender', 'expandIconColumnIndex']),\n prefixCls = _useContext.prefixCls,\n fixedInfoList = _useContext.fixedInfoList,\n flattenColumns = _useContext.flattenColumns,\n expandableType = _useContext.expandableType,\n expandRowByClick = _useContext.expandRowByClick,\n onTriggerExpand = _useContext.onTriggerExpand,\n rowClassName = _useContext.rowClassName,\n expandedRowClassName = _useContext.expandedRowClassName,\n indentSize = _useContext.indentSize,\n expandIcon = _useContext.expandIcon,\n expandedRowRender = _useContext.expandedRowRender,\n expandIconColumnIndex = _useContext.expandIconColumnIndex;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n expandRended = _React$useState2[0],\n setExpandRended = _React$useState2[1];\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var expanded = expandedKeys && expandedKeys.has(rowKey);\n React.useEffect(function () {\n if (expanded) {\n setExpandRended(true);\n }\n }, [expanded]);\n var rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record));\n // Only when row is not expandable and `children` exist in record\n var nestExpandable = expandableType === 'nest';\n var hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n var mergedExpandable = rowSupportExpand || nestExpandable;\n\n // ======================== Expandable =========================\n var onExpandRef = React.useRef(onTriggerExpand);\n onExpandRef.current = onTriggerExpand;\n var onInternalTriggerExpand = function onInternalTriggerExpand() {\n onExpandRef.current.apply(onExpandRef, arguments);\n };\n\n // =========================== onRow ===========================\n var additionalProps = onRow === null || onRow === void 0 ? void 0 : onRow(record, index);\n var onClick = function onClick(event) {\n var _additionalProps$onCl;\n if (expandRowByClick && mergedExpandable) {\n onInternalTriggerExpand(record, event);\n }\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onCl = additionalProps.onClick) === null || _additionalProps$onCl === void 0 ? void 0 : _additionalProps$onCl.call.apply(_additionalProps$onCl, [additionalProps, event].concat(args));\n };\n\n // ======================== Base tr row ========================\n var computeRowClassName;\n if (typeof rowClassName === 'string') {\n computeRowClassName = rowClassName;\n } else if (typeof rowClassName === 'function') {\n computeRowClassName = rowClassName(record, index, indent);\n }\n var columnsKey = getColumnsKey(flattenColumns);\n var baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, additionalProps, {\n \"data-row-key\": rowKey,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), \"\".concat(prefixCls, \"-row-level-\").concat(indent), computeRowClassName, additionalProps && additionalProps.className),\n style: _objectSpread(_objectSpread({}, style), additionalProps ? additionalProps.style : null),\n onClick: onClick\n }), flattenColumns.map(function (column, colIndex) {\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className;\n var key = columnsKey[colIndex];\n var fixedInfo = fixedInfoList[colIndex];\n\n // ============= Used for nest expandable =============\n var appendCellNode;\n if (colIndex === (expandIconColumnIndex || 0) && nestExpandable) {\n appendCellNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n paddingLeft: \"\".concat(indentSize * indent, \"px\")\n },\n className: \"\".concat(prefixCls, \"-row-indent indent-level-\").concat(indent)\n }), expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: hasNestChildren,\n record: record,\n onExpand: onInternalTriggerExpand\n }));\n }\n var additionalCellProps;\n if (column.onCell) {\n additionalCellProps = column.onCell(record, index);\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: columnClassName,\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: column.rowScope ? scopeCellComponent : cellComponent,\n prefixCls: prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: render,\n shouldCellUpdate: column.shouldCellUpdate,\n expanded: appendCellNode && expanded\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: additionalCellProps\n }));\n }));\n\n // ======================== Expand Row =========================\n var expandRowNode;\n if (rowSupportExpand && (expandRended || expanded)) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n var computedExpandedRowClassName = expandedRowClassName && expandedRowClassName(record, index, indent);\n expandRowNode = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: expanded,\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), computedExpandedRowClassName),\n prefixCls: prefixCls,\n component: RowComponent,\n cellComponent: cellComponent,\n colSpan: flattenColumns.length,\n isEmpty: false\n }, expandContent);\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, baseRowNode, expandRowNode);\n}\nBodyRow.displayName = 'BodyRow';\nexport default responseImmutable(BodyRow);","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nexport default function MeasureCell(_ref) {\n var columnKey = _ref.columnKey,\n onColumnResize = _ref.onColumnResize;\n var cellRef = React.useRef();\n React.useEffect(function () {\n if (cellRef.current) {\n onColumnResize(columnKey, cellRef.current.offsetWidth);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n data: columnKey\n }, /*#__PURE__*/React.createElement(\"td\", {\n ref: cellRef,\n style: {\n padding: 0,\n border: 0,\n height: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: 0,\n overflow: 'hidden'\n }\n }, \"\\xA0\")));\n}","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport MeasureCell from \"./MeasureCell\";\nexport default function MeasureRow(_ref) {\n var prefixCls = _ref.prefixCls,\n columnsKey = _ref.columnsKey,\n onColumnResize = _ref.onColumnResize;\n return /*#__PURE__*/React.createElement(\"tr\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-measure-row\"),\n style: {\n height: 0,\n fontSize: 0\n }\n }, /*#__PURE__*/React.createElement(ResizeObserver.Collection, {\n onBatchResize: function onBatchResize(infoList) {\n infoList.forEach(function (_ref2) {\n var columnKey = _ref2.data,\n size = _ref2.size;\n onColumnResize(columnKey, size.offsetWidth);\n });\n }\n }, columnsKey.map(function (columnKey) {\n return /*#__PURE__*/React.createElement(MeasureCell, {\n key: columnKey,\n columnKey: columnKey,\n onColumnResize: onColumnResize\n });\n })));\n}","import { responseImmutable, useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport TableContext from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport BodyRow from \"./BodyRow\";\nimport ExpandedRow from \"./ExpandedRow\";\nimport MeasureRow from \"./MeasureRow\";\nfunction Body(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var data = props.data,\n getRowKey = props.getRowKey,\n measureColumnWidth = props.measureColumnWidth,\n expandedKeys = props.expandedKeys,\n onRow = props.onRow,\n rowExpandable = props.rowExpandable,\n emptyNode = props.emptyNode,\n childrenColumnName = props.childrenColumnName;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent', 'onColumnResize', 'flattenColumns']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent,\n onColumnResize = _useContext.onColumnResize,\n flattenColumns = _useContext.flattenColumns;\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // =================== Performance ====================\n var perfRef = React.useRef({\n renderWithProps: false\n });\n\n // ====================== Render ======================\n var WrapperComponent = getComponent(['body', 'wrapper'], 'tbody');\n var trComponent = getComponent(['body', 'row'], 'tr');\n var tdComponent = getComponent(['body', 'cell'], 'td');\n var thComponent = getComponent(['body', 'cell'], 'th');\n var rows;\n if (data.length) {\n rows = flattenData.map(function (item, idx) {\n var record = item.record,\n indent = item.indent,\n renderIndex = item.index;\n var key = getRowKey(record, idx);\n return /*#__PURE__*/React.createElement(BodyRow, {\n key: key,\n rowKey: key,\n record: record,\n index: idx,\n renderIndex: renderIndex,\n rowComponent: trComponent,\n cellComponent: tdComponent,\n scopeCellComponent: thComponent,\n expandedKeys: expandedKeys,\n onRow: onRow,\n getRowKey: getRowKey,\n rowExpandable: rowExpandable,\n childrenColumnName: childrenColumnName,\n indent: indent\n });\n });\n } else {\n rows = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: true,\n className: \"\".concat(prefixCls, \"-placeholder\"),\n prefixCls: prefixCls,\n component: trComponent,\n cellComponent: tdComponent,\n colSpan: flattenColumns.length,\n isEmpty: true\n }, emptyNode);\n }\n var columnsKey = getColumnsKey(flattenColumns);\n return /*#__PURE__*/React.createElement(PerfContext.Provider, {\n value: perfRef.current\n }, /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-tbody\")\n }, measureColumnWidth && /*#__PURE__*/React.createElement(MeasureRow, {\n prefixCls: prefixCls,\n columnsKey: columnsKey,\n onColumnResize: onColumnResize\n }), rows));\n}\nBody.displayName = 'Body';\nexport default responseImmutable(Body);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"expandable\"];\nimport warning from \"rc-util/es/warning\";\nexport var INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\nexport function getExpandableProps(props) {\n var expandable = props.expandable,\n legacyExpandableConfig = _objectWithoutProperties(props, _excluded);\n var config;\n if ('expandable' in props) {\n config = _objectSpread(_objectSpread({}, legacyExpandableConfig), expandable);\n } else {\n if (process.env.NODE_ENV !== 'production' && ['indentSize', 'expandedRowKeys', 'defaultExpandedRowKeys', 'defaultExpandAllRows', 'expandedRowRender', 'expandRowByClick', 'expandIcon', 'onExpand', 'onExpandedRowsChange', 'expandedRowClassName', 'expandIconColumnIndex', 'showExpandColumn', 'title'].some(function (prop) {\n return prop in props;\n })) {\n warning(false, 'expanded related props have been moved into `expandable`.');\n }\n config = legacyExpandableConfig;\n }\n if (config.showExpandColumn === false) {\n config.expandIconColumnIndex = -1;\n }\n return config;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"columnType\"];\nimport * as React from 'react';\nimport { INTERNAL_COL_DEFINE } from \"./utils/legacyUtil\";\nfunction ColGroup(_ref) {\n var colWidths = _ref.colWidths,\n columns = _ref.columns,\n columCount = _ref.columCount;\n var cols = [];\n var len = columCount || columns.length;\n\n // Only insert col with width & additional props\n // Skip if rest col do not have any useful info\n var mustInsert = false;\n for (var i = len - 1; i >= 0; i -= 1) {\n var width = colWidths[i];\n var column = columns && columns[i];\n var additionalProps = column && column[INTERNAL_COL_DEFINE];\n if (width || additionalProps || mustInsert) {\n var _ref2 = additionalProps || {},\n columnType = _ref2.columnType,\n restAdditionalProps = _objectWithoutProperties(_ref2, _excluded);\n cols.unshift( /*#__PURE__*/React.createElement(\"col\", _extends({\n key: i,\n style: {\n width: width\n }\n }, restAdditionalProps)));\n mustInsert = true;\n }\n }\n return /*#__PURE__*/React.createElement(\"colgroup\", null, cols);\n}\nexport default ColGroup;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"noData\", \"columns\", \"flattenColumns\", \"colWidths\", \"columCount\", \"stickyOffsets\", \"direction\", \"fixHeader\", \"stickyTopOffset\", \"stickyBottomOffset\", \"stickyClassName\", \"onScroll\", \"maxContentScroll\", \"children\"];\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport { fillRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport ColGroup from \"../ColGroup\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nfunction useColumnWidth(colWidths, columCount) {\n return useMemo(function () {\n var cloneColumns = [];\n for (var i = 0; i < columCount; i += 1) {\n var val = colWidths[i];\n if (val !== undefined) {\n cloneColumns[i] = val;\n } else {\n return null;\n }\n }\n return cloneColumns;\n }, [colWidths.join('_'), columCount]);\n}\nvar FixedHolder = /*#__PURE__*/React.forwardRef(function (props, ref) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var className = props.className,\n noData = props.noData,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n colWidths = props.colWidths,\n columCount = props.columCount,\n stickyOffsets = props.stickyOffsets,\n direction = props.direction,\n fixHeader = props.fixHeader,\n stickyTopOffset = props.stickyTopOffset,\n stickyBottomOffset = props.stickyBottomOffset,\n stickyClassName = props.stickyClassName,\n onScroll = props.onScroll,\n maxContentScroll = props.maxContentScroll,\n children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var _useContext = useContext(TableContext, ['prefixCls', 'scrollbarSize', 'isSticky']),\n prefixCls = _useContext.prefixCls,\n scrollbarSize = _useContext.scrollbarSize,\n isSticky = _useContext.isSticky;\n var combinationScrollBarSize = isSticky && !fixHeader ? 0 : scrollbarSize;\n\n // Pass wheel to scroll event\n var scrollRef = React.useRef(null);\n var setScrollRef = React.useCallback(function (element) {\n fillRef(ref, element);\n fillRef(scrollRef, element);\n }, []);\n React.useEffect(function () {\n var _scrollRef$current;\n function onWheel(e) {\n var _ref = e,\n currentTarget = _ref.currentTarget,\n deltaX = _ref.deltaX;\n if (deltaX) {\n onScroll({\n currentTarget: currentTarget,\n scrollLeft: currentTarget.scrollLeft + deltaX\n });\n e.preventDefault();\n }\n }\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.addEventListener('wheel', onWheel);\n return function () {\n var _scrollRef$current2;\n (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.removeEventListener('wheel', onWheel);\n };\n }, []);\n\n // Check if all flattenColumns has width\n var allFlattenColumnsWithWidth = React.useMemo(function () {\n return flattenColumns.every(function (column) {\n return column.width >= 0;\n });\n }, [flattenColumns]);\n\n // Add scrollbar column\n var lastColumn = flattenColumns[flattenColumns.length - 1];\n var ScrollBarColumn = {\n fixed: lastColumn ? lastColumn.fixed : null,\n scrollbar: true,\n onHeaderCell: function onHeaderCell() {\n return {\n className: \"\".concat(prefixCls, \"-cell-scrollbar\")\n };\n }\n };\n var columnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(columns), [ScrollBarColumn]) : columns;\n }, [combinationScrollBarSize, columns]);\n var flattenColumnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(flattenColumns), [ScrollBarColumn]) : flattenColumns;\n }, [combinationScrollBarSize, flattenColumns]);\n\n // Calculate the sticky offsets\n var headerStickyOffsets = useMemo(function () {\n var right = stickyOffsets.right,\n left = stickyOffsets.left;\n return _objectSpread(_objectSpread({}, stickyOffsets), {}, {\n left: direction === 'rtl' ? [].concat(_toConsumableArray(left.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]) : left,\n right: direction === 'rtl' ? right : [].concat(_toConsumableArray(right.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]),\n isSticky: isSticky\n });\n }, [combinationScrollBarSize, stickyOffsets, isSticky]);\n var mergedColumnWidth = useColumnWidth(colWidths, columCount);\n return /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread({\n overflow: 'hidden'\n }, isSticky ? {\n top: stickyTopOffset,\n bottom: stickyBottomOffset\n } : {}),\n ref: setScrollRef,\n className: classNames(className, _defineProperty({}, stickyClassName, !!stickyClassName))\n }, /*#__PURE__*/React.createElement(\"table\", {\n style: {\n tableLayout: 'fixed',\n visibility: noData || mergedColumnWidth ? null : 'hidden'\n }\n }, (!noData || !maxContentScroll || allFlattenColumnsWithWidth) && /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: mergedColumnWidth ? [].concat(_toConsumableArray(mergedColumnWidth), [combinationScrollBarSize]) : [],\n columCount: columCount + 1,\n columns: flattenColumnsWithScrollbar\n }), children(_objectSpread(_objectSpread({}, restProps), {}, {\n stickyOffsets: headerStickyOffsets,\n columns: columnsWithScrollbar,\n flattenColumns: flattenColumnsWithScrollbar\n }))));\n});\nFixedHolder.displayName = 'FixedHolder';\n\n/** Return a table in div as fixed element which contains sticky info */\n// export default responseImmutable(FixedHolder);\nexport default /*#__PURE__*/React.memo(FixedHolder);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nfunction HeaderRow(_ref) {\n var cells = _ref.cells,\n stickyOffsets = _ref.stickyOffsets,\n flattenColumns = _ref.flattenColumns,\n RowComponent = _ref.rowComponent,\n CellComponent = _ref.cellComponent,\n tdCellComponent = _ref.tdCellComponent,\n onHeaderRow = _ref.onHeaderRow,\n index = _ref.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var rowProps;\n if (onHeaderRow) {\n rowProps = onHeaderRow(cells.map(function (cell) {\n return cell.column;\n }), index);\n }\n var columnsKey = getColumnsKey(cells.map(function (cell) {\n return cell.column;\n }));\n return /*#__PURE__*/React.createElement(RowComponent, rowProps, cells.map(function (cell, cellIndex) {\n var column = cell.column;\n var fixedInfo = getCellFixedInfo(cell.colStart, cell.colEnd, flattenColumns, stickyOffsets, direction, column);\n var additionalProps;\n if (column && column.onHeaderCell) {\n additionalProps = cell.column.onHeaderCell(column);\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({}, cell, {\n scope: column.title ? cell.colSpan > 1 ? 'colgroup' : 'col' : null,\n ellipsis: column.ellipsis,\n align: column.align,\n component: column.title ? CellComponent : tdCellComponent,\n prefixCls: prefixCls,\n key: columnsKey[cellIndex]\n }, fixedInfo, {\n additionalProps: additionalProps,\n rowType: \"header\"\n }));\n }));\n}\nHeaderRow.displayName = 'HeaderRow';\nexport default HeaderRow;","import { responseImmutable, useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport HeaderRow from \"./HeaderRow\";\nfunction parseHeaderRows(rootColumns) {\n var rows = [];\n function fillRowCells(columns, colIndex) {\n var rowIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n // Init rows\n rows[rowIndex] = rows[rowIndex] || [];\n var currentColIndex = colIndex;\n var colSpans = columns.filter(Boolean).map(function (column) {\n var cell = {\n key: column.key,\n className: column.className || '',\n children: column.title,\n column: column,\n colStart: currentColIndex\n };\n var colSpan = 1;\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n colSpan = fillRowCells(subColumns, currentColIndex, rowIndex + 1).reduce(function (total, count) {\n return total + count;\n }, 0);\n cell.hasSubColumns = true;\n }\n if ('colSpan' in column) {\n colSpan = column.colSpan;\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n cell.colSpan = colSpan;\n cell.colEnd = cell.colStart + colSpan - 1;\n rows[rowIndex].push(cell);\n currentColIndex += colSpan;\n return colSpan;\n });\n return colSpans;\n }\n\n // Generate `rows` cell data\n fillRowCells(rootColumns, 0);\n\n // Handle `rowSpan`\n var rowCount = rows.length;\n var _loop = function _loop(rowIndex) {\n rows[rowIndex].forEach(function (cell) {\n if (!('rowSpan' in cell) && !cell.hasSubColumns) {\n // eslint-disable-next-line no-param-reassign\n cell.rowSpan = rowCount - rowIndex;\n }\n });\n };\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n _loop(rowIndex);\n }\n return rows;\n}\nfunction Header(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var stickyOffsets = props.stickyOffsets,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n onHeaderRow = props.onHeaderRow;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent;\n var rows = React.useMemo(function () {\n return parseHeaderRows(columns);\n }, [columns]);\n var WrapperComponent = getComponent(['header', 'wrapper'], 'thead');\n var trComponent = getComponent(['header', 'row'], 'tr');\n var thComponent = getComponent(['header', 'cell'], 'th');\n var tdComponent = getComponent(['header', 'cell'], 'td');\n return /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-thead\")\n }, rows.map(function (row, rowIndex) {\n var rowNode = /*#__PURE__*/React.createElement(HeaderRow, {\n key: rowIndex,\n flattenColumns: flattenColumns,\n cells: row,\n stickyOffsets: stickyOffsets,\n rowComponent: trComponent,\n cellComponent: thComponent,\n tdCellComponent: tdComponent,\n onHeaderRow: onHeaderRow,\n index: rowIndex\n });\n return rowNode;\n }));\n}\nexport default responseImmutable(Header);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\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 = [\"children\"],\n _excluded2 = [\"fixed\"];\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { EXPAND_COLUMN } from \"../constant\";\nimport { INTERNAL_COL_DEFINE } from \"../utils/legacyUtil\";\nexport function convertChildrenToColumns(children) {\n return toArray(children).filter(function (node) {\n return /*#__PURE__*/React.isValidElement(node);\n }).map(function (_ref) {\n var key = _ref.key,\n props = _ref.props;\n var nodeChildren = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var column = _objectSpread({\n key: key\n }, restProps);\n if (nodeChildren) {\n column.children = convertChildrenToColumns(nodeChildren);\n }\n return column;\n });\n}\nfunction flatColumns(columns) {\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object';\n }).reduce(function (list, column) {\n var fixed = column.fixed;\n // Convert `fixed='true'` to `fixed='left'` instead\n var parsedFixed = fixed === true ? 'left' : fixed;\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return [].concat(_toConsumableArray(list), _toConsumableArray(flatColumns(subColumns).map(function (subColum) {\n return _objectSpread({\n fixed: parsedFixed\n }, subColum);\n })));\n }\n return [].concat(_toConsumableArray(list), [_objectSpread(_objectSpread({}, column), {}, {\n fixed: parsedFixed\n })]);\n }, []);\n}\nfunction warningFixed(flattenColumns) {\n var allFixLeft = true;\n for (var i = 0; i < flattenColumns.length; i += 1) {\n var col = flattenColumns[i];\n if (allFixLeft && col.fixed !== 'left') {\n allFixLeft = false;\n } else if (!allFixLeft && col.fixed === 'left') {\n warning(false, \"Index \".concat(i - 1, \" of `columns` missing `fixed='left'` prop.\"));\n break;\n }\n }\n var allFixRight = true;\n for (var _i = flattenColumns.length - 1; _i >= 0; _i -= 1) {\n var _col = flattenColumns[_i];\n if (allFixRight && _col.fixed !== 'right') {\n allFixRight = false;\n } else if (!allFixRight && _col.fixed === 'right') {\n warning(false, \"Index \".concat(_i + 1, \" of `columns` missing `fixed='right'` prop.\"));\n break;\n }\n }\n}\nfunction revertForRtl(columns) {\n return columns.map(function (column) {\n var fixed = column.fixed,\n restProps = _objectWithoutProperties(column, _excluded2);\n\n // Convert `fixed='left'` to `fixed='right'` instead\n var parsedFixed = fixed;\n if (fixed === 'left') {\n parsedFixed = 'right';\n } else if (fixed === 'right') {\n parsedFixed = 'left';\n }\n return _objectSpread({\n fixed: parsedFixed\n }, restProps);\n });\n}\n\n/**\n * Parse `columns` & `children` into `columns`.\n */\nfunction useColumns(_ref2, transformColumns) {\n var prefixCls = _ref2.prefixCls,\n columns = _ref2.columns,\n children = _ref2.children,\n expandable = _ref2.expandable,\n expandedKeys = _ref2.expandedKeys,\n columnTitle = _ref2.columnTitle,\n getRowKey = _ref2.getRowKey,\n onTriggerExpand = _ref2.onTriggerExpand,\n expandIcon = _ref2.expandIcon,\n rowExpandable = _ref2.rowExpandable,\n expandIconColumnIndex = _ref2.expandIconColumnIndex,\n direction = _ref2.direction,\n expandRowByClick = _ref2.expandRowByClick,\n columnWidth = _ref2.columnWidth,\n fixed = _ref2.fixed;\n var baseColumns = React.useMemo(function () {\n return columns || convertChildrenToColumns(children);\n }, [columns, children]);\n\n // ========================== Expand ==========================\n var withExpandColumns = React.useMemo(function () {\n if (expandable) {\n var _expandColumn;\n var cloneColumns = baseColumns.slice();\n\n // >>> Warning if use `expandIconColumnIndex`\n if (process.env.NODE_ENV !== 'production' && expandIconColumnIndex >= 0) {\n warning(false, '`expandIconColumnIndex` is deprecated. Please use `Table.EXPAND_COLUMN` in `columns` instead.');\n }\n\n // >>> Insert expand column if not exist\n if (!cloneColumns.includes(EXPAND_COLUMN)) {\n var expandColIndex = expandIconColumnIndex || 0;\n if (expandColIndex >= 0) {\n cloneColumns.splice(expandColIndex, 0, EXPAND_COLUMN);\n }\n }\n\n // >>> Deduplicate additional expand column\n if (process.env.NODE_ENV !== 'production' && cloneColumns.filter(function (c) {\n return c === EXPAND_COLUMN;\n }).length > 1) {\n warning(false, 'There exist more than one `EXPAND_COLUMN` in `columns`.');\n }\n var expandColumnIndex = cloneColumns.indexOf(EXPAND_COLUMN);\n cloneColumns = cloneColumns.filter(function (column, index) {\n return column !== EXPAND_COLUMN || index === expandColumnIndex;\n });\n\n // >>> Check if expand column need to fixed\n var prevColumn = baseColumns[expandColumnIndex];\n var fixedColumn;\n if ((fixed === 'left' || fixed) && !expandIconColumnIndex) {\n fixedColumn = 'left';\n } else if ((fixed === 'right' || fixed) && expandIconColumnIndex === baseColumns.length) {\n fixedColumn = 'right';\n } else {\n fixedColumn = prevColumn ? prevColumn.fixed : null;\n }\n\n // >>> Create expandable column\n var expandColumn = (_expandColumn = {}, _defineProperty(_expandColumn, INTERNAL_COL_DEFINE, {\n className: \"\".concat(prefixCls, \"-expand-icon-col\"),\n columnType: 'EXPAND_COLUMN'\n }), _defineProperty(_expandColumn, \"title\", columnTitle), _defineProperty(_expandColumn, \"fixed\", fixedColumn), _defineProperty(_expandColumn, \"className\", \"\".concat(prefixCls, \"-row-expand-icon-cell\")), _defineProperty(_expandColumn, \"width\", columnWidth), _defineProperty(_expandColumn, \"render\", function render(_, record, index) {\n var rowKey = getRowKey(record, index);\n var expanded = expandedKeys.has(rowKey);\n var recordExpandable = rowExpandable ? rowExpandable(record) : true;\n var icon = expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: recordExpandable,\n record: record,\n onExpand: onTriggerExpand\n });\n if (expandRowByClick) {\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, icon);\n }\n return icon;\n }), _expandColumn);\n return cloneColumns.map(function (col) {\n return col === EXPAND_COLUMN ? expandColumn : col;\n });\n }\n if (process.env.NODE_ENV !== 'production' && baseColumns.includes(EXPAND_COLUMN)) {\n warning(false, '`expandable` is not config but there exist `EXPAND_COLUMN` in `columns`.');\n }\n return baseColumns.filter(function (col) {\n return col !== EXPAND_COLUMN;\n });\n }, [expandable, baseColumns, getRowKey, expandedKeys, expandIcon, direction]);\n\n // ========================= Transform ========================\n var mergedColumns = React.useMemo(function () {\n var finalColumns = withExpandColumns;\n if (transformColumns) {\n finalColumns = transformColumns(finalColumns);\n }\n\n // Always provides at least one column for table display\n if (!finalColumns.length) {\n finalColumns = [{\n render: function render() {\n return null;\n }\n }];\n }\n return finalColumns;\n }, [transformColumns, withExpandColumns, direction]);\n\n // ========================== Flatten =========================\n var flattenColumns = React.useMemo(function () {\n if (direction === 'rtl') {\n return revertForRtl(flatColumns(mergedColumns));\n }\n return flatColumns(mergedColumns);\n }, [mergedColumns, direction]);\n // Only check out of production since it's waste for each render\n if (process.env.NODE_ENV !== 'production') {\n warningFixed(direction === 'rtl' ? flattenColumns.slice().reverse() : flattenColumns);\n }\n return [mergedColumns, flattenColumns];\n}\nexport default useColumns;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport function renderExpandIcon(_ref) {\n var _classNames;\n var prefixCls = _ref.prefixCls,\n record = _ref.record,\n onExpand = _ref.onExpand,\n expanded = _ref.expanded,\n expandable = _ref.expandable;\n var expandClassName = \"\".concat(prefixCls, \"-row-expand-icon\");\n if (!expandable) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, \"\".concat(prefixCls, \"-row-spaced\"))\n });\n }\n var onClick = function onClick(event) {\n onExpand(record, event);\n event.stopPropagation();\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-expanded\"), expanded), _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-collapsed\"), !expanded), _classNames)),\n onClick: onClick\n });\n}\nexport function findAllChildrenKeys(data, getRowKey, childrenColumnName) {\n var keys = [];\n function dig(list) {\n (list || []).forEach(function (item, index) {\n keys.push(getRowKey(item, index));\n dig(item[childrenColumnName]);\n });\n }\n dig(data);\n return keys;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\n/**\n * Execute code before next frame but async\n */\nexport function useLayoutState(defaultState) {\n var stateRef = useRef(defaultState);\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n var lastPromiseRef = useRef(null);\n var updateBatchRef = useRef([]);\n function setFrameState(updater) {\n updateBatchRef.current.push(updater);\n var promise = Promise.resolve();\n lastPromiseRef.current = promise;\n promise.then(function () {\n if (lastPromiseRef.current === promise) {\n var prevBatch = updateBatchRef.current;\n var prevState = stateRef.current;\n updateBatchRef.current = [];\n prevBatch.forEach(function (batchUpdater) {\n stateRef.current = batchUpdater(stateRef.current);\n });\n lastPromiseRef.current = null;\n if (prevState !== stateRef.current) {\n forceUpdate({});\n }\n }\n });\n }\n useEffect(function () {\n return function () {\n lastPromiseRef.current = null;\n };\n }, []);\n return [stateRef.current, setFrameState];\n}\n\n/** Lock frame, when frame pass reset the lock. */\nexport function useTimeoutLock(defaultState) {\n var frameRef = useRef(defaultState || null);\n var timeoutRef = useRef();\n function cleanUp() {\n window.clearTimeout(timeoutRef.current);\n }\n function setState(newState) {\n frameRef.current = newState;\n cleanUp();\n timeoutRef.current = window.setTimeout(function () {\n frameRef.current = null;\n timeoutRef.current = undefined;\n }, 100);\n }\n function getState() {\n return frameRef.current;\n }\n useEffect(function () {\n return cleanUp;\n }, []);\n return [setState, getState];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\n// fix ssr render\nvar defaultContainer = canUseDom() ? window : null;\n\n/** Sticky header hooks */\nexport default function useSticky(sticky, prefixCls) {\n var _ref = _typeof(sticky) === 'object' ? sticky : {},\n _ref$offsetHeader = _ref.offsetHeader,\n offsetHeader = _ref$offsetHeader === void 0 ? 0 : _ref$offsetHeader,\n _ref$offsetSummary = _ref.offsetSummary,\n offsetSummary = _ref$offsetSummary === void 0 ? 0 : _ref$offsetSummary,\n _ref$offsetScroll = _ref.offsetScroll,\n offsetScroll = _ref$offsetScroll === void 0 ? 0 : _ref$offsetScroll,\n _ref$getContainer = _ref.getContainer,\n getContainer = _ref$getContainer === void 0 ? function () {\n return defaultContainer;\n } : _ref$getContainer;\n var container = getContainer() || defaultContainer;\n return React.useMemo(function () {\n var isSticky = !!sticky;\n return {\n isSticky: isSticky,\n stickyClassName: isSticky ? \"\".concat(prefixCls, \"-sticky-holder\") : '',\n offsetHeader: offsetHeader,\n offsetSummary: offsetSummary,\n offsetScroll: offsetScroll,\n container: container\n };\n }, [offsetScroll, offsetHeader, offsetSummary, prefixCls, container]);\n}","import { useMemo } from 'react';\n/**\n * Get sticky column offset width\n */\nfunction useStickyOffsets(colWidths, columnCount, direction) {\n var stickyOffsets = useMemo(function () {\n var leftOffsets = [];\n var rightOffsets = [];\n var left = 0;\n var right = 0;\n for (var start = 0; start < columnCount; start += 1) {\n if (direction === 'rtl') {\n // Left offset\n rightOffsets[start] = right;\n right += colWidths[start] || 0;\n\n // Right offset\n var end = columnCount - start - 1;\n leftOffsets[end] = left;\n left += colWidths[end] || 0;\n } else {\n // Left offset\n leftOffsets[start] = left;\n left += colWidths[start] || 0;\n\n // Right offset\n var _end = columnCount - start - 1;\n rightOffsets[_end] = right;\n right += colWidths[_end] || 0;\n }\n }\n return {\n left: leftOffsets,\n right: rightOffsets\n };\n }, [colWidths, columnCount, direction]);\n return stickyOffsets;\n}\nexport default useStickyOffsets;","import * as React from 'react';\nfunction Panel(_ref) {\n var className = _ref.className,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n}\nexport default Panel;","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback, option);\n }\n }\n };\n}","/* eslint-disable no-nested-ternary */\nvar PIXEL_PATTERN = /margin|padding|width|height|max|min|offset/;\nvar removePixel = {\n left: true,\n top: true\n};\nvar floatMap = {\n cssFloat: 1,\n styleFloat: 1,\n float: 1\n};\nfunction getComputedStyle(node) {\n return node.nodeType === 1 ? node.ownerDocument.defaultView.getComputedStyle(node, null) : {};\n}\nfunction getStyleValue(node, type, value) {\n type = type.toLowerCase();\n if (value === 'auto') {\n if (type === 'height') {\n return node.offsetHeight;\n }\n if (type === 'width') {\n return node.offsetWidth;\n }\n }\n if (!(type in removePixel)) {\n removePixel[type] = PIXEL_PATTERN.test(type);\n }\n return removePixel[type] ? parseFloat(value) || 0 : value;\n}\nexport function get(node, name) {\n var length = arguments.length;\n var style = getComputedStyle(node);\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n return length === 1 ? style : getStyleValue(node, name, style[name] || node.style[name]);\n}\nexport function set(node, name, value) {\n var length = arguments.length;\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n if (length === 3) {\n if (typeof value === 'number' && PIXEL_PATTERN.test(name)) {\n value = \"\".concat(value, \"px\");\n }\n node.style[name] = value; // Number\n return value;\n }\n for (var x in name) {\n if (name.hasOwnProperty(x)) {\n set(node, x, name[x]);\n }\n }\n return getComputedStyle(node);\n}\nexport function getOuterWidth(el) {\n if (el === document.body) {\n return document.documentElement.clientWidth;\n }\n return el.offsetWidth;\n}\nexport function getOuterHeight(el) {\n if (el === document.body) {\n return window.innerHeight || document.documentElement.clientHeight;\n }\n return el.offsetHeight;\n}\nexport function getDocSize() {\n var width = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);\n var height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n return {\n width: width,\n height: height\n };\n}\nexport function getClientSize() {\n var width = document.documentElement.clientWidth;\n var height = window.innerHeight || document.documentElement.clientHeight;\n return {\n width: width,\n height: height\n };\n}\nexport function getScroll() {\n return {\n scrollLeft: Math.max(document.documentElement.scrollLeft, document.body.scrollLeft),\n scrollTop: Math.max(document.documentElement.scrollTop, document.body.scrollTop)\n };\n}\nexport function getOffset(node) {\n var box = node.getBoundingClientRect();\n var docElem = document.documentElement;\n\n // < ie8 不支持 win.pageXOffset, 则使用 docElem.scrollLeft\n return {\n left: box.left + (window.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || document.body.clientLeft || 0),\n top: box.top + (window.pageYOffset || docElem.scrollTop) - (docElem.clientTop || document.body.clientTop || 0)\n };\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport { getOffset } from \"rc-util/es/Dom/css\";\nimport getScrollBarSize from \"rc-util/es/getScrollBarSize\";\nimport * as React from 'react';\nimport TableContext from \"./context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { useLayoutState } from \"./hooks/useFrame\";\nvar StickyScrollBar = function StickyScrollBar(_ref, ref) {\n var _scrollBodyRef$curren, _scrollBodyRef$curren2;\n var scrollBodyRef = _ref.scrollBodyRef,\n onScroll = _ref.onScroll,\n offsetScroll = _ref.offsetScroll,\n container = _ref.container;\n var prefixCls = useContext(TableContext, 'prefixCls');\n var bodyScrollWidth = ((_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 ? void 0 : _scrollBodyRef$curren.scrollWidth) || 0;\n var bodyWidth = ((_scrollBodyRef$curren2 = scrollBodyRef.current) === null || _scrollBodyRef$curren2 === void 0 ? void 0 : _scrollBodyRef$curren2.clientWidth) || 0;\n var scrollBarWidth = bodyScrollWidth && bodyWidth * (bodyWidth / bodyScrollWidth);\n var scrollBarRef = React.useRef();\n var _useLayoutState = useLayoutState({\n scrollLeft: 0,\n isHiddenScrollBar: false\n }),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n scrollState = _useLayoutState2[0],\n setScrollState = _useLayoutState2[1];\n var refState = React.useRef({\n delta: 0,\n x: 0\n });\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n isActive = _React$useState2[0],\n setActive = _React$useState2[1];\n var onMouseUp = function onMouseUp() {\n setActive(false);\n };\n var onMouseDown = function onMouseDown(event) {\n event.persist();\n refState.current.delta = event.pageX - scrollState.scrollLeft;\n refState.current.x = 0;\n setActive(true);\n event.preventDefault();\n };\n var onMouseMove = function onMouseMove(event) {\n var _window;\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n var _ref2 = event || ((_window = window) === null || _window === void 0 ? void 0 : _window.event),\n buttons = _ref2.buttons;\n if (!isActive || buttons === 0) {\n // If out body mouse up, we can set isActive false when mouse move\n if (isActive) {\n setActive(false);\n }\n return;\n }\n var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;\n if (left <= 0) {\n left = 0;\n }\n if (left + scrollBarWidth >= bodyWidth) {\n left = bodyWidth - scrollBarWidth;\n }\n onScroll({\n scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)\n });\n refState.current.x = event.pageX;\n };\n var onContainerScroll = function onContainerScroll() {\n if (!scrollBodyRef.current) {\n return;\n }\n var tableOffsetTop = getOffset(scrollBodyRef.current).top;\n var tableBottomOffset = tableOffsetTop + scrollBodyRef.current.offsetHeight;\n var currentClientOffset = container === window ? document.documentElement.scrollTop + window.innerHeight : getOffset(container).top + container.clientHeight;\n if (tableBottomOffset - getScrollBarSize() <= currentClientOffset || tableOffsetTop >= currentClientOffset - offsetScroll) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n isHiddenScrollBar: true\n });\n });\n } else {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n isHiddenScrollBar: false\n });\n });\n }\n };\n var setScrollLeft = function setScrollLeft(left) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: left / bodyScrollWidth * bodyWidth || 0\n });\n });\n };\n React.useImperativeHandle(ref, function () {\n return {\n setScrollLeft: setScrollLeft\n };\n });\n React.useEffect(function () {\n var onMouseUpListener = addEventListener(document.body, 'mouseup', onMouseUp, false);\n var onMouseMoveListener = addEventListener(document.body, 'mousemove', onMouseMove, false);\n onContainerScroll();\n return function () {\n onMouseUpListener.remove();\n onMouseMoveListener.remove();\n };\n }, [scrollBarWidth, isActive]);\n React.useEffect(function () {\n var onScrollListener = addEventListener(container, 'scroll', onContainerScroll, false);\n var onResizeListener = addEventListener(window, 'resize', onContainerScroll, false);\n return function () {\n onScrollListener.remove();\n onResizeListener.remove();\n };\n }, [container]);\n React.useEffect(function () {\n if (!scrollState.isHiddenScrollBar) {\n setScrollState(function (state) {\n var bodyNode = scrollBodyRef.current;\n if (!bodyNode) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth\n });\n });\n }\n }, [scrollState.isHiddenScrollBar]);\n if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: getScrollBarSize(),\n width: bodyWidth,\n bottom: offsetScroll\n },\n className: \"\".concat(prefixCls, \"-sticky-scroll\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n onMouseDown: onMouseDown,\n ref: scrollBarRef,\n className: classNames(\"\".concat(prefixCls, \"-sticky-scroll-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-sticky-scroll-bar-active\"), isActive)),\n style: {\n width: \"\".concat(scrollBarWidth, \"px\"),\n transform: \"translate3d(\".concat(scrollState.scrollLeft, \"px, 0, 0)\")\n }\n }));\n};\nexport default /*#__PURE__*/React.forwardRef(StickyScrollBar);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n/**\n * Feature:\n * - fixed not need to set width\n * - support `rowExpandable` to config row expand logic\n * - add `summary` to support `() => ReactNode`\n *\n * Update:\n * - `dataIndex` is `array[]` now\n * - `expandable` wrap all the expand related props\n *\n * Removed:\n * - expandIconAsCell\n * - useFixedHeader\n * - rowRef\n * - columns[number].onCellClick\n * - onRowClick\n * - onRowDoubleClick\n * - onRowMouseEnter\n * - onRowMouseLeave\n * - getBodyWrapper\n * - bodyStyle\n *\n * Deprecated:\n * - All expanded props, move into expandable\n */\n\nimport { makeImmutable } from '@rc-component/context';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Body from \"./Body\";\nimport ColGroup from \"./ColGroup\";\nimport { EXPAND_COLUMN } from \"./constant\";\nimport TableContext from \"./context/TableContext\";\nimport FixedHolder from \"./FixedHolder\";\nimport Footer, { FooterComponents } from \"./Footer\";\nimport Summary from \"./Footer/Summary\";\nimport Header from \"./Header/Header\";\nimport useColumns from \"./hooks/useColumns\";\nimport useExpand from \"./hooks/useExpand\";\nimport useFixedInfo from \"./hooks/useFixedInfo\";\nimport { useLayoutState, useTimeoutLock } from \"./hooks/useFrame\";\nimport useHover from \"./hooks/useHover\";\nimport useSticky from \"./hooks/useSticky\";\nimport useStickyOffsets from \"./hooks/useStickyOffsets\";\nimport Panel from \"./Panel\";\nimport StickyScrollBar from \"./stickyScrollBar\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport { getColumnsKey, validateValue } from \"./utils/valueUtil\";\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';\nfunction defaultEmpty() {\n return 'No Data';\n}\nfunction Table(tableProps) {\n var _classNames;\n var props = _objectSpread({\n rowKey: 'key',\n prefixCls: 'rc-table',\n emptyText: defaultEmpty\n }, tableProps);\n var prefixCls = props.prefixCls,\n className = props.className,\n rowClassName = props.rowClassName,\n style = props.style,\n data = props.data,\n rowKey = props.rowKey,\n scroll = props.scroll,\n tableLayout = props.tableLayout,\n direction = props.direction,\n title = props.title,\n footer = props.footer,\n summary = props.summary,\n caption = props.caption,\n id = props.id,\n showHeader = props.showHeader,\n components = props.components,\n emptyText = props.emptyText,\n onRow = props.onRow,\n onHeaderRow = props.onHeaderRow,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n sticky = props.sticky;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length;\n\n // ===================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(function (name) {\n warning(props[name] === undefined, \"`\".concat(name, \"` is removed, please use `onRow` instead.\"));\n });\n warning(!('getBodyWrapper' in props), '`getBodyWrapper` is deprecated, please use custom `components` instead.');\n }\n\n // ==================== Customize =====================\n var getComponent = React.useCallback(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n }, [components]);\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return function (record) {\n var key = record && record[rowKey];\n if (process.env.NODE_ENV !== 'production') {\n warning(key !== undefined, 'Each record in table should have a unique `key` prop, or set `rowKey` to an unique primary key.');\n }\n return key;\n };\n }, [rowKey]);\n\n // ====================== Hover =======================\n var _useHover = useHover(),\n _useHover2 = _slicedToArray(_useHover, 3),\n startRow = _useHover2[0],\n endRow = _useHover2[1],\n onHover = _useHover2[2];\n\n // ====================== Expand ======================\n var _useExpand = useExpand(props, mergedData, getRowKey),\n _useExpand2 = _slicedToArray(_useExpand, 6),\n expandableConfig = _useExpand2[0],\n expandableType = _useExpand2[1],\n mergedExpandedKeys = _useExpand2[2],\n mergedExpandIcon = _useExpand2[3],\n mergedChildrenColumnName = _useExpand2[4],\n onTriggerExpand = _useExpand2[5];\n\n // ====================== Column ======================\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n componentWidth = _React$useState2[0],\n setComponentWidth = _React$useState2[1];\n var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n expandable: !!expandableConfig.expandedRowRender,\n columnTitle: expandableConfig.columnTitle,\n expandedKeys: mergedExpandedKeys,\n getRowKey: getRowKey,\n // https://github.com/ant-design/ant-design/issues/23894\n onTriggerExpand: onTriggerExpand,\n expandIcon: mergedExpandIcon,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n direction: direction\n }), internalHooks === INTERNAL_HOOKS ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 2),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1];\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]);\n\n // ====================== Scroll ======================\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n var scrollSummaryRef = React.useRef();\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pingedLeft = _React$useState4[0],\n setPingedLeft = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedRight = _React$useState6[0],\n setPingedRight = _React$useState6[1];\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1];\n\n // Convert map to number width\n var colsKeys = getColumnsKey(flattenColumns);\n var pureColWidths = colsKeys.map(function (columnKey) {\n return colsWidths.get(columnKey);\n });\n var colWidths = React.useMemo(function () {\n return pureColWidths;\n }, [pureColWidths.join('_')]);\n var stickyOffsets = useStickyOffsets(colWidths, flattenColumns.length, direction);\n var fixHeader = scroll && validateValue(scroll.y);\n var horizonScroll = scroll && validateValue(scroll.x) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n var fixed = _ref.fixed;\n return fixed;\n });\n\n // Sticky\n var stickyRef = React.useRef();\n var _useSticky = useSticky(sticky, prefixCls),\n isSticky = _useSticky.isSticky,\n offsetHeader = _useSticky.offsetHeader,\n offsetSummary = _useSticky.offsetSummary,\n offsetScroll = _useSticky.offsetScroll,\n stickyClassName = _useSticky.stickyClassName,\n container = _useSticky.container;\n\n // Footer (Fix footer must fixed header)\n var summaryNode = React.useMemo(function () {\n return summary === null || summary === void 0 ? void 0 : summary(mergedData);\n }, [summary, mergedData]);\n var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed;\n\n // Scroll\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n if (fixHeader) {\n scrollYStyle = {\n overflowY: 'scroll',\n maxHeight: scroll.y\n };\n }\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\n };\n // When no vertical scrollbar, should hide it\n // https://github.com/ant-design/ant-design/pull/20705\n // https://github.com/ant-design/ant-design/issues/21879\n if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n scrollTableStyle = {\n width: (scroll === null || scroll === void 0 ? void 0 : scroll.x) === true ? 'auto' : scroll === null || scroll === void 0 ? void 0 : scroll.x,\n minWidth: '100%'\n };\n }\n var onColumnResize = React.useCallback(function (columnKey, width) {\n if (isVisible(fullTableRef.current)) {\n updateColsWidths(function (widths) {\n if (widths.get(columnKey) !== width) {\n var newWidths = new Map(widths);\n newWidths.set(columnKey, width);\n return newWidths;\n }\n return widths;\n });\n }\n }, []);\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n target.scrollLeft = scrollLeft;\n\n // Delay to force scroll position if not sync\n // ref: https://github.com/ant-design/ant-design/issues/37179\n if (target.scrollLeft !== scrollLeft) {\n setTimeout(function () {\n target.scrollLeft = scrollLeft;\n }, 0);\n }\n }\n }\n var onScroll = useEvent(function (_ref2) {\n var currentTarget = _ref2.currentTarget,\n scrollLeft = _ref2.scrollLeft;\n var isRTL = direction === 'rtl';\n var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\n setScrollTarget(compareTarget);\n forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n forceScroll(mergedScrollLeft, scrollBodyRef.current);\n forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n forceScroll(mergedScrollLeft, (_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.setScrollLeft);\n }\n if (currentTarget) {\n var scrollWidth = currentTarget.scrollWidth,\n clientWidth = currentTarget.clientWidth;\n // There is no space to scroll\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\n }\n if (isRTL) {\n setPingedLeft(-mergedScrollLeft < scrollWidth - clientWidth);\n setPingedRight(-mergedScrollLeft > 0);\n } else {\n setPingedLeft(mergedScrollLeft > 0);\n setPingedRight(mergedScrollLeft < scrollWidth - clientWidth);\n }\n }\n });\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n onScroll({\n currentTarget: scrollBodyRef.current\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n var onFullTableResize = function onFullTableResize(_ref3) {\n var width = _ref3.width;\n if (width !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(fullTableRef.current ? fullTableRef.current.offsetWidth : width);\n }\n };\n\n // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n var mounted = React.useRef(false);\n React.useEffect(function () {\n // onFullTableResize will be trigger once when ResizeObserver is mounted\n // This will reduce one duplicated triggerOnScroll time\n if (mounted.current) {\n triggerOnScroll();\n }\n }, [horizonScroll, data, columns.length]);\n React.useEffect(function () {\n mounted.current = true;\n }, []);\n\n // ===================== Effects ======================\n var _React$useState7 = React.useState(0),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n scrollbarSize = _React$useState8[0],\n setScrollbarSize = _React$useState8[1];\n var _React$useState9 = React.useState(true),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n supportSticky = _React$useState10[0],\n setSupportSticky = _React$useState10[1]; // Only IE not support, we mark as support first\n\n React.useEffect(function () {\n if (scrollBodyRef.current instanceof Element) {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n } else {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n }\n setSupportSticky(isStyleSupport('position', 'sticky'));\n }, []);\n\n // ================== INTERNAL HOOKS ==================\n React.useEffect(function () {\n if (internalHooks === INTERNAL_HOOKS && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n });\n\n // ========================================================================\n // == Render ==\n // ========================================================================\n // =================== Render: Func ===================\n var renderFixedHeaderTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n }, [fixFooter, summaryNode]);\n var renderFixedFooterTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n }, [summaryNode]);\n\n // =================== Render: Node ===================\n var TableComponent = getComponent(['table'], 'table');\n\n // Table layout\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\n }\n // https://github.com/ant-design/ant-design/issues/25227\n // When scroll.x is max-content, no need to fix table layout\n // it's width should stretch out to fit content\n if (fixColumn) {\n return (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' ? 'auto' : 'fixed';\n }\n if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n var ellipsis = _ref4.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode;\n\n // Header props\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n };\n\n // Empty\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n return emptyText;\n }, [hasData, emptyText]);\n\n // Body\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky,\n expandedKeys: mergedExpandedKeys,\n rowExpandable: expandableConfig.rowExpandable,\n getRowKey: getRowKey,\n onRow: onRow,\n emptyNode: emptyNode,\n childrenColumnName: mergedChildrenColumnName\n });\n var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(function (_ref5) {\n var width = _ref5.width;\n return width;\n }),\n columns: flattenColumns\n });\n var captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n className: \"\".concat(prefixCls, \"-caption\")\n }, caption) : undefined;\n var customizeScrollBody = getComponent(['body']);\n if (process.env.NODE_ENV !== 'production' && typeof customizeScrollBody === 'function' && hasData && !fixHeader) {\n warning(false, '`components.body` with render props is only work on `scroll.y`.');\n }\n var dataProps = pickAttrs(props, {\n data: true\n });\n var ariaProps = pickAttrs(props, {\n aria: true\n });\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize: scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onScroll\n });\n headerProps.colWidths = flattenColumns.map(function (_ref6, index) {\n var width = _ref6.width;\n var colWidth = index === columns.length - 1 ? width - scrollbarSize : width;\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(props.columns.length === 0, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n }\n return 0;\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n onScroll: onScroll,\n ref: scrollBodyRef,\n className: classNames(\"\".concat(prefixCls, \"-body\"))\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n columns: columns\n }, summaryNode)));\n }\n\n // Fixed holder share the props\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && scroll.x === 'max-content'\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: stickyClassName,\n onScroll: onScroll\n });\n groupTableNode = /*#__PURE__*/React.createElement(React.Fragment, null, showHeader !== false && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyTopOffset: offsetHeader,\n className: \"\".concat(prefixCls, \"-header\"),\n ref: scrollHeaderRef\n }), renderFixedHeaderTable), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyBottomOffset: offsetSummary,\n className: \"\".concat(prefixCls, \"-summary\"),\n ref: scrollSummaryRef\n }), renderFixedFooterTable), isSticky && /*#__PURE__*/React.createElement(StickyScrollBar, {\n ref: stickyRef,\n offsetScroll: offsetScroll,\n scrollBodyRef: scrollBodyRef,\n onScroll: onScroll,\n container: container\n }));\n } else {\n // >>>>>> Unique table\n groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n className: classNames(\"\".concat(prefixCls, \"-content\")),\n onScroll: onScroll,\n ref: scrollBodyRef\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n columns: columns\n }, summaryNode)));\n }\n var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-right\"), pingedRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right'), _classNames)),\n style: style,\n id: id,\n ref: fullTableRef\n }, dataProps), title && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-title\")\n }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollBodyContainerRef,\n className: \"\".concat(prefixCls, \"-container\")\n }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer(mergedData)));\n if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction, columns);\n var TableContextValue = React.useMemo(function () {\n return {\n // Table\n prefixCls: prefixCls,\n getComponent: getComponent,\n scrollbarSize: scrollbarSize,\n direction: direction,\n fixedInfoList: fixedInfoList,\n isSticky: isSticky,\n supportSticky: supportSticky,\n componentWidth: componentWidth,\n fixHeader: fixHeader,\n fixColumn: fixColumn,\n horizonScroll: horizonScroll,\n // Body\n\n tableLayout: mergedTableLayout,\n rowClassName: rowClassName,\n expandedRowClassName: expandableConfig.expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType: expandableType,\n expandRowByClick: expandableConfig.expandRowByClick,\n expandedRowRender: expandableConfig.expandedRowRender,\n onTriggerExpand: onTriggerExpand,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n indentSize: expandableConfig.indentSize,\n allColumnsFixedLeft: flattenColumns.every(function (col) {\n return col.fixed === 'left';\n }),\n // Column\n columns: columns,\n flattenColumns: flattenColumns,\n onColumnResize: onColumnResize,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover: onHover\n };\n }, [\n // Table\n prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n // Body\n mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize,\n // Column\n columns, flattenColumns, onColumnResize,\n // Row\n startRow, endRow, onHover]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, fullTable);\n}\nexport function genTable(shouldTriggerRender) {\n return makeImmutable(Table, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useHover() {\n var _React$useState = React.useState(-1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n startRow = _React$useState2[0],\n setStartRow = _React$useState2[1];\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n endRow = _React$useState4[0],\n setEndRow = _React$useState4[1];\n var onHover = React.useCallback(function (start, end) {\n setStartRow(start);\n setEndRow(end);\n }, []);\n return [startRow, endRow, onHover];\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../Table\";\nimport { findAllChildrenKeys, renderExpandIcon } from \"../utils/expandUtil\";\nimport { getExpandableProps } from \"../utils/legacyUtil\";\nexport default function useExpand(props, mergedData, getRowKey) {\n var expandableConfig = getExpandableProps(props);\n var expandIcon = expandableConfig.expandIcon,\n expandedRowKeys = expandableConfig.expandedRowKeys,\n defaultExpandedRowKeys = expandableConfig.defaultExpandedRowKeys,\n defaultExpandAllRows = expandableConfig.defaultExpandAllRows,\n expandedRowRender = expandableConfig.expandedRowRender,\n onExpand = expandableConfig.onExpand,\n onExpandedRowsChange = expandableConfig.onExpandedRowsChange,\n childrenColumnName = expandableConfig.childrenColumnName;\n var mergedExpandIcon = expandIcon || renderExpandIcon;\n var mergedChildrenColumnName = childrenColumnName || 'children';\n var expandableType = React.useMemo(function () {\n if (expandedRowRender) {\n return 'row';\n }\n /* eslint-disable no-underscore-dangle */\n /**\n * Fix https://github.com/ant-design/ant-design/issues/21154\n * This is a workaround to not to break current behavior.\n * We can remove follow code after final release.\n *\n * To other developer:\n * Do not use `__PARENT_RENDER_ICON__` in prod since we will remove this when refactor\n */\n if (props.expandable && props.internalHooks === INTERNAL_HOOKS && props.expandable.__PARENT_RENDER_ICON__ || mergedData.some(function (record) {\n return record && _typeof(record) === 'object' && record[mergedChildrenColumnName];\n })) {\n return 'nest';\n }\n /* eslint-enable */\n return false;\n }, [!!expandedRowRender, mergedData]);\n var _React$useState = React.useState(function () {\n if (defaultExpandedRowKeys) {\n return defaultExpandedRowKeys;\n }\n if (defaultExpandAllRows) {\n return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName);\n }\n return [];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerExpandedKeys = _React$useState2[0],\n setInnerExpandedKeys = _React$useState2[1];\n var mergedExpandedKeys = React.useMemo(function () {\n return new Set(expandedRowKeys || innerExpandedKeys || []);\n }, [expandedRowKeys, innerExpandedKeys]);\n var onTriggerExpand = React.useCallback(function (record) {\n var key = getRowKey(record, mergedData.indexOf(record));\n var newExpandedKeys;\n var hasKey = mergedExpandedKeys.has(key);\n if (hasKey) {\n mergedExpandedKeys.delete(key);\n newExpandedKeys = _toConsumableArray(mergedExpandedKeys);\n } else {\n newExpandedKeys = [].concat(_toConsumableArray(mergedExpandedKeys), [key]);\n }\n setInnerExpandedKeys(newExpandedKeys);\n if (onExpand) {\n onExpand(!hasKey, record);\n }\n if (onExpandedRowsChange) {\n onExpandedRowsChange(newExpandedKeys);\n }\n }, [getRowKey, mergedExpandedKeys, mergedData, onExpand, onExpandedRowsChange]);\n\n // Warning if use `expandedRowRender` and nest children in the same time\n if (process.env.NODE_ENV !== 'production' && expandedRowRender && mergedData.some(function (record) {\n return Array.isArray(record === null || record === void 0 ? void 0 : record[mergedChildrenColumnName]);\n })) {\n warning(false, '`expandedRowRender` should not use with nested Table');\n }\n return [expandableConfig, expandableType, mergedExpandedKeys, mergedExpandIcon, mergedChildrenColumnName, onTriggerExpand];\n}","import useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nexport default function useFixedInfo(flattenColumns, stickyOffsets, direction, columns) {\n var fixedInfoList = flattenColumns.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets, direction, columns === null || columns === void 0 ? void 0 : columns[colIndex]);\n });\n return useMemo(function () {\n return fixedInfoList;\n }, [fixedInfoList], function (prev, next) {\n return !isEqual(prev, next);\n });\n}","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction Column(_) {\n return null;\n}\nexport default Column;","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\nexport default ColumnGroup;","import * as React from 'react';\nexport default function useForceUpdate() {\n const [, forceUpdate] = React.useReducer(x => x + 1, 0);\n return forceUpdate;\n}","import React from 'react';\nimport { useToken } from '../theme/internal';\nexport const responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nconst getResponsiveMap = token => ({\n xs: `(max-width: ${token.screenXSMax}px)`,\n sm: `(min-width: ${token.screenSM}px)`,\n md: `(min-width: ${token.screenMD}px)`,\n lg: `(min-width: ${token.screenLG}px)`,\n xl: `(min-width: ${token.screenXL}px)`,\n xxl: `(min-width: ${token.screenXXL}px)`\n});\n/**\n * Ensures that the breakpoints token are valid, in good order\n * For each breakpoint : screenMin <= screen <= screenMax and screenMax <= nextScreenMin\n */\nconst validateBreakpoints = token => {\n const indexableToken = token;\n const revBreakpoints = [].concat(responsiveArray).reverse();\n revBreakpoints.forEach((breakpoint, i) => {\n const breakpointUpper = breakpoint.toUpperCase();\n const screenMin = `screen${breakpointUpper}Min`;\n const screen = `screen${breakpointUpper}`;\n if (!(indexableToken[screenMin] <= indexableToken[screen])) {\n throw new Error(`${screenMin}<=${screen} fails : !(${indexableToken[screenMin]}<=${indexableToken[screen]})`);\n }\n if (i < revBreakpoints.length - 1) {\n const screenMax = `screen${breakpointUpper}Max`;\n if (!(indexableToken[screen] <= indexableToken[screenMax])) {\n throw new Error(`${screen}<=${screenMax} fails : !(${indexableToken[screen]}<=${indexableToken[screenMax]})`);\n }\n const nextBreakpointUpperMin = revBreakpoints[i + 1].toUpperCase();\n const nextScreenMin = `screen${nextBreakpointUpperMin}Min`;\n if (!(indexableToken[screenMax] <= indexableToken[nextScreenMin])) {\n throw new Error(`${screenMax}<=${nextScreenMin} fails : !(${indexableToken[screenMax]}<=${indexableToken[nextScreenMin]})`);\n }\n }\n });\n return token;\n};\nexport default function useResponsiveObserver() {\n const [, token] = useToken();\n const responsiveMap = getResponsiveMap(validateBreakpoints(token));\n // To avoid repeat create instance, we add `useMemo` here.\n return React.useMemo(() => {\n const subscribers = new Map();\n let subUid = -1;\n let screens = {};\n return {\n matchHandlers: {},\n dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(func => func(screens));\n return subscribers.size >= 1;\n },\n subscribe(func) {\n if (!subscribers.size) this.register();\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe(paramToken) {\n subscribers.delete(paramToken);\n if (!subscribers.size) this.unregister();\n },\n unregister() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const handler = this.matchHandlers[matchMediaQuery];\n handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n },\n register() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const listener = _ref => {\n let {\n matches\n } = _ref;\n this.dispatch(Object.assign(Object.assign({}, screens), {\n [screen]: matches\n }));\n };\n const mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n this.matchHandlers[matchMediaQuery] = {\n mql,\n listener\n };\n listener(mql);\n });\n },\n responsiveMap\n };\n }, [token]);\n}","import { useEffect, useRef } from 'react';\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\nimport useResponsiveObserver from '../../_util/responsiveObserver';\nfunction useBreakpoint() {\n let refreshOnChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n const screensRef = useRef({});\n const forceUpdate = useForceUpdate();\n const responsiveObserver = useResponsiveObserver();\n useEffect(() => {\n const token = responsiveObserver.subscribe(supportScreens => {\n screensRef.current = supportScreens;\n if (refreshOnChange) {\n forceUpdate();\n }\n });\n return () => responsiveObserver.unsubscribe(token);\n }, []);\n return screensRef.current;\n}\nexport default useBreakpoint;","// This icon file is generated automatically.\nvar DoubleLeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z\" } }] }, \"name\": \"double-left\", \"theme\": \"outlined\" };\nexport default DoubleLeftOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DoubleLeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/DoubleLeftOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DoubleLeftOutlined = function DoubleLeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DoubleLeftOutlinedSvg\n }));\n};\nDoubleLeftOutlined.displayName = 'DoubleLeftOutlined';\nexport default /*#__PURE__*/React.forwardRef(DoubleLeftOutlined);","// This icon file is generated automatically.\nvar DoubleRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z\" } }] }, \"name\": \"double-right\", \"theme\": \"outlined\" };\nexport default DoubleRightOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DoubleRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/DoubleRightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DoubleRightOutlined = function DoubleRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DoubleRightOutlinedSvg\n }));\n};\nDoubleRightOutlined.displayName = 'DoubleRightOutlined';\nexport default /*#__PURE__*/React.forwardRef(DoubleRightOutlined);","var KeyCode = {\n ZERO: 48,\n NINE: 57,\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};\nexport default KeyCode;","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\";\n/* eslint react/prop-types: 0 */\nimport React from 'react';\nimport KEYCODE from './KeyCode';\nvar Options = /*#__PURE__*/function (_React$Component) {\n _inherits(Options, _React$Component);\n var _super = _createSuper(Options);\n function Options() {\n var _this;\n _classCallCheck(this, Options);\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 _this.state = {\n goInputText: ''\n };\n _this.getValidValue = function () {\n var goInputText = _this.state.goInputText;\n // eslint-disable-next-line no-restricted-globals\n return !goInputText || Number.isNaN(goInputText) ? undefined : Number(goInputText);\n };\n _this.buildOptionText = function (value) {\n return \"\".concat(value, \" \").concat(_this.props.locale.items_per_page);\n };\n _this.changeSize = function (value) {\n _this.props.changeSize(Number(value));\n };\n _this.handleChange = function (e) {\n _this.setState({\n goInputText: e.target.value\n });\n };\n _this.handleBlur = function (e) {\n var _this$props = _this.props,\n goButton = _this$props.goButton,\n quickGo = _this$props.quickGo,\n rootPrefixCls = _this$props.rootPrefixCls;\n var goInputText = _this.state.goInputText;\n if (goButton || goInputText === '') {\n return;\n }\n _this.setState({\n goInputText: ''\n });\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(_this.getValidValue());\n };\n _this.go = function (e) {\n var goInputText = _this.state.goInputText;\n if (goInputText === '') {\n return;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.setState({\n goInputText: ''\n });\n _this.props.quickGo(_this.getValidValue());\n }\n };\n return _this;\n }\n _createClass(Options, [{\n key: \"getPageSizeOptions\",\n value: function getPageSizeOptions() {\n var _this$props2 = this.props,\n pageSize = _this$props2.pageSize,\n pageSizeOptions = _this$props2.pageSizeOptions;\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 // eslint-disable-next-line no-restricted-globals\n var numberA = Number.isNaN(Number(a)) ? 0 : Number(a);\n // eslint-disable-next-line no-restricted-globals\n var numberB = Number.isNaN(Number(b)) ? 0 : Number(b);\n return numberA - numberB;\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props3 = this.props,\n pageSize = _this$props3.pageSize,\n locale = _this$props3.locale,\n rootPrefixCls = _this$props3.rootPrefixCls,\n changeSize = _this$props3.changeSize,\n quickGo = _this$props3.quickGo,\n goButton = _this$props3.goButton,\n selectComponentClass = _this$props3.selectComponentClass,\n buildOptionText = _this$props3.buildOptionText,\n selectPrefixCls = _this$props3.selectPrefixCls,\n disabled = _this$props3.disabled;\n var goInputText = this.state.goInputText;\n var prefixCls = \"\".concat(rootPrefixCls, \"-options\");\n var Select = selectComponentClass;\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n if (!changeSize && !quickGo) {\n return null;\n }\n var pageSizeOptions = this.getPageSizeOptions();\n if (changeSize && Select) {\n var options = pageSizeOptions.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(Select.Option, {\n key: i,\n value: opt.toString()\n }, (buildOptionText || _this2.buildOptionText)(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 dropdownMatchSelectWidth: false,\n value: (pageSize || pageSizeOptions[0]).toString(),\n onChange: this.changeSize,\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: this.go,\n onKeyUp: this.go,\n disabled: disabled,\n className: \"\".concat(prefixCls, \"-quick-jumper-button\")\n }, locale.jump_to_confirm) : /*#__PURE__*/React.createElement(\"span\", {\n onClick: this.go,\n onKeyUp: this.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: this.handleChange,\n onKeyUp: this.go,\n onBlur: this.handleBlur,\n \"aria-label\": locale.page\n }), locale.page, gotoButton);\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls)\n }, changeSelect, goInput);\n }\n }]);\n return Options;\n}(React.Component);\nOptions.defaultProps = {\n pageSizeOptions: ['10', '20', '50', '100']\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), _defineProperty(_classNames, props.className, className), _classNames));\n var handleClick = function handleClick() {\n onClick(page);\n };\n var handleKeyPress = function handleKeyPress(e) {\n onKeyPress(e, onClick, page);\n };\n return /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? page.toString() : null,\n className: cls,\n onClick: handleClick,\n onKeyPress: handleKeyPress,\n tabIndex: 0\n }, itemRender(page, 'page', /*#__PURE__*/React.createElement(\"a\", {\n rel: \"nofollow\"\n }, page)));\n};\nexport default Pager;","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 _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\";\n/* eslint react/prop-types: 0 */\nimport classNames from 'classnames';\nimport React, { cloneElement, isValidElement } from 'react';\nimport KEYCODE from './KeyCode';\nimport LOCALE from './locale/zh_CN';\nimport Options from './Options';\nimport Pager from './Pager';\nfunction noop() {}\nfunction isInteger(v) {\n var value = Number(v);\n return (\n // eslint-disable-next-line no-restricted-globals\n typeof value === 'number' && !Number.isNaN(value) && isFinite(value) && Math.floor(value) === value\n );\n}\nvar defaultItemRender = function defaultItemRender(page, type, element) {\n return element;\n};\nfunction calculatePage(p, state, props) {\n var pageSize = typeof p === 'undefined' ? state.pageSize : p;\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\nvar Pagination = /*#__PURE__*/function (_React$Component) {\n _inherits(Pagination, _React$Component);\n var _super = _createSuper(Pagination);\n function Pagination(props) {\n var _this;\n _classCallCheck(this, Pagination);\n _this = _super.call(this, props);\n _this.paginationNode = /*#__PURE__*/React.createRef();\n _this.getJumpPrevPage = function () {\n return Math.max(1, _this.state.current - (_this.props.showLessItems ? 3 : 5));\n };\n _this.getJumpNextPage = function () {\n return Math.min(calculatePage(undefined, _this.state, _this.props), _this.state.current + (_this.props.showLessItems ? 3 : 5));\n };\n _this.getItemIcon = function (icon, label) {\n var prefixCls = _this.props.prefixCls;\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({}, _this.props));\n }\n return iconNode;\n };\n _this.isValid = function (page) {\n var total = _this.props.total;\n return isInteger(page) && page !== _this.state.current && isInteger(total) && total > 0;\n };\n _this.shouldDisplayQuickJumper = function () {\n var _this$props = _this.props,\n showQuickJumper = _this$props.showQuickJumper,\n total = _this$props.total;\n var pageSize = _this.state.pageSize;\n if (total <= pageSize) {\n return false;\n }\n return showQuickJumper;\n };\n _this.handleKeyDown = function (e) {\n if (e.keyCode === KEYCODE.ARROW_UP || e.keyCode === KEYCODE.ARROW_DOWN) {\n e.preventDefault();\n }\n };\n _this.handleKeyUp = function (e) {\n var value = _this.getValidValue(e);\n var currentInputValue = _this.state.currentInputValue;\n if (value !== currentInputValue) {\n _this.setState({\n currentInputValue: value\n });\n }\n if (e.keyCode === KEYCODE.ENTER) {\n _this.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n _this.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n _this.handleChange(value + 1);\n }\n };\n _this.handleBlur = function (e) {\n var value = _this.getValidValue(e);\n _this.handleChange(value);\n };\n _this.changePageSize = function (size) {\n var current = _this.state.current;\n var newCurrent = calculatePage(size, _this.state, _this.props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n // eslint-disable-next-line prefer-destructuring\n current = _this.state.current;\n }\n if (typeof size === 'number') {\n if (!('pageSize' in _this.props)) {\n _this.setState({\n pageSize: size\n });\n }\n if (!('current' in _this.props)) {\n _this.setState({\n current: current,\n currentInputValue: current\n });\n }\n }\n _this.props.onShowSizeChange(current, size);\n if ('onChange' in _this.props && _this.props.onChange) {\n _this.props.onChange(current, size);\n }\n };\n _this.handleChange = function (page) {\n var _this$props2 = _this.props,\n disabled = _this$props2.disabled,\n onChange = _this$props2.onChange;\n var _this$state = _this.state,\n pageSize = _this$state.pageSize,\n current = _this$state.current,\n currentInputValue = _this$state.currentInputValue;\n if (_this.isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, _this.state, _this.props);\n var newPage = page;\n if (page > currentPage) {\n newPage = currentPage;\n } else if (page < 1) {\n newPage = 1;\n }\n if (!('current' in _this.props)) {\n _this.setState({\n current: newPage\n });\n }\n if (newPage !== currentInputValue) {\n _this.setState({\n currentInputValue: newPage\n });\n }\n onChange(newPage, pageSize);\n return newPage;\n }\n return current;\n };\n _this.prev = function () {\n if (_this.hasPrev()) {\n _this.handleChange(_this.state.current - 1);\n }\n };\n _this.next = function () {\n if (_this.hasNext()) {\n _this.handleChange(_this.state.current + 1);\n }\n };\n _this.jumpPrev = function () {\n _this.handleChange(_this.getJumpPrevPage());\n };\n _this.jumpNext = function () {\n _this.handleChange(_this.getJumpNextPage());\n };\n _this.hasPrev = function () {\n return _this.state.current > 1;\n };\n _this.hasNext = function () {\n return _this.state.current < calculatePage(undefined, _this.state, _this.props);\n };\n _this.runIfEnter = function (event, callback) {\n if (event.key === 'Enter' || event.charCode === 13) {\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 _this.runIfEnterPrev = function (e) {\n _this.runIfEnter(e, _this.prev);\n };\n _this.runIfEnterNext = function (e) {\n _this.runIfEnter(e, _this.next);\n };\n _this.runIfEnterJumpPrev = function (e) {\n _this.runIfEnter(e, _this.jumpPrev);\n };\n _this.runIfEnterJumpNext = function (e) {\n _this.runIfEnter(e, _this.jumpNext);\n };\n _this.handleGoTO = function (e) {\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.handleChange(_this.state.currentInputValue);\n }\n };\n _this.renderPrev = function (prevPage) {\n var _this$props3 = _this.props,\n prevIcon = _this$props3.prevIcon,\n itemRender = _this$props3.itemRender;\n var prevButton = itemRender(prevPage, 'prev', _this.getItemIcon(prevIcon, 'prev page'));\n var disabled = !_this.hasPrev();\n return /*#__PURE__*/isValidElement(prevButton) ? /*#__PURE__*/cloneElement(prevButton, {\n disabled: disabled\n }) : prevButton;\n };\n _this.renderNext = function (nextPage) {\n var _this$props4 = _this.props,\n nextIcon = _this$props4.nextIcon,\n itemRender = _this$props4.itemRender;\n var nextButton = itemRender(nextPage, 'next', _this.getItemIcon(nextIcon, 'next page'));\n var disabled = !_this.hasNext();\n return /*#__PURE__*/isValidElement(nextButton) ? /*#__PURE__*/cloneElement(nextButton, {\n disabled: disabled\n }) : nextButton;\n };\n var hasOnChange = props.onChange !== noop;\n var hasCurrent = ('current' in props);\n if (hasCurrent && !hasOnChange) {\n // eslint-disable-next-line no-console\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.');\n }\n var _current = props.defaultCurrent;\n if ('current' in props) {\n // eslint-disable-next-line prefer-destructuring\n _current = props.current;\n }\n var _pageSize = props.defaultPageSize;\n if ('pageSize' in props) {\n // eslint-disable-next-line prefer-destructuring\n _pageSize = props.pageSize;\n }\n _current = Math.min(_current, calculatePage(_pageSize, undefined, props));\n _this.state = {\n current: _current,\n currentInputValue: _current,\n pageSize: _pageSize\n };\n return _this;\n }\n _createClass(Pagination, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_, prevState) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n var prefixCls = this.props.prefixCls;\n if (prevState.current !== this.state.current && this.paginationNode.current) {\n var lastCurrentNode = this.paginationNode.current.querySelector(\".\".concat(prefixCls, \"-item-\").concat(prevState.current));\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n var _lastCurrentNode$blur;\n lastCurrentNode === null || lastCurrentNode === void 0 ? void 0 : (_lastCurrentNode$blur = lastCurrentNode.blur) === null || _lastCurrentNode$blur === void 0 ? void 0 : _lastCurrentNode$blur.call(lastCurrentNode);\n }\n }\n }\n }, {\n key: \"getValidValue\",\n value: function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, this.state, this.props);\n var currentInputValue = this.state.currentInputValue;\n var value;\n if (inputValue === '') {\n value = inputValue;\n // eslint-disable-next-line no-restricted-globals\n } else if (Number.isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n return value;\n }\n }, {\n key: \"getShowSizeChanger\",\n value: function getShowSizeChanger() {\n var _this$props5 = this.props,\n showSizeChanger = _this$props5.showSizeChanger,\n total = _this$props5.total,\n totalBoundaryShowSizeChanger = _this$props5.totalBoundaryShowSizeChanger;\n if (typeof showSizeChanger !== 'undefined') {\n return showSizeChanger;\n }\n return total > totalBoundaryShowSizeChanger;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n className = _this$props6.className,\n style = _this$props6.style,\n disabled = _this$props6.disabled,\n hideOnSinglePage = _this$props6.hideOnSinglePage,\n total = _this$props6.total,\n locale = _this$props6.locale,\n showQuickJumper = _this$props6.showQuickJumper,\n showLessItems = _this$props6.showLessItems,\n showTitle = _this$props6.showTitle,\n showTotal = _this$props6.showTotal,\n simple = _this$props6.simple,\n itemRender = _this$props6.itemRender,\n showPrevNextJumpers = _this$props6.showPrevNextJumpers,\n jumpPrevIcon = _this$props6.jumpPrevIcon,\n jumpNextIcon = _this$props6.jumpNextIcon,\n selectComponentClass = _this$props6.selectComponentClass,\n selectPrefixCls = _this$props6.selectPrefixCls,\n pageSizeOptions = _this$props6.pageSizeOptions;\n var _this$state2 = this.state,\n current = _this$state2.current,\n pageSize = _this$state2.pageSize,\n currentInputValue = _this$state2.currentInputValue;\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (hideOnSinglePage === true && total <= pageSize) {\n return null;\n }\n var allPages = calculatePage(undefined, this.state, this.props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n var goButton = showQuickJumper && showQuickJumper.goButton;\n var pageBufferSize = showLessItems ? 1 : 2;\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n var dataOrAriaAttributeProps = Object.keys(this.props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n // eslint-disable-next-line no-param-reassign\n prev[key] = _this2.props[key];\n }\n return prev;\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 if (simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n }, locale.jump_to_confirm);\n } else {\n gotoButton = /*#__PURE__*/React.createElement(\"span\", {\n onClick: this.handleGoTO,\n onKeyUp: this.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 return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-simple\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), className),\n style: style,\n ref: this.paginationNode\n }, dataOrAriaAttributeProps), totalText, /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), !this.hasPrev())),\n \"aria-disabled\": !this.hasPrev()\n }, this.renderPrev(prevPage)), /*#__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: currentInputValue,\n disabled: disabled,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onChange: this.handleKeyUp,\n onBlur: this.handleBlur,\n size: 3\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-slash\")\n }, \"/\"), allPages), /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), !this.hasNext())),\n \"aria-disabled\": !this.hasNext()\n }, this.renderNext(nextPage)), gotoButton);\n }\n if (allPages <= 3 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n showTitle: showTitle,\n itemRender: itemRender\n };\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 var active = current === i;\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: i,\n page: i,\n active: active\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 if (showPrevNextJumpers) {\n jumpPrev = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? prevItemTitle : null,\n key: \"prev\",\n onClick: this.jumpPrev,\n tabIndex: 0,\n onKeyPress: this.runIfEnterJumpPrev,\n className: classNames(\"\".concat(prefixCls, \"-jump-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-prev-custom-icon\"), !!jumpPrevIcon))\n }, itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon(jumpPrevIcon, 'prev page')));\n jumpNext = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? nextItemTitle : null,\n key: \"next\",\n tabIndex: 0,\n onClick: this.jumpNext,\n onKeyPress: this.runIfEnterJumpNext,\n className: classNames(\"\".concat(prefixCls, \"-jump-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-next-custom-icon\"), !!jumpNextIcon))\n }, itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon(jumpNextIcon, 'next page')));\n }\n lastPager = /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n last: true,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: allPages,\n page: allPages,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\n });\n firstPager = /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: 1,\n page: 1,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\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 var _active = current === _i;\n pagerList.push( /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: _i,\n page: _i,\n active: _active,\n showTitle: showTitle,\n itemRender: itemRender\n }));\n }\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = /*#__PURE__*/cloneElement(pagerList[0], {\n className: \"\".concat(prefixCls, \"-item-after-jump-prev\")\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = /*#__PURE__*/cloneElement(pagerList[pagerList.length - 1], {\n className: \"\".concat(prefixCls, \"-item-before-jump-next\")\n });\n pagerList.push(jumpNext);\n }\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)),\n style: style,\n ref: this.paginationNode\n }, dataOrAriaAttributeProps), totalText, /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: prevDisabled ? null : 0,\n onKeyPress: this.runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), prevDisabled)),\n \"aria-disabled\": prevDisabled\n }, this.renderPrev(prevPage)), pagerList, /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: nextDisabled ? null : 0,\n onKeyPress: this.runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), nextDisabled)),\n \"aria-disabled\": nextDisabled\n }, this.renderNext(nextPage)), /*#__PURE__*/React.createElement(Options, {\n disabled: disabled,\n locale: locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: selectComponentClass,\n selectPrefixCls: selectPrefixCls,\n changeSize: this.getShowSizeChanger() ? this.changePageSize : null,\n current: current,\n pageSize: pageSize,\n pageSizeOptions: pageSizeOptions,\n quickGo: this.shouldDisplayQuickJumper() ? this.handleChange : null,\n goButton: goButton\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, prevState) {\n var newState = {};\n if ('current' in props) {\n newState.current = props.current;\n if (props.current !== prevState.current) {\n newState.currentInputValue = newState.current;\n }\n }\n if ('pageSize' in props && props.pageSize !== prevState.pageSize) {\n var current = prevState.current;\n var newCurrent = calculatePage(props.pageSize, prevState, props);\n current = current > newCurrent ? newCurrent : current;\n if (!('current' in props)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n newState.pageSize = props.pageSize;\n }\n return newState;\n }\n }]);\n return Pagination;\n}(React.Component);\nPagination.defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: '',\n selectPrefixCls: 'rc-select',\n prefixCls: 'rc-pagination',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: LOCALE,\n style: {},\n itemRender: defaultItemRender,\n totalBoundaryShowSizeChanger: 50\n};\nexport default Pagination;","export default {\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n // Pagination.jsx\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};","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\nimport classNames from 'classnames';\nimport RcSelect, { OptGroup, Option } from 'rc-select';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport SizeContext from '../config-provider/SizeContext';\nimport { FormItemInputContext } from '../form/context';\nimport { getTransitionDirection, getTransitionName } from '../_util/motion';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport getIcons from './utils/iconUtil';\nimport { useCompactItemContext } from '../space/Compact';\nimport genPurePanel from '../_util/PurePanel';\nimport warning from '../_util/warning';\nimport useStyle from './style';\nimport useShowArrow from './useShowArrow';\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nconst InternalSelect = (_a, ref) => {\n var {\n prefixCls: customizePrefixCls,\n bordered = true,\n className,\n rootClassName,\n getPopupContainer,\n popupClassName,\n dropdownClassName,\n listHeight = 256,\n placement,\n listItemHeight = 24,\n size: customizeSize,\n disabled: customDisabled,\n notFoundContent,\n status: customStatus,\n showArrow\n } = _a,\n props = __rest(_a, [\"prefixCls\", \"bordered\", \"className\", \"rootClassName\", \"getPopupContainer\", \"popupClassName\", \"dropdownClassName\", \"listHeight\", \"placement\", \"listItemHeight\", \"size\", \"disabled\", \"notFoundContent\", \"status\", \"showArrow\"]);\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction,\n virtual,\n dropdownMatchSelectWidth,\n select\n } = React.useContext(ConfigContext);\n const size = React.useContext(SizeContext);\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const mode = React.useMemo(() => {\n const {\n mode: m\n } = props;\n if (m === 'combobox') {\n return undefined;\n }\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox';\n }\n return m;\n }, [props.mode]);\n const isMultiple = mode === 'multiple' || mode === 'tags';\n const mergedShowArrow = useShowArrow(showArrow);\n // ===================== Form Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon\n } = React.useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Empty =====================\n let mergedNotFound;\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent;\n } else if (mode === 'combobox') {\n mergedNotFound = null;\n } else {\n mergedNotFound = (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Select')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"Select\"\n });\n }\n // ===================== Icons =====================\n const {\n suffixIcon,\n itemIcon,\n removeIcon,\n clearIcon\n } = getIcons(Object.assign(Object.assign({}, props), {\n multiple: isMultiple,\n hasFeedback,\n feedbackIcon,\n showArrow: mergedShowArrow,\n prefixCls\n }));\n const selectProps = omit(props, ['suffixIcon', 'itemIcon']);\n const rcSelectRtlDropdownClassName = classNames(popupClassName || dropdownClassName, {\n [`${prefixCls}-dropdown-${direction}`]: direction === 'rtl'\n }, rootClassName, hashId);\n const mergedSize = compactSize || customizeSize || size;\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const mergedClassName = classNames({\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput\n }, getStatusClassNames(prefixCls, mergedStatus, hasFeedback), compactItemClassnames, className, rootClassName, hashId);\n // ===================== Placement =====================\n const getPlacement = () => {\n if (placement !== undefined) {\n return placement;\n }\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n };\n // ====================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!dropdownClassName, 'Select', '`dropdownClassName` is deprecated. Please use `popupClassName` instead.') : void 0;\n }\n // ====================== Render =======================\n return wrapSSR( /*#__PURE__*/React.createElement(RcSelect, Object.assign({\n ref: ref,\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n showSearch: select === null || select === void 0 ? void 0 : select.showSearch\n }, selectProps, {\n transitionName: getTransitionName(rootPrefixCls, getTransitionDirection(placement), props.transitionName),\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n mode: mode,\n prefixCls: prefixCls,\n placement: getPlacement(),\n direction: direction,\n inputIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n clearIcon: clearIcon,\n notFoundContent: mergedNotFound,\n className: mergedClassName,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: rcSelectRtlDropdownClassName,\n showArrow: hasFeedback || mergedShowArrow,\n disabled: mergedDisabled\n })));\n};\nif (process.env.NODE_ENV !== 'production') {\n InternalSelect.displayName = 'Select';\n}\nconst Select = /*#__PURE__*/React.forwardRef(InternalSelect);\n// We don't care debug panel\n/* istanbul ignore next */\nconst PurePanel = genPurePanel(Select);\nSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nSelect._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Select;","import * as React from 'react';\nimport Select from '../select';\nconst MiniSelect = props => /*#__PURE__*/React.createElement(Select, Object.assign({}, props, {\n size: \"small\"\n}));\nconst MiddleSelect = props => /*#__PURE__*/React.createElement(Select, Object.assign({}, props, {\n size: \"middle\"\n}));\nMiniSelect.Option = Select.Option;\nMiddleSelect.Option = Select.Option;\nexport { MiniSelect, MiddleSelect };","import { clearFix, resetComponent } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nexport const genPlaceholderStyle = color => ({\n // Firefox\n '&::-moz-placeholder': {\n opacity: 1\n },\n '&::placeholder': {\n color,\n userSelect: 'none' // https://github.com/ant-design/ant-design/pull/32639\n },\n\n '&:placeholder-shown': {\n textOverflow: 'ellipsis'\n }\n});\nexport const genHoverStyle = token => ({\n borderColor: token.inputBorderHoverColor,\n borderInlineEndWidth: token.lineWidth\n});\nexport const genActiveStyle = token => ({\n borderColor: token.inputBorderHoverColor,\n boxShadow: `0 0 0 ${token.controlOutlineWidth}px ${token.controlOutline}`,\n borderInlineEndWidth: token.lineWidth,\n outline: 0\n});\nexport const genDisabledStyle = token => ({\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n boxShadow: 'none',\n cursor: 'not-allowed',\n opacity: 1,\n '&:hover': Object.assign({}, genHoverStyle(mergeToken(token, {\n inputBorderHoverColor: token.colorBorder\n })))\n});\nconst genInputLargeStyle = token => {\n const {\n inputPaddingVerticalLG,\n fontSizeLG,\n lineHeightLG,\n borderRadiusLG,\n inputPaddingHorizontalLG\n } = token;\n return {\n padding: `${inputPaddingVerticalLG}px ${inputPaddingHorizontalLG}px`,\n fontSize: fontSizeLG,\n lineHeight: lineHeightLG,\n borderRadius: borderRadiusLG\n };\n};\nexport const genInputSmallStyle = token => ({\n padding: `${token.inputPaddingVerticalSM}px ${token.controlPaddingHorizontalSM - 1}px`,\n borderRadius: token.borderRadiusSM\n});\nexport const genStatusStyle = (token, parentCls) => {\n const {\n componentCls,\n colorError,\n colorWarning,\n colorErrorOutline,\n colorWarningOutline,\n colorErrorBorderHover,\n colorWarningBorderHover\n } = token;\n return {\n [`&-status-error:not(${parentCls}-disabled):not(${parentCls}-borderless)${parentCls}`]: {\n borderColor: colorError,\n '&:hover': {\n borderColor: colorErrorBorderHover\n },\n '&:focus, &-focused': Object.assign({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorError,\n inputBorderHoverColor: colorError,\n controlOutline: colorErrorOutline\n }))),\n [`${componentCls}-prefix, ${componentCls}-suffix`]: {\n color: colorError\n }\n },\n [`&-status-warning:not(${parentCls}-disabled):not(${parentCls}-borderless)${parentCls}`]: {\n borderColor: colorWarning,\n '&:hover': {\n borderColor: colorWarningBorderHover\n },\n '&:focus, &-focused': Object.assign({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorWarning,\n inputBorderHoverColor: colorWarning,\n controlOutline: colorWarningOutline\n }))),\n [`${componentCls}-prefix, ${componentCls}-suffix`]: {\n color: colorWarning\n }\n }\n };\n};\nexport const genBasicInputStyle = token => Object.assign(Object.assign({\n position: 'relative',\n display: 'inline-block',\n width: '100%',\n minWidth: 0,\n padding: `${token.inputPaddingVertical}px ${token.inputPaddingHorizontal}px`,\n color: token.colorText,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n backgroundColor: token.colorBgContainer,\n backgroundImage: 'none',\n borderWidth: token.lineWidth,\n borderStyle: token.lineType,\n borderColor: token.colorBorder,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationMid}`\n}, genPlaceholderStyle(token.colorTextPlaceholder)), {\n '&:hover': Object.assign({}, genHoverStyle(token)),\n '&:focus, &-focused': Object.assign({}, genActiveStyle(token)),\n '&-disabled, &[disabled]': Object.assign({}, genDisabledStyle(token)),\n '&-borderless': {\n '&, &:hover, &:focus, &-focused, &-disabled, &[disabled]': {\n backgroundColor: 'transparent',\n border: 'none',\n boxShadow: 'none'\n }\n },\n // Reset height for `textarea`s\n 'textarea&': {\n maxWidth: '100%',\n height: 'auto',\n minHeight: token.controlHeight,\n lineHeight: token.lineHeight,\n verticalAlign: 'bottom',\n transition: `all ${token.motionDurationSlow}, height 0s`,\n resize: 'vertical'\n },\n // Size\n '&-lg': Object.assign({}, genInputLargeStyle(token)),\n '&-sm': Object.assign({}, genInputSmallStyle(token)),\n // RTL\n '&-rtl': {\n direction: 'rtl'\n },\n '&-textarea-rtl': {\n direction: 'rtl'\n }\n});\nexport const genInputGroupStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n return {\n position: 'relative',\n display: 'table',\n width: '100%',\n borderCollapse: 'separate',\n borderSpacing: 0,\n // Undo padding and float of grid classes\n [`&[class*='col-']`]: {\n paddingInlineEnd: token.paddingXS,\n '&:last-child': {\n paddingInlineEnd: 0\n }\n },\n // Sizing options\n [`&-lg ${componentCls}, &-lg > ${componentCls}-group-addon`]: Object.assign({}, genInputLargeStyle(token)),\n [`&-sm ${componentCls}, &-sm > ${componentCls}-group-addon`]: Object.assign({}, genInputSmallStyle(token)),\n // Fix https://github.com/ant-design/ant-design/issues/5754\n [`&-lg ${antCls}-select-single ${antCls}-select-selector`]: {\n height: token.controlHeightLG\n },\n [`&-sm ${antCls}-select-single ${antCls}-select-selector`]: {\n height: token.controlHeightSM\n },\n [`> ${componentCls}`]: {\n display: 'table-cell',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n },\n [`${componentCls}-group`]: {\n [`&-addon, &-wrap`]: {\n display: 'table-cell',\n width: 1,\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n },\n '&-wrap > *': {\n display: 'block !important'\n },\n '&-addon': {\n position: 'relative',\n padding: `0 ${token.inputPaddingHorizontal}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n textAlign: 'center',\n backgroundColor: token.colorFillAlter,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationSlow}`,\n lineHeight: 1,\n // Reset Select's style in addon\n [`${antCls}-select`]: {\n margin: `-${token.inputPaddingVertical + 1}px -${token.inputPaddingHorizontal}px`,\n [`&${antCls}-select-single:not(${antCls}-select-customize-input)`]: {\n [`${antCls}-select-selector`]: {\n backgroundColor: 'inherit',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n boxShadow: 'none'\n }\n },\n '&-open, &-focused': {\n [`${antCls}-select-selector`]: {\n color: token.colorPrimary\n }\n }\n },\n // https://github.com/ant-design/ant-design/issues/31333\n [`${antCls}-cascader-picker`]: {\n margin: `-9px -${token.inputPaddingHorizontal}px`,\n backgroundColor: 'transparent',\n [`${antCls}-cascader-input`]: {\n textAlign: 'start',\n border: 0,\n boxShadow: 'none'\n }\n }\n },\n '&-addon:first-child': {\n borderInlineEnd: 0\n },\n '&-addon:last-child': {\n borderInlineStart: 0\n }\n },\n [`${componentCls}`]: {\n width: '100%',\n marginBottom: 0,\n textAlign: 'inherit',\n '&:focus': {\n zIndex: 1,\n borderInlineEndWidth: 1\n },\n '&:hover': {\n zIndex: 1,\n borderInlineEndWidth: 1,\n [`${componentCls}-search-with-button &`]: {\n zIndex: 0\n }\n }\n },\n // Reset rounded corners\n [`> ${componentCls}:first-child, ${componentCls}-group-addon:first-child`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n // Reset Select's style in addon\n [`${antCls}-select ${antCls}-select-selector`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`> ${componentCls}-affix-wrapper`]: {\n [`&:not(:first-child) ${componentCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n },\n [`&:not(:last-child) ${componentCls}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`> ${componentCls}:last-child, ${componentCls}-group-addon:last-child`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0,\n // Reset Select's style in addon\n [`${antCls}-select ${antCls}-select-selector`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`${componentCls}-affix-wrapper`]: {\n '&:not(:last-child)': {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n [`${componentCls}-search &`]: {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n }\n },\n [`&:not(:first-child), ${componentCls}-search &:not(:first-child)`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`&${componentCls}-group-compact`]: Object.assign(Object.assign({\n display: 'block'\n }, clearFix()), {\n [`${componentCls}-group-addon, ${componentCls}-group-wrap, > ${componentCls}`]: {\n '&:not(:first-child):not(:last-child)': {\n borderInlineEndWidth: token.lineWidth,\n '&:hover': {\n zIndex: 1\n },\n '&:focus': {\n zIndex: 1\n }\n }\n },\n '& > *': {\n display: 'inline-block',\n float: 'none',\n verticalAlign: 'top',\n borderRadius: 0\n },\n [`& > ${componentCls}-affix-wrapper`]: {\n display: 'inline-flex'\n },\n [`& > ${antCls}-picker-range`]: {\n display: 'inline-flex'\n },\n '& > *:not(:last-child)': {\n marginInlineEnd: -token.lineWidth,\n borderInlineEndWidth: token.lineWidth\n },\n // Undo float for .ant-input-group .ant-input\n [`${componentCls}`]: {\n float: 'none'\n },\n // reset border for Select, DatePicker, AutoComplete, Cascader, Mention, TimePicker, Input\n [`& > ${antCls}-select > ${antCls}-select-selector,\n & > ${antCls}-select-auto-complete ${componentCls},\n & > ${antCls}-cascader-picker ${componentCls},\n & > ${componentCls}-group-wrapper ${componentCls}`]: {\n borderInlineEndWidth: token.lineWidth,\n borderRadius: 0,\n '&:hover': {\n zIndex: 1\n },\n '&:focus': {\n zIndex: 1\n }\n },\n [`& > ${antCls}-select-focused`]: {\n zIndex: 1\n },\n // update z-index for arrow icon\n [`& > ${antCls}-select > ${antCls}-select-arrow`]: {\n zIndex: 1 // https://github.com/ant-design/ant-design/issues/20371\n },\n [`& > *:first-child,\n & > ${antCls}-select:first-child > ${antCls}-select-selector,\n & > ${antCls}-select-auto-complete:first-child ${componentCls},\n & > ${antCls}-cascader-picker:first-child ${componentCls}`]: {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n },\n [`& > *:last-child,\n & > ${antCls}-select:last-child > ${antCls}-select-selector,\n & > ${antCls}-cascader-picker:last-child ${componentCls},\n & > ${antCls}-cascader-picker-focused:last-child ${componentCls}`]: {\n borderInlineEndWidth: token.lineWidth,\n borderStartEndRadius: token.borderRadius,\n borderEndEndRadius: token.borderRadius\n },\n // https://github.com/ant-design/ant-design/issues/12493\n [`& > ${antCls}-select-auto-complete ${componentCls}`]: {\n verticalAlign: 'top'\n },\n [`${componentCls}-group-wrapper + ${componentCls}-group-wrapper`]: {\n marginInlineStart: -token.lineWidth,\n [`${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n }\n },\n [`${componentCls}-group-wrapper:not(:last-child)`]: {\n [`&${componentCls}-search > ${componentCls}-group`]: {\n [`& > ${componentCls}-group-addon > ${componentCls}-search-button`]: {\n borderRadius: 0\n },\n [`& > ${componentCls}`]: {\n borderStartStartRadius: token.borderRadius,\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n borderEndStartRadius: token.borderRadius\n }\n }\n }\n })\n };\n};\nconst genInputStyle = token => {\n const {\n componentCls,\n controlHeightSM,\n lineWidth\n } = token;\n const FIXED_CHROME_COLOR_HEIGHT = 16;\n const colorSmallPadding = (controlHeightSM - lineWidth * 2 - FIXED_CHROME_COLOR_HEIGHT) / 2;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genBasicInputStyle(token)), genStatusStyle(token, componentCls)), {\n '&[type=\"color\"]': {\n height: token.controlHeight,\n [`&${componentCls}-lg`]: {\n height: token.controlHeightLG\n },\n [`&${componentCls}-sm`]: {\n height: controlHeightSM,\n paddingTop: colorSmallPadding,\n paddingBottom: colorSmallPadding\n }\n },\n '&[type=\"search\"]::-webkit-search-cancel-button, &[type=\"search\"]::-webkit-search-decoration': {\n '-webkit-appearance': 'none'\n }\n })\n };\n};\nconst genAllowClearStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // ========================= Input =========================\n [`${componentCls}-clear-icon`]: {\n margin: 0,\n color: token.colorTextQuaternary,\n fontSize: token.fontSizeIcon,\n verticalAlign: -1,\n // https://github.com/ant-design/ant-design/pull/18151\n // https://codesandbox.io/s/wizardly-sun-u10br\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '&:hover': {\n color: token.colorTextTertiary\n },\n '&:active': {\n color: token.colorText\n },\n '&-hidden': {\n visibility: 'hidden'\n },\n '&-has-suffix': {\n margin: `0 ${token.inputAffixPadding}px`\n }\n }\n };\n};\nconst genAffixStyle = token => {\n const {\n componentCls,\n inputAffixPadding,\n colorTextDescription,\n motionDurationSlow,\n colorIcon,\n colorIconHover,\n iconCls\n } = token;\n return {\n [`${componentCls}-affix-wrapper`]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genBasicInputStyle(token)), {\n display: 'inline-flex',\n [`&:not(${componentCls}-affix-wrapper-disabled):hover`]: Object.assign(Object.assign({}, genHoverStyle(token)), {\n zIndex: 1,\n [`${componentCls}-search-with-button &`]: {\n zIndex: 0\n }\n }),\n '&-focused, &:focus': {\n zIndex: 1\n },\n '&-disabled': {\n [`${componentCls}[disabled]`]: {\n background: 'transparent'\n }\n },\n [`> input${componentCls}`]: {\n padding: 0,\n fontSize: 'inherit',\n border: 'none',\n borderRadius: 0,\n outline: 'none',\n '&:focus': {\n boxShadow: 'none !important'\n }\n },\n '&::before': {\n width: 0,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n },\n [`${componentCls}`]: {\n '&-prefix, &-suffix': {\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n '> *:not(:last-child)': {\n marginInlineEnd: token.paddingXS\n }\n },\n '&-show-count-suffix': {\n color: colorTextDescription\n },\n '&-show-count-has-suffix': {\n marginInlineEnd: token.paddingXXS\n },\n '&-prefix': {\n marginInlineEnd: inputAffixPadding\n },\n '&-suffix': {\n marginInlineStart: inputAffixPadding\n }\n }\n }), genAllowClearStyle(token)), {\n // password\n [`${iconCls}${componentCls}-password-icon`]: {\n color: colorIcon,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n color: colorIconHover\n }\n }\n }), genStatusStyle(token, `${componentCls}-affix-wrapper`))\n };\n};\nconst genGroupStyle = token => {\n const {\n componentCls,\n colorError,\n colorWarning,\n borderRadiusLG,\n borderRadiusSM\n } = token;\n return {\n [`${componentCls}-group`]: Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genInputGroupStyle(token)), {\n '&-rtl': {\n direction: 'rtl'\n },\n '&-wrapper': {\n display: 'inline-block',\n width: '100%',\n textAlign: 'start',\n verticalAlign: 'top',\n '&-rtl': {\n direction: 'rtl'\n },\n // Size\n '&-lg': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusLG\n }\n },\n '&-sm': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusSM\n }\n },\n // Status\n '&-status-error': {\n [`${componentCls}-group-addon`]: {\n color: colorError,\n borderColor: colorError\n }\n },\n '&-status-warning': {\n [`${componentCls}-group-addon`]: {\n color: colorWarning,\n borderColor: colorWarning\n }\n },\n '&-disabled': {\n [`${componentCls}-group-addon`]: Object.assign({}, genDisabledStyle(token))\n }\n }\n })\n };\n};\nconst genSearchInputStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const searchPrefixCls = `${componentCls}-search`;\n return {\n [searchPrefixCls]: {\n [`${componentCls}`]: {\n '&:hover, &:focus': {\n borderColor: token.colorPrimaryHover,\n [`+ ${componentCls}-group-addon ${searchPrefixCls}-button:not(${antCls}-btn-primary)`]: {\n borderInlineStartColor: token.colorPrimaryHover\n }\n }\n },\n [`${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n },\n // fix slight height diff in Firefox:\n // https://ant.design/components/auto-complete-cn/#components-auto-complete-demo-certain-category\n [`${componentCls}-lg`]: {\n lineHeight: token.lineHeightLG - 0.0002\n },\n [`> ${componentCls}-group`]: {\n [`> ${componentCls}-group-addon:last-child`]: {\n insetInlineStart: -1,\n padding: 0,\n border: 0,\n [`${searchPrefixCls}-button`]: {\n paddingTop: 0,\n paddingBottom: 0,\n borderStartStartRadius: 0,\n borderStartEndRadius: token.borderRadius,\n borderEndEndRadius: token.borderRadius,\n borderEndStartRadius: 0\n },\n [`${searchPrefixCls}-button:not(${antCls}-btn-primary)`]: {\n color: token.colorTextDescription,\n '&:hover': {\n color: token.colorPrimaryHover\n },\n '&:active': {\n color: token.colorPrimaryActive\n },\n [`&${antCls}-btn-loading::before`]: {\n insetInlineStart: 0,\n insetInlineEnd: 0,\n insetBlockStart: 0,\n insetBlockEnd: 0\n }\n }\n }\n },\n [`${searchPrefixCls}-button`]: {\n height: token.controlHeight,\n '&:hover, &:focus': {\n zIndex: 1\n }\n },\n [`&-large ${searchPrefixCls}-button`]: {\n height: token.controlHeightLG\n },\n [`&-small ${searchPrefixCls}-button`]: {\n height: token.controlHeightSM\n },\n '&-rtl': {\n direction: 'rtl'\n },\n // ===================== Compact Item Customized Styles =====================\n [`&${componentCls}-compact-item`]: {\n [`&:not(${componentCls}-compact-last-item)`]: {\n [`${componentCls}-group-addon`]: {\n [`${componentCls}-search-button`]: {\n marginInlineEnd: -token.lineWidth,\n borderRadius: 0\n }\n }\n },\n [`&:not(${componentCls}-compact-first-item)`]: {\n [`${componentCls},${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n }\n },\n [`> ${componentCls}-group-addon ${componentCls}-search-button,\n > ${componentCls},\n ${componentCls}-affix-wrapper`]: {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n }\n },\n [`> ${componentCls}-affix-wrapper-focused`]: {\n zIndex: 2\n }\n }\n }\n };\n};\nexport function initInputToken(token) {\n // @ts-ignore\n return mergeToken(token, {\n inputAffixPadding: token.paddingXXS,\n inputPaddingVertical: Math.max(Math.round((token.controlHeight - token.fontSize * token.lineHeight) / 2 * 10) / 10 - token.lineWidth, 3),\n inputPaddingVerticalLG: Math.ceil((token.controlHeightLG - token.fontSizeLG * token.lineHeightLG) / 2 * 10) / 10 - token.lineWidth,\n inputPaddingVerticalSM: Math.max(Math.round((token.controlHeightSM - token.fontSize * token.lineHeight) / 2 * 10) / 10 - token.lineWidth, 0),\n inputPaddingHorizontal: token.paddingSM - token.lineWidth,\n inputPaddingHorizontalSM: token.paddingXS - token.lineWidth,\n inputPaddingHorizontalLG: token.controlPaddingHorizontal - token.lineWidth,\n inputBorderHoverColor: token.colorPrimaryHover,\n inputBorderActiveColor: token.colorPrimaryHover\n });\n}\nconst genTextAreaStyle = token => {\n const {\n componentCls,\n paddingLG\n } = token;\n const textareaPrefixCls = `${componentCls}-textarea`;\n return {\n [textareaPrefixCls]: {\n position: 'relative',\n '&-show-count': {\n // https://github.com/ant-design/ant-design/issues/33049\n [`> ${componentCls}`]: {\n height: '100%'\n },\n [`${componentCls}-data-count`]: {\n color: token.colorTextDescription,\n whiteSpace: 'nowrap',\n pointerEvents: 'none',\n float: 'right',\n marginBottom: -token.fontSize * token.lineHeight\n },\n '&-rtl': {\n [`${componentCls}-data-count`]: {\n float: 'left'\n }\n }\n },\n [`&-affix-wrapper${textareaPrefixCls}-has-feedback`]: {\n [`${componentCls}`]: {\n paddingInlineEnd: paddingLG\n }\n },\n [`&-affix-wrapper${componentCls}-affix-wrapper`]: {\n padding: 0,\n [`> textarea${componentCls}`]: {\n fontSize: 'inherit',\n border: 'none',\n outline: 'none',\n '&:focus': {\n boxShadow: 'none !important'\n }\n },\n [`${componentCls}-suffix`]: {\n margin: 0,\n '> *:not(:last-child)': {\n marginInline: 0\n },\n // Clear Icon\n [`${componentCls}-clear-icon`]: {\n position: 'absolute',\n insetInlineEnd: token.paddingXS,\n insetBlockStart: token.paddingXS\n },\n // Feedback Icon\n [`${textareaPrefixCls}-suffix`]: {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.inputPaddingHorizontal,\n bottom: 0,\n zIndex: 1,\n display: 'inline-flex',\n alignItems: 'center',\n margin: 'auto',\n pointerEvents: 'none'\n }\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Input', token => {\n const inputToken = initInputToken(token);\n return [genInputStyle(inputToken), genTextAreaStyle(inputToken), genAffixStyle(inputToken), genGroupStyle(inputToken), genSearchInputStyle(inputToken),\n // =====================================================\n // == Space Compact ==\n // =====================================================\n genCompactItemStyle(inputToken)];\n});","import { genBasicInputStyle, genInputSmallStyle, initInputToken } from '../../input/style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genFocusOutline, genFocusStyle, resetComponent } from '../../style';\nconst genPaginationDisabledStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-disabled`]: {\n '&, &:hover': {\n cursor: 'not-allowed',\n [`${componentCls}-item-link`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n },\n '&:focus-visible': {\n cursor: 'not-allowed',\n [`${componentCls}-item-link`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n }\n },\n [`&${componentCls}-disabled`]: {\n cursor: 'not-allowed',\n [`${componentCls}-item`]: {\n cursor: 'not-allowed',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n },\n a: {\n color: token.colorTextDisabled,\n backgroundColor: 'transparent',\n border: 'none',\n cursor: 'not-allowed'\n },\n '&-active': {\n borderColor: token.colorBorder,\n backgroundColor: token.paginationItemDisabledBgActive,\n '&:hover, &:active': {\n backgroundColor: token.paginationItemDisabledBgActive\n },\n a: {\n color: token.paginationItemDisabledColorActive\n }\n }\n },\n [`${componentCls}-item-link`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n },\n [`${componentCls}-simple&`]: {\n backgroundColor: 'transparent'\n }\n },\n [`${componentCls}-item-link-icon`]: {\n opacity: 0\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 1\n },\n [`${componentCls}-simple-pager`]: {\n color: token.colorTextDisabled\n }\n }\n };\n};\nconst genPaginationMiniStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`&${componentCls}-mini ${componentCls}-total-text, &${componentCls}-mini ${componentCls}-simple-pager`]: {\n height: token.paginationItemSizeSM,\n lineHeight: `${token.paginationItemSizeSM}px`\n },\n [`&${componentCls}-mini ${componentCls}-item`]: {\n minWidth: token.paginationItemSizeSM,\n height: token.paginationItemSizeSM,\n margin: 0,\n lineHeight: `${token.paginationItemSizeSM - 2}px`\n },\n [`&${componentCls}-mini ${componentCls}-item:not(${componentCls}-item-active)`]: {\n backgroundColor: 'transparent',\n borderColor: 'transparent'\n },\n [`&${componentCls}-mini ${componentCls}-prev, &${componentCls}-mini ${componentCls}-next`]: {\n minWidth: token.paginationItemSizeSM,\n height: token.paginationItemSizeSM,\n margin: 0,\n lineHeight: `${token.paginationItemSizeSM}px`\n },\n [`\n &${componentCls}-mini ${componentCls}-prev ${componentCls}-item-link,\n &${componentCls}-mini ${componentCls}-next ${componentCls}-item-link\n `]: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n '&::after': {\n height: token.paginationItemSizeSM,\n lineHeight: `${token.paginationItemSizeSM}px`\n }\n },\n [`&${componentCls}-mini ${componentCls}-jump-prev, &${componentCls}-mini ${componentCls}-jump-next`]: {\n height: token.paginationItemSizeSM,\n marginInlineEnd: 0,\n lineHeight: `${token.paginationItemSizeSM}px`\n },\n [`&${componentCls}-mini ${componentCls}-options`]: {\n marginInlineStart: token.paginationMiniOptionsMarginInlineStart,\n [`&-size-changer`]: {\n top: token.paginationMiniOptionsSizeChangerTop\n },\n [`&-quick-jumper`]: {\n height: token.paginationItemSizeSM,\n lineHeight: `${token.paginationItemSizeSM}px`,\n input: Object.assign(Object.assign({}, genInputSmallStyle(token)), {\n width: token.paginationMiniQuickJumperInputWidth,\n height: token.controlHeightSM\n })\n }\n }\n };\n};\nconst genPaginationSimpleStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`\n &${componentCls}-simple ${componentCls}-prev,\n &${componentCls}-simple ${componentCls}-next\n `]: {\n height: token.paginationItemSizeSM,\n lineHeight: `${token.paginationItemSizeSM}px`,\n verticalAlign: 'top',\n [`${componentCls}-item-link`]: {\n height: token.paginationItemSizeSM,\n backgroundColor: 'transparent',\n border: 0,\n '&::after': {\n height: token.paginationItemSizeSM,\n lineHeight: `${token.paginationItemSizeSM}px`\n }\n }\n },\n [`&${componentCls}-simple ${componentCls}-simple-pager`]: {\n display: 'inline-block',\n height: token.paginationItemSizeSM,\n marginInlineEnd: token.marginXS,\n input: {\n boxSizing: 'border-box',\n height: '100%',\n marginInlineEnd: token.marginXS,\n padding: `0 ${token.paginationItemPaddingInline}px`,\n textAlign: 'center',\n backgroundColor: token.paginationItemInputBg,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadius,\n outline: 'none',\n transition: `border-color ${token.motionDurationMid}`,\n color: 'inherit',\n '&:hover': {\n borderColor: token.colorPrimary\n },\n '&:focus': {\n borderColor: token.colorPrimaryHover,\n boxShadow: `${token.inputOutlineOffset}px 0 ${token.controlOutlineWidth}px ${token.controlOutline}`\n },\n '&[disabled]': {\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n cursor: 'not-allowed'\n }\n }\n }\n };\n};\nconst genPaginationJumpStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-jump-prev, ${componentCls}-jump-next`]: {\n outline: 0,\n [`${componentCls}-item-container`]: {\n position: 'relative',\n [`${componentCls}-item-link-icon`]: {\n color: token.colorPrimary,\n fontSize: token.fontSizeSM,\n opacity: 0,\n transition: `all ${token.motionDurationMid}`,\n '&-svg': {\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n margin: 'auto'\n }\n },\n [`${componentCls}-item-ellipsis`]: {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n display: 'block',\n margin: 'auto',\n color: token.colorTextDisabled,\n fontFamily: 'Arial, Helvetica, sans-serif',\n letterSpacing: token.paginationEllipsisLetterSpacing,\n textAlign: 'center',\n textIndent: token.paginationEllipsisTextIndent,\n opacity: 1,\n transition: `all ${token.motionDurationMid}`\n }\n },\n '&:hover': {\n [`${componentCls}-item-link-icon`]: {\n opacity: 1\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 0\n }\n },\n '&:focus-visible': Object.assign({\n [`${componentCls}-item-link-icon`]: {\n opacity: 1\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 0\n }\n }, genFocusOutline(token))\n },\n [`\n ${componentCls}-prev,\n ${componentCls}-jump-prev,\n ${componentCls}-jump-next\n `]: {\n marginInlineEnd: token.marginXS\n },\n [`\n ${componentCls}-prev,\n ${componentCls}-next,\n ${componentCls}-jump-prev,\n ${componentCls}-jump-next\n `]: {\n display: 'inline-block',\n minWidth: token.paginationItemSize,\n height: token.paginationItemSize,\n color: token.colorText,\n fontFamily: token.paginationFontFamily,\n lineHeight: `${token.paginationItemSize}px`,\n textAlign: 'center',\n verticalAlign: 'middle',\n listStyle: 'none',\n borderRadius: token.borderRadius,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}`\n },\n [`${componentCls}-prev, ${componentCls}-next`]: {\n fontFamily: 'Arial, Helvetica, sans-serif',\n outline: 0,\n button: {\n color: token.colorText,\n cursor: 'pointer',\n userSelect: 'none'\n },\n [`${componentCls}-item-link`]: {\n display: 'block',\n width: '100%',\n height: '100%',\n padding: 0,\n fontSize: token.fontSizeSM,\n textAlign: 'center',\n backgroundColor: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n borderRadius: token.borderRadius,\n outline: 'none',\n transition: `border ${token.motionDurationMid}`\n },\n [`&:focus-visible ${componentCls}-item-link`]: Object.assign({}, genFocusOutline(token)),\n [`&:hover ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextHover\n },\n [`&:active ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextActive\n },\n [`&${componentCls}-disabled:hover`]: {\n [`${componentCls}-item-link`]: {\n backgroundColor: 'transparent'\n }\n }\n },\n [`${componentCls}-slash`]: {\n marginInlineEnd: token.paginationSlashMarginInlineEnd,\n marginInlineStart: token.paginationSlashMarginInlineStart\n },\n [`${componentCls}-options`]: {\n display: 'inline-block',\n marginInlineStart: token.margin,\n verticalAlign: 'middle',\n '&-size-changer.-select': {\n display: 'inline-block',\n width: 'auto'\n },\n '&-quick-jumper': {\n display: 'inline-block',\n height: token.controlHeight,\n marginInlineStart: token.marginXS,\n lineHeight: `${token.controlHeight}px`,\n verticalAlign: 'top',\n input: Object.assign(Object.assign({}, genBasicInputStyle(token)), {\n width: token.controlHeightLG * 1.25,\n height: token.controlHeight,\n boxSizing: 'border-box',\n margin: 0,\n marginInlineStart: token.marginXS,\n marginInlineEnd: token.marginXS\n })\n }\n }\n };\n};\nconst genPaginationItemStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-item`]: Object.assign(Object.assign({\n display: 'inline-block',\n minWidth: token.paginationItemSize,\n height: token.paginationItemSize,\n marginInlineEnd: token.marginXS,\n fontFamily: token.paginationFontFamily,\n lineHeight: `${token.paginationItemSize - 2}px`,\n textAlign: 'center',\n verticalAlign: 'middle',\n listStyle: 'none',\n backgroundColor: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n borderRadius: token.borderRadius,\n outline: 0,\n cursor: 'pointer',\n userSelect: 'none',\n a: {\n display: 'block',\n padding: `0 ${token.paginationItemPaddingInline}px`,\n color: token.colorText,\n transition: 'none',\n '&:hover': {\n textDecoration: 'none'\n }\n },\n [`&:not(${componentCls}-item-active)`]: {\n '&:hover': {\n transition: `all ${token.motionDurationMid}`,\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n }\n }\n }, genFocusStyle(token)), {\n '&-active': {\n fontWeight: token.paginationFontWeightActive,\n backgroundColor: token.paginationItemBgActive,\n borderColor: token.colorPrimary,\n a: {\n color: token.colorPrimary\n },\n '&:hover': {\n borderColor: token.colorPrimaryHover\n },\n '&:hover a': {\n color: token.colorPrimaryHover\n }\n }\n })\n };\n};\nconst genPaginationStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n 'ul, ol': {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n '&::after': {\n display: 'block',\n clear: 'both',\n height: 0,\n overflow: 'hidden',\n visibility: 'hidden',\n content: '\"\"'\n },\n [`${componentCls}-total-text`]: {\n display: 'inline-block',\n height: token.paginationItemSize,\n marginInlineEnd: token.marginXS,\n lineHeight: `${token.paginationItemSize - 2}px`,\n verticalAlign: 'middle'\n }\n }), genPaginationItemStyle(token)), genPaginationJumpStyle(token)), genPaginationSimpleStyle(token)), genPaginationMiniStyle(token)), genPaginationDisabledStyle(token)), {\n // media query style\n [`@media only screen and (max-width: ${token.screenLG}px)`]: {\n [`${componentCls}-item`]: {\n '&-after-jump-prev, &-before-jump-next': {\n display: 'none'\n }\n }\n },\n [`@media only screen and (max-width: ${token.screenSM}px)`]: {\n [`${componentCls}-options`]: {\n display: 'none'\n }\n }\n }),\n // rtl style\n [`&${token.componentCls}-rtl`]: {\n direction: 'rtl'\n }\n };\n};\nconst genBorderedStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}${componentCls}-disabled`]: {\n '&, &:hover': {\n [`${componentCls}-item-link`]: {\n borderColor: token.colorBorder\n }\n },\n '&:focus-visible': {\n [`${componentCls}-item-link`]: {\n borderColor: token.colorBorder\n }\n },\n [`${componentCls}-item, ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n [`&:hover:not(${componentCls}-item-active)`]: {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n a: {\n color: token.colorTextDisabled\n }\n },\n [`&${componentCls}-item-active`]: {\n backgroundColor: token.paginationItemDisabledBgActive\n }\n },\n [`${componentCls}-prev, ${componentCls}-next`]: {\n '&:hover button': {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n color: token.colorTextDisabled\n },\n [`${componentCls}-item-link`]: {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder\n }\n }\n },\n [componentCls]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n '&:hover button': {\n borderColor: token.colorPrimaryHover,\n backgroundColor: token.paginationItemBg\n },\n [`${componentCls}-item-link`]: {\n backgroundColor: token.paginationItemLinkBg,\n borderColor: token.colorBorder\n },\n [`&:hover ${componentCls}-item-link`]: {\n borderColor: token.colorPrimary,\n backgroundColor: token.paginationItemBg,\n color: token.colorPrimary\n },\n [`&${componentCls}-disabled`]: {\n [`${componentCls}-item-link`]: {\n borderColor: token.colorBorder,\n color: token.colorTextDisabled\n }\n }\n },\n [`${componentCls}-item`]: {\n backgroundColor: token.paginationItemBg,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n [`&:hover:not(${componentCls}-item-active)`]: {\n borderColor: token.colorPrimary,\n backgroundColor: token.paginationItemBg,\n a: {\n color: token.colorPrimary\n }\n },\n '&-active': {\n borderColor: token.colorPrimary\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Pagination', token => {\n const paginationToken = mergeToken(token, {\n paginationItemSize: token.controlHeight,\n paginationFontFamily: token.fontFamily,\n paginationItemBg: token.colorBgContainer,\n paginationItemBgActive: token.colorBgContainer,\n paginationFontWeightActive: token.fontWeightStrong,\n paginationItemSizeSM: token.controlHeightSM,\n paginationItemInputBg: token.colorBgContainer,\n paginationMiniOptionsSizeChangerTop: 0,\n paginationItemDisabledBgActive: token.controlItemBgActiveDisabled,\n paginationItemDisabledColorActive: token.colorTextDisabled,\n paginationItemLinkBg: token.colorBgContainer,\n inputOutlineOffset: '0 0',\n paginationMiniOptionsMarginInlineStart: token.marginXXS / 2,\n paginationMiniQuickJumperInputWidth: token.controlHeightLG * 1.1,\n paginationItemPaddingInline: token.marginXXS * 1.5,\n paginationEllipsisLetterSpacing: token.marginXXS / 2,\n paginationSlashMarginInlineStart: token.marginXXS,\n paginationSlashMarginInlineEnd: token.marginSM,\n paginationEllipsisTextIndent: '0.13em' // magic for ui experience\n }, initInputToken(token));\n return [genPaginationStyle(paginationToken), token.wireframe && genBorderedStyle(paginationToken)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport DoubleLeftOutlined from \"@ant-design/icons/es/icons/DoubleLeftOutlined\";\nimport DoubleRightOutlined from \"@ant-design/icons/es/icons/DoubleRightOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcPagination from 'rc-pagination';\nimport enUS from \"rc-pagination/es/locale/en_US\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport useLocale from '../locale/useLocale';\nimport { MiddleSelect, MiniSelect } from './Select';\nimport useStyle from './style';\nconst Pagination = _a => {\n var {\n prefixCls: customizePrefixCls,\n selectPrefixCls: customizeSelectPrefixCls,\n className,\n rootClassName,\n size,\n locale: customLocale,\n selectComponentClass,\n responsive,\n showSizeChanger\n } = _a,\n restProps = __rest(_a, [\"prefixCls\", \"selectPrefixCls\", \"className\", \"rootClassName\", \"size\", \"locale\", \"selectComponentClass\", \"responsive\", \"showSizeChanger\"]);\n const {\n xs\n } = useBreakpoint(responsive);\n const {\n getPrefixCls,\n direction,\n pagination = {}\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('pagination', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const mergedShowSizeChanger = showSizeChanger !== null && showSizeChanger !== void 0 ? showSizeChanger : pagination.showSizeChanger;\n const getIconsProps = () => {\n const ellipsis = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-item-ellipsis`\n }, \"\\u2022\\u2022\\u2022\");\n let prevIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: `${prefixCls}-item-link`,\n type: \"button\",\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(LeftOutlined, null));\n let nextIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: `${prefixCls}-item-link`,\n type: \"button\",\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(RightOutlined, null));\n let jumpPrevIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: `${prefixCls}-item-link`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-container`\n }, /*#__PURE__*/React.createElement(DoubleLeftOutlined, {\n className: `${prefixCls}-item-link-icon`\n }), ellipsis));\n let jumpNextIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: `${prefixCls}-item-link`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-container`\n }, /*#__PURE__*/React.createElement(DoubleRightOutlined, {\n className: `${prefixCls}-item-link-icon`\n }), ellipsis));\n // change arrows direction in right-to-left direction\n if (direction === 'rtl') {\n [prevIcon, nextIcon] = [nextIcon, prevIcon];\n [jumpPrevIcon, jumpNextIcon] = [jumpNextIcon, jumpPrevIcon];\n }\n return {\n prevIcon,\n nextIcon,\n jumpPrevIcon,\n jumpNextIcon\n };\n };\n const [contextLocale] = useLocale('Pagination', enUS);\n const locale = Object.assign(Object.assign({}, contextLocale), customLocale);\n const isSmall = size === 'small' || !!(xs && !size && responsive);\n const selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n const extendedClassName = classNames({\n [`${prefixCls}-mini`]: isSmall,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(RcPagination, Object.assign({}, getIconsProps(), restProps, {\n prefixCls: prefixCls,\n selectPrefixCls: selectPrefixCls,\n className: extendedClassName,\n selectComponentClass: selectComponentClass || (isSmall ? MiniSelect : MiddleSelect),\n locale: locale,\n showSizeChanger: mergedShowSizeChanger\n })));\n};\nif (process.env.NODE_ENV !== 'production') {\n Pagination.displayName = 'Pagination';\n}\nexport default Pagination;","import Pagination from './Pagination';\nexport default Pagination;","import * as React from 'react';\nexport const {\n isValidElement\n} = React;\nexport function isFragment(child) {\n return child && isValidElement(child) && child.type === React.Fragment;\n}\nexport function replaceElement(element, replacement, props) {\n if (!isValidElement(element)) {\n return replacement;\n }\n return /*#__PURE__*/React.cloneElement(element, typeof props === 'function' ? props(element.props || {}) : props);\n}\nexport function cloneElement(element, props) {\n return replaceElement(element, element, props);\n}","import { Keyframes } from '@ant-design/cssinjs';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { resetComponent } from '../../style';\nconst antSpinMove = new Keyframes('antSpinMove', {\n to: {\n opacity: 1\n }\n});\nconst antRotate = new Keyframes('antRotate', {\n to: {\n transform: 'rotate(405deg)'\n }\n});\nconst genSpinStyle = token => ({\n [`${token.componentCls}`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n display: 'none',\n color: token.colorPrimary,\n textAlign: 'center',\n verticalAlign: 'middle',\n opacity: 0,\n transition: `transform ${token.motionDurationSlow} ${token.motionEaseInOutCirc}`,\n '&-spinning': {\n position: 'static',\n display: 'inline-block',\n opacity: 1\n },\n '&-nested-loading': {\n position: 'relative',\n [`> div > ${token.componentCls}`]: {\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n zIndex: 4,\n display: 'block',\n width: '100%',\n height: '100%',\n maxHeight: token.contentHeight,\n [`${token.componentCls}-dot`]: {\n position: 'absolute',\n top: '50%',\n insetInlineStart: '50%',\n margin: -token.spinDotSize / 2\n },\n [`${token.componentCls}-text`]: {\n position: 'absolute',\n top: '50%',\n width: '100%',\n paddingTop: (token.spinDotSize - token.fontSize) / 2 + 2,\n textShadow: `0 1px 2px ${token.colorBgContainer}` // FIXME: shadow\n },\n\n [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n marginTop: -(token.spinDotSize / 2) - 10\n },\n '&-sm': {\n [`${token.componentCls}-dot`]: {\n margin: -token.spinDotSizeSM / 2\n },\n [`${token.componentCls}-text`]: {\n paddingTop: (token.spinDotSizeSM - token.fontSize) / 2 + 2\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n marginTop: -(token.spinDotSizeSM / 2) - 10\n }\n },\n '&-lg': {\n [`${token.componentCls}-dot`]: {\n margin: -(token.spinDotSizeLG / 2)\n },\n [`${token.componentCls}-text`]: {\n paddingTop: (token.spinDotSizeLG - token.fontSize) / 2 + 2\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n marginTop: -(token.spinDotSizeLG / 2) - 10\n }\n }\n },\n [`${token.componentCls}-container`]: {\n position: 'relative',\n transition: `opacity ${token.motionDurationSlow}`,\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n zIndex: 10,\n width: '100%',\n height: '100%',\n background: token.colorBgContainer,\n opacity: 0,\n transition: `all ${token.motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n }\n },\n [`${token.componentCls}-blur`]: {\n clear: 'both',\n opacity: 0.5,\n userSelect: 'none',\n pointerEvents: 'none',\n [`&::after`]: {\n opacity: 0.4,\n pointerEvents: 'auto'\n }\n }\n },\n // tip\n // ------------------------------\n [`&-tip`]: {\n color: token.spinDotDefault\n },\n // dots\n // ------------------------------\n [`${token.componentCls}-dot`]: {\n position: 'relative',\n display: 'inline-block',\n fontSize: token.spinDotSize,\n width: '1em',\n height: '1em',\n '&-item': {\n position: 'absolute',\n display: 'block',\n width: (token.spinDotSize - token.marginXXS / 2) / 2,\n height: (token.spinDotSize - token.marginXXS / 2) / 2,\n backgroundColor: token.colorPrimary,\n borderRadius: '100%',\n transform: 'scale(0.75)',\n transformOrigin: '50% 50%',\n opacity: 0.3,\n animationName: antSpinMove,\n animationDuration: '1s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n '&:nth-child(1)': {\n top: 0,\n insetInlineStart: 0\n },\n '&:nth-child(2)': {\n top: 0,\n insetInlineEnd: 0,\n animationDelay: '0.4s'\n },\n '&:nth-child(3)': {\n insetInlineEnd: 0,\n bottom: 0,\n animationDelay: '0.8s'\n },\n '&:nth-child(4)': {\n bottom: 0,\n insetInlineStart: 0,\n animationDelay: '1.2s'\n }\n },\n '&-spin': {\n transform: 'rotate(45deg)',\n animationName: antRotate,\n animationDuration: '1.2s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear'\n }\n },\n // Sizes\n // ------------------------------\n // small\n [`&-sm ${token.componentCls}-dot`]: {\n fontSize: token.spinDotSizeSM,\n i: {\n width: (token.spinDotSizeSM - token.marginXXS / 2) / 2,\n height: (token.spinDotSizeSM - token.marginXXS / 2) / 2\n }\n },\n // large\n [`&-lg ${token.componentCls}-dot`]: {\n fontSize: token.spinDotSizeLG,\n i: {\n width: (token.spinDotSizeLG - token.marginXXS) / 2,\n height: (token.spinDotSizeLG - token.marginXXS) / 2\n }\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-text`]: {\n display: 'block'\n }\n })\n});\n// ============================== Export ==============================\nexport default genComponentStyleHook('Spin', token => {\n const spinToken = mergeToken(token, {\n spinDotDefault: token.colorTextDescription,\n spinDotSize: token.controlHeightLG / 2,\n spinDotSizeSM: token.controlHeightLG * 0.35,\n spinDotSizeLG: token.controlHeight\n });\n return [genSpinStyle(spinToken)];\n}, {\n contentHeight: 400\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport { debounce } from 'throttle-debounce';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport useStyle from './style/index';\nconst SpinSizes = ['small', 'default', 'large'];\n// Render indicator\nlet defaultIndicator = null;\nfunction renderIndicator(prefixCls, props) {\n const {\n indicator\n } = props;\n const dotClassName = `${prefixCls}-dot`;\n // should not be render default indicator when indicator value is null\n if (indicator === null) {\n return null;\n }\n if (isValidElement(indicator)) {\n return cloneElement(indicator, {\n className: classNames(indicator.props.className, dotClassName)\n });\n }\n if (isValidElement(defaultIndicator)) {\n return cloneElement(defaultIndicator, {\n className: classNames(defaultIndicator.props.className, dotClassName)\n });\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(dotClassName, `${prefixCls}-dot-spin`)\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`\n }));\n}\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\nconst Spin = props => {\n const {\n spinPrefixCls: prefixCls,\n spinning: customSpinning = true,\n delay = 0,\n className,\n rootClassName,\n size = 'default',\n tip,\n wrapperClassName,\n style,\n children,\n hashId\n } = props,\n restProps = __rest(props, [\"spinPrefixCls\", \"spinning\", \"delay\", \"className\", \"rootClassName\", \"size\", \"tip\", \"wrapperClassName\", \"style\", \"children\", \"hashId\"]);\n const [spinning, setSpinning] = React.useState(() => customSpinning && !shouldDelay(customSpinning, delay));\n React.useEffect(() => {\n if (customSpinning) {\n const showSpinning = debounce(delay, () => {\n setSpinning(true);\n });\n showSpinning();\n return () => {\n var _a;\n (_a = showSpinning === null || showSpinning === void 0 ? void 0 : showSpinning.cancel) === null || _a === void 0 ? void 0 : _a.call(showSpinning);\n };\n }\n setSpinning(false);\n }, [delay, customSpinning]);\n const isNestedPattern = React.useMemo(() => typeof children !== 'undefined', [children]);\n const {\n direction\n } = React.useContext(ConfigContext);\n const spinClassName = classNames(prefixCls, {\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-spinning`]: spinning,\n [`${prefixCls}-show-text`]: !!tip,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n const containerClassName = classNames(`${prefixCls}-container`, {\n [`${prefixCls}-blur`]: spinning\n });\n // fix https://fb.me/react-unknown-prop\n const divProps = omit(restProps, ['indicator', 'prefixCls']);\n const spinElement = /*#__PURE__*/React.createElement(\"div\", Object.assign({}, divProps, {\n style: style,\n className: spinClassName,\n \"aria-live\": \"polite\",\n \"aria-busy\": spinning\n }), renderIndicator(prefixCls, props), tip ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-text`\n }, tip) : null);\n if (isNestedPattern) {\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, divProps, {\n className: classNames(`${prefixCls}-nested-loading`, wrapperClassName, hashId)\n }), spinning && /*#__PURE__*/React.createElement(\"div\", {\n key: \"loading\"\n }, spinElement), /*#__PURE__*/React.createElement(\"div\", {\n className: containerClassName,\n key: \"container\"\n }, children));\n }\n return spinElement;\n};\nconst SpinFC = props => {\n const {\n prefixCls: customizePrefixCls\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const spinPrefixCls = getPrefixCls('spin', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(spinPrefixCls);\n const spinClassProps = Object.assign(Object.assign({}, props), {\n spinPrefixCls,\n hashId\n });\n return wrapSSR( /*#__PURE__*/React.createElement(Spin, Object.assign({}, spinClassProps)));\n};\nSpinFC.setDefaultIndicator = indicator => {\n defaultIndicator = indicator;\n};\nif (process.env.NODE_ENV !== 'production') {\n SpinFC.displayName = 'Spin';\n}\nexport default SpinFC;","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, callback, options) {\n var _ref = options || {},\n _ref$noTrailing = _ref.noTrailing,\n noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,\n _ref$noLeading = _ref.noLeading,\n noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,\n _ref$debounceMode = _ref.debounceMode,\n debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n\n\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel(options) {\n var _ref2 = options || {},\n _ref2$upcomingOnly = _ref2.upcomingOnly,\n upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;\n\n clearExistingTimeout();\n cancelled = !upcomingOnly;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (!noLeading && debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`\n * and noLeading != true.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n if (noLeading) {\n /*\n * In throttle mode with noLeading, if `delay` time has\n * been exceeded, update `lastExec` and schedule `callback`\n * to execute after `delay` ms.\n */\n lastExec = Date.now();\n\n if (!noTrailing) {\n timeoutID = setTimeout(debounceMode ? clear : exec, delay);\n }\n } else {\n /*\n * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n }\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\n\nfunction debounce (delay, callback, options) {\n var _ref = options || {},\n _ref$atBegin = _ref.atBegin,\n atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;\n\n return throttle(delay, callback, {\n debounceMode: atBegin !== false\n });\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","export function isWindow(obj) {\n return obj !== null && obj !== undefined && obj === obj.window;\n}\nexport default function getScroll(target, top) {\n var _a, _b;\n if (typeof window === 'undefined') {\n return 0;\n }\n const method = top ? 'scrollTop' : 'scrollLeft';\n let result = 0;\n if (isWindow(target)) {\n result = target[top ? 'pageYOffset' : 'pageXOffset'];\n } else if (target instanceof Document) {\n result = target.documentElement[method];\n } else if (target instanceof HTMLElement) {\n result = target[method];\n } else if (target) {\n // According to the type inference, the `target` is `never` type.\n // Since we configured the loose mode type checking, and supports mocking the target with such shape below::\n // `{ documentElement: { scrollLeft: 200, scrollTop: 400 } }`,\n // the program may falls into this branch.\n // Check the corresponding tests for details. Don't sure what is the real scenario this happens.\n result = target[method];\n }\n if (target && !isWindow(target) && typeof result !== 'number') {\n result = (_b = ((_a = target.ownerDocument) !== null && _a !== void 0 ? _a : target).documentElement) === null || _b === void 0 ? void 0 : _b[method];\n }\n return result;\n}","export function getColumnKey(column, defaultKey) {\n if ('key' in column && column.key !== undefined && column.key !== null) {\n return column.key;\n }\n if (column.dataIndex) {\n return Array.isArray(column.dataIndex) ? column.dataIndex.join('.') : column.dataIndex;\n }\n return defaultKey;\n}\nexport function getColumnPos(index, pos) {\n return pos ? `${pos}-${index}` : `${index}`;\n}\nexport function renderColumnTitle(title, props) {\n if (typeof title === 'function') {\n return title(props);\n }\n return title;\n}\n/**\n * Safe get column title\n *\n * Should filter [object Object]\n *\n * @param title\n * @returns\n */\nexport function safeColumnTitle(title, props) {\n const res = renderColumnTitle(title, props);\n if (Object.prototype.toString.call(res) === '[object Object]') return '';\n return res;\n}","// This icon file is generated automatically.\nvar FilterFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z\" } }] }, \"name\": \"filter\", \"theme\": \"filled\" };\nexport default FilterFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport FilterFilledSvg from \"@ant-design/icons-svg/es/asn/FilterFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar FilterFilled = function FilterFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: FilterFilledSvg\n }));\n};\nFilterFilled.displayName = 'FilterFilled';\nexport default /*#__PURE__*/React.forwardRef(FilterFilled);","import { genComponentStyleHook } from '../../theme/internal';\nconst genWaveStyle = token => {\n const {\n componentCls,\n colorPrimary\n } = token;\n return {\n [componentCls]: {\n position: 'absolute',\n background: 'transparent',\n pointerEvents: 'none',\n boxSizing: 'border-box',\n color: `var(--wave-color, ${colorPrimary})`,\n boxShadow: `0 0 0 0 currentcolor`,\n opacity: 0.2,\n // =================== Motion ===================\n '&.wave-motion-appear': {\n transition: [`box-shadow 0.4s ${token.motionEaseOutCirc}`, `opacity 2s ${token.motionEaseOutCirc}`].join(','),\n '&-active': {\n boxShadow: `0 0 0 6px currentcolor`,\n opacity: 0\n }\n }\n }\n };\n};\nexport default genComponentStyleHook('Wave', token => [genWaveStyle(token)]);","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as ReactDOM from 'react-dom';\n// Let compiler not to search module usage\nvar fullClone = _objectSpread({}, ReactDOM);\nvar version = fullClone.version,\n reactRender = fullClone.render,\n unmountComponentAtNode = fullClone.unmountComponentAtNode;\nvar createRoot;\ntry {\n var mainVersion = Number((version || '').split('.')[0]);\n if (mainVersion >= 18) {\n createRoot = fullClone.createRoot;\n }\n} catch (e) {\n // Do nothing;\n}\nfunction toggleWarning(skip) {\n var __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && _typeof(__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\nvar MARK = '__rc_react_root__';\n\n// ========================== Render ==========================\n\nfunction modernRender(node, container) {\n toggleWarning(true);\n var root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _r(node, container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyRender(node, container);\n }\n}\nexport function render(node, container) {\n if (createRoot) {\n modernRender(node, container);\n return;\n }\n legacyRender(node, container);\n}\n\n// ========================= Unmount ==========================\nfunction modernUnmount(_x) {\n return _modernUnmount.apply(this, arguments);\n}\nfunction _modernUnmount() {\n _modernUnmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(container) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", Promise.resolve().then(function () {\n var _container$MARK;\n (_container$MARK = container[MARK]) === null || _container$MARK === void 0 ? void 0 : _container$MARK.unmount();\n delete container[MARK];\n }));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _modernUnmount.apply(this, arguments);\n}\nfunction legacyUnmount(container) {\n unmountComponentAtNode(container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _u(container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyUnmount(container);\n }\n}\nexport function unmount(_x2) {\n return _unmount.apply(this, arguments);\n}\nfunction _unmount() {\n _unmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(container) {\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(createRoot !== undefined)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", modernUnmount(container));\n case 2:\n legacyUnmount(container);\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _unmount.apply(this, arguments);\n}","export function isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n const match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n}\nexport function isValidWaveColor(color) {\n return color && color !== '#fff' && color !== '#ffffff' && color !== 'rgb(255, 255, 255)' && color !== 'rgba(255, 255, 255, 1)' && isNotGrey(color) && !/rgba\\((?:\\d*, ){3}0\\)/.test(color) &&\n // any transparent rgba color\n color !== 'transparent';\n}\nexport function getTargetWaveColor(node) {\n const {\n borderTopColor,\n borderColor,\n backgroundColor\n } = getComputedStyle(node);\n if (isValidWaveColor(borderTopColor)) {\n return borderTopColor;\n }\n if (isValidWaveColor(borderColor)) {\n return borderColor;\n }\n if (isValidWaveColor(backgroundColor)) {\n return backgroundColor;\n }\n return null;\n}","import * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport raf from \"rc-util/es/raf\";\nimport { render, unmount } from \"rc-util/es/React/render\";\nimport classNames from 'classnames';\nimport { getTargetWaveColor } from './util';\nfunction validateNum(value) {\n return Number.isNaN(value) ? 0 : value;\n}\nconst WaveEffect = props => {\n const {\n className,\n target\n } = props;\n const divRef = React.useRef(null);\n const [color, setWaveColor] = React.useState(null);\n const [borderRadius, setBorderRadius] = React.useState([]);\n const [left, setLeft] = React.useState(0);\n const [top, setTop] = React.useState(0);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const [enabled, setEnabled] = React.useState(false);\n const waveStyle = {\n left,\n top,\n width,\n height,\n borderRadius: borderRadius.map(radius => `${radius}px`).join(' ')\n };\n if (color) {\n waveStyle['--wave-color'] = color;\n }\n function syncPos() {\n const nodeStyle = getComputedStyle(target);\n // Get wave color from target\n setWaveColor(getTargetWaveColor(target));\n const isStatic = nodeStyle.position === 'static';\n // Rect\n const {\n borderLeftWidth,\n borderTopWidth\n } = nodeStyle;\n setLeft(isStatic ? target.offsetLeft : validateNum(-parseFloat(borderLeftWidth)));\n setTop(isStatic ? target.offsetTop : validateNum(-parseFloat(borderTopWidth)));\n setWidth(target.offsetWidth);\n setHeight(target.offsetHeight);\n // Get border radius\n const {\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius\n } = nodeStyle;\n setBorderRadius([borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius].map(radius => validateNum(parseFloat(radius))));\n }\n React.useEffect(() => {\n if (target) {\n // We need delay to check position here\n // since UI may change after click\n const id = raf(() => {\n syncPos();\n setEnabled(true);\n });\n // Add resize observer to follow size\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(syncPos);\n resizeObserver.observe(target);\n }\n return () => {\n raf.cancel(id);\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n }\n }, []);\n if (!enabled) {\n return null;\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: true,\n motionAppear: true,\n motionName: \"wave-motion\",\n motionDeadline: 5000,\n onAppearEnd: (_, event) => {\n var _a;\n if (event.deadline || event.propertyName === 'opacity') {\n const holder = (_a = divRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;\n unmount(holder).then(() => {\n var _a;\n (_a = holder.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(holder);\n });\n }\n return false;\n }\n }, _ref => {\n let {\n className: motionClassName\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: divRef,\n className: classNames(className, motionClassName),\n style: waveStyle\n });\n });\n};\nexport default function showWaveEffect(node, className) {\n // Create holder\n const holder = document.createElement('div');\n holder.style.position = 'absolute';\n holder.style.left = `0px`;\n holder.style.top = `0px`;\n node === null || node === void 0 ? void 0 : node.insertBefore(holder, node === null || node === void 0 ? void 0 : node.firstChild);\n render( /*#__PURE__*/React.createElement(WaveEffect, {\n target: node,\n className: className\n }), holder);\n}","import showWaveEffect from './WaveEffect';\nexport default function useWave(nodeRef, className) {\n function showWave() {\n const node = nodeRef.current;\n showWaveEffect(node, className);\n }\n return showWave;\n}","import classNames from 'classnames';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport React, { useContext, useRef } from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport { cloneElement } from '../reactNode';\nimport useStyle from './style';\nimport useWave from './useWave';\nconst Wave = props => {\n const {\n children,\n disabled\n } = props;\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const containerRef = useRef(null);\n // ============================== Style ===============================\n const prefixCls = getPrefixCls('wave');\n const [, hashId] = useStyle(prefixCls);\n // =============================== Wave ===============================\n const showWave = useWave(containerRef, classNames(prefixCls, hashId));\n // ============================== Effect ==============================\n React.useEffect(() => {\n const node = containerRef.current;\n if (!node || node.nodeType !== 1 || disabled) {\n return;\n }\n // Click handler\n const onClick = e => {\n // Fix radio button click twice\n if (e.target.tagName === 'INPUT' || !isVisible(e.target) ||\n // No need wave\n !node.getAttribute || node.getAttribute('disabled') || node.disabled || node.className.includes('disabled') || node.className.includes('-leave')) {\n return;\n }\n showWave();\n };\n // Bind events\n node.addEventListener('click', onClick, true);\n return () => {\n node.removeEventListener('click', onClick, true);\n };\n }, [disabled]);\n // ============================== Render ==============================\n if (! /*#__PURE__*/React.isValidElement(children)) {\n return children !== null && children !== void 0 ? children : null;\n }\n const ref = supportRef(children) ? composeRef(children.ref, containerRef) : containerRef;\n return cloneElement(children, {\n ref\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n Wave.displayName = 'Wave';\n}\nexport default Wave;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { useToken } from '../theme/internal';\nimport warning from '../_util/warning';\nexport const GroupSizeContext = /*#__PURE__*/React.createContext(undefined);\nconst ButtonGroup = props => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n size,\n className\n } = props,\n others = __rest(props, [\"prefixCls\", \"size\", \"className\"]);\n const prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n const [,, hashId] = useToken();\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n case 'middle':\n case undefined:\n break;\n default:\n process.env.NODE_ENV !== \"production\" ? warning(!size, 'Button.Group', 'Invalid prop `size`.') : void 0;\n }\n const classes = classNames(prefixCls, {\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId);\n return /*#__PURE__*/React.createElement(GroupSizeContext.Provider, {\n value: size\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classes\n })));\n};\nexport default ButtonGroup;","import React from 'react';\nimport { cloneElement, isFragment } from '../_util/reactNode';\nconst rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nexport const isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nexport function isString(str) {\n return typeof str === 'string';\n}\nexport function isUnBorderedButtonType(type) {\n return type === 'text' || type === 'link';\n}\nfunction splitCNCharsBySpace(child, needInserted) {\n if (child === null || child === undefined) {\n return;\n }\n const SPACE = needInserted ? ' ' : '';\n if (typeof child !== 'string' && typeof child !== 'number' && isString(child.type) && isTwoCNChar(child.props.children)) {\n return cloneElement(child, {\n children: child.props.children.split('').join(SPACE)\n });\n }\n if (typeof child === 'string') {\n return isTwoCNChar(child) ? /*#__PURE__*/React.createElement(\"span\", null, child.split('').join(SPACE)) : /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n if (isFragment(child)) {\n return /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n return child;\n}\nexport function spaceChildren(children, needInserted) {\n let isPrevChildPure = false;\n const childList = [];\n React.Children.forEach(children, child => {\n const type = typeof child;\n const isCurrentChildPure = type === 'string' || type === 'number';\n if (isPrevChildPure && isCurrentChildPure) {\n const lastIndex = childList.length - 1;\n const lastChild = childList[lastIndex];\n childList[lastIndex] = `${lastChild}${child}`;\n } else {\n childList.push(child);\n }\n isPrevChildPure = isCurrentChildPure;\n });\n return React.Children.map(childList, child => splitCNCharsBySpace(child, needInserted));\n}\nconst ButtonTypes = ['default', 'primary', 'ghost', 'dashed', 'link', 'text'];\nconst ButtonShapes = ['default', 'circle', 'round'];\nconst ButtonHTMLTypes = ['submit', 'button', 'reset'];","import LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport CSSMotion from 'rc-motion';\nimport React from 'react';\nconst getCollapsedWidth = () => ({\n width: 0,\n opacity: 0,\n transform: 'scale(0)'\n});\nconst getRealWidth = node => ({\n width: node.scrollWidth,\n opacity: 1,\n transform: 'scale(1)'\n});\nconst LoadingIcon = _ref => {\n let {\n prefixCls,\n loading,\n existIcon\n } = _ref;\n const visible = !!loading;\n if (existIcon) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-loading-icon`\n }, /*#__PURE__*/React.createElement(LoadingOutlined, null));\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n // We do not really use this motionName\n motionName: `${prefixCls}-loading-icon-motion`,\n removeOnLeave: true,\n onAppearStart: getCollapsedWidth,\n onAppearActive: getRealWidth,\n onEnterStart: getCollapsedWidth,\n onEnterActive: getRealWidth,\n onLeaveStart: getRealWidth,\n onLeaveActive: getCollapsedWidth\n }, (_ref2, ref) => {\n let {\n className,\n style\n } = _ref2;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-loading-icon`,\n style: style,\n ref: ref\n }, /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: className\n }));\n });\n};\nexport default LoadingIcon;","const genButtonBorderStyle = (buttonTypeCls, borderColor) => ({\n // Border\n [`> span, > ${buttonTypeCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineEndColor: borderColor\n }\n }\n },\n '&:not(:first-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineStartColor: borderColor\n }\n }\n }\n }\n});\nconst genGroupStyle = token => {\n const {\n componentCls,\n fontSize,\n lineWidth,\n colorPrimaryHover,\n colorErrorHover\n } = token;\n return {\n [`${componentCls}-group`]: [{\n position: 'relative',\n display: 'inline-flex',\n // Border\n [`> span, > ${componentCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${componentCls}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n '&:not(:first-child)': {\n marginInlineStart: -lineWidth,\n [`&, & > ${componentCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n },\n [componentCls]: {\n position: 'relative',\n zIndex: 1,\n [`&:hover,\n &:focus,\n &:active`]: {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n },\n [`${componentCls}-icon-only`]: {\n fontSize\n }\n },\n // Border Color\n genButtonBorderStyle(`${componentCls}-primary`, colorPrimaryHover), genButtonBorderStyle(`${componentCls}-danger`, colorErrorHover)]\n };\n};\nexport default genGroupStyle;","function compactItemVerticalBorder(token, parentCls) {\n return {\n // border collapse\n [`&-item:not(${parentCls}-last-item)`]: {\n marginBottom: -token.lineWidth\n },\n '&-item': {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n }\n };\n}\nfunction compactItemBorderVerticalRadius(prefixCls, parentCls) {\n return {\n [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item)`]: {\n borderRadius: 0\n },\n [`&-item${parentCls}-first-item:not(${parentCls}-last-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderEndEndRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`&-item${parentCls}-last-item:not(${parentCls}-first-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0\n }\n }\n };\n}\nexport function genCompactItemVerticalStyle(token) {\n const compactCls = `${token.componentCls}-compact-vertical`;\n return {\n [compactCls]: Object.assign(Object.assign({}, compactItemVerticalBorder(token, compactCls)), compactItemBorderVerticalRadius(token.componentCls, compactCls))\n };\n}","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genGroupStyle from './group';\nimport { genFocusStyle } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genCompactItemVerticalStyle } from '../../style/compact-item-vertical';\n// ============================== Shared ==============================\nconst genSharedButtonStyle = token => {\n const {\n componentCls,\n iconCls\n } = token;\n return {\n [componentCls]: {\n outline: 'none',\n position: 'relative',\n display: 'inline-block',\n fontWeight: 400,\n whiteSpace: 'nowrap',\n textAlign: 'center',\n backgroundImage: 'none',\n backgroundColor: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid} ${token.motionEaseInOut}`,\n userSelect: 'none',\n touchAction: 'manipulation',\n lineHeight: token.lineHeight,\n color: token.colorText,\n '> span': {\n display: 'inline-block'\n },\n // Leave a space between icon and text.\n [`> ${iconCls} + span, > span + ${iconCls}`]: {\n marginInlineStart: token.marginXS\n },\n '> a': {\n color: 'currentColor'\n },\n '&:not(:disabled)': Object.assign({}, genFocusStyle(token)),\n // make `btn-icon-only` not too narrow\n [`&-icon-only${componentCls}-compact-item`]: {\n flex: 'none'\n },\n // Special styles for Primary Button\n [`&-compact-item${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: token.lineWidth,\n height: `calc(100% + ${token.lineWidth * 2}px)`,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n },\n // Special styles for Primary Button\n '&-compact-vertical-item': {\n [`&${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-vertical-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: `calc(100% + ${token.lineWidth * 2}px)`,\n height: token.lineWidth,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n }\n }\n }\n };\n};\nconst genHoverActiveButtonStyle = (hoverStyle, activeStyle) => ({\n '&:not(:disabled)': {\n '&:hover': hoverStyle,\n '&:active': activeStyle\n }\n});\n// ============================== Shape ===============================\nconst genCircleButtonStyle = token => ({\n minWidth: token.controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n borderRadius: '50%'\n});\nconst genRoundButtonStyle = token => ({\n borderRadius: token.controlHeight,\n paddingInlineStart: token.controlHeight / 2,\n paddingInlineEnd: token.controlHeight / 2\n});\n// =============================== Type ===============================\nconst genDisabledStyle = token => ({\n cursor: 'not-allowed',\n borderColor: token.colorBorder,\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n boxShadow: 'none'\n});\nconst genGhostButtonStyle = (btnCls, textColor, borderColor, textColorDisabled, borderColorDisabled, hoverStyle, activeStyle) => ({\n [`&${btnCls}-background-ghost`]: Object.assign(Object.assign({\n color: textColor || undefined,\n backgroundColor: 'transparent',\n borderColor: borderColor || undefined,\n boxShadow: 'none'\n }, genHoverActiveButtonStyle(Object.assign({\n backgroundColor: 'transparent'\n }, hoverStyle), Object.assign({\n backgroundColor: 'transparent'\n }, activeStyle))), {\n '&:disabled': {\n cursor: 'not-allowed',\n color: textColorDisabled || undefined,\n borderColor: borderColorDisabled || undefined\n }\n })\n});\nconst genSolidDisabledButtonStyle = token => ({\n '&:disabled': Object.assign({}, genDisabledStyle(token))\n});\nconst genSolidButtonStyle = token => Object.assign({}, genSolidDisabledButtonStyle(token));\nconst genPureDisabledButtonStyle = token => ({\n '&:disabled': {\n cursor: 'not-allowed',\n color: token.colorTextDisabled\n }\n});\n// Type: Default\nconst genDefaultButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genSolidButtonStyle(token)), {\n backgroundColor: token.colorBgContainer,\n borderColor: token.colorBorder,\n boxShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlTmpOutline}`\n}), genHoverActiveButtonStyle({\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.colorBgContainer, token.colorBgContainer, token.colorTextDisabled, token.colorBorder)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign(Object.assign({\n color: token.colorError,\n borderColor: token.colorError\n }, genHoverActiveButtonStyle({\n color: token.colorErrorHover,\n borderColor: token.colorErrorBorderHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder)), genSolidDisabledButtonStyle(token))\n});\n// Type: Primary\nconst genPrimaryButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genSolidButtonStyle(token)), {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimary,\n boxShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlOutline}`\n}), genHoverActiveButtonStyle({\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryHover\n}, {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.colorPrimary, token.colorPrimary, token.colorTextDisabled, token.colorBorder, {\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n})), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign(Object.assign({\n backgroundColor: token.colorError,\n boxShadow: `0 ${token.controlOutlineWidth}px 0 ${token.colorErrorOutline}`\n }, genHoverActiveButtonStyle({\n backgroundColor: token.colorErrorHover\n }, {\n backgroundColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genSolidDisabledButtonStyle(token))\n});\n// Type: Dashed\nconst genDashedButtonStyle = token => Object.assign(Object.assign({}, genDefaultButtonStyle(token)), {\n borderStyle: 'dashed'\n});\n// Type: Link\nconst genLinkButtonStyle = token => Object.assign(Object.assign(Object.assign({\n color: token.colorLink\n}, genHoverActiveButtonStyle({\n color: token.colorLinkHover\n}, {\n color: token.colorLinkActive\n})), genPureDisabledButtonStyle(token)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign({\n color: token.colorError\n }, genHoverActiveButtonStyle({\n color: token.colorErrorHover\n }, {\n color: token.colorErrorActive\n })), genPureDisabledButtonStyle(token))\n});\n// Type: Text\nconst genTextButtonStyle = token => Object.assign(Object.assign(Object.assign({}, genHoverActiveButtonStyle({\n color: token.colorText,\n backgroundColor: token.colorBgTextHover\n}, {\n color: token.colorText,\n backgroundColor: token.colorBgTextActive\n})), genPureDisabledButtonStyle(token)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign({\n color: token.colorError\n }, genPureDisabledButtonStyle(token)), genHoverActiveButtonStyle({\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }, {\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }))\n});\n// Href and Disabled\nconst genDisabledButtonStyle = token => Object.assign(Object.assign({}, genDisabledStyle(token)), {\n [`&${token.componentCls}:hover`]: Object.assign({}, genDisabledStyle(token))\n});\nconst genTypeButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-default`]: genDefaultButtonStyle(token),\n [`${componentCls}-primary`]: genPrimaryButtonStyle(token),\n [`${componentCls}-dashed`]: genDashedButtonStyle(token),\n [`${componentCls}-link`]: genLinkButtonStyle(token),\n [`${componentCls}-text`]: genTextButtonStyle(token),\n [`${componentCls}-disabled`]: genDisabledButtonStyle(token)\n };\n};\n// =============================== Size ===============================\nconst genSizeButtonStyle = function (token) {\n let sizePrefixCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const {\n componentCls,\n iconCls,\n controlHeight,\n fontSize,\n lineHeight,\n lineWidth,\n borderRadius,\n buttonPaddingHorizontal\n } = token;\n const paddingVertical = Math.max(0, (controlHeight - fontSize * lineHeight) / 2 - lineWidth);\n const paddingHorizontal = buttonPaddingHorizontal - lineWidth;\n const iconOnlyCls = `${componentCls}-icon-only`;\n return [\n // Size\n {\n [`${componentCls}${sizePrefixCls}`]: {\n fontSize,\n height: controlHeight,\n padding: `${paddingVertical}px ${paddingHorizontal}px`,\n borderRadius,\n [`&${iconOnlyCls}`]: {\n width: controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n [`&${componentCls}-round`]: {\n width: 'auto'\n },\n '> span': {\n transform: 'scale(1.143)' // 14px -> 16px\n }\n },\n\n // Loading\n [`&${componentCls}-loading`]: {\n opacity: token.opacityLoading,\n cursor: 'default'\n },\n [`${componentCls}-loading-icon`]: {\n transition: `width ${token.motionDurationSlow} ${token.motionEaseInOut}, opacity ${token.motionDurationSlow} ${token.motionEaseInOut}`\n },\n [`&:not(${iconOnlyCls}) ${componentCls}-loading-icon > ${iconCls}`]: {\n marginInlineEnd: token.marginXS\n }\n }\n },\n // Shape - patch prefixCls again to override solid border radius style\n {\n [`${componentCls}${componentCls}-circle${sizePrefixCls}`]: genCircleButtonStyle(token)\n }, {\n [`${componentCls}${componentCls}-round${sizePrefixCls}`]: genRoundButtonStyle(token)\n }];\n};\nconst genSizeBaseButtonStyle = token => genSizeButtonStyle(token);\nconst genSizeSmallButtonStyle = token => {\n const smallToken = mergeToken(token, {\n controlHeight: token.controlHeightSM,\n padding: token.paddingXS,\n buttonPaddingHorizontal: 8,\n borderRadius: token.borderRadiusSM\n });\n return genSizeButtonStyle(smallToken, `${token.componentCls}-sm`);\n};\nconst genSizeLargeButtonStyle = token => {\n const largeToken = mergeToken(token, {\n controlHeight: token.controlHeightLG,\n fontSize: token.fontSizeLG,\n borderRadius: token.borderRadiusLG\n });\n return genSizeButtonStyle(largeToken, `${token.componentCls}-lg`);\n};\nconst genBlockButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n [`&${componentCls}-block`]: {\n width: '100%'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Button', token => {\n const {\n controlTmpOutline,\n paddingContentHorizontal\n } = token;\n const buttonToken = mergeToken(token, {\n colorOutlineDefault: controlTmpOutline,\n buttonPaddingHorizontal: paddingContentHorizontal\n });\n return [\n // Shared\n genSharedButtonStyle(buttonToken),\n // Size\n genSizeSmallButtonStyle(buttonToken), genSizeBaseButtonStyle(buttonToken), genSizeLargeButtonStyle(buttonToken),\n // Block\n genBlockButtonStyle(buttonToken),\n // Group (type, ghost, danger, disabled, loading)\n genTypeButtonStyle(buttonToken),\n // Button Group\n genGroupStyle(buttonToken),\n // Space Compact\n genCompactItemStyle(token), genCompactItemVerticalStyle(token)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/* eslint-disable react/button-has-type */\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport SizeContext from '../config-provider/SizeContext';\nimport { useCompactItemContext } from '../space/Compact';\nimport warning from '../_util/warning';\nimport Wave from '../_util/wave';\nimport Group, { GroupSizeContext } from './button-group';\nimport { isTwoCNChar, isUnBorderedButtonType, spaceChildren } from './buttonHelpers';\nimport LoadingIcon from './LoadingIcon';\nimport useStyle from './style';\nexport function convertLegacyProps(type) {\n if (type === 'danger') {\n return {\n danger: true\n };\n }\n return {\n type\n };\n}\nfunction getLoadingConfig(loading) {\n if (typeof loading === 'object' && loading) {\n const delay = loading === null || loading === void 0 ? void 0 : loading.delay;\n const isDelay = !Number.isNaN(delay) && typeof delay === 'number';\n return {\n loading: false,\n delay: isDelay ? delay : 0\n };\n }\n return {\n loading: !!loading,\n delay: 0\n };\n}\nconst InternalButton = (props, ref) => {\n const {\n loading = false,\n prefixCls: customizePrefixCls,\n type = 'default',\n danger,\n shape = 'default',\n size: customizeSize,\n disabled: customDisabled,\n className,\n rootClassName,\n children,\n icon,\n ghost = false,\n block = false,\n // React does not recognize the `htmlType` prop on a DOM element. Here we pick it out of `rest`.\n htmlType = 'button'\n } = props,\n rest = __rest(props, [\"loading\", \"prefixCls\", \"type\", \"danger\", \"shape\", \"size\", \"disabled\", \"className\", \"rootClassName\", \"children\", \"icon\", \"ghost\", \"block\", \"htmlType\"]);\n const {\n getPrefixCls,\n autoInsertSpaceInButton,\n direction\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const size = React.useContext(SizeContext);\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const groupSize = React.useContext(GroupSizeContext);\n const loadingOrDelay = React.useMemo(() => getLoadingConfig(loading), [loading]);\n const [innerLoading, setLoading] = React.useState(loadingOrDelay.loading);\n const [hasTwoCNChar, setHasTwoCNChar] = React.useState(false);\n const buttonRef = ref || /*#__PURE__*/React.createRef();\n const isNeedInserted = () => React.Children.count(children) === 1 && !icon && !isUnBorderedButtonType(type);\n const fixTwoCNChar = () => {\n // FIXME: for HOC usage like <FormatMessage />\n if (!buttonRef || !buttonRef.current || autoInsertSpaceInButton === false) {\n return;\n }\n const buttonText = buttonRef.current.textContent;\n if (isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!hasTwoCNChar) {\n setHasTwoCNChar(true);\n }\n } else if (hasTwoCNChar) {\n setHasTwoCNChar(false);\n }\n };\n React.useEffect(() => {\n let delayTimer = null;\n if (loadingOrDelay.delay > 0) {\n delayTimer = window.setTimeout(() => {\n delayTimer = null;\n setLoading(true);\n }, loadingOrDelay.delay);\n } else {\n setLoading(loadingOrDelay.loading);\n }\n function cleanupTimer() {\n if (delayTimer) {\n window.clearTimeout(delayTimer);\n delayTimer = null;\n }\n }\n return cleanupTimer;\n }, [loadingOrDelay]);\n React.useEffect(fixTwoCNChar, [buttonRef]);\n const handleClick = e => {\n const {\n onClick\n } = props;\n // FIXME: https://github.com/ant-design/ant-design/issues/30207\n if (innerLoading || mergedDisabled) {\n e.preventDefault();\n return;\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'Button', `\\`icon\\` is using ReactNode instead of string naming in v4. Please check \\`${icon}\\` at https://ant.design/components/icon`) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(ghost && isUnBorderedButtonType(type)), 'Button', \"`link` or `text` button can't be a `ghost` button.\") : void 0;\n const autoInsertSpace = autoInsertSpaceInButton !== false;\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const sizeClassNameMap = {\n large: 'lg',\n small: 'sm',\n middle: undefined\n };\n const sizeFullname = compactSize || groupSize || customizeSize || size;\n const sizeCls = sizeFullname ? sizeClassNameMap[sizeFullname] || '' : '';\n const iconType = innerLoading ? 'loading' : icon;\n const linkButtonRestProps = omit(rest, ['navigate']);\n const hrefAndDisabled = linkButtonRestProps.href !== undefined && mergedDisabled;\n const classes = classNames(prefixCls, hashId, {\n [`${prefixCls}-${shape}`]: shape !== 'default' && shape,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-icon-only`]: !children && children !== 0 && !!iconType,\n [`${prefixCls}-background-ghost`]: ghost && !isUnBorderedButtonType(type),\n [`${prefixCls}-loading`]: innerLoading,\n [`${prefixCls}-two-chinese-chars`]: hasTwoCNChar && autoInsertSpace && !innerLoading,\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-dangerous`]: !!danger,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-disabled`]: hrefAndDisabled\n }, compactItemClassnames, className, rootClassName);\n const iconNode = icon && !innerLoading ? icon : /*#__PURE__*/React.createElement(LoadingIcon, {\n existIcon: !!icon,\n prefixCls: prefixCls,\n loading: !!innerLoading\n });\n const kids = children || children === 0 ? spaceChildren(children, isNeedInserted() && autoInsertSpace) : null;\n if (linkButtonRestProps.href !== undefined) {\n return wrapSSR( /*#__PURE__*/React.createElement(\"a\", Object.assign({}, linkButtonRestProps, {\n className: classes,\n onClick: handleClick,\n ref: buttonRef\n }), iconNode, kids));\n }\n let buttonNode = /*#__PURE__*/React.createElement(\"button\", Object.assign({}, rest, {\n type: htmlType,\n className: classes,\n onClick: handleClick,\n disabled: mergedDisabled,\n ref: buttonRef\n }), iconNode, kids);\n if (!isUnBorderedButtonType(type)) {\n buttonNode = /*#__PURE__*/React.createElement(Wave, {\n disabled: !!innerLoading\n }, buttonNode);\n }\n return wrapSSR(buttonNode);\n};\nconst Button = /*#__PURE__*/React.forwardRef(InternalButton);\nif (process.env.NODE_ENV !== 'production') {\n Button.displayName = 'Button';\n}\nButton.Group = Group;\nButton.__ANT_BUTTON = true;\nexport default Button;","import Button from './button';\nexport * from './buttonHelpers';\nexport default Button;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\n\nvar Checkbox = /*#__PURE__*/function (_Component) {\n _inherits(Checkbox, _Component);\n\n var _super = _createSuper(Checkbox);\n\n function Checkbox(props) {\n var _this;\n\n _classCallCheck(this, Checkbox);\n\n _this = _super.call(this, props);\n\n _this.handleChange = function (e) {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n onChange = _this$props.onChange;\n\n if (disabled) {\n return;\n }\n\n if (!('checked' in _this.props)) {\n _this.setState({\n checked: e.target.checked\n });\n }\n\n if (onChange) {\n onChange({\n target: _objectSpread(_objectSpread({}, _this.props), {}, {\n checked: e.target.checked\n }),\n stopPropagation: function stopPropagation() {\n e.stopPropagation();\n },\n preventDefault: function preventDefault() {\n e.preventDefault();\n },\n nativeEvent: e.nativeEvent\n });\n }\n };\n\n _this.saveInput = function (node) {\n _this.input = node;\n };\n\n var checked = 'checked' in props ? props.checked : props.defaultChecked;\n _this.state = {\n checked: checked\n };\n return _this;\n }\n\n _createClass(Checkbox, [{\n key: \"focus\",\n value: function focus() {\n this.input.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n style = _this$props2.style,\n name = _this$props2.name,\n id = _this$props2.id,\n type = _this$props2.type,\n disabled = _this$props2.disabled,\n readOnly = _this$props2.readOnly,\n tabIndex = _this$props2.tabIndex,\n onClick = _this$props2.onClick,\n onFocus = _this$props2.onFocus,\n onBlur = _this$props2.onBlur,\n onKeyDown = _this$props2.onKeyDown,\n onKeyPress = _this$props2.onKeyPress,\n onKeyUp = _this$props2.onKeyUp,\n autoFocus = _this$props2.autoFocus,\n value = _this$props2.value,\n required = _this$props2.required,\n others = _objectWithoutProperties(_this$props2, [\"prefixCls\", \"className\", \"style\", \"name\", \"id\", \"type\", \"disabled\", \"readOnly\", \"tabIndex\", \"onClick\", \"onFocus\", \"onBlur\", \"onKeyDown\", \"onKeyPress\", \"onKeyUp\", \"autoFocus\", \"value\", \"required\"]);\n\n var globalProps = Object.keys(others).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n // eslint-disable-next-line no-param-reassign\n prev[key] = others[key];\n }\n\n return prev;\n }, {});\n var checked = this.state.checked;\n var classString = classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-checked\"), checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _classNames));\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classString,\n style: style\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n name: name,\n id: id,\n type: type,\n required: required,\n readOnly: readOnly,\n disabled: disabled,\n tabIndex: tabIndex,\n className: \"\".concat(prefixCls, \"-input\"),\n checked: !!checked,\n onClick: onClick,\n onFocus: onFocus,\n onBlur: onBlur,\n onKeyUp: onKeyUp,\n onKeyDown: onKeyDown,\n onKeyPress: onKeyPress,\n onChange: this.handleChange,\n autoFocus: autoFocus,\n ref: this.saveInput,\n value: value\n }, globalProps)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-inner\")\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n if ('checked' in props) {\n return _objectSpread(_objectSpread({}, state), {}, {\n checked: props.checked\n });\n }\n\n return null;\n }\n }]);\n\n return Checkbox;\n}(Component);\n\nCheckbox.defaultProps = {\n prefixCls: 'rc-checkbox',\n className: '',\n style: {},\n type: 'checkbox',\n defaultChecked: false,\n onFocus: function onFocus() {},\n onBlur: function onBlur() {},\n onChange: function onChange() {},\n onKeyDown: function onKeyDown() {},\n onKeyPress: function onKeyPress() {},\n onKeyUp: function onKeyUp() {}\n};\nexport default Checkbox;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Checkbox from './Checkbox';\nimport useStyle from './style';\nexport const GroupContext = /*#__PURE__*/React.createContext(null);\nconst InternalCheckboxGroup = (_a, ref) => {\n var {\n defaultValue,\n children,\n options = [],\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n onChange\n } = _a,\n restProps = __rest(_a, [\"defaultValue\", \"children\", \"options\", \"prefixCls\", \"className\", \"rootClassName\", \"style\", \"onChange\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [value, setValue] = React.useState(restProps.value || defaultValue || []);\n const [registeredValues, setRegisteredValues] = React.useState([]);\n React.useEffect(() => {\n if ('value' in restProps) {\n setValue(restProps.value || []);\n }\n }, [restProps.value]);\n const getOptions = () => options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n return {\n label: option,\n value: option\n };\n }\n return option;\n });\n const cancelValue = val => {\n setRegisteredValues(prevValues => prevValues.filter(v => v !== val));\n };\n const registerValue = val => {\n setRegisteredValues(prevValues => [].concat(_toConsumableArray(prevValues), [val]));\n };\n const toggleOption = option => {\n const optionIndex = value.indexOf(option.value);\n const newValue = _toConsumableArray(value);\n if (optionIndex === -1) {\n newValue.push(option.value);\n } else {\n newValue.splice(optionIndex, 1);\n }\n if (!('value' in restProps)) {\n setValue(newValue);\n }\n const opts = getOptions();\n onChange === null || onChange === void 0 ? void 0 : onChange(newValue.filter(val => registeredValues.includes(val)).sort((a, b) => {\n const indexA = opts.findIndex(opt => opt.value === a);\n const indexB = opts.findIndex(opt => opt.value === b);\n return indexA - indexB;\n }));\n };\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const domProps = omit(restProps, ['value', 'disabled']);\n if (options && options.length > 0) {\n children = getOptions().map(option => /*#__PURE__*/React.createElement(Checkbox, {\n prefixCls: prefixCls,\n key: option.value.toString(),\n disabled: 'disabled' in option ? option.disabled : restProps.disabled,\n value: option.value,\n checked: value.includes(option.value),\n onChange: option.onChange,\n className: `${groupPrefixCls}-item`,\n style: option.style\n }, option.label));\n }\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n const context = {\n toggleOption,\n value,\n disabled: restProps.disabled,\n name: restProps.name,\n // https://github.com/ant-design/ant-design/issues/16376\n registerValue,\n cancelValue\n };\n const classString = classNames(groupPrefixCls, {\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classString,\n style: style\n }, domProps, {\n ref: ref\n }), /*#__PURE__*/React.createElement(GroupContext.Provider, {\n value: context\n }, children)));\n};\nconst CheckboxGroup = /*#__PURE__*/React.forwardRef(InternalCheckboxGroup);\nexport default /*#__PURE__*/React.memo(CheckboxGroup);","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { FormItemInputContext } from '../form/context';\nimport warning from '../_util/warning';\nimport { GroupContext } from './Group';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useStyle from './style';\nconst InternalCheckbox = (_a, ref) => {\n var _b;\n var {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n indeterminate = false,\n style,\n onMouseEnter,\n onMouseLeave,\n skipGroup = false,\n disabled\n } = _a,\n restProps = __rest(_a, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"indeterminate\", \"style\", \"onMouseEnter\", \"onMouseLeave\", \"skipGroup\", \"disabled\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const checkboxGroup = React.useContext(GroupContext);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n const contextDisabled = React.useContext(DisabledContext);\n const mergedDisabled = (_b = (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.disabled) || disabled) !== null && _b !== void 0 ? _b : contextDisabled;\n const prevValue = React.useRef(restProps.value);\n React.useEffect(() => {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n process.env.NODE_ENV !== \"production\" ? warning('checked' in restProps || !!checkboxGroup || !('value' in restProps), 'Checkbox', '`value` is not a valid prop, do you mean `checked`?') : void 0;\n }, []);\n React.useEffect(() => {\n if (skipGroup) {\n return;\n }\n if (restProps.value !== prevValue.current) {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(prevValue.current);\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n prevValue.current = restProps.value;\n }\n return () => checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(restProps.value);\n }, [restProps.value]);\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const checkboxProps = Object.assign({}, restProps);\n if (checkboxGroup && !skipGroup) {\n checkboxProps.onChange = function () {\n if (restProps.onChange) {\n restProps.onChange.apply(restProps, arguments);\n }\n if (checkboxGroup.toggleOption) {\n checkboxGroup.toggleOption({\n label: children,\n value: restProps.value\n });\n }\n };\n checkboxProps.name = checkboxGroup.name;\n checkboxProps.checked = checkboxGroup.value.includes(restProps.value);\n }\n const classString = classNames({\n [`${prefixCls}-wrapper`]: true,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-checked`]: checkboxProps.checked,\n [`${prefixCls}-wrapper-disabled`]: mergedDisabled,\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, className, rootClassName, hashId);\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate\n }, hashId);\n const ariaChecked = indeterminate ? 'mixed' : undefined;\n return wrapSSR(\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n React.createElement(\"label\", {\n className: classString,\n style: style,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({\n \"aria-checked\": ariaChecked\n }, checkboxProps, {\n prefixCls: prefixCls,\n className: checkboxClass,\n disabled: mergedDisabled,\n ref: ref\n })), children !== undefined && /*#__PURE__*/React.createElement(\"span\", null, children)));\n};\nconst Checkbox = /*#__PURE__*/React.forwardRef(InternalCheckbox);\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","import InternalCheckbox from './Checkbox';\nimport Group from './Group';\nconst Checkbox = InternalCheckbox;\nCheckbox.Group = Group;\nCheckbox.__ANT_CHECKBOX = true;\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDom from \"./Dom/canUseDom\";\nvar Portal = /*#__PURE__*/forwardRef(function (props, ref) {\n var didUpdate = props.didUpdate,\n getContainer = props.getContainer,\n children = props.children;\n var parentRef = useRef();\n var containerRef = useRef();\n\n // Ref return nothing, only for wrapper check exist\n useImperativeHandle(ref, function () {\n return {};\n });\n\n // Create container in client side with sync to avoid useEffect not get ref\n var initRef = useRef(false);\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n parentRef.current = containerRef.current.parentNode;\n initRef.current = true;\n }\n\n // [Legacy] Used by `rc-trigger`\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 ? void 0 : didUpdate(props);\n });\n useEffect(function () {\n // Restore container to original place\n // React 18 StrictMode will unmount first and mount back for effect test:\n // https://reactjs.org/blog/2022/03/29/react-v18.html#new-strict-mode-behaviors\n if (containerRef.current.parentNode === null && parentRef.current !== null) {\n parentRef.current.appendChild(containerRef.current);\n }\n return function () {\n var _containerRef$current, _containerRef$current2;\n // [Legacy] This should not be handle by Portal but parent PortalWrapper instead.\n // Since some component use `Portal` directly, we have to keep the logic here.\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.parentNode) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? /*#__PURE__*/ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n var baseAlign = builtinPlacements[placementStr] || {};\n return _objectSpread(_objectSpread({}, baseAlign), align);\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n\n for (var i = 0; i < placements.length; i += 1) {\n var placement = placements[i];\n\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n\n return '';\n}","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n return {\n x: 0,\n y: 0\n };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\nfunction css(el, name, v) {\n var value = v;\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = Math.floor(box.left);\n y = Math.floor(box.top);\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n return val;\n}\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n }\n // force relayout\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n var ret = {};\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n var _off = offset[_key] - originalOffset[_key];\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n css(elem, ret);\n}\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\n}\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n var extra = ex;\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? Math.floor(elem.getBoundingClientRect().width) : Math.floor(elem.getBoundingClientRect().height);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = Math.floor(parseFloat(cssBoxValue)) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var val;\n var elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n domUtils[name] = function (elem, v) {\n var val = v;\n if (val !== undefined) {\n if (elem) {\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nvar getParent = utils.getParent;\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n <div style=\"width: 50px;height: 100px;overflow: hidden\">\n <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n 元素 6 高 100px 宽 50px<br/>\n </div>\n </div>\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = getParent$1(element);\n // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = getOffsetParent(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n var originalPosition = null;\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight;\n\n // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n var bodyStyle = window.getComputedStyle(body);\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n }\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n var x = region.left;\n var y = region.top;\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n return {\n left: x,\n top: y\n };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\nfunction convertOffset(str, offsetLen) {\n var n;\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n var alwaysByViewport = !!(overflow && overflow.alwaysByViewport);\n // 当前节点可以被放置的显示区域\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport);\n // 当前节点所占的区域, left/top/width/height\n var elRegion = getRegion(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n // 当前节点将要所处的区域\n var newElRegion = utils.merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n // 偏移量也反下\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n // 偏移量也反下\n var _newOffset = flipOffset(offset, 1);\n var _newTargetOffset = flipOffset(targetOffset, 1);\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points;\n\n // 重置对应部分的翻转逻辑\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如 <div 'relative'><el absolute></div>\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n var targetRegion = getRegion(target);\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2(_objectSpread2({}, align), {}, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };\n//# sourceMappingURL=index.js.map\n","export function getMotion(_ref) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n animation = _ref.animation,\n transitionName = _ref.transitionName;\n\n if (motion) {\n return motion;\n }\n\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n\n return null;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from \"../utils/legacyUtil\";\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n mask = props.mask,\n maskMotion = props.maskMotion,\n maskAnimation = props.maskAnimation,\n maskTransitionName = props.maskTransitionName;\n\n if (!mask) {\n return null;\n }\n\n var motion = {};\n\n if (maskMotion || maskTransitionName || maskAnimation) {\n motion = _objectSpread({\n motionAppear: true\n }, getMotion({\n motion: maskMotion,\n prefixCls: prefixCls,\n transitionName: maskTransitionName,\n animation: maskAnimation\n }));\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n visible: visible,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport contains from \"rc-util/es/Dom/contains\";\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement) && typeof activeElement.focus === 'function') {\n activeElement.focus();\n }\n}\nexport function monitorResize(element, callback) {\n var prevWidth = null;\n var prevHeight = null;\n\n function onResize(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n target = _ref2[0].target;\n\n if (!document.documentElement.contains(target)) return;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (prevWidth !== fixedWidth || prevHeight !== fixedHeight) {\n // https://webkit.org/blog/9997/resizeobserver-in-webkit/\n Promise.resolve().then(function () {\n callback({\n width: fixedWidth,\n height: fixedHeight\n });\n });\n }\n\n prevWidth = fixedWidth;\n prevHeight = fixedHeight;\n }\n\n var resizeObserver = new ResizeObserver(onResize);\n\n if (element) {\n resizeObserver.observe(element);\n }\n\n return function () {\n resizeObserver.disconnect();\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/**\n * Removed props:\n * - childrenProps\n */\nimport { alignElement, alignPoint } from 'dom-align';\nimport isEqual from \"rc-util/es/isEqual\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport React from 'react';\nimport useBuffer from \"./hooks/useBuffer\";\nimport { isSamePoint, monitorResize, restoreFocus } from \"./util\";\n\nfunction getElement(func) {\n if (typeof func !== 'function') return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (_typeof(point) !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function Align(_ref, ref) {\n var children = _ref.children,\n disabled = _ref.disabled,\n target = _ref.target,\n align = _ref.align,\n onAlign = _ref.onAlign,\n monitorWindowResize = _ref.monitorWindowResize,\n _ref$monitorBufferTim = _ref.monitorBufferTime,\n monitorBufferTime = _ref$monitorBufferTim === void 0 ? 0 : _ref$monitorBufferTim;\n var cacheRef = React.useRef({});\n /** Popup node ref */\n\n var nodeRef = React.useRef();\n var childNode = React.Children.only(children); // ===================== Align ======================\n // We save the props here to avoid closure makes props ood\n\n var forceAlignPropsRef = React.useRef({});\n forceAlignPropsRef.current.disabled = disabled;\n forceAlignPropsRef.current.target = target;\n forceAlignPropsRef.current.align = align;\n forceAlignPropsRef.current.onAlign = onAlign;\n\n var _useBuffer = useBuffer(function () {\n var _forceAlignPropsRef$c = forceAlignPropsRef.current,\n latestDisabled = _forceAlignPropsRef$c.disabled,\n latestTarget = _forceAlignPropsRef$c.target,\n latestAlign = _forceAlignPropsRef$c.align,\n latestOnAlign = _forceAlignPropsRef$c.onAlign;\n var source = nodeRef.current;\n\n if (!latestDisabled && latestTarget && source) {\n var _result;\n\n var _element = getElement(latestTarget);\n\n var _point = getPoint(latestTarget);\n\n cacheRef.current.element = _element;\n cacheRef.current.point = _point;\n cacheRef.current.align = latestAlign; // IE lose focus after element realign\n // We should record activeElement and restore later\n\n var _document = document,\n activeElement = _document.activeElement; // We only align when element is visible\n\n if (_element && isVisible(_element)) {\n _result = alignElement(source, _element, latestAlign);\n } else if (_point) {\n _result = alignPoint(source, _point, latestAlign);\n }\n\n restoreFocus(activeElement, source);\n\n if (latestOnAlign && _result) {\n latestOnAlign(source, _result);\n }\n\n return true;\n }\n\n return false;\n }, monitorBufferTime),\n _useBuffer2 = _slicedToArray(_useBuffer, 2),\n _forceAlign = _useBuffer2[0],\n cancelForceAlign = _useBuffer2[1]; // ===================== Effect =====================\n // Handle props change\n\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n element = _React$useState2[0],\n setElement = _React$useState2[1];\n\n var _React$useState3 = React.useState(),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n point = _React$useState4[0],\n setPoint = _React$useState4[1];\n\n useLayoutEffect(function () {\n setElement(getElement(target));\n setPoint(getPoint(target));\n });\n React.useEffect(function () {\n if (cacheRef.current.element !== element || !isSamePoint(cacheRef.current.point, point) || !isEqual(cacheRef.current.align, align)) {\n _forceAlign();\n }\n }); // Watch popup element resize\n\n React.useEffect(function () {\n var cancelFn = monitorResize(nodeRef.current, _forceAlign);\n return cancelFn;\n }, [nodeRef.current]); // Watch target element resize\n\n React.useEffect(function () {\n var cancelFn = monitorResize(element, _forceAlign);\n return cancelFn;\n }, [element]); // Listen for disabled change\n\n React.useEffect(function () {\n if (!disabled) {\n _forceAlign();\n } else {\n cancelForceAlign();\n }\n }, [disabled]); // Listen for window resize\n\n React.useEffect(function () {\n if (monitorWindowResize) {\n var cancelFn = addEventListener(window, 'resize', _forceAlign);\n return cancelFn.remove;\n }\n }, [monitorWindowResize]); // Clear all if unmount\n\n React.useEffect(function () {\n return function () {\n cancelForceAlign();\n };\n }, []); // ====================== Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {\n return _forceAlign(true);\n }\n };\n }); // ===================== Render =====================\n\n if ( /*#__PURE__*/React.isValidElement(childNode)) {\n childNode = /*#__PURE__*/React.cloneElement(childNode, {\n ref: composeRef(childNode.ref, nodeRef)\n });\n }\n\n return childNode;\n};\n\nvar RcAlign = /*#__PURE__*/React.forwardRef(Align);\nRcAlign.displayName = 'Align';\nexport default RcAlign;","import React from 'react';\nexport default (function (callback, buffer) {\n var calledRef = React.useRef(false);\n var timeoutRef = React.useRef(null);\n\n function cancelTrigger() {\n window.clearTimeout(timeoutRef.current);\n }\n\n function trigger(force) {\n cancelTrigger();\n\n if (!calledRef.current || force === true) {\n if (callback(force) === false) {\n // Not delay since callback cancelled self\n return;\n }\n\n calledRef.current = true;\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n }, buffer);\n } else {\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n trigger();\n }, buffer);\n }\n }\n\n return [trigger, function () {\n calledRef.current = false;\n cancelTrigger();\n }];\n});","// export this package's api\nimport Align from \"./Align\";\nexport default Align;","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nimport useState from \"rc-util/es/hooks/useState\";\n/**\n * Popup should follow the steps for each component work correctly:\n * measure - check for the current stretch size\n * align - let component align the position\n * aligned - re-align again in case additional className changed the size\n * afterAlign - choice next step is trigger motion or finished\n * beforeMotion - should reset motion to invisible so that CSSMotion can do normal motion\n * motion - play the motion\n * stable - everything is done\n */\n\nvar StatusQueue = ['measure', 'alignPre', 'align', null, 'motion'];\nexport default (function (visible, doMeasure) {\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setInternalStatus = _useState2[1];\n\n var rafRef = useRef();\n\n function setStatus(nextStatus) {\n setInternalStatus(nextStatus, true);\n }\n\n function cancelRaf() {\n raf.cancel(rafRef.current);\n }\n\n function goNextStatus(callback) {\n cancelRaf();\n rafRef.current = raf(function () {\n // Only align should be manually trigger\n setStatus(function (prev) {\n switch (status) {\n case 'align':\n return 'motion';\n\n case 'motion':\n return 'stable';\n\n default:\n }\n\n return prev;\n });\n callback === null || callback === void 0 ? void 0 : callback();\n });\n } // Init status\n\n\n useEffect(function () {\n setStatus('measure');\n }, [visible]); // Go next status\n\n useEffect(function () {\n switch (status) {\n case 'measure':\n doMeasure();\n break;\n\n default:\n }\n\n if (status) {\n rafRef.current = raf( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var index, nextStatus;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n index = StatusQueue.indexOf(status);\n nextStatus = StatusQueue[index + 1];\n\n if (nextStatus && index !== -1) {\n setStatus(nextStatus);\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n }\n }, [status]);\n useEffect(function () {\n return function () {\n cancelRaf();\n };\n }, []);\n return [status, goNextStatus];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport Align from 'rc-align';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nimport useVisibleStatus from \"./useVisibleStatus\";\nimport { getMotion } from \"../utils/legacyUtil\";\nimport useStretchStyle from \"./useStretchStyle\";\nvar PopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var visible = props.visible,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n children = props.children,\n zIndex = props.zIndex,\n stretch = props.stretch,\n destroyPopupOnHide = props.destroyPopupOnHide,\n forceRender = props.forceRender,\n align = props.align,\n point = props.point,\n getRootDomNode = props.getRootDomNode,\n getClassNameFromAlign = props.getClassNameFromAlign,\n onAlign = props.onAlign,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onMouseDown = props.onMouseDown,\n onTouchStart = props.onTouchStart,\n onClick = props.onClick;\n var alignRef = useRef();\n var elementRef = useRef();\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n alignedClassName = _useState2[0],\n setAlignedClassName = _useState2[1]; // ======================= Measure ========================\n\n\n var _useStretchStyle = useStretchStyle(stretch),\n _useStretchStyle2 = _slicedToArray(_useStretchStyle, 2),\n stretchStyle = _useStretchStyle2[0],\n measureStretchStyle = _useStretchStyle2[1];\n\n function doMeasure() {\n if (stretch) {\n measureStretchStyle(getRootDomNode());\n }\n } // ======================== Status ========================\n\n\n var _useVisibleStatus = useVisibleStatus(visible, doMeasure),\n _useVisibleStatus2 = _slicedToArray(_useVisibleStatus, 2),\n status = _useVisibleStatus2[0],\n goNextStatus = _useVisibleStatus2[1]; // ======================== Aligns ========================\n\n /**\n * `alignedClassName` may modify `source` size,\n * which means one time align may not move to the correct position at once.\n *\n * We will reset `alignTimes` for each status switch to `alignPre`\n * and let `rc-align` to align for multiple times to ensure get final stable place.\n * Currently we mark `alignTimes < 2` repeat align, it will increase if user report for align issue.\n * \n * Update:\n * In React 18. `rc-align` effect of align may faster than ref called trigger `forceAlign`.\n * We adjust this to `alignTimes < 2`.\n * We need refactor `rc-align` to support mark of `forceAlign` call if this still happen.\n */\n\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n alignTimes = _useState4[0],\n setAlignTimes = _useState4[1];\n\n var prepareResolveRef = useRef();\n useLayoutEffect(function () {\n if (status === 'alignPre') {\n setAlignTimes(0);\n }\n }, [status]); // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n function getAlignTarget() {\n if (point) {\n return point;\n }\n\n return getRootDomNode;\n }\n\n function forceAlign() {\n var _alignRef$current;\n\n (_alignRef$current = alignRef.current) === null || _alignRef$current === void 0 ? void 0 : _alignRef$current.forceAlign();\n }\n\n function onInternalAlign(popupDomNode, matchAlign) {\n var nextAlignedClassName = getClassNameFromAlign(matchAlign);\n\n if (alignedClassName !== nextAlignedClassName) {\n setAlignedClassName(nextAlignedClassName);\n } // We will retry multi times to make sure that the element has been align in the right position.\n\n\n setAlignTimes(function (val) {\n return val + 1;\n });\n\n if (status === 'align') {\n onAlign === null || onAlign === void 0 ? void 0 : onAlign(popupDomNode, matchAlign);\n }\n } // Delay to go to next status\n\n\n useLayoutEffect(function () {\n if (status === 'align') {\n // Repeat until not more align needed\n if (alignTimes < 3) {\n forceAlign();\n } else {\n goNextStatus(function () {\n var _prepareResolveRef$cu;\n\n (_prepareResolveRef$cu = prepareResolveRef.current) === null || _prepareResolveRef$cu === void 0 ? void 0 : _prepareResolveRef$cu.call(prepareResolveRef);\n });\n }\n }\n }, [alignTimes]); // ======================== Motion ========================\n\n var motion = _objectSpread({}, getMotion(props));\n\n ['onAppearEnd', 'onEnterEnd', 'onLeaveEnd'].forEach(function (eventName) {\n var originHandler = motion[eventName];\n\n motion[eventName] = function (element, event) {\n goNextStatus();\n return originHandler === null || originHandler === void 0 ? void 0 : originHandler(element, event);\n };\n });\n\n function onShowPrepare() {\n return new Promise(function (resolve) {\n prepareResolveRef.current = resolve;\n });\n } // Go to stable directly when motion not provided\n\n\n React.useEffect(function () {\n if (!motion.motionName && status === 'motion') {\n goNextStatus();\n }\n }, [motion.motionName, status]); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: forceAlign,\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread(_objectSpread({}, stretchStyle), {}, {\n zIndex: zIndex,\n opacity: status === 'motion' || status === 'stable' || !visible ? undefined : 0,\n // Cannot interact with disappearing elements\n // https://github.com/ant-design/ant-design/issues/35051#issuecomment-1101340714\n pointerEvents: !visible && status !== 'stable' ? 'none' : undefined\n }, style); // Align status\n\n\n var alignDisabled = true;\n\n if (align !== null && align !== void 0 && align.points && (status === 'align' || status === 'stable')) {\n alignDisabled = false;\n }\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onShowPrepare,\n onEnterPrepare: onShowPrepare,\n removeOnLeave: destroyPopupOnHide,\n forceRender: forceRender\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, className, alignedClassName, motionClassName);\n return /*#__PURE__*/React.createElement(Align, {\n target: getAlignTarget(),\n key: \"popup\",\n ref: alignRef,\n monitorWindowResize: true,\n disabled: alignDisabled,\n align: align,\n onAlign: onInternalAlign\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDownCapture: onMouseDown,\n onTouchStartCapture: onTouchStart,\n onClick: onClick,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode));\n });\n});\nPopupInner.displayName = 'PopupInner';\nexport default PopupInner;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default (function (stretch) {\n var _React$useState = React.useState({\n width: 0,\n height: 0\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n targetSize = _React$useState2[0],\n setTargetSize = _React$useState2[1];\n\n function measureStretch(element) {\n var tgtWidth = element.offsetWidth,\n tgtHeight = element.offsetHeight;\n\n var _element$getBoundingC = element.getBoundingClientRect(),\n width = _element$getBoundingC.width,\n height = _element$getBoundingC.height; // Rect is more accurate than offset, use if near\n\n\n if (Math.abs(tgtWidth - width) < 1 && Math.abs(tgtHeight - height) < 1) {\n tgtWidth = width;\n tgtHeight = height;\n }\n\n setTargetSize({\n width: tgtWidth,\n height: tgtHeight\n });\n } // Merge stretch style\n\n\n var style = React.useMemo(function () {\n var sizeStyle = {};\n\n if (stretch) {\n var width = targetSize.width,\n height = targetSize.height; // Stretch with target\n\n if (stretch.indexOf('height') !== -1 && height) {\n sizeStyle.height = height;\n } else if (stretch.indexOf('minHeight') !== -1 && height) {\n sizeStyle.minHeight = height;\n }\n\n if (stretch.indexOf('width') !== -1 && width) {\n sizeStyle.width = width;\n } else if (stretch.indexOf('minWidth') !== -1 && width) {\n sizeStyle.minWidth = width;\n }\n }\n\n return sizeStyle;\n }, [stretch, targetSize]);\n return [style, measureStretch];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nvar MobilePopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n children = props.children,\n _props$mobile = props.mobile;\n _props$mobile = _props$mobile === void 0 ? {} : _props$mobile;\n var popupClassName = _props$mobile.popupClassName,\n popupStyle = _props$mobile.popupStyle,\n _props$mobile$popupMo = _props$mobile.popupMotion,\n popupMotion = _props$mobile$popupMo === void 0 ? {} : _props$mobile$popupMo,\n popupRender = _props$mobile.popupRender,\n onClick = props.onClick;\n var elementRef = React.useRef(); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {},\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread({\n zIndex: zIndex\n }, popupStyle);\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n } // Mobile support additional render\n\n\n if (popupRender) {\n childNode = popupRender(childNode);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n removeOnLeave: true\n }, popupMotion), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, popupClassName, motionClassName);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onClick: onClick,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode);\n });\n});\nMobilePopupInner.displayName = 'MobilePopupInner';\nexport default MobilePopupInner;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"visible\", \"mobile\"];\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport isMobile from \"rc-util/es/isMobile\";\nimport Mask from \"./Mask\";\nimport PopupInner from \"./PopupInner\";\nimport MobilePopupInner from \"./MobilePopupInner\";\nvar Popup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var visible = _ref.visible,\n mobile = _ref.mobile,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _useState = useState(visible),\n _useState2 = _slicedToArray(_useState, 2),\n innerVisible = _useState2[0],\n serInnerVisible = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n inMobile = _useState4[0],\n setInMobile = _useState4[1];\n\n var cloneProps = _objectSpread(_objectSpread({}, props), {}, {\n visible: innerVisible\n }); // We check mobile in visible changed here.\n // And this also delay set `innerVisible` to avoid popup component render flash\n\n\n useEffect(function () {\n serInnerVisible(visible);\n\n if (visible && mobile) {\n setInMobile(isMobile());\n }\n }, [visible, mobile]);\n var popupNode = inMobile ? /*#__PURE__*/React.createElement(MobilePopupInner, _extends({}, cloneProps, {\n mobile: mobile,\n ref: ref\n })) : /*#__PURE__*/React.createElement(PopupInner, _extends({}, cloneProps, {\n ref: ref\n })); // We can use fragment directly but this may failed some selector usage. Keep as origin logic\n\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Mask, cloneProps), popupNode);\n});\nPopup.displayName = 'Popup';\nexport default Popup;","import * as React from 'react';\nvar TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport raf from \"rc-util/es/raf\";\nimport contains from \"rc-util/es/Dom/contains\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport Portal from \"rc-util/es/Portal\";\nimport classNames from 'classnames';\nimport { getAlignFromPlacement, getAlignPopupClassName } from \"./utils/alignUtil\";\nimport Popup from \"./Popup\";\nimport TriggerContext from \"./context\";\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument(element) {\n if (element) {\n return element.ownerDocument;\n }\n\n return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n\n/**\n * Internal usage. Do not use in your code since this will be removed.\n */\nexport function generateTrigger(PortalComponent) {\n var Trigger = /*#__PURE__*/function (_React$Component) {\n _inherits(Trigger, _React$Component);\n\n var _super = _createSuper(Trigger);\n\n // ensure `getContainer` will be called only once\n function Trigger(props) {\n var _this;\n\n _classCallCheck(this, Trigger);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"popupRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"triggerRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"portalContainer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"attachId\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"clickOutsideHandler\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"touchOutsideHandler\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"contextMenuOutsideHandler1\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"contextMenuOutsideHandler2\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"mouseDownTimeout\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"focusTime\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"preClickTime\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"preTouchTime\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"delayTimer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"hasPopupMouseDown\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseEnter\", function (e) {\n var mouseEnterDelay = _this.props.mouseEnterDelay;\n\n _this.fireEvents('onMouseEnter', e);\n\n _this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseMove\", function (e) {\n _this.fireEvents('onMouseMove', e);\n\n _this.setPoint(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseLeave\", function (e) {\n _this.fireEvents('onMouseLeave', e);\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPopupMouseEnter\", function () {\n _this.clearDelayTimer();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPopupMouseLeave\", function (e) {\n var _this$popupRef$curren;\n\n // https://github.com/react-component/trigger/pull/13\n // react bug?\n if (e.relatedTarget && !e.relatedTarget.setTimeout && contains((_this$popupRef$curren = _this.popupRef.current) === null || _this$popupRef$curren === void 0 ? void 0 : _this$popupRef$curren.getElement(), e.relatedTarget)) {\n return;\n }\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onFocus\", function (e) {\n _this.fireEvents('onFocus', e); // incase focusin and focusout\n\n\n _this.clearDelayTimer();\n\n if (_this.isFocusToShow()) {\n _this.focusTime = Date.now();\n\n _this.delaySetPopupVisible(true, _this.props.focusDelay);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseDown\", function (e) {\n _this.fireEvents('onMouseDown', e);\n\n _this.preClickTime = Date.now();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTouchStart\", function (e) {\n _this.fireEvents('onTouchStart', e);\n\n _this.preTouchTime = Date.now();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBlur\", function (e) {\n _this.fireEvents('onBlur', e);\n\n _this.clearDelayTimer();\n\n if (_this.isBlurToHide()) {\n _this.delaySetPopupVisible(false, _this.props.blurDelay);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onContextMenu\", function (e) {\n e.preventDefault();\n\n _this.fireEvents('onContextMenu', e);\n\n _this.setPopupVisible(true, e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onContextMenuClose\", function () {\n if (_this.isContextMenuToShow()) {\n _this.close();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n _this.fireEvents('onClick', event); // focus will trigger click\n\n\n if (_this.focusTime) {\n var preTime;\n\n if (_this.preClickTime && _this.preTouchTime) {\n preTime = Math.min(_this.preClickTime, _this.preTouchTime);\n } else if (_this.preClickTime) {\n preTime = _this.preClickTime;\n } else if (_this.preTouchTime) {\n preTime = _this.preTouchTime;\n }\n\n if (Math.abs(preTime - _this.focusTime) < 20) {\n return;\n }\n\n _this.focusTime = 0;\n }\n\n _this.preClickTime = 0;\n _this.preTouchTime = 0; // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n\n if (_this.isClickToShow() && (_this.isClickToHide() || _this.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n\n var nextVisible = !_this.state.popupVisible;\n\n if (_this.isClickToHide() && !nextVisible || nextVisible && _this.isClickToShow()) {\n _this.setPopupVisible(!_this.state.popupVisible, event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPopupMouseDown\", function () {\n _this.hasPopupMouseDown = true;\n clearTimeout(_this.mouseDownTimeout);\n _this.mouseDownTimeout = window.setTimeout(function () {\n _this.hasPopupMouseDown = false;\n }, 0);\n\n if (_this.context) {\n var _this$context;\n\n (_this$context = _this.context).onPopupMouseDown.apply(_this$context, arguments);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDocumentClick\", function (event) {\n if (_this.props.mask && !_this.props.maskClosable) {\n return;\n }\n\n var target = event.target;\n\n var root = _this.getRootDomNode();\n\n var popupNode = _this.getPopupDomNode();\n\n if ( // mousedown on the target should also close popup when action is contextMenu.\n // https://github.com/ant-design/ant-design/issues/29853\n (!contains(root, target) || _this.isContextMenuOnly()) && !contains(popupNode, target) && !_this.hasPopupMouseDown) {\n _this.close();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getRootDomNode\", function () {\n var getTriggerDOMNode = _this.props.getTriggerDOMNode;\n\n if (getTriggerDOMNode) {\n return getTriggerDOMNode(_this.triggerRef.current);\n }\n\n try {\n var domNode = findDOMNode(_this.triggerRef.current);\n\n if (domNode) {\n return domNode;\n }\n } catch (err) {// Do nothing\n }\n\n return ReactDOM.findDOMNode(_assertThisInitialized(_this));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopupClassNameFromAlign\", function (align) {\n var className = [];\n var _this$props = _this.props,\n popupPlacement = _this$props.popupPlacement,\n builtinPlacements = _this$props.builtinPlacements,\n prefixCls = _this$props.prefixCls,\n alignPoint = _this$props.alignPoint,\n getPopupClassNameFromAlign = _this$props.getPopupClassNameFromAlign;\n\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n\n return className.join(' ');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getComponent\", function () {\n var _this$props2 = _this.props,\n prefixCls = _this$props2.prefixCls,\n destroyPopupOnHide = _this$props2.destroyPopupOnHide,\n popupClassName = _this$props2.popupClassName,\n onPopupAlign = _this$props2.onPopupAlign,\n popupMotion = _this$props2.popupMotion,\n popupAnimation = _this$props2.popupAnimation,\n popupTransitionName = _this$props2.popupTransitionName,\n popupStyle = _this$props2.popupStyle,\n mask = _this$props2.mask,\n maskAnimation = _this$props2.maskAnimation,\n maskTransitionName = _this$props2.maskTransitionName,\n maskMotion = _this$props2.maskMotion,\n zIndex = _this$props2.zIndex,\n popup = _this$props2.popup,\n stretch = _this$props2.stretch,\n alignPoint = _this$props2.alignPoint,\n mobile = _this$props2.mobile,\n forceRender = _this$props2.forceRender,\n onPopupClick = _this$props2.onPopupClick;\n var _this$state = _this.state,\n popupVisible = _this$state.popupVisible,\n point = _this$state.point;\n\n var align = _this.getPopupAlign();\n\n var mouseProps = {};\n\n if (_this.isMouseEnterToShow()) {\n mouseProps.onMouseEnter = _this.onPopupMouseEnter;\n }\n\n if (_this.isMouseLeaveToHide()) {\n mouseProps.onMouseLeave = _this.onPopupMouseLeave;\n }\n\n mouseProps.onMouseDown = _this.onPopupMouseDown;\n mouseProps.onTouchStart = _this.onPopupMouseDown;\n return /*#__PURE__*/React.createElement(Popup, _extends({\n prefixCls: prefixCls,\n destroyPopupOnHide: destroyPopupOnHide,\n visible: popupVisible,\n point: alignPoint && point,\n className: popupClassName,\n align: align,\n onAlign: onPopupAlign,\n animation: popupAnimation,\n getClassNameFromAlign: _this.getPopupClassNameFromAlign\n }, mouseProps, {\n stretch: stretch,\n getRootDomNode: _this.getRootDomNode,\n style: popupStyle,\n mask: mask,\n zIndex: zIndex,\n transitionName: popupTransitionName,\n maskAnimation: maskAnimation,\n maskTransitionName: maskTransitionName,\n maskMotion: maskMotion,\n ref: _this.popupRef,\n motion: popupMotion,\n mobile: mobile,\n forceRender: forceRender,\n onClick: onPopupClick\n }), typeof popup === 'function' ? popup() : popup);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"attachParent\", function (popupContainer) {\n raf.cancel(_this.attachId);\n var _this$props3 = _this.props,\n getPopupContainer = _this$props3.getPopupContainer,\n getDocument = _this$props3.getDocument;\n\n var domNode = _this.getRootDomNode();\n\n var mountNode;\n\n if (!getPopupContainer) {\n mountNode = getDocument(_this.getRootDomNode()).body;\n } else if (domNode || getPopupContainer.length === 0) {\n // Compatible for legacy getPopupContainer with domNode argument.\n // If no need `domNode` argument, will call directly.\n // https://codesandbox.io/s/eloquent-mclean-ss93m?file=/src/App.js\n mountNode = getPopupContainer(domNode);\n }\n\n if (mountNode) {\n mountNode.appendChild(popupContainer);\n } else {\n // Retry after frame render in case parent not ready\n _this.attachId = raf(function () {\n _this.attachParent(popupContainer);\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getContainer\", function () {\n if (!_this.portalContainer) {\n // In React.StrictMode component will call render multiple time in first mount.\n // When you want to refactor with FC, useRef will also init multiple time and\n // point to different useRef instance which will create multiple element\n // (This multiple render will not trigger effect so you can not clean up this\n // in effect). But this is safe with class component since it always point to same class instance.\n var getDocument = _this.props.getDocument;\n var popupContainer = getDocument(_this.getRootDomNode()).createElement('div'); // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n _this.portalContainer = popupContainer;\n }\n\n _this.attachParent(_this.portalContainer);\n\n return _this.portalContainer;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setPoint\", function (point) {\n var alignPoint = _this.props.alignPoint;\n if (!alignPoint || !point) return;\n\n _this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handlePortalUpdate\", function () {\n if (_this.state.prevPopupVisible !== _this.state.popupVisible) {\n _this.props.afterPopupVisibleChange(_this.state.popupVisible);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"triggerContextValue\", {\n onPopupMouseDown: _this.onPopupMouseDown\n });\n\n var _popupVisible;\n\n if ('popupVisible' in props) {\n _popupVisible = !!props.popupVisible;\n } else {\n _popupVisible = !!props.defaultPopupVisible;\n }\n\n _this.state = {\n prevPopupVisible: _popupVisible,\n popupVisible: _popupVisible\n };\n ALL_HANDLERS.forEach(function (h) {\n _this[\"fire\".concat(h)] = function (e) {\n _this.fireEvents(h, e);\n };\n });\n return _this;\n }\n\n _createClass(Trigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.componentDidUpdate();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var props = this.props;\n var state = this.state; // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n\n if (state.popupVisible) {\n var currentDocument;\n\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n currentDocument = props.getDocument(this.getRootDomNode());\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n } // always hide on mobile\n\n\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);\n } // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n\n\n if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.contextMenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextMenuClose);\n } // close popup when trigger type contains 'onContextMenu' and window is blur.\n\n\n if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n this.contextMenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextMenuClose);\n }\n\n return;\n }\n\n this.clearOutsideHandler();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n raf.cancel(this.attachId);\n }\n }, {\n key: \"getPopupDomNode\",\n value: function getPopupDomNode() {\n var _this$popupRef$curren2;\n\n // for test\n return ((_this$popupRef$curren2 = this.popupRef.current) === null || _this$popupRef$curren2 === void 0 ? void 0 : _this$popupRef$curren2.getElement()) || null;\n }\n }, {\n key: \"getPopupAlign\",\n value: function getPopupAlign() {\n var props = this.props;\n var popupPlacement = props.popupPlacement,\n popupAlign = props.popupAlign,\n builtinPlacements = props.builtinPlacements;\n\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n\n return popupAlign;\n }\n }, {\n key: \"setPopupVisible\",\n value:\n /**\n * @param popupVisible Show or not the popup element\n * @param event SyntheticEvent, used for `pointAlign`\n */\n function setPopupVisible(popupVisible, event) {\n var alignPoint = this.props.alignPoint;\n var prevPopupVisible = this.state.popupVisible;\n this.clearDelayTimer();\n\n if (prevPopupVisible !== popupVisible) {\n if (!('popupVisible' in this.props)) {\n this.setState({\n popupVisible: popupVisible,\n prevPopupVisible: prevPopupVisible\n });\n }\n\n this.props.onPopupVisibleChange(popupVisible);\n } // Always record the point position since mouseEnterDelay will delay the show\n\n\n if (alignPoint && event && popupVisible) {\n this.setPoint(event);\n }\n }\n }, {\n key: \"delaySetPopupVisible\",\n value: function delaySetPopupVisible(visible, delayS, event) {\n var _this2 = this;\n\n var delay = delayS * 1000;\n this.clearDelayTimer();\n\n if (delay) {\n var point = event ? {\n pageX: event.pageX,\n pageY: event.pageY\n } : null;\n this.delayTimer = window.setTimeout(function () {\n _this2.setPopupVisible(visible, point);\n\n _this2.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n }\n }, {\n key: \"clearDelayTimer\",\n value: function clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n }, {\n key: \"clearOutsideHandler\",\n value: function clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextMenuOutsideHandler1) {\n this.contextMenuOutsideHandler1.remove();\n this.contextMenuOutsideHandler1 = null;\n }\n\n if (this.contextMenuOutsideHandler2) {\n this.contextMenuOutsideHandler2.remove();\n this.contextMenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n }\n }, {\n key: \"createTwoChains\",\n value: function createTwoChains(event) {\n var childPros = this.props.children.props;\n var props = this.props;\n\n if (childPros[event] && props[event]) {\n return this[\"fire\".concat(event)];\n }\n\n return childPros[event] || props[event];\n }\n }, {\n key: \"isClickToShow\",\n value: function isClickToShow() {\n var _this$props4 = this.props,\n action = _this$props4.action,\n showAction = _this$props4.showAction;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isContextMenuOnly\",\n value: function isContextMenuOnly() {\n var action = this.props.action;\n return action === 'contextMenu' || action.length === 1 && action[0] === 'contextMenu';\n }\n }, {\n key: \"isContextMenuToShow\",\n value: function isContextMenuToShow() {\n var _this$props5 = this.props,\n action = _this$props5.action,\n showAction = _this$props5.showAction;\n return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n }\n }, {\n key: \"isClickToHide\",\n value: function isClickToHide() {\n var _this$props6 = this.props,\n action = _this$props6.action,\n hideAction = _this$props6.hideAction;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isMouseEnterToShow\",\n value: function isMouseEnterToShow() {\n var _this$props7 = this.props,\n action = _this$props7.action,\n showAction = _this$props7.showAction;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n }\n }, {\n key: \"isMouseLeaveToHide\",\n value: function isMouseLeaveToHide() {\n var _this$props8 = this.props,\n action = _this$props8.action,\n hideAction = _this$props8.hideAction;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n }\n }, {\n key: \"isFocusToShow\",\n value: function isFocusToShow() {\n var _this$props9 = this.props,\n action = _this$props9.action,\n showAction = _this$props9.showAction;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n }\n }, {\n key: \"isBlurToHide\",\n value: function isBlurToHide() {\n var _this$props10 = this.props,\n action = _this$props10.action,\n hideAction = _this$props10.hideAction;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n }\n }, {\n key: \"forcePopupAlign\",\n value: function forcePopupAlign() {\n if (this.state.popupVisible) {\n var _this$popupRef$curren3;\n\n (_this$popupRef$curren3 = this.popupRef.current) === null || _this$popupRef$curren3 === void 0 ? void 0 : _this$popupRef$curren3.forceAlign();\n }\n }\n }, {\n key: \"fireEvents\",\n value: function fireEvents(type, e) {\n var childCallback = this.props.children.props[type];\n\n if (childCallback) {\n childCallback(e);\n }\n\n var callback = this.props[type];\n\n if (callback) {\n callback(e);\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n this.setPopupVisible(false);\n }\n }, {\n key: \"render\",\n value: function render() {\n var popupVisible = this.state.popupVisible;\n var _this$props11 = this.props,\n children = _this$props11.children,\n forceRender = _this$props11.forceRender,\n alignPoint = _this$props11.alignPoint,\n className = _this$props11.className,\n autoDestroy = _this$props11.autoDestroy;\n var child = React.Children.only(children);\n var newChildProps = {\n key: 'trigger'\n }; // ============================== Visible Handlers ==============================\n // >>> ContextMenu\n\n if (this.isContextMenuToShow()) {\n newChildProps.onContextMenu = this.onContextMenu;\n } else {\n newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n } // >>> Click\n\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.onClick = this.onClick;\n newChildProps.onMouseDown = this.onMouseDown;\n newChildProps.onTouchStart = this.onTouchStart;\n } else {\n newChildProps.onClick = this.createTwoChains('onClick');\n newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n } // >>> Hover(enter)\n\n\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseEnter = this.onMouseEnter; // Point align\n\n if (alignPoint) {\n newChildProps.onMouseMove = this.onMouseMove;\n }\n } else {\n newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n } // >>> Hover(leave)\n\n\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseLeave = this.onMouseLeave;\n } else {\n newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n } // >>> Focus\n\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.onFocus = this.onFocus;\n newChildProps.onBlur = this.onBlur;\n } else {\n newChildProps.onFocus = this.createTwoChains('onFocus');\n newChildProps.onBlur = this.createTwoChains('onBlur');\n } // =================================== Render ===================================\n\n\n var childrenClassName = classNames(child && child.props && child.props.className, className);\n\n if (childrenClassName) {\n newChildProps.className = childrenClassName;\n }\n\n var cloneProps = _objectSpread({}, newChildProps);\n\n if (supportRef(child)) {\n cloneProps.ref = composeRef(this.triggerRef, child.ref);\n }\n\n var trigger = /*#__PURE__*/React.cloneElement(child, cloneProps);\n var portal; // prevent unmounting after it's rendered\n\n if (popupVisible || this.popupRef.current || forceRender) {\n portal = /*#__PURE__*/React.createElement(PortalComponent, {\n key: \"portal\",\n getContainer: this.getContainer,\n didUpdate: this.handlePortalUpdate\n }, this.getComponent());\n }\n\n if (!popupVisible && autoDestroy) {\n portal = null;\n }\n\n return /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: this.triggerContextValue\n }, trigger, portal);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref, prevState) {\n var popupVisible = _ref.popupVisible;\n var newState = {};\n\n if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {\n newState.popupVisible = popupVisible;\n newState.prevPopupVisible = prevState.popupVisible;\n }\n\n return newState;\n }\n }]);\n\n return Trigger;\n }(React.Component);\n\n _defineProperty(Trigger, \"contextType\", TriggerContext);\n\n _defineProperty(Trigger, \"defaultProps\", {\n prefixCls: 'rc-trigger-popup',\n getPopupClassNameFromAlign: returnEmptyString,\n getDocument: returnDocument,\n onPopupVisibleChange: noop,\n afterPopupVisibleChange: noop,\n onPopupAlign: noop,\n popupClassName: '',\n mouseEnterDelay: 0,\n mouseLeaveDelay: 0.1,\n focusDelay: 0,\n blurDelay: 0.15,\n popupStyle: {},\n destroyPopupOnHide: false,\n popupAlign: {},\n defaultPopupVisible: false,\n mask: false,\n maskClosable: true,\n action: [],\n showAction: [],\n hideAction: [],\n autoDestroy: false\n });\n\n return Trigger;\n}\nexport default generateTrigger(Portal);","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topCenter: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomCenter: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport isVisible from \"./isVisible\";\nfunction focusable(node) {\n var includePositive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (isVisible(node)) {\n var nodeName = node.nodeName.toLowerCase();\n var isFocusableElement =\n // Focusable element\n ['input', 'select', 'textarea', 'button'].includes(nodeName) ||\n // Editable element\n node.isContentEditable ||\n // Anchor with href element\n nodeName === 'a' && !!node.getAttribute('href');\n\n // Get tabIndex\n var tabIndexAttr = node.getAttribute('tabindex');\n var tabIndexNum = Number(tabIndexAttr);\n\n // Parse as number if validate\n var tabIndex = null;\n if (tabIndexAttr && !Number.isNaN(tabIndexNum)) {\n tabIndex = tabIndexNum;\n } else if (isFocusableElement && tabIndex === null) {\n tabIndex = 0;\n }\n\n // Block focusable if disabled\n if (isFocusableElement && node.disabled) {\n tabIndex = null;\n }\n return tabIndex !== null && (tabIndex >= 0 || includePositive && tabIndex < 0);\n }\n return false;\n}\nexport function getFocusNodeList(node) {\n var includePositive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var res = _toConsumableArray(node.querySelectorAll('*')).filter(function (child) {\n return focusable(child, includePositive);\n });\n if (focusable(node, includePositive)) {\n res.unshift(node);\n }\n return res;\n}\nvar lastFocusElement = null;\n\n/** @deprecated Do not use since this may failed when used in async */\nexport function saveLastFocusNode() {\n lastFocusElement = document.activeElement;\n}\n\n/** @deprecated Do not use since this may failed when used in async */\nexport function clearLastFocusNode() {\n lastFocusElement = null;\n}\n\n/** @deprecated Do not use since this may failed when used in async */\nexport function backLastFocusNode() {\n if (lastFocusElement) {\n try {\n // 元素可能已经被移动了\n lastFocusElement.focus();\n\n /* eslint-disable no-empty */\n } catch (e) {\n // empty\n }\n /* eslint-enable no-empty */\n }\n}\n\nexport function limitTabRange(node, e) {\n if (e.keyCode === 9) {\n var tabNodeList = getFocusNodeList(node);\n var lastTabNode = tabNodeList[e.shiftKey ? 0 : tabNodeList.length - 1];\n var leavingTab = lastTabNode === document.activeElement || node === document.activeElement;\n if (leavingTab) {\n var target = tabNodeList[e.shiftKey ? tabNodeList.length - 1 : 0];\n target.focus();\n e.preventDefault();\n }\n }\n}","import * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport { getFocusNodeList } from \"rc-util/es/Dom/focus\";\nvar ESC = KeyCode.ESC,\n TAB = KeyCode.TAB;\nexport default function useAccessibility(_ref) {\n var visible = _ref.visible,\n setTriggerVisible = _ref.setTriggerVisible,\n triggerRef = _ref.triggerRef,\n onVisibleChange = _ref.onVisibleChange,\n autoFocus = _ref.autoFocus;\n var focusMenuRef = React.useRef(false);\n\n var handleCloseMenuAndReturnFocus = function handleCloseMenuAndReturnFocus() {\n if (visible && triggerRef.current) {\n var _triggerRef$current, _triggerRef$current$t, _triggerRef$current$t2, _triggerRef$current$t3;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$t = _triggerRef$current.triggerRef) === null || _triggerRef$current$t === void 0 ? void 0 : (_triggerRef$current$t2 = _triggerRef$current$t.current) === null || _triggerRef$current$t2 === void 0 ? void 0 : (_triggerRef$current$t3 = _triggerRef$current$t2.focus) === null || _triggerRef$current$t3 === void 0 ? void 0 : _triggerRef$current$t3.call(_triggerRef$current$t2);\n setTriggerVisible(false);\n\n if (typeof onVisibleChange === 'function') {\n onVisibleChange(false);\n }\n }\n };\n\n var focusMenu = function focusMenu() {\n var _triggerRef$current2, _triggerRef$current2$, _triggerRef$current2$2, _triggerRef$current2$3;\n\n var elements = getFocusNodeList((_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : (_triggerRef$current2$ = _triggerRef$current2.popupRef) === null || _triggerRef$current2$ === void 0 ? void 0 : (_triggerRef$current2$2 = _triggerRef$current2$.current) === null || _triggerRef$current2$2 === void 0 ? void 0 : (_triggerRef$current2$3 = _triggerRef$current2$2.getElement) === null || _triggerRef$current2$3 === void 0 ? void 0 : _triggerRef$current2$3.call(_triggerRef$current2$2));\n var firstElement = elements[0];\n\n if (firstElement === null || firstElement === void 0 ? void 0 : firstElement.focus) {\n firstElement.focus();\n focusMenuRef.current = true;\n return true;\n }\n\n return false;\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n switch (event.keyCode) {\n case ESC:\n handleCloseMenuAndReturnFocus();\n break;\n\n case TAB:\n {\n var focusResult = false;\n\n if (!focusMenuRef.current) {\n focusResult = focusMenu();\n }\n\n if (focusResult) {\n event.preventDefault();\n } else {\n handleCloseMenuAndReturnFocus();\n }\n\n break;\n }\n }\n };\n\n React.useEffect(function () {\n if (visible) {\n window.addEventListener('keydown', handleKeyDown);\n\n if (autoFocus) {\n // FIXME: hack with raf\n raf(focusMenu, 3);\n }\n\n return function () {\n window.removeEventListener('keydown', handleKeyDown);\n focusMenuRef.current = false;\n };\n }\n\n return function () {\n focusMenuRef.current = false;\n };\n }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\", \"autoFocus\"];\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nimport Placements from './placements';\nimport useAccessibility from './hooks/useAccessibility';\n\nfunction Dropdown(props, ref) {\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n autoFocus = props.autoFocus,\n otherProps = _objectWithoutProperties(props, _excluded);\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n useAccessibility({\n visible: mergedVisible,\n setTriggerVisible: setTriggerVisible,\n triggerRef: triggerRef,\n onVisibleChange: props.onVisibleChange,\n autoFocus: autoFocus\n });\n\n var getOverlayElement = function getOverlayElement() {\n var overlay = props.overlay;\n var overlayElement;\n\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n\n return overlayElement;\n };\n\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n setTriggerVisible(false);\n\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n };\n\n var onVisibleChange = function onVisibleChange(newVisible) {\n var onVisibleChangeProp = props.onVisibleChange;\n setTriggerVisible(newVisible);\n\n if (typeof onVisibleChangeProp === 'function') {\n onVisibleChangeProp(newVisible);\n }\n };\n\n var getMenuElement = function getMenuElement() {\n var overlayElement = getOverlayElement();\n return /*#__PURE__*/React.createElement(React.Fragment, null, arrow && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), overlayElement);\n };\n\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n var overlay = props.overlay;\n\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n\n return getMenuElement();\n };\n\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n\n return !alignPoint;\n };\n\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n\n if (openClassName !== undefined) {\n return openClassName;\n }\n\n return \"\".concat(prefixCls, \"-open\");\n };\n\n var renderChildren = function renderChildren() {\n var children = props.children;\n var childrenProps = children.props ? children.props : {};\n var childClassName = classNames(childrenProps.className, getOpenClassName());\n return mergedVisible && children ? /*#__PURE__*/React.cloneElement(children, {\n className: childClassName\n }) : children;\n };\n\n var triggerHideAction = hideAction;\n\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n\n return /*#__PURE__*/React.createElement(Trigger, _objectSpread(_objectSpread({\n builtinPlacements: placements\n }, otherProps), {}, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction || [],\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: onVisibleChange,\n onPopupClick: onClick,\n getPopupContainer: getPopupContainer\n }), renderChildren());\n}\n\nexport default /*#__PURE__*/React.forwardRef(Dropdown);","import Dropdown from './Dropdown';\nexport default Dropdown;","import * as React from 'react';\nexport var IdContext = /*#__PURE__*/React.createContext(null);\nexport function getMenuId(uuid, eventKey) {\n if (uuid === undefined) {\n return null;\n }\n return \"\".concat(uuid, \"-\").concat(eventKey);\n}\n\n/**\n * Get `data-menu-id`\n */\nexport function useMenuId(eventKey) {\n var id = React.useContext(IdContext);\n return getMenuId(id, eventKey);\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"children\", \"locked\"];\nimport * as React from 'react';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nexport var MenuContext = /*#__PURE__*/React.createContext(null);\nfunction mergeProps(origin, target) {\n var clone = _objectSpread({}, origin);\n Object.keys(target).forEach(function (key) {\n var value = target[key];\n if (value !== undefined) {\n clone[key] = value;\n }\n });\n return clone;\n}\nexport default function InheritableContextProvider(_ref) {\n var children = _ref.children,\n locked = _ref.locked,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var context = React.useContext(MenuContext);\n var inheritableContext = useMemo(function () {\n return mergeProps(context, restProps);\n }, [context, restProps], function (prev, next) {\n return !locked && (prev[0] !== next[0] || !isEqual(prev[1], next[1], true));\n });\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: inheritableContext\n }, children);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nvar EmptyList = [];\n\n// ========================= Path Register =========================\n\nexport var PathRegisterContext = /*#__PURE__*/React.createContext(null);\nexport function useMeasure() {\n return React.useContext(PathRegisterContext);\n}\n\n// ========================= Path Tracker ==========================\nexport var PathTrackerContext = /*#__PURE__*/React.createContext(EmptyList);\nexport function useFullPath(eventKey) {\n var parentKeyPath = React.useContext(PathTrackerContext);\n return React.useMemo(function () {\n return eventKey !== undefined ? [].concat(_toConsumableArray(parentKeyPath), [eventKey]) : parentKeyPath;\n }, [parentKeyPath, eventKey]);\n}\n\n// =========================== Path User ===========================\n\nexport var PathUserContext = /*#__PURE__*/React.createContext(null);","import * as React from 'react';\nvar PrivateContext = /*#__PURE__*/React.createContext({});\nexport default PrivateContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport { getFocusNodeList } from \"rc-util/es/Dom/focus\";\nimport { getMenuId } from \"../context/IdContext\";\n\n// destruct to reduce minify size\nvar LEFT = KeyCode.LEFT,\n RIGHT = KeyCode.RIGHT,\n UP = KeyCode.UP,\n DOWN = KeyCode.DOWN,\n ENTER = KeyCode.ENTER,\n ESC = KeyCode.ESC,\n HOME = KeyCode.HOME,\n END = KeyCode.END;\nvar ArrowKeys = [UP, DOWN, LEFT, RIGHT];\nfunction getOffset(mode, isRootLevel, isRtl, which) {\n var _inline, _horizontal, _vertical, _offsets;\n var prev = 'prev';\n var next = 'next';\n var children = 'children';\n var parent = 'parent';\n\n // Inline enter is special that we use unique operation\n if (mode === 'inline' && which === ENTER) {\n return {\n inlineTrigger: true\n };\n }\n var inline = (_inline = {}, _defineProperty(_inline, UP, prev), _defineProperty(_inline, DOWN, next), _inline);\n var horizontal = (_horizontal = {}, _defineProperty(_horizontal, LEFT, isRtl ? next : prev), _defineProperty(_horizontal, RIGHT, isRtl ? prev : next), _defineProperty(_horizontal, DOWN, children), _defineProperty(_horizontal, ENTER, children), _horizontal);\n var vertical = (_vertical = {}, _defineProperty(_vertical, UP, prev), _defineProperty(_vertical, DOWN, next), _defineProperty(_vertical, ENTER, children), _defineProperty(_vertical, ESC, parent), _defineProperty(_vertical, LEFT, isRtl ? children : parent), _defineProperty(_vertical, RIGHT, isRtl ? parent : children), _vertical);\n var offsets = {\n inline: inline,\n horizontal: horizontal,\n vertical: vertical,\n inlineSub: inline,\n horizontalSub: vertical,\n verticalSub: vertical\n };\n var type = (_offsets = offsets[\"\".concat(mode).concat(isRootLevel ? '' : 'Sub')]) === null || _offsets === void 0 ? void 0 : _offsets[which];\n switch (type) {\n case prev:\n return {\n offset: -1,\n sibling: true\n };\n case next:\n return {\n offset: 1,\n sibling: true\n };\n case parent:\n return {\n offset: -1,\n sibling: false\n };\n case children:\n return {\n offset: 1,\n sibling: false\n };\n default:\n return null;\n }\n}\nfunction findContainerUL(element) {\n var current = element;\n while (current) {\n if (current.getAttribute('data-menu-list')) {\n return current;\n }\n current = current.parentElement;\n }\n\n // Normally should not reach this line\n /* istanbul ignore next */\n return null;\n}\n\n/**\n * Find focused element within element set provided\n */\nfunction getFocusElement(activeElement, elements) {\n var current = activeElement || document.activeElement;\n while (current) {\n if (elements.has(current)) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n}\n\n/**\n * Get focusable elements from the element set under provided container\n */\nfunction getFocusableElements(container, elements) {\n var list = getFocusNodeList(container, true);\n return list.filter(function (ele) {\n return elements.has(ele);\n });\n}\nfunction getNextFocusElement(parentQueryContainer, elements, focusMenuElement) {\n var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n // Key on the menu item will not get validate parent container\n if (!parentQueryContainer) {\n return null;\n }\n\n // List current level menu item elements\n var sameLevelFocusableMenuElementList = getFocusableElements(parentQueryContainer, elements);\n\n // Find next focus index\n var count = sameLevelFocusableMenuElementList.length;\n var focusIndex = sameLevelFocusableMenuElementList.findIndex(function (ele) {\n return focusMenuElement === ele;\n });\n if (offset < 0) {\n if (focusIndex === -1) {\n focusIndex = count - 1;\n } else {\n focusIndex -= 1;\n }\n } else if (offset > 0) {\n focusIndex += 1;\n }\n focusIndex = (focusIndex + count) % count;\n\n // Focus menu item\n return sameLevelFocusableMenuElementList[focusIndex];\n}\nexport default function useAccessibility(mode, activeKey, isRtl, id, containerRef, getKeys, getKeyPath, triggerActiveKey, triggerAccessibilityOpen, originOnKeyDown) {\n var rafRef = React.useRef();\n var activeRef = React.useRef();\n activeRef.current = activeKey;\n var cleanRaf = function cleanRaf() {\n raf.cancel(rafRef.current);\n };\n React.useEffect(function () {\n return function () {\n cleanRaf();\n };\n }, []);\n return function (e) {\n var which = e.which;\n if ([].concat(ArrowKeys, [ENTER, ESC, HOME, END]).includes(which)) {\n // Convert key to elements\n var elements;\n var key2element;\n var element2key;\n\n // >>> Wrap as function since we use raf for some case\n var refreshElements = function refreshElements() {\n elements = new Set();\n key2element = new Map();\n element2key = new Map();\n var keys = getKeys();\n keys.forEach(function (key) {\n var element = document.querySelector(\"[data-menu-id='\".concat(getMenuId(id, key), \"']\"));\n if (element) {\n elements.add(element);\n element2key.set(element, key);\n key2element.set(key, element);\n }\n });\n return elements;\n };\n refreshElements();\n\n // First we should find current focused MenuItem/SubMenu element\n var activeElement = key2element.get(activeKey);\n var focusMenuElement = getFocusElement(activeElement, elements);\n var focusMenuKey = element2key.get(focusMenuElement);\n var offsetObj = getOffset(mode, getKeyPath(focusMenuKey, true).length === 1, isRtl, which);\n\n // Some mode do not have fully arrow operation like inline\n if (!offsetObj && which !== HOME && which !== END) {\n return;\n }\n\n // Arrow prevent default to avoid page scroll\n if (ArrowKeys.includes(which) || [HOME, END].includes(which)) {\n e.preventDefault();\n }\n var tryFocus = function tryFocus(menuElement) {\n if (menuElement) {\n var focusTargetElement = menuElement;\n\n // Focus to link instead of menu item if possible\n var link = menuElement.querySelector('a');\n if (link !== null && link !== void 0 && link.getAttribute('href')) {\n focusTargetElement = link;\n }\n var targetKey = element2key.get(menuElement);\n triggerActiveKey(targetKey);\n\n /**\n * Do not `useEffect` here since `tryFocus` may trigger async\n * which makes React sync update the `activeKey`\n * that force render before `useRef` set the next activeKey\n */\n cleanRaf();\n rafRef.current = raf(function () {\n if (activeRef.current === targetKey) {\n focusTargetElement.focus();\n }\n });\n }\n };\n if ([HOME, END].includes(which) || offsetObj.sibling || !focusMenuElement) {\n // ========================== Sibling ==========================\n // Find walkable focus menu element container\n var parentQueryContainer;\n if (!focusMenuElement || mode === 'inline') {\n parentQueryContainer = containerRef.current;\n } else {\n parentQueryContainer = findContainerUL(focusMenuElement);\n }\n\n // Get next focus element\n var targetElement;\n var focusableElements = getFocusableElements(parentQueryContainer, elements);\n if (which === HOME) {\n targetElement = focusableElements[0];\n } else if (which === END) {\n targetElement = focusableElements[focusableElements.length - 1];\n } else {\n targetElement = getNextFocusElement(parentQueryContainer, elements, focusMenuElement, offsetObj.offset);\n }\n // Focus menu item\n tryFocus(targetElement);\n\n // ======================= InlineTrigger =======================\n } else if (offsetObj.inlineTrigger) {\n // Inline trigger no need switch to sub menu item\n triggerAccessibilityOpen(focusMenuKey);\n // =========================== Level ===========================\n } else if (offsetObj.offset > 0) {\n triggerAccessibilityOpen(focusMenuKey, true);\n cleanRaf();\n rafRef.current = raf(function () {\n // Async should resync elements\n refreshElements();\n var controlId = focusMenuElement.getAttribute('aria-controls');\n var subQueryContainer = document.getElementById(controlId);\n\n // Get sub focusable menu item\n var targetElement = getNextFocusElement(subQueryContainer, elements);\n\n // Focus menu item\n tryFocus(targetElement);\n }, 5);\n } else if (offsetObj.offset < 0) {\n var keyPath = getKeyPath(focusMenuKey, true);\n var parentKey = keyPath[keyPath.length - 2];\n var parentMenuElement = key2element.get(parentKey);\n\n // Focus menu item\n triggerAccessibilityOpen(parentKey, false);\n tryFocus(parentMenuElement);\n }\n }\n\n // Pass origin key down event\n originOnKeyDown === null || originOnKeyDown === void 0 ? void 0 : originOnKeyDown(e);\n };\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useCallback } from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { nextSlice } from \"../utils/timeUtil\";\nvar PATH_SPLIT = '__RC_UTIL_PATH_SPLIT__';\nvar getPathStr = function getPathStr(keyPath) {\n return keyPath.join(PATH_SPLIT);\n};\nvar getPathKeys = function getPathKeys(keyPathStr) {\n return keyPathStr.split(PATH_SPLIT);\n};\nexport var OVERFLOW_KEY = 'rc-menu-more';\nexport default function useKeyRecords() {\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n internalForceUpdate = _React$useState2[1];\n var key2pathRef = useRef(new Map());\n var path2keyRef = useRef(new Map());\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n overflowKeys = _React$useState4[0],\n setOverflowKeys = _React$useState4[1];\n var updateRef = useRef(0);\n var destroyRef = useRef(false);\n var forceUpdate = function forceUpdate() {\n if (!destroyRef.current) {\n internalForceUpdate({});\n }\n };\n var registerPath = useCallback(function (key, keyPath) {\n // Warning for invalidate or duplicated `key`\n if (process.env.NODE_ENV !== 'production') {\n warning(!key2pathRef.current.has(key), \"Duplicated key '\".concat(key, \"' used in Menu by path [\").concat(keyPath.join(' > '), \"]\"));\n }\n\n // Fill map\n var connectedPath = getPathStr(keyPath);\n path2keyRef.current.set(connectedPath, key);\n key2pathRef.current.set(key, connectedPath);\n updateRef.current += 1;\n var id = updateRef.current;\n nextSlice(function () {\n if (id === updateRef.current) {\n forceUpdate();\n }\n });\n }, []);\n var unregisterPath = useCallback(function (key, keyPath) {\n var connectedPath = getPathStr(keyPath);\n path2keyRef.current.delete(connectedPath);\n key2pathRef.current.delete(key);\n }, []);\n var refreshOverflowKeys = useCallback(function (keys) {\n setOverflowKeys(keys);\n }, []);\n var getKeyPath = useCallback(function (eventKey, includeOverflow) {\n var fullPath = key2pathRef.current.get(eventKey) || '';\n var keys = getPathKeys(fullPath);\n if (includeOverflow && overflowKeys.includes(keys[0])) {\n keys.unshift(OVERFLOW_KEY);\n }\n return keys;\n }, [overflowKeys]);\n var isSubPathKey = useCallback(function (pathKeys, eventKey) {\n return pathKeys.some(function (pathKey) {\n var pathKeyList = getKeyPath(pathKey, true);\n return pathKeyList.includes(eventKey);\n });\n }, [getKeyPath]);\n var getKeys = function getKeys() {\n var keys = _toConsumableArray(key2pathRef.current.keys());\n if (overflowKeys.length) {\n keys.push(OVERFLOW_KEY);\n }\n return keys;\n };\n\n /**\n * Find current key related child path keys\n */\n var getSubPathKeys = useCallback(function (key) {\n var connectedPath = \"\".concat(key2pathRef.current.get(key)).concat(PATH_SPLIT);\n var pathKeys = new Set();\n _toConsumableArray(path2keyRef.current.keys()).forEach(function (pathKey) {\n if (pathKey.startsWith(connectedPath)) {\n pathKeys.add(path2keyRef.current.get(pathKey));\n }\n });\n return pathKeys;\n }, []);\n React.useEffect(function () {\n return function () {\n destroyRef.current = true;\n };\n }, []);\n return {\n // Register\n registerPath: registerPath,\n unregisterPath: unregisterPath,\n refreshOverflowKeys: refreshOverflowKeys,\n // Util\n isSubPathKey: isSubPathKey,\n getKeyPath: getKeyPath,\n getKeys: getKeys,\n getSubPathKeys: getSubPathKeys\n };\n}","import * as React from 'react';\n\n/**\n * Cache callback function that always return same ref instead.\n * This is used for context optimization.\n */\nexport default function useMemoCallback(func) {\n var funRef = React.useRef(func);\n funRef.current = func;\n var callback = React.useCallback(function () {\n var _funRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_funRef$current = funRef.current) === null || _funRef$current === void 0 ? void 0 : _funRef$current.call.apply(_funRef$current, [funRef].concat(args));\n }, []);\n return func ? callback : undefined;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nvar uniquePrefix = Math.random().toFixed(5).toString().slice(2);\nvar internalId = 0;\nexport default function useUUID(id) {\n var _useMergedState = useMergedState(id, {\n value: id\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n uuid = _useMergedState2[0],\n setUUID = _useMergedState2[1];\n React.useEffect(function () {\n internalId += 1;\n var newId = process.env.NODE_ENV === 'test' ? 'test' : \"\".concat(uniquePrefix, \"-\").concat(internalId);\n setUUID(\"rc-menu-uuid-\".concat(newId));\n }, []);\n return uuid;\n}","import * as React from 'react';\nimport { MenuContext } from \"../context/MenuContext\";\nexport default function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {\n var _React$useContext = React.useContext(MenuContext),\n activeKey = _React$useContext.activeKey,\n onActive = _React$useContext.onActive,\n onInactive = _React$useContext.onInactive;\n var ret = {\n active: activeKey === eventKey\n };\n\n // Skip when disabled\n if (!disabled) {\n ret.onMouseEnter = function (domEvent) {\n onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({\n key: eventKey,\n domEvent: domEvent\n });\n onActive(eventKey);\n };\n ret.onMouseLeave = function (domEvent) {\n onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({\n key: eventKey,\n domEvent: domEvent\n });\n onInactive(eventKey);\n };\n }\n return ret;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"item\"];\nimport warning from \"rc-util/es/warning\";\n\n/**\n * `onClick` event return `info.item` which point to react node directly.\n * We should warning this since it will not work on FC.\n */\nexport function warnItemProp(_ref) {\n var item = _ref.item,\n restInfo = _objectWithoutProperties(_ref, _excluded);\n Object.defineProperty(restInfo, 'item', {\n get: function get() {\n warning(false, '`info.item` is deprecated since we will move to function component that not provides React Node instance in future.');\n return item;\n }\n });\n return restInfo;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nexport default function Icon(_ref) {\n var icon = _ref.icon,\n props = _ref.props,\n children = _ref.children;\n var iconNode;\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, props));\n } else {\n // Compatible for origin definition\n iconNode = icon;\n }\n return iconNode || children || null;\n}","import * as React from 'react';\nimport { MenuContext } from \"../context/MenuContext\";\nexport default function useDirectionStyle(level) {\n var _React$useContext = React.useContext(MenuContext),\n mode = _React$useContext.mode,\n rtl = _React$useContext.rtl,\n inlineIndent = _React$useContext.inlineIndent;\n if (mode !== 'inline') {\n return null;\n }\n var len = level;\n return rtl ? {\n paddingRight: len * inlineIndent\n } : {\n paddingLeft: len * inlineIndent\n };\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _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\";\nvar _excluded = [\"title\", \"attribute\", \"elementRef\"],\n _excluded2 = [\"style\", \"className\", \"eventKey\", \"warnKey\", \"disabled\", \"itemIcon\", \"children\", \"role\", \"onMouseEnter\", \"onMouseLeave\", \"onClick\", \"onKeyDown\", \"onFocus\"],\n _excluded3 = [\"active\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport warning from \"rc-util/es/warning\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport omit from \"rc-util/es/omit\";\nimport { MenuContext } from \"./context/MenuContext\";\nimport useActive from \"./hooks/useActive\";\nimport { warnItemProp } from \"./utils/warnUtil\";\nimport Icon from \"./Icon\";\nimport useDirectionStyle from \"./hooks/useDirectionStyle\";\nimport { useFullPath, useMeasure } from \"./context/PathContext\";\nimport { useMenuId } from \"./context/IdContext\";\nimport PrivateContext from \"./context/PrivateContext\";\n// Since Menu event provide the `info.item` which point to the MenuItem node instance.\n// We have to use class component here.\n// This should be removed from doc & api in future.\nvar LegacyMenuItem = /*#__PURE__*/function (_React$Component) {\n _inherits(LegacyMenuItem, _React$Component);\n var _super = _createSuper(LegacyMenuItem);\n function LegacyMenuItem() {\n _classCallCheck(this, LegacyMenuItem);\n return _super.apply(this, arguments);\n }\n _createClass(LegacyMenuItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n title = _this$props.title,\n attribute = _this$props.attribute,\n elementRef = _this$props.elementRef,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var passedProps = omit(restProps, ['eventKey']);\n warning(!attribute, '`attribute` of Menu.Item is deprecated. Please pass attribute directly.');\n return /*#__PURE__*/React.createElement(Overflow.Item, _extends({}, attribute, {\n title: typeof title === 'string' ? title : undefined\n }, passedProps, {\n ref: elementRef\n }));\n }\n }]);\n return LegacyMenuItem;\n}(React.Component);\n/**\n * Real Menu Item component\n */\nvar InternalMenuItem = function InternalMenuItem(props) {\n var _classNames;\n var style = props.style,\n className = props.className,\n eventKey = props.eventKey,\n warnKey = props.warnKey,\n disabled = props.disabled,\n itemIcon = props.itemIcon,\n children = props.children,\n role = props.role,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onClick = props.onClick,\n onKeyDown = props.onKeyDown,\n onFocus = props.onFocus,\n restProps = _objectWithoutProperties(props, _excluded2);\n var domDataId = useMenuId(eventKey);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n onItemClick = _React$useContext.onItemClick,\n contextDisabled = _React$useContext.disabled,\n overflowDisabled = _React$useContext.overflowDisabled,\n contextItemIcon = _React$useContext.itemIcon,\n selectedKeys = _React$useContext.selectedKeys,\n onActive = _React$useContext.onActive;\n var _React$useContext2 = React.useContext(PrivateContext),\n _internalRenderMenuItem = _React$useContext2._internalRenderMenuItem;\n var itemCls = \"\".concat(prefixCls, \"-item\");\n var legacyMenuItemRef = React.useRef();\n var elementRef = React.useRef();\n var mergedDisabled = contextDisabled || disabled;\n var connectedKeys = useFullPath(eventKey);\n\n // ================================ Warn ================================\n if (process.env.NODE_ENV !== 'production' && warnKey) {\n warning(false, 'MenuItem should not leave undefined `key`.');\n }\n\n // ============================= Info =============================\n var getEventInfo = function getEventInfo(e) {\n return {\n key: eventKey,\n // Note: For legacy code is reversed which not like other antd component\n keyPath: _toConsumableArray(connectedKeys).reverse(),\n item: legacyMenuItemRef.current,\n domEvent: e\n };\n };\n\n // ============================= Icon =============================\n var mergedItemIcon = itemIcon || contextItemIcon;\n\n // ============================ Active ============================\n var _useActive = useActive(eventKey, mergedDisabled, onMouseEnter, onMouseLeave),\n active = _useActive.active,\n activeProps = _objectWithoutProperties(_useActive, _excluded3);\n\n // ============================ Select ============================\n var selected = selectedKeys.includes(eventKey);\n\n // ======================== DirectionStyle ========================\n var directionStyle = useDirectionStyle(connectedKeys.length);\n\n // ============================ Events ============================\n var onInternalClick = function onInternalClick(e) {\n if (mergedDisabled) {\n return;\n }\n var info = getEventInfo(e);\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n onItemClick(info);\n };\n var onInternalKeyDown = function onInternalKeyDown(e) {\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n if (e.which === KeyCode.ENTER) {\n var info = getEventInfo(e);\n\n // Legacy. Key will also trigger click event\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n onItemClick(info);\n }\n };\n\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n var onInternalFocus = function onInternalFocus(e) {\n onActive(eventKey);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n\n // ============================ Render ============================\n var optionRoleProps = {};\n if (props.role === 'option') {\n optionRoleProps['aria-selected'] = selected;\n }\n var renderNode = /*#__PURE__*/React.createElement(LegacyMenuItem, _extends({\n ref: legacyMenuItemRef,\n elementRef: elementRef,\n role: role === null ? 'none' : role || 'menuitem',\n tabIndex: disabled ? null : -1,\n \"data-menu-id\": overflowDisabled && domDataId ? null : domDataId\n }, restProps, activeProps, optionRoleProps, {\n component: \"li\",\n \"aria-disabled\": disabled,\n style: _objectSpread(_objectSpread({}, directionStyle), style),\n className: classNames(itemCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(itemCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(itemCls, \"-selected\"), selected), _defineProperty(_classNames, \"\".concat(itemCls, \"-disabled\"), mergedDisabled), _classNames), className),\n onClick: onInternalClick,\n onKeyDown: onInternalKeyDown,\n onFocus: onInternalFocus\n }), children, /*#__PURE__*/React.createElement(Icon, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n isSelected: selected\n }),\n icon: mergedItemIcon\n }));\n if (_internalRenderMenuItem) {\n renderNode = _internalRenderMenuItem(renderNode, props, {\n selected: selected\n });\n }\n return renderNode;\n};\nfunction MenuItem(props) {\n var eventKey = props.eventKey;\n\n // ==================== Record KeyPath ====================\n var measure = useMeasure();\n var connectedKeyPath = useFullPath(eventKey);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(function () {\n if (measure) {\n measure.registerPath(eventKey, connectedKeyPath);\n return function () {\n measure.unregisterPath(eventKey, connectedKeyPath);\n };\n }\n }, [connectedKeyPath]);\n if (measure) {\n return null;\n }\n\n // ======================== Render ========================\n return /*#__PURE__*/React.createElement(InternalMenuItem, props);\n}\nexport default MenuItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"children\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from \"../context/MenuContext\";\nvar InternalSubMenuList = function InternalSubMenuList(_ref, ref) {\n var className = _ref.className,\n children = _ref.children,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n mode = _React$useContext.mode,\n rtl = _React$useContext.rtl;\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, rtl && \"\".concat(prefixCls, \"-rtl\"), \"\".concat(prefixCls, \"-sub\"), \"\".concat(prefixCls, \"-\").concat(mode === 'inline' ? 'inline' : 'vertical'), className),\n role: \"menu\"\n }, restProps, {\n \"data-menu-list\": true,\n ref: ref\n }), children);\n};\nvar SubMenuList = /*#__PURE__*/React.forwardRef(InternalSubMenuList);\nSubMenuList.displayName = 'SubMenuList';\nexport default SubMenuList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar _excluded = [\"label\", \"children\", \"key\", \"type\"];\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { Divider, MenuItem, MenuItemGroup, SubMenu } from '..';\nexport function parseChildren(children, keyPath) {\n return toArray(children).map(function (child, index) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n var _eventKey, _child$props;\n var key = child.key;\n var eventKey = (_eventKey = (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.eventKey) !== null && _eventKey !== void 0 ? _eventKey : key;\n var emptyKey = eventKey === null || eventKey === undefined;\n if (emptyKey) {\n eventKey = \"tmp_key-\".concat([].concat(_toConsumableArray(keyPath), [index]).join('-'));\n }\n var cloneProps = {\n key: eventKey,\n eventKey: eventKey\n };\n if (process.env.NODE_ENV !== 'production' && emptyKey) {\n cloneProps.warnKey = true;\n }\n return /*#__PURE__*/React.cloneElement(child, cloneProps);\n }\n return child;\n });\n}\nfunction convertItemsToNodes(list) {\n return (list || []).map(function (opt, index) {\n if (opt && _typeof(opt) === 'object') {\n var _ref = opt,\n label = _ref.label,\n children = _ref.children,\n key = _ref.key,\n type = _ref.type,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var mergedKey = key !== null && key !== void 0 ? key : \"tmp-\".concat(index);\n\n // MenuItemGroup & SubMenuItem\n if (children || type === 'group') {\n if (type === 'group') {\n // Group\n return /*#__PURE__*/React.createElement(MenuItemGroup, _extends({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children));\n }\n\n // Sub Menu\n return /*#__PURE__*/React.createElement(SubMenu, _extends({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children));\n }\n\n // MenuItem & Divider\n if (type === 'divider') {\n return /*#__PURE__*/React.createElement(Divider, _extends({\n key: mergedKey\n }, restProps));\n }\n return /*#__PURE__*/React.createElement(MenuItem, _extends({\n key: mergedKey\n }, restProps), label);\n }\n return null;\n }).filter(function (opt) {\n return opt;\n });\n}\nexport function parseItems(children, items, keyPath) {\n var childNodes = children;\n if (items) {\n childNodes = convertItemsToNodes(items);\n }\n return parseChildren(childNodes, keyPath);\n}","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nexport var placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport var placementsRtl = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n rightTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n leftTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport default placements;","export function getMotion(mode, motion, defaultMotions) {\n if (motion) {\n return motion;\n }\n if (defaultMotions) {\n return defaultMotions[mode] || defaultMotions.other;\n }\n return undefined;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nimport { MenuContext } from \"../context/MenuContext\";\nimport { placements, placementsRtl } from \"../placements\";\nimport { getMotion } from \"../utils/motionUtil\";\nvar popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop'\n};\nexport default function PopupTrigger(_ref) {\n var prefixCls = _ref.prefixCls,\n visible = _ref.visible,\n children = _ref.children,\n popup = _ref.popup,\n popupClassName = _ref.popupClassName,\n popupOffset = _ref.popupOffset,\n disabled = _ref.disabled,\n mode = _ref.mode,\n onVisibleChange = _ref.onVisibleChange;\n var _React$useContext = React.useContext(MenuContext),\n getPopupContainer = _React$useContext.getPopupContainer,\n rtl = _React$useContext.rtl,\n subMenuOpenDelay = _React$useContext.subMenuOpenDelay,\n subMenuCloseDelay = _React$useContext.subMenuCloseDelay,\n builtinPlacements = _React$useContext.builtinPlacements,\n triggerSubMenuAction = _React$useContext.triggerSubMenuAction,\n forceSubMenuRender = _React$useContext.forceSubMenuRender,\n rootClassName = _React$useContext.rootClassName,\n motion = _React$useContext.motion,\n defaultMotions = _React$useContext.defaultMotions;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerVisible = _React$useState2[0],\n setInnerVisible = _React$useState2[1];\n var placement = rtl ? _objectSpread(_objectSpread({}, placementsRtl), builtinPlacements) : _objectSpread(_objectSpread({}, placements), builtinPlacements);\n var popupPlacement = popupPlacementMap[mode];\n var targetMotion = getMotion(mode, motion, defaultMotions);\n var targetMotionRef = React.useRef(targetMotion);\n if (mode !== 'inline') {\n /**\n * PopupTrigger is only used for vertical and horizontal types.\n * When collapsed is unfolded, the inline animation will destroy the vertical animation.\n */\n targetMotionRef.current = targetMotion;\n }\n var mergedMotion = _objectSpread(_objectSpread({}, targetMotionRef.current), {}, {\n leavedClassName: \"\".concat(prefixCls, \"-hidden\"),\n removeOnLeave: false,\n motionAppear: true\n });\n\n // Delay to change visible\n var visibleRef = React.useRef();\n React.useEffect(function () {\n visibleRef.current = raf(function () {\n setInnerVisible(visible);\n });\n return function () {\n raf.cancel(visibleRef.current);\n };\n }, [visible]);\n return /*#__PURE__*/React.createElement(Trigger, {\n prefixCls: prefixCls,\n popupClassName: classNames(\"\".concat(prefixCls, \"-popup\"), _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), rtl), popupClassName, rootClassName),\n stretch: mode === 'horizontal' ? 'minWidth' : null,\n getPopupContainer: getPopupContainer,\n builtinPlacements: placement,\n popupPlacement: popupPlacement,\n popupVisible: innerVisible,\n popup: popup,\n popupAlign: popupOffset && {\n offset: popupOffset\n },\n action: disabled ? [] : [triggerSubMenuAction],\n mouseEnterDelay: subMenuOpenDelay,\n mouseLeaveDelay: subMenuCloseDelay,\n onPopupVisibleChange: onVisibleChange,\n forceRender: forceSubMenuRender,\n popupMotion: mergedMotion\n }, children);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from \"../utils/motionUtil\";\nimport MenuContextProvider, { MenuContext } from \"../context/MenuContext\";\nimport SubMenuList from \"./SubMenuList\";\nexport default function InlineSubMenuList(_ref) {\n var id = _ref.id,\n open = _ref.open,\n keyPath = _ref.keyPath,\n children = _ref.children;\n var fixedMode = 'inline';\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n forceSubMenuRender = _React$useContext.forceSubMenuRender,\n motion = _React$useContext.motion,\n defaultMotions = _React$useContext.defaultMotions,\n mode = _React$useContext.mode;\n\n // Always use latest mode check\n var sameModeRef = React.useRef(false);\n sameModeRef.current = mode === fixedMode;\n\n // We record `destroy` mark here since when mode change from `inline` to others.\n // The inline list should remove when motion end.\n var _React$useState = React.useState(!sameModeRef.current),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n destroy = _React$useState2[0],\n setDestroy = _React$useState2[1];\n var mergedOpen = sameModeRef.current ? open : false;\n\n // ================================= Effect =================================\n // Reset destroy state when mode change back\n React.useEffect(function () {\n if (sameModeRef.current) {\n setDestroy(false);\n }\n }, [mode]);\n\n // ================================= Render =================================\n var mergedMotion = _objectSpread({}, getMotion(fixedMode, motion, defaultMotions));\n\n // No need appear since nest inlineCollapse changed\n if (keyPath.length > 1) {\n mergedMotion.motionAppear = false;\n }\n\n // Hide inline list when mode changed and motion end\n var originOnVisibleChanged = mergedMotion.onVisibleChanged;\n mergedMotion.onVisibleChanged = function (newVisible) {\n if (!sameModeRef.current && !newVisible) {\n setDestroy(true);\n }\n return originOnVisibleChanged === null || originOnVisibleChanged === void 0 ? void 0 : originOnVisibleChanged(newVisible);\n };\n if (destroy) {\n return null;\n }\n return /*#__PURE__*/React.createElement(MenuContextProvider, {\n mode: fixedMode,\n locked: !sameModeRef.current\n }, /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: mergedOpen\n }, mergedMotion, {\n forceRender: forceSubMenuRender,\n removeOnLeave: false,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }), function (_ref2) {\n var motionClassName = _ref2.className,\n motionStyle = _ref2.style;\n return /*#__PURE__*/React.createElement(SubMenuList, {\n id: id,\n className: motionClassName,\n style: motionStyle\n }, children);\n }));\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"style\", \"className\", \"title\", \"eventKey\", \"warnKey\", \"disabled\", \"internalPopupClose\", \"children\", \"itemIcon\", \"expandIcon\", \"popupClassName\", \"popupOffset\", \"onClick\", \"onMouseEnter\", \"onMouseLeave\", \"onTitleClick\", \"onTitleMouseEnter\", \"onTitleMouseLeave\"],\n _excluded2 = [\"active\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport warning from \"rc-util/es/warning\";\nimport SubMenuList from \"./SubMenuList\";\nimport { parseChildren } from \"../utils/nodeUtil\";\nimport MenuContextProvider, { MenuContext } from \"../context/MenuContext\";\nimport useMemoCallback from \"../hooks/useMemoCallback\";\nimport PopupTrigger from \"./PopupTrigger\";\nimport Icon from \"../Icon\";\nimport useActive from \"../hooks/useActive\";\nimport { warnItemProp } from \"../utils/warnUtil\";\nimport useDirectionStyle from \"../hooks/useDirectionStyle\";\nimport InlineSubMenuList from \"./InlineSubMenuList\";\nimport { PathTrackerContext, PathUserContext, useFullPath, useMeasure } from \"../context/PathContext\";\nimport { useMenuId } from \"../context/IdContext\";\nimport PrivateContext from \"../context/PrivateContext\";\nvar InternalSubMenu = function InternalSubMenu(props) {\n var _classNames;\n var style = props.style,\n className = props.className,\n title = props.title,\n eventKey = props.eventKey,\n warnKey = props.warnKey,\n disabled = props.disabled,\n internalPopupClose = props.internalPopupClose,\n children = props.children,\n itemIcon = props.itemIcon,\n expandIcon = props.expandIcon,\n popupClassName = props.popupClassName,\n popupOffset = props.popupOffset,\n onClick = props.onClick,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onTitleClick = props.onTitleClick,\n onTitleMouseEnter = props.onTitleMouseEnter,\n onTitleMouseLeave = props.onTitleMouseLeave,\n restProps = _objectWithoutProperties(props, _excluded);\n var domDataId = useMenuId(eventKey);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n mode = _React$useContext.mode,\n openKeys = _React$useContext.openKeys,\n contextDisabled = _React$useContext.disabled,\n overflowDisabled = _React$useContext.overflowDisabled,\n activeKey = _React$useContext.activeKey,\n selectedKeys = _React$useContext.selectedKeys,\n contextItemIcon = _React$useContext.itemIcon,\n contextExpandIcon = _React$useContext.expandIcon,\n onItemClick = _React$useContext.onItemClick,\n onOpenChange = _React$useContext.onOpenChange,\n onActive = _React$useContext.onActive;\n var _React$useContext2 = React.useContext(PrivateContext),\n _internalRenderSubMenuItem = _React$useContext2._internalRenderSubMenuItem;\n var _React$useContext3 = React.useContext(PathUserContext),\n isSubPathKey = _React$useContext3.isSubPathKey;\n var connectedPath = useFullPath();\n var subMenuPrefixCls = \"\".concat(prefixCls, \"-submenu\");\n var mergedDisabled = contextDisabled || disabled;\n var elementRef = React.useRef();\n var popupRef = React.useRef();\n\n // ================================ Warn ================================\n if (process.env.NODE_ENV !== 'production' && warnKey) {\n warning(false, 'SubMenu should not leave undefined `key`.');\n }\n\n // ================================ Icon ================================\n var mergedItemIcon = itemIcon || contextItemIcon;\n var mergedExpandIcon = expandIcon || contextExpandIcon;\n\n // ================================ Open ================================\n var originOpen = openKeys.includes(eventKey);\n var open = !overflowDisabled && originOpen;\n\n // =============================== Select ===============================\n var childrenSelected = isSubPathKey(selectedKeys, eventKey);\n\n // =============================== Active ===============================\n var _useActive = useActive(eventKey, mergedDisabled, onTitleMouseEnter, onTitleMouseLeave),\n active = _useActive.active,\n activeProps = _objectWithoutProperties(_useActive, _excluded2);\n\n // Fallback of active check to avoid hover on menu title or disabled item\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n childrenActive = _React$useState2[0],\n setChildrenActive = _React$useState2[1];\n var triggerChildrenActive = function triggerChildrenActive(newActive) {\n if (!mergedDisabled) {\n setChildrenActive(newActive);\n }\n };\n var onInternalMouseEnter = function onInternalMouseEnter(domEvent) {\n triggerChildrenActive(true);\n onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({\n key: eventKey,\n domEvent: domEvent\n });\n };\n var onInternalMouseLeave = function onInternalMouseLeave(domEvent) {\n triggerChildrenActive(false);\n onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({\n key: eventKey,\n domEvent: domEvent\n });\n };\n var mergedActive = React.useMemo(function () {\n if (active) {\n return active;\n }\n if (mode !== 'inline') {\n return childrenActive || isSubPathKey([activeKey], eventKey);\n }\n return false;\n }, [mode, active, activeKey, childrenActive, eventKey, isSubPathKey]);\n\n // ========================== DirectionStyle ==========================\n var directionStyle = useDirectionStyle(connectedPath.length);\n\n // =============================== Events ===============================\n // >>>> Title click\n var onInternalTitleClick = function onInternalTitleClick(e) {\n // Skip if disabled\n if (mergedDisabled) {\n return;\n }\n onTitleClick === null || onTitleClick === void 0 ? void 0 : onTitleClick({\n key: eventKey,\n domEvent: e\n });\n\n // Trigger open by click when mode is `inline`\n if (mode === 'inline') {\n onOpenChange(eventKey, !originOpen);\n }\n };\n\n // >>>> Context for children click\n var onMergedItemClick = useMemoCallback(function (info) {\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n onItemClick(info);\n });\n\n // >>>>> Visible change\n var onPopupVisibleChange = function onPopupVisibleChange(newVisible) {\n if (mode !== 'inline') {\n onOpenChange(eventKey, newVisible);\n }\n };\n\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n var onInternalFocus = function onInternalFocus() {\n onActive(eventKey);\n };\n\n // =============================== Render ===============================\n var popupId = domDataId && \"\".concat(domDataId, \"-popup\");\n\n // >>>>> Title\n var titleNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n role: \"menuitem\",\n style: directionStyle,\n className: \"\".concat(subMenuPrefixCls, \"-title\"),\n tabIndex: mergedDisabled ? null : -1,\n ref: elementRef,\n title: typeof title === 'string' ? title : null,\n \"data-menu-id\": overflowDisabled && domDataId ? null : domDataId,\n \"aria-expanded\": open,\n \"aria-haspopup\": true,\n \"aria-controls\": popupId,\n \"aria-disabled\": mergedDisabled,\n onClick: onInternalTitleClick,\n onFocus: onInternalFocus\n }, activeProps), title, /*#__PURE__*/React.createElement(Icon, {\n icon: mode !== 'horizontal' ? mergedExpandIcon : null,\n props: _objectSpread(_objectSpread({}, props), {}, {\n isOpen: open,\n // [Legacy] Not sure why need this mark\n isSubMenu: true\n })\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(subMenuPrefixCls, \"-arrow\")\n })));\n\n // Cache mode if it change to `inline` which do not have popup motion\n var triggerModeRef = React.useRef(mode);\n if (mode !== 'inline' && connectedPath.length > 1) {\n triggerModeRef.current = 'vertical';\n } else {\n triggerModeRef.current = mode;\n }\n if (!overflowDisabled) {\n var triggerMode = triggerModeRef.current;\n\n // Still wrap with Trigger here since we need avoid react re-mount dom node\n // Which makes motion failed\n titleNode = /*#__PURE__*/React.createElement(PopupTrigger, {\n mode: triggerMode,\n prefixCls: subMenuPrefixCls,\n visible: !internalPopupClose && open && mode !== 'inline',\n popupClassName: popupClassName,\n popupOffset: popupOffset,\n popup: /*#__PURE__*/React.createElement(MenuContextProvider\n // Special handle of horizontal mode\n , {\n mode: triggerMode === 'horizontal' ? 'vertical' : triggerMode\n }, /*#__PURE__*/React.createElement(SubMenuList, {\n id: popupId,\n ref: popupRef\n }, children)),\n disabled: mergedDisabled,\n onVisibleChange: onPopupVisibleChange\n }, titleNode);\n }\n\n // >>>>> List node\n var listNode = /*#__PURE__*/React.createElement(Overflow.Item, _extends({\n role: \"none\"\n }, restProps, {\n component: \"li\",\n style: style,\n className: classNames(subMenuPrefixCls, \"\".concat(subMenuPrefixCls, \"-\").concat(mode), className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-open\"), open), _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-active\"), mergedActive), _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-selected\"), childrenSelected), _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-disabled\"), mergedDisabled), _classNames)),\n onMouseEnter: onInternalMouseEnter,\n onMouseLeave: onInternalMouseLeave\n }), titleNode, !overflowDisabled && /*#__PURE__*/React.createElement(InlineSubMenuList, {\n id: popupId,\n open: open,\n keyPath: connectedPath\n }, children));\n if (_internalRenderSubMenuItem) {\n listNode = _internalRenderSubMenuItem(listNode, props, {\n selected: childrenSelected,\n active: mergedActive,\n open: open,\n disabled: mergedDisabled\n });\n }\n\n // >>>>> Render\n return /*#__PURE__*/React.createElement(MenuContextProvider, {\n onItemClick: onMergedItemClick,\n mode: mode === 'horizontal' ? 'vertical' : mode,\n itemIcon: mergedItemIcon,\n expandIcon: mergedExpandIcon\n }, listNode);\n};\nexport default function SubMenu(props) {\n var eventKey = props.eventKey,\n children = props.children;\n var connectedKeyPath = useFullPath(eventKey);\n var childList = parseChildren(children, connectedKeyPath);\n\n // ==================== Record KeyPath ====================\n var measure = useMeasure();\n\n // eslint-disable-next-line consistent-return\n React.useEffect(function () {\n if (measure) {\n measure.registerPath(eventKey, connectedKeyPath);\n return function () {\n measure.unregisterPath(eventKey, connectedKeyPath);\n };\n }\n }, [connectedKeyPath]);\n var renderNode;\n\n // ======================== Render ========================\n if (measure) {\n renderNode = childList;\n } else {\n renderNode = /*#__PURE__*/React.createElement(InternalSubMenu, props, childList);\n }\n return /*#__PURE__*/React.createElement(PathTrackerContext.Provider, {\n value: connectedKeyPath\n }, renderNode);\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 _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"rootClassName\", \"style\", \"className\", \"tabIndex\", \"items\", \"children\", \"direction\", \"id\", \"mode\", \"inlineCollapsed\", \"disabled\", \"disabledOverflow\", \"subMenuOpenDelay\", \"subMenuCloseDelay\", \"forceSubMenuRender\", \"defaultOpenKeys\", \"openKeys\", \"activeKey\", \"defaultActiveFirst\", \"selectable\", \"multiple\", \"defaultSelectedKeys\", \"selectedKeys\", \"onSelect\", \"onDeselect\", \"inlineIndent\", \"motion\", \"defaultMotions\", \"triggerSubMenuAction\", \"builtinPlacements\", \"itemIcon\", \"expandIcon\", \"overflowedIndicator\", \"overflowedIndicatorPopupClassName\", \"getPopupContainer\", \"onClick\", \"onOpenChange\", \"onKeyDown\", \"openAnimation\", \"openTransitionName\", \"_internalRenderMenuItem\", \"_internalRenderSubMenuItem\"];\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { useImperativeHandle } from 'react';\nimport { flushSync } from 'react-dom';\nimport isEqual from \"rc-util/es/isEqual\";\nimport { getMenuId, IdContext } from \"./context/IdContext\";\nimport MenuContextProvider from \"./context/MenuContext\";\nimport { PathRegisterContext, PathUserContext } from \"./context/PathContext\";\nimport PrivateContext from \"./context/PrivateContext\";\nimport useAccessibility from \"./hooks/useAccessibility\";\nimport useKeyRecords, { OVERFLOW_KEY } from \"./hooks/useKeyRecords\";\nimport useMemoCallback from \"./hooks/useMemoCallback\";\nimport useUUID from \"./hooks/useUUID\";\nimport MenuItem from \"./MenuItem\";\nimport SubMenu from \"./SubMenu\";\nimport { parseItems } from \"./utils/nodeUtil\";\nimport { warnItemProp } from \"./utils/warnUtil\";\n\n/**\n * Menu modify after refactor:\n * ## Add\n * - disabled\n *\n * ## Remove\n * - openTransitionName\n * - openAnimation\n * - onDestroy\n * - siderCollapsed: Seems antd do not use this prop (Need test in antd)\n * - collapsedWidth: Seems this logic should be handle by antd Layout.Sider\n */\n\n// optimize for render\nvar EMPTY_LIST = [];\nvar Menu = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _childList$, _classNames;\n var _ref = props,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-menu' : _ref$prefixCls,\n rootClassName = _ref.rootClassName,\n style = _ref.style,\n className = _ref.className,\n _ref$tabIndex = _ref.tabIndex,\n tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,\n items = _ref.items,\n children = _ref.children,\n direction = _ref.direction,\n id = _ref.id,\n _ref$mode = _ref.mode,\n mode = _ref$mode === void 0 ? 'vertical' : _ref$mode,\n inlineCollapsed = _ref.inlineCollapsed,\n disabled = _ref.disabled,\n disabledOverflow = _ref.disabledOverflow,\n _ref$subMenuOpenDelay = _ref.subMenuOpenDelay,\n subMenuOpenDelay = _ref$subMenuOpenDelay === void 0 ? 0.1 : _ref$subMenuOpenDelay,\n _ref$subMenuCloseDela = _ref.subMenuCloseDelay,\n subMenuCloseDelay = _ref$subMenuCloseDela === void 0 ? 0.1 : _ref$subMenuCloseDela,\n forceSubMenuRender = _ref.forceSubMenuRender,\n defaultOpenKeys = _ref.defaultOpenKeys,\n openKeys = _ref.openKeys,\n activeKey = _ref.activeKey,\n defaultActiveFirst = _ref.defaultActiveFirst,\n _ref$selectable = _ref.selectable,\n selectable = _ref$selectable === void 0 ? true : _ref$selectable,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n defaultSelectedKeys = _ref.defaultSelectedKeys,\n selectedKeys = _ref.selectedKeys,\n onSelect = _ref.onSelect,\n onDeselect = _ref.onDeselect,\n _ref$inlineIndent = _ref.inlineIndent,\n inlineIndent = _ref$inlineIndent === void 0 ? 24 : _ref$inlineIndent,\n motion = _ref.motion,\n defaultMotions = _ref.defaultMotions,\n _ref$triggerSubMenuAc = _ref.triggerSubMenuAction,\n triggerSubMenuAction = _ref$triggerSubMenuAc === void 0 ? 'hover' : _ref$triggerSubMenuAc,\n builtinPlacements = _ref.builtinPlacements,\n itemIcon = _ref.itemIcon,\n expandIcon = _ref.expandIcon,\n _ref$overflowedIndica = _ref.overflowedIndicator,\n overflowedIndicator = _ref$overflowedIndica === void 0 ? '...' : _ref$overflowedIndica,\n overflowedIndicatorPopupClassName = _ref.overflowedIndicatorPopupClassName,\n getPopupContainer = _ref.getPopupContainer,\n onClick = _ref.onClick,\n onOpenChange = _ref.onOpenChange,\n onKeyDown = _ref.onKeyDown,\n openAnimation = _ref.openAnimation,\n openTransitionName = _ref.openTransitionName,\n _internalRenderMenuItem = _ref._internalRenderMenuItem,\n _internalRenderSubMenuItem = _ref._internalRenderSubMenuItem,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var childList = React.useMemo(function () {\n return parseItems(children, items, EMPTY_LIST);\n }, [children, items]);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mounted = _React$useState2[0],\n setMounted = _React$useState2[1];\n var containerRef = React.useRef();\n var uuid = useUUID(id);\n var isRtl = direction === 'rtl';\n\n // ========================= Warn =========================\n if (process.env.NODE_ENV !== 'production') {\n warning(!openAnimation && !openTransitionName, '`openAnimation` and `openTransitionName` is removed. Please use `motion` or `defaultMotion` instead.');\n }\n\n // ========================= Open =========================\n var _useMergedState = useMergedState(defaultOpenKeys, {\n value: openKeys,\n postState: function postState(keys) {\n return keys || EMPTY_LIST;\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedOpenKeys = _useMergedState2[0],\n setMergedOpenKeys = _useMergedState2[1];\n\n // React 18 will merge mouse event which means we open key will not sync\n // ref: https://github.com/ant-design/ant-design/issues/38818\n var triggerOpenKeys = function triggerOpenKeys(keys) {\n var forceFlush = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n function doUpdate() {\n setMergedOpenKeys(keys);\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(keys);\n }\n if (forceFlush) {\n flushSync(doUpdate);\n } else {\n doUpdate();\n }\n };\n\n // >>>>> Cache & Reset open keys when inlineCollapsed changed\n var _React$useState3 = React.useState(mergedOpenKeys),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n inlineCacheOpenKeys = _React$useState4[0],\n setInlineCacheOpenKeys = _React$useState4[1];\n var mountRef = React.useRef(false);\n\n // ========================= Mode =========================\n var _React$useMemo = React.useMemo(function () {\n if ((mode === 'inline' || mode === 'vertical') && inlineCollapsed) {\n return ['vertical', inlineCollapsed];\n }\n return [mode, false];\n }, [mode, inlineCollapsed]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n mergedMode = _React$useMemo2[0],\n mergedInlineCollapsed = _React$useMemo2[1];\n var isInlineMode = mergedMode === 'inline';\n var _React$useState5 = React.useState(mergedMode),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n internalMode = _React$useState6[0],\n setInternalMode = _React$useState6[1];\n var _React$useState7 = React.useState(mergedInlineCollapsed),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n internalInlineCollapsed = _React$useState8[0],\n setInternalInlineCollapsed = _React$useState8[1];\n React.useEffect(function () {\n setInternalMode(mergedMode);\n setInternalInlineCollapsed(mergedInlineCollapsed);\n if (!mountRef.current) {\n return;\n }\n // Synchronously update MergedOpenKeys\n if (isInlineMode) {\n setMergedOpenKeys(inlineCacheOpenKeys);\n } else {\n // Trigger open event in case its in control\n triggerOpenKeys(EMPTY_LIST);\n }\n }, [mergedMode, mergedInlineCollapsed]);\n\n // ====================== Responsive ======================\n var _React$useState9 = React.useState(0),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n lastVisibleIndex = _React$useState10[0],\n setLastVisibleIndex = _React$useState10[1];\n var allVisible = lastVisibleIndex >= childList.length - 1 || internalMode !== 'horizontal' || disabledOverflow;\n\n // Cache\n React.useEffect(function () {\n if (isInlineMode) {\n setInlineCacheOpenKeys(mergedOpenKeys);\n }\n }, [mergedOpenKeys]);\n React.useEffect(function () {\n mountRef.current = true;\n return function () {\n mountRef.current = false;\n };\n }, []);\n\n // ========================= Path =========================\n var _useKeyRecords = useKeyRecords(),\n registerPath = _useKeyRecords.registerPath,\n unregisterPath = _useKeyRecords.unregisterPath,\n refreshOverflowKeys = _useKeyRecords.refreshOverflowKeys,\n isSubPathKey = _useKeyRecords.isSubPathKey,\n getKeyPath = _useKeyRecords.getKeyPath,\n getKeys = _useKeyRecords.getKeys,\n getSubPathKeys = _useKeyRecords.getSubPathKeys;\n var registerPathContext = React.useMemo(function () {\n return {\n registerPath: registerPath,\n unregisterPath: unregisterPath\n };\n }, [registerPath, unregisterPath]);\n var pathUserContext = React.useMemo(function () {\n return {\n isSubPathKey: isSubPathKey\n };\n }, [isSubPathKey]);\n React.useEffect(function () {\n refreshOverflowKeys(allVisible ? EMPTY_LIST : childList.slice(lastVisibleIndex + 1).map(function (child) {\n return child.key;\n }));\n }, [lastVisibleIndex, allVisible]);\n\n // ======================== Active ========================\n var _useMergedState3 = useMergedState(activeKey || defaultActiveFirst && ((_childList$ = childList[0]) === null || _childList$ === void 0 ? void 0 : _childList$.key), {\n value: activeKey\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedActiveKey = _useMergedState4[0],\n setMergedActiveKey = _useMergedState4[1];\n var onActive = useMemoCallback(function (key) {\n setMergedActiveKey(key);\n });\n var onInactive = useMemoCallback(function () {\n setMergedActiveKey(undefined);\n });\n useImperativeHandle(ref, function () {\n return {\n list: containerRef.current,\n focus: function focus(options) {\n var _childList$find;\n var shouldFocusKey = mergedActiveKey !== null && mergedActiveKey !== void 0 ? mergedActiveKey : (_childList$find = childList.find(function (node) {\n return !node.props.disabled;\n })) === null || _childList$find === void 0 ? void 0 : _childList$find.key;\n if (shouldFocusKey) {\n var _containerRef$current, _containerRef$current2, _containerRef$current3;\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.querySelector(\"li[data-menu-id='\".concat(getMenuId(uuid, shouldFocusKey), \"']\"))) === null || _containerRef$current2 === void 0 ? void 0 : (_containerRef$current3 = _containerRef$current2.focus) === null || _containerRef$current3 === void 0 ? void 0 : _containerRef$current3.call(_containerRef$current2, options);\n }\n }\n };\n });\n\n // ======================== Select ========================\n // >>>>> Select keys\n var _useMergedState5 = useMergedState(defaultSelectedKeys || [], {\n value: selectedKeys,\n // Legacy convert key to array\n postState: function postState(keys) {\n if (Array.isArray(keys)) {\n return keys;\n }\n if (keys === null || keys === undefined) {\n return EMPTY_LIST;\n }\n return [keys];\n }\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n mergedSelectKeys = _useMergedState6[0],\n setMergedSelectKeys = _useMergedState6[1];\n\n // >>>>> Trigger select\n var triggerSelection = function triggerSelection(info) {\n if (selectable) {\n // Insert or Remove\n var targetKey = info.key;\n var exist = mergedSelectKeys.includes(targetKey);\n var newSelectKeys;\n if (multiple) {\n if (exist) {\n newSelectKeys = mergedSelectKeys.filter(function (key) {\n return key !== targetKey;\n });\n } else {\n newSelectKeys = [].concat(_toConsumableArray(mergedSelectKeys), [targetKey]);\n }\n } else {\n newSelectKeys = [targetKey];\n }\n setMergedSelectKeys(newSelectKeys);\n\n // Trigger event\n var selectInfo = _objectSpread(_objectSpread({}, info), {}, {\n selectedKeys: newSelectKeys\n });\n if (exist) {\n onDeselect === null || onDeselect === void 0 ? void 0 : onDeselect(selectInfo);\n } else {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectInfo);\n }\n }\n\n // Whatever selectable, always close it\n if (!multiple && mergedOpenKeys.length && internalMode !== 'inline') {\n triggerOpenKeys(EMPTY_LIST);\n }\n };\n\n // ========================= Open =========================\n /**\n * Click for item. SubMenu do not have selection status\n */\n var onInternalClick = useMemoCallback(function (info) {\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n triggerSelection(info);\n });\n var onInternalOpenChange = useMemoCallback(function (key, open) {\n var newOpenKeys = mergedOpenKeys.filter(function (k) {\n return k !== key;\n });\n if (open) {\n newOpenKeys.push(key);\n } else if (internalMode !== 'inline') {\n // We need find all related popup to close\n var subPathKeys = getSubPathKeys(key);\n newOpenKeys = newOpenKeys.filter(function (k) {\n return !subPathKeys.has(k);\n });\n }\n if (!isEqual(mergedOpenKeys, newOpenKeys, true)) {\n triggerOpenKeys(newOpenKeys, true);\n }\n });\n var getInternalPopupContainer = useMemoCallback(getPopupContainer);\n\n // ==================== Accessibility =====================\n var triggerAccessibilityOpen = function triggerAccessibilityOpen(key, open) {\n var nextOpen = open !== null && open !== void 0 ? open : !mergedOpenKeys.includes(key);\n onInternalOpenChange(key, nextOpen);\n };\n var onInternalKeyDown = useAccessibility(internalMode, mergedActiveKey, isRtl, uuid, containerRef, getKeys, getKeyPath, setMergedActiveKey, triggerAccessibilityOpen, onKeyDown);\n\n // ======================== Effect ========================\n React.useEffect(function () {\n setMounted(true);\n }, []);\n\n // ======================= Context ========================\n var privateContext = React.useMemo(function () {\n return {\n _internalRenderMenuItem: _internalRenderMenuItem,\n _internalRenderSubMenuItem: _internalRenderSubMenuItem\n };\n }, [_internalRenderMenuItem, _internalRenderSubMenuItem]);\n\n // ======================== Render ========================\n\n // >>>>> Children\n var wrappedChildList = internalMode !== 'horizontal' || disabledOverflow ? childList :\n // Need wrap for overflow dropdown that do not response for open\n childList.map(function (child, index) {\n return (\n /*#__PURE__*/\n // Always wrap provider to avoid sub node re-mount\n React.createElement(MenuContextProvider, {\n key: child.key,\n overflowDisabled: index > lastVisibleIndex\n }, child)\n );\n });\n\n // >>>>> Container\n var container = /*#__PURE__*/React.createElement(Overflow, _extends({\n id: id,\n ref: containerRef,\n prefixCls: \"\".concat(prefixCls, \"-overflow\"),\n component: \"ul\",\n itemComponent: MenuItem,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-root\"), \"\".concat(prefixCls, \"-\").concat(internalMode), className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-inline-collapsed\"), internalInlineCollapsed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), isRtl), _classNames), rootClassName),\n dir: direction,\n style: style,\n role: \"menu\",\n tabIndex: tabIndex,\n data: wrappedChildList,\n renderRawItem: function renderRawItem(node) {\n return node;\n },\n renderRawRest: function renderRawRest(omitItems) {\n // We use origin list since wrapped list use context to prevent open\n var len = omitItems.length;\n var originOmitItems = len ? childList.slice(-len) : null;\n return /*#__PURE__*/React.createElement(SubMenu, {\n eventKey: OVERFLOW_KEY,\n title: overflowedIndicator,\n disabled: allVisible,\n internalPopupClose: len === 0,\n popupClassName: overflowedIndicatorPopupClassName\n }, originOmitItems);\n },\n maxCount: internalMode !== 'horizontal' || disabledOverflow ? Overflow.INVALIDATE : Overflow.RESPONSIVE,\n ssr: \"full\",\n \"data-menu-list\": true,\n onVisibleChange: function onVisibleChange(newLastIndex) {\n setLastVisibleIndex(newLastIndex);\n },\n onKeyDown: onInternalKeyDown\n }, restProps));\n\n // >>>>> Render\n return /*#__PURE__*/React.createElement(PrivateContext.Provider, {\n value: privateContext\n }, /*#__PURE__*/React.createElement(IdContext.Provider, {\n value: uuid\n }, /*#__PURE__*/React.createElement(MenuContextProvider, {\n prefixCls: prefixCls,\n rootClassName: rootClassName,\n mode: internalMode,\n openKeys: mergedOpenKeys,\n rtl: isRtl\n // Disabled\n ,\n disabled: disabled\n // Motion\n ,\n motion: mounted ? motion : null,\n defaultMotions: mounted ? defaultMotions : null\n // Active\n ,\n activeKey: mergedActiveKey,\n onActive: onActive,\n onInactive: onInactive\n // Selection\n ,\n selectedKeys: mergedSelectKeys\n // Level\n ,\n inlineIndent: inlineIndent\n // Popup\n ,\n subMenuOpenDelay: subMenuOpenDelay,\n subMenuCloseDelay: subMenuCloseDelay,\n forceSubMenuRender: forceSubMenuRender,\n builtinPlacements: builtinPlacements,\n triggerSubMenuAction: triggerSubMenuAction,\n getPopupContainer: getInternalPopupContainer\n // Icon\n ,\n itemIcon: itemIcon,\n expandIcon: expandIcon\n // Events\n ,\n onItemClick: onInternalClick,\n onOpenChange: onInternalOpenChange\n }, /*#__PURE__*/React.createElement(PathUserContext.Provider, {\n value: pathUserContext\n }, container), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'none'\n },\n \"aria-hidden\": true\n }, /*#__PURE__*/React.createElement(PathRegisterContext.Provider, {\n value: registerPathContext\n }, childList)))));\n});\nexport default Menu;","export function nextSlice(callback) {\n /* istanbul ignore next */\n Promise.resolve().then(callback);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"title\", \"eventKey\", \"children\"],\n _excluded2 = [\"children\"];\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { MenuContext } from \"./context/MenuContext\";\nimport { useFullPath, useMeasure } from \"./context/PathContext\";\nimport { parseChildren } from \"./utils/nodeUtil\";\nvar InternalMenuItemGroup = function InternalMenuItemGroup(_ref) {\n var className = _ref.className,\n title = _ref.title,\n eventKey = _ref.eventKey,\n children = _ref.children,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls;\n var groupPrefixCls = \"\".concat(prefixCls, \"-item-group\");\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n role: \"presentation\"\n }, restProps, {\n onClick: function onClick(e) {\n return e.stopPropagation();\n },\n className: classNames(groupPrefixCls, className)\n }), /*#__PURE__*/React.createElement(\"div\", {\n role: \"presentation\",\n className: \"\".concat(groupPrefixCls, \"-title\"),\n title: typeof title === 'string' ? title : undefined\n }, title), /*#__PURE__*/React.createElement(\"ul\", {\n role: \"group\",\n className: \"\".concat(groupPrefixCls, \"-list\")\n }, children));\n};\nexport default function MenuItemGroup(_ref2) {\n var children = _ref2.children,\n props = _objectWithoutProperties(_ref2, _excluded2);\n var connectedKeyPath = useFullPath(props.eventKey);\n var childList = parseChildren(children, connectedKeyPath);\n var measure = useMeasure();\n if (measure) {\n return childList;\n }\n return /*#__PURE__*/React.createElement(InternalMenuItemGroup, omit(props, ['warnKey']), childList);\n}","import * as React from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from \"./context/MenuContext\";\nimport { useMeasure } from \"./context/PathContext\";\nexport default function Divider(_ref) {\n var className = _ref.className,\n style = _ref.style;\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls;\n var measure = useMeasure();\n if (measure) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n className: classNames(\"\".concat(prefixCls, \"-item-divider\"), className),\n style: style\n });\n}","import Menu from \"./Menu\";\nimport MenuItem from \"./MenuItem\";\nimport SubMenu from \"./SubMenu\";\nimport MenuItemGroup from \"./MenuItemGroup\";\nimport { useFullPath } from \"./context/PathContext\";\nimport Divider from \"./Divider\";\nexport { SubMenu, MenuItem as Item, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider, /** @private Only used for antd internal. Do not use in your production. */\nuseFullPath };\nvar ExportMenu = Menu;\nExportMenu.Item = MenuItem;\nExportMenu.SubMenu = SubMenu;\nExportMenu.ItemGroup = MenuItemGroup;\nExportMenu.Divider = Divider;\nexport default ExportMenu;","// This icon file is generated automatically.\nvar EllipsisOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"ellipsis\", \"theme\": \"outlined\" };\nexport default EllipsisOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EllipsisOutlinedSvg from \"@ant-design/icons-svg/es/asn/EllipsisOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EllipsisOutlined = function EllipsisOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EllipsisOutlinedSvg\n }));\n};\nEllipsisOutlined.displayName = 'EllipsisOutlined';\nexport default /*#__PURE__*/React.forwardRef(EllipsisOutlined);","const genCollapseMotion = token => ({\n [token.componentCls]: {\n // For common/openAnimation\n [`${token.antCls}-motion-collapse-legacy`]: {\n overflow: 'hidden',\n '&-active': {\n transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},\n opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`\n }\n },\n [`${token.antCls}-motion-collapse`]: {\n overflow: 'hidden',\n transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},\n opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`\n }\n }\n});\nexport default genCollapseMotion;","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const zoomIn = new Keyframes('antZoomIn', {\n '0%': {\n transform: 'scale(0.2)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomOut = new Keyframes('antZoomOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.2)',\n opacity: 0\n }\n});\nexport const zoomBigIn = new Keyframes('antZoomBigIn', {\n '0%': {\n transform: 'scale(0.8)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomBigOut = new Keyframes('antZoomBigOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.8)',\n opacity: 0\n }\n});\nexport const zoomUpIn = new Keyframes('antZoomUpIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n }\n});\nexport const zoomUpOut = new Keyframes('antZoomUpOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n }\n});\nexport const zoomLeftIn = new Keyframes('antZoomLeftIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n }\n});\nexport const zoomLeftOut = new Keyframes('antZoomLeftOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n }\n});\nexport const zoomRightIn = new Keyframes('antZoomRightIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n }\n});\nexport const zoomRightOut = new Keyframes('antZoomRightOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n }\n});\nexport const zoomDownIn = new Keyframes('antZoomDownIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n }\n});\nexport const zoomDownOut = new Keyframes('antZoomDownOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n }\n});\nconst zoomMotion = {\n zoom: {\n inKeyframes: zoomIn,\n outKeyframes: zoomOut\n },\n 'zoom-big': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-big-fast': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-left': {\n inKeyframes: zoomLeftIn,\n outKeyframes: zoomLeftOut\n },\n 'zoom-right': {\n inKeyframes: zoomRightIn,\n outKeyframes: zoomRightOut\n },\n 'zoom-up': {\n inKeyframes: zoomUpIn,\n outKeyframes: zoomUpOut\n },\n 'zoom-down': {\n inKeyframes: zoomDownIn,\n outKeyframes: zoomDownOut\n }\n};\nexport const initZoomMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = zoomMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, motionName === 'zoom-big-fast' ? token.motionDurationFast : token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n transform: 'scale(0)',\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc,\n '&-prepare': {\n transform: 'none'\n }\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInOutCirc\n }\n }];\n};","const getHorizontalStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n menuHorizontalHeight,\n colorSplit,\n lineWidth,\n lineType,\n menuItemPaddingInline\n } = token;\n return {\n [`${componentCls}-horizontal`]: {\n lineHeight: `${menuHorizontalHeight}px`,\n border: 0,\n borderBottom: `${lineWidth}px ${lineType} ${colorSplit}`,\n boxShadow: 'none',\n '&::after': {\n display: 'block',\n clear: 'both',\n height: 0,\n content: '\"\\\\20\"'\n },\n // ======================= Item =======================\n [`${componentCls}-item, ${componentCls}-submenu`]: {\n position: 'relative',\n display: 'inline-block',\n verticalAlign: 'bottom',\n paddingInline: menuItemPaddingInline\n },\n [`> ${componentCls}-item:hover,\n > ${componentCls}-item-active,\n > ${componentCls}-submenu ${componentCls}-submenu-title:hover`]: {\n backgroundColor: 'transparent'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`].join(',')\n },\n // ===================== Sub Menu =====================\n [`${componentCls}-submenu-arrow`]: {\n display: 'none'\n }\n }\n };\n};\nexport default getHorizontalStyle;","const getRTLStyle = _ref => {\n let {\n componentCls,\n menuArrowOffset\n } = _ref;\n return {\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-submenu-rtl`]: {\n transformOrigin: '100% 0'\n },\n // Vertical Arrow\n [`${componentCls}-rtl${componentCls}-vertical,\n ${componentCls}-submenu-rtl ${componentCls}-vertical`]: {\n [`${componentCls}-submenu-arrow`]: {\n '&::before': {\n transform: `rotate(-45deg) translateY(-${menuArrowOffset})`\n },\n '&::after': {\n transform: `rotate(45deg) translateY(${menuArrowOffset})`\n }\n }\n }\n };\n};\nexport default getRTLStyle;","import { genFocusOutline } from '../../style';\nconst accessibilityFocus = token => Object.assign({}, genFocusOutline(token));\nconst getThemeStyle = (token, themeSuffix) => {\n const {\n componentCls,\n colorItemText,\n colorItemTextSelected,\n colorGroupTitle,\n colorItemBg,\n colorSubItemBg,\n colorItemBgSelected,\n colorActiveBarHeight,\n colorActiveBarWidth,\n colorActiveBarBorderSize,\n motionDurationSlow,\n motionEaseInOut,\n motionEaseOut,\n menuItemPaddingInline,\n motionDurationMid,\n colorItemTextHover,\n lineType,\n colorSplit,\n // Disabled\n colorItemTextDisabled,\n // Danger\n colorDangerItemText,\n colorDangerItemTextHover,\n colorDangerItemTextSelected,\n colorDangerItemBgActive,\n colorDangerItemBgSelected,\n colorItemBgHover,\n menuSubMenuBg,\n // Horizontal\n colorItemTextSelectedHorizontal,\n colorItemBgSelectedHorizontal\n } = token;\n return {\n [`${componentCls}-${themeSuffix}`]: {\n color: colorItemText,\n background: colorItemBg,\n [`&${componentCls}-root:focus-visible`]: Object.assign({}, accessibilityFocus(token)),\n // ======================== Item ========================\n [`${componentCls}-item-group-title`]: {\n color: colorGroupTitle\n },\n [`${componentCls}-submenu-selected`]: {\n [`> ${componentCls}-submenu-title`]: {\n color: colorItemTextSelected\n }\n },\n // Disabled\n [`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {\n color: `${colorItemTextDisabled} !important`\n },\n // Hover\n [`${componentCls}-item:hover, ${componentCls}-submenu-title:hover`]: {\n [`&:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n color: colorItemTextHover\n }\n },\n [`&:not(${componentCls}-horizontal)`]: {\n [`${componentCls}-item:not(${componentCls}-item-selected)`]: {\n '&:hover': {\n backgroundColor: colorItemBgHover\n },\n '&:active': {\n backgroundColor: colorItemBgSelected\n }\n },\n [`${componentCls}-submenu-title`]: {\n '&:hover': {\n backgroundColor: colorItemBgHover\n },\n '&:active': {\n backgroundColor: colorItemBgSelected\n }\n }\n },\n // Danger - only Item has\n [`${componentCls}-item-danger`]: {\n color: colorDangerItemText,\n [`&${componentCls}-item:hover`]: {\n [`&:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n color: colorDangerItemTextHover\n }\n },\n [`&${componentCls}-item:active`]: {\n background: colorDangerItemBgActive\n }\n },\n [`${componentCls}-item a`]: {\n '&, &:hover': {\n color: 'inherit'\n }\n },\n [`${componentCls}-item-selected`]: {\n color: colorItemTextSelected,\n // Danger\n [`&${componentCls}-item-danger`]: {\n color: colorDangerItemTextSelected\n },\n [`a, a:hover`]: {\n color: 'inherit'\n }\n },\n [`& ${componentCls}-item-selected`]: {\n backgroundColor: colorItemBgSelected,\n // Danger\n [`&${componentCls}-item-danger`]: {\n backgroundColor: colorDangerItemBgSelected\n }\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n [`&:not(${componentCls}-item-disabled):focus-visible`]: Object.assign({}, accessibilityFocus(token))\n },\n [`&${componentCls}-submenu > ${componentCls}`]: {\n backgroundColor: menuSubMenuBg\n },\n [`&${componentCls}-popup > ${componentCls}`]: {\n backgroundColor: colorItemBg\n },\n // ====================== Horizontal ======================\n [`&${componentCls}-horizontal`]: Object.assign(Object.assign({}, themeSuffix === 'dark' ? {\n borderBottom: 0\n } : {}), {\n [`> ${componentCls}-item, > ${componentCls}-submenu`]: {\n top: colorActiveBarBorderSize,\n marginTop: -colorActiveBarBorderSize,\n marginBottom: 0,\n borderRadius: 0,\n '&::after': {\n position: 'absolute',\n insetInline: menuItemPaddingInline,\n bottom: 0,\n borderBottom: `${colorActiveBarHeight}px solid transparent`,\n transition: `border-color ${motionDurationSlow} ${motionEaseInOut}`,\n content: '\"\"'\n },\n [`&:hover, &-active, &-open`]: {\n '&::after': {\n borderBottomWidth: colorActiveBarHeight,\n borderBottomColor: colorItemTextSelectedHorizontal\n }\n },\n [`&-selected`]: {\n color: colorItemTextSelectedHorizontal,\n backgroundColor: colorItemBgSelectedHorizontal,\n '&::after': {\n borderBottomWidth: colorActiveBarHeight,\n borderBottomColor: colorItemTextSelectedHorizontal\n }\n }\n }\n }),\n // ================== Inline & Vertical ===================\n //\n [`&${componentCls}-root`]: {\n [`&${componentCls}-inline, &${componentCls}-vertical`]: {\n borderInlineEnd: `${colorActiveBarBorderSize}px ${lineType} ${colorSplit}`\n }\n },\n // ======================== Inline ========================\n [`&${componentCls}-inline`]: {\n // Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n background: colorSubItemBg\n },\n // Item\n [`${componentCls}-item, ${componentCls}-submenu-title`]: colorActiveBarBorderSize && colorActiveBarWidth ? {\n width: `calc(100% + ${colorActiveBarBorderSize}px)`\n } : {},\n [`${componentCls}-item`]: {\n position: 'relative',\n '&::after': {\n position: 'absolute',\n insetBlock: 0,\n insetInlineEnd: 0,\n borderInlineEnd: `${colorActiveBarWidth}px solid ${colorItemTextSelected}`,\n transform: 'scaleY(0.0001)',\n opacity: 0,\n transition: [`transform ${motionDurationMid} ${motionEaseOut}`, `opacity ${motionDurationMid} ${motionEaseOut}`].join(','),\n content: '\"\"'\n },\n // Danger\n [`&${componentCls}-item-danger`]: {\n '&::after': {\n borderInlineEndColor: colorDangerItemTextSelected\n }\n }\n },\n [`${componentCls}-selected, ${componentCls}-item-selected`]: {\n '&::after': {\n transform: 'scaleY(1)',\n opacity: 1,\n transition: [`transform ${motionDurationMid} ${motionEaseInOut}`, `opacity ${motionDurationMid} ${motionEaseInOut}`].join(',')\n }\n }\n }\n }\n };\n};\nexport default getThemeStyle;","import { textEllipsis } from '../../style';\nconst getVerticalInlineStyle = token => {\n const {\n componentCls,\n menuItemHeight,\n itemMarginInline,\n padding,\n menuArrowSize,\n marginXS,\n marginXXS\n } = token;\n const paddingWithArrow = padding + menuArrowSize + marginXS;\n return {\n [`${componentCls}-item`]: {\n position: 'relative'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n height: menuItemHeight,\n lineHeight: `${menuItemHeight}px`,\n paddingInline: padding,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginInline: itemMarginInline,\n marginBlock: marginXXS,\n width: `calc(100% - ${itemMarginInline * 2}px)`\n },\n // disable margin collapsed\n [`${componentCls}-submenu`]: {\n paddingBottom: 0.02\n },\n [`> ${componentCls}-item,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n height: menuItemHeight,\n lineHeight: `${menuItemHeight}px`\n },\n [`${componentCls}-item-group-list ${componentCls}-submenu-title,\n ${componentCls}-submenu-title`]: {\n paddingInlineEnd: paddingWithArrow\n }\n };\n};\nconst getVerticalStyle = token => {\n const {\n componentCls,\n iconCls,\n menuItemHeight,\n colorTextLightSolid,\n dropdownWidth,\n controlHeightLG,\n motionDurationMid,\n motionEaseOut,\n paddingXL,\n fontSizeSM,\n fontSizeLG,\n motionDurationSlow,\n paddingXS,\n boxShadowSecondary\n } = token;\n const inlineItemStyle = {\n height: menuItemHeight,\n lineHeight: `${menuItemHeight}px`,\n listStylePosition: 'inside',\n listStyleType: 'disc'\n };\n return [{\n [componentCls]: {\n [`&-inline, &-vertical`]: Object.assign({\n [`&${componentCls}-root`]: {\n boxShadow: 'none'\n }\n }, getVerticalInlineStyle(token))\n },\n [`${componentCls}-submenu-popup`]: {\n [`${componentCls}-vertical`]: Object.assign(Object.assign({}, getVerticalInlineStyle(token)), {\n boxShadow: boxShadowSecondary\n })\n }\n },\n // Vertical only\n {\n [`${componentCls}-submenu-popup ${componentCls}-vertical${componentCls}-sub`]: {\n minWidth: dropdownWidth,\n maxHeight: `calc(100vh - ${controlHeightLG * 2.5}px)`,\n padding: '0',\n overflow: 'hidden',\n borderInlineEnd: 0,\n // https://github.com/ant-design/ant-design/issues/22244\n // https://github.com/ant-design/ant-design/issues/26812\n \"&:not([class*='-active'])\": {\n overflowX: 'hidden',\n overflowY: 'auto'\n }\n }\n },\n // Inline Only\n {\n [`${componentCls}-inline`]: {\n width: '100%',\n // Motion enhance for first level\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n display: 'flex',\n alignItems: 'center',\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`, `padding ${motionDurationMid} ${motionEaseOut}`].join(','),\n [`> ${componentCls}-title-content`]: {\n flex: 'auto',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n '> *': {\n flex: 'none'\n }\n }\n },\n // >>>>> Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n padding: 0,\n border: 0,\n borderRadius: 0,\n boxShadow: 'none',\n [`& > ${componentCls}-submenu > ${componentCls}-submenu-title`]: inlineItemStyle,\n [`& ${componentCls}-item-group-title`]: {\n paddingInlineStart: paddingXL\n }\n },\n // >>>>> Item\n [`${componentCls}-item`]: inlineItemStyle\n }\n },\n // Inline Collapse Only\n {\n [`${componentCls}-inline-collapsed`]: {\n width: menuItemHeight * 2,\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu ${componentCls}-submenu-title`]: {\n [`> ${componentCls}-inline-collapsed-noicon`]: {\n fontSize: fontSizeLG,\n textAlign: 'center'\n }\n }\n },\n [`> ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-submenu > ${componentCls}-submenu-title,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n insetInlineStart: 0,\n paddingInline: `calc(50% - ${fontSizeSM}px)`,\n textOverflow: 'clip',\n [`\n ${componentCls}-submenu-arrow,\n ${componentCls}-submenu-expand-icon\n `]: {\n opacity: 0\n },\n [`${componentCls}-item-icon, ${iconCls}`]: {\n margin: 0,\n fontSize: fontSizeLG,\n lineHeight: `${menuItemHeight}px`,\n '+ span': {\n display: 'inline-block',\n opacity: 0\n }\n }\n },\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'inline-block'\n },\n '&-tooltip': {\n pointerEvents: 'none',\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'none'\n },\n 'a, a:hover': {\n color: colorTextLightSolid\n }\n },\n [`${componentCls}-item-group-title`]: Object.assign(Object.assign({}, textEllipsis), {\n paddingInline: paddingXS\n })\n }\n }];\n};\nexport default getVerticalStyle;","import { TinyColor } from '@ctrl/tinycolor';\nimport { genCollapseMotion, initSlideMotion, initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport getHorizontalStyle from './horizontal';\nimport getRTLStyle from './rtl';\nimport getThemeStyle from './theme';\nimport getVerticalStyle from './vertical';\nimport { clearFix, resetComponent, resetIcon } from '../../style';\nconst genMenuItemStyle = token => {\n const {\n componentCls,\n fontSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n motionEaseOut,\n iconCls,\n controlHeightSM\n } = token;\n return {\n // >>>>> Item\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n position: 'relative',\n display: 'block',\n margin: 0,\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`, `padding ${motionDurationSlow} ${motionEaseInOut}`].join(','),\n [`${componentCls}-item-icon, ${iconCls}`]: {\n minWidth: fontSize,\n fontSize,\n transition: [`font-size ${motionDurationMid} ${motionEaseOut}`, `margin ${motionDurationSlow} ${motionEaseInOut}`, `color ${motionDurationSlow}`].join(','),\n '+ span': {\n marginInlineStart: controlHeightSM - fontSize,\n opacity: 1,\n transition: [`opacity ${motionDurationSlow} ${motionEaseInOut}`, `margin ${motionDurationSlow}`, `color ${motionDurationSlow}`].join(',')\n }\n },\n [`${componentCls}-item-icon`]: Object.assign({}, resetIcon()),\n [`&${componentCls}-item-only-child`]: {\n [`> ${iconCls}, > ${componentCls}-item-icon`]: {\n marginInlineEnd: 0\n }\n }\n },\n // Disabled state sets text to gray and nukes hover/tab effects\n [`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {\n background: 'none !important',\n cursor: 'not-allowed',\n '&::after': {\n borderColor: 'transparent !important'\n },\n a: {\n color: 'inherit !important'\n },\n [`> ${componentCls}-submenu-title`]: {\n color: 'inherit !important',\n cursor: 'not-allowed'\n }\n }\n };\n};\nconst genSubMenuArrowStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n motionEaseInOut,\n borderRadius,\n menuArrowSize,\n menuArrowOffset\n } = token;\n return {\n [`${componentCls}-submenu`]: {\n [`&-expand-icon, &-arrow`]: {\n position: 'absolute',\n top: '50%',\n insetInlineEnd: token.margin,\n width: menuArrowSize,\n color: 'currentcolor',\n transform: 'translateY(-50%)',\n transition: `transform ${motionDurationSlow} ${motionEaseInOut}, opacity ${motionDurationSlow}`\n },\n '&-arrow': {\n // →\n '&::before, &::after': {\n position: 'absolute',\n width: menuArrowSize * 0.6,\n height: menuArrowSize * 0.15,\n backgroundColor: 'currentcolor',\n borderRadius,\n transition: [`background ${motionDurationSlow} ${motionEaseInOut}`, `transform ${motionDurationSlow} ${motionEaseInOut}`, `top ${motionDurationSlow} ${motionEaseInOut}`, `color ${motionDurationSlow} ${motionEaseInOut}`].join(','),\n content: '\"\"'\n },\n '&::before': {\n transform: `rotate(45deg) translateY(-${menuArrowOffset})`\n },\n '&::after': {\n transform: `rotate(-45deg) translateY(${menuArrowOffset})`\n }\n }\n }\n };\n};\n// =============================== Base ===============================\nconst getBaseStyle = token => {\n const {\n antCls,\n componentCls,\n fontSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n lineHeight,\n paddingXS,\n padding,\n colorSplit,\n lineWidth,\n zIndexPopup,\n borderRadiusLG,\n radiusSubMenuItem,\n menuArrowSize,\n menuArrowOffset,\n lineType,\n menuPanelMaskInset\n } = token;\n return [\n // Misc\n {\n '': {\n [`${componentCls}`]: Object.assign(Object.assign({}, clearFix()), {\n // Hidden\n [`&-hidden`]: {\n display: 'none'\n }\n })\n },\n [`${componentCls}-submenu-hidden`]: {\n display: 'none'\n }\n }, {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), clearFix()), {\n marginBottom: 0,\n paddingInlineStart: 0,\n // Override default ul/ol\n fontSize,\n lineHeight: 0,\n listStyle: 'none',\n outline: 'none',\n transition: [`background ${motionDurationSlow}`,\n // Magic cubic here but smooth transition\n `width ${motionDurationSlow} cubic-bezier(0.2, 0, 0, 1) 0s`].join(','),\n [`ul, ol`]: {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n // Overflow ellipsis\n [`&-overflow`]: {\n display: 'flex',\n [`${componentCls}-item`]: {\n flex: 'none'\n }\n },\n [`${componentCls}-item, ${componentCls}-submenu, ${componentCls}-submenu-title`]: {\n borderRadius: token.radiusItem\n },\n [`${componentCls}-item-group-title`]: {\n padding: `${paddingXS}px ${padding}px`,\n fontSize,\n lineHeight,\n transition: `all ${motionDurationSlow}`\n },\n [`&-horizontal ${componentCls}-submenu`]: {\n transition: [`border-color ${motionDurationSlow} ${motionEaseInOut}`, `background ${motionDurationSlow} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-submenu, ${componentCls}-submenu-inline`]: {\n transition: [`border-color ${motionDurationSlow} ${motionEaseInOut}`, `background ${motionDurationSlow} ${motionEaseInOut}`, `padding ${motionDurationMid} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-submenu ${componentCls}-sub`]: {\n cursor: 'initial',\n transition: [`background ${motionDurationSlow} ${motionEaseInOut}`, `padding ${motionDurationSlow} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-title-content`]: {\n transition: `color ${motionDurationSlow}`\n },\n [`${componentCls}-item a`]: {\n '&::before': {\n position: 'absolute',\n inset: 0,\n backgroundColor: 'transparent',\n content: '\"\"'\n }\n },\n // Removed a Badge related style seems it's safe\n // https://github.com/ant-design/ant-design/issues/19809\n // >>>>> Divider\n [`${componentCls}-item-divider`]: {\n overflow: 'hidden',\n lineHeight: 0,\n borderColor: colorSplit,\n borderStyle: lineType,\n borderWidth: 0,\n borderTopWidth: lineWidth,\n marginBlock: lineWidth,\n padding: 0,\n '&-dashed': {\n borderStyle: 'dashed'\n }\n }\n }), genMenuItemStyle(token)), {\n [`${componentCls}-item-group`]: {\n [`${componentCls}-item-group-list`]: {\n margin: 0,\n padding: 0,\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n paddingInline: `${fontSize * 2}px ${padding}px`\n }\n }\n },\n // ======================= Sub Menu =======================\n '&-submenu': {\n '&-popup': {\n position: 'absolute',\n zIndex: zIndexPopup,\n background: 'transparent',\n borderRadius: borderRadiusLG,\n boxShadow: 'none',\n transformOrigin: '0 0',\n // https://github.com/ant-design/ant-design/issues/13955\n '&::before': {\n position: 'absolute',\n inset: `${menuPanelMaskInset}px 0 0`,\n zIndex: -1,\n width: '100%',\n height: '100%',\n opacity: 0,\n content: '\"\"'\n }\n },\n // https://github.com/ant-design/ant-design/issues/13955\n '&-placement-rightTop::before': {\n top: 0,\n insetInlineStart: menuPanelMaskInset\n },\n [`> ${componentCls}`]: Object.assign(Object.assign(Object.assign({\n borderRadius: borderRadiusLG\n }, genMenuItemStyle(token)), genSubMenuArrowStyle(token)), {\n [`${componentCls}-item, ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n borderRadius: radiusSubMenuItem\n },\n [`${componentCls}-submenu-title::after`]: {\n transition: `transform ${motionDurationSlow} ${motionEaseInOut}`\n }\n })\n }\n }), genSubMenuArrowStyle(token)), {\n [`&-inline-collapsed ${componentCls}-submenu-arrow,\n &-inline ${componentCls}-submenu-arrow`]: {\n // ↓\n '&::before': {\n transform: `rotate(-45deg) translateX(${menuArrowOffset})`\n },\n '&::after': {\n transform: `rotate(45deg) translateX(-${menuArrowOffset})`\n }\n },\n [`${componentCls}-submenu-open${componentCls}-submenu-inline > ${componentCls}-submenu-title > ${componentCls}-submenu-arrow`]: {\n // ↑\n transform: `translateY(-${menuArrowSize * 0.2}px)`,\n '&::after': {\n transform: `rotate(-45deg) translateX(-${menuArrowOffset})`\n },\n '&::before': {\n transform: `rotate(45deg) translateX(${menuArrowOffset})`\n }\n }\n })\n },\n // Integration with header element so menu items have the same height\n {\n [`${antCls}-layout-header`]: {\n [componentCls]: {\n lineHeight: 'inherit'\n }\n }\n }];\n};\n// ============================== Export ==============================\nexport default ((prefixCls, injectStyle) => {\n const useOriginHook = genComponentStyleHook('Menu', (token, _ref) => {\n let {\n overrideComponentToken\n } = _ref;\n // Dropdown will handle menu style self. We do not need to handle this.\n if (injectStyle === false) {\n return [];\n }\n const {\n colorBgElevated,\n colorPrimary,\n colorError,\n colorErrorHover,\n colorTextLightSolid\n } = token;\n const {\n controlHeightLG,\n fontSize\n } = token;\n const menuArrowSize = fontSize / 7 * 5;\n // Menu Token\n const menuToken = mergeToken(token, {\n menuItemHeight: controlHeightLG,\n menuItemPaddingInline: token.margin,\n menuArrowSize,\n menuHorizontalHeight: controlHeightLG * 1.15,\n menuArrowOffset: `${menuArrowSize * 0.25}px`,\n menuPanelMaskInset: -7,\n menuSubMenuBg: colorBgElevated\n });\n const colorTextDark = new TinyColor(colorTextLightSolid).setAlpha(0.65).toRgbString();\n const menuDarkToken = mergeToken(menuToken, {\n colorItemText: colorTextDark,\n colorItemTextHover: colorTextLightSolid,\n colorGroupTitle: colorTextDark,\n colorItemTextSelected: colorTextLightSolid,\n colorItemBg: '#001529',\n colorSubItemBg: '#000c17',\n colorItemBgActive: 'transparent',\n colorItemBgSelected: colorPrimary,\n colorActiveBarWidth: 0,\n colorActiveBarHeight: 0,\n colorActiveBarBorderSize: 0,\n // Disabled\n colorItemTextDisabled: new TinyColor(colorTextLightSolid).setAlpha(0.25).toRgbString(),\n // Danger\n colorDangerItemText: colorError,\n colorDangerItemTextHover: colorErrorHover,\n colorDangerItemTextSelected: colorTextLightSolid,\n colorDangerItemBgActive: colorError,\n colorDangerItemBgSelected: colorError,\n menuSubMenuBg: '#001529',\n // Horizontal\n colorItemTextSelectedHorizontal: colorTextLightSolid,\n colorItemBgSelectedHorizontal: colorPrimary\n }, Object.assign({}, overrideComponentToken));\n return [\n // Basic\n getBaseStyle(menuToken),\n // Horizontal\n getHorizontalStyle(menuToken),\n // Vertical\n getVerticalStyle(menuToken),\n // Theme\n getThemeStyle(menuToken, 'light'), getThemeStyle(menuDarkToken, 'dark'),\n // RTL\n getRTLStyle(menuToken),\n // Motion\n genCollapseMotion(menuToken), initSlideMotion(menuToken, 'slide-up'), initSlideMotion(menuToken, 'slide-down'), initZoomMotion(menuToken, 'zoom-big')];\n }, token => {\n const {\n colorPrimary,\n colorError,\n colorTextDisabled,\n colorErrorBg,\n colorText,\n colorTextDescription,\n colorBgContainer,\n colorFillAlter,\n colorFillContent,\n lineWidth,\n lineWidthBold,\n controlItemBgActive,\n colorBgTextHover\n } = token;\n return {\n dropdownWidth: 160,\n zIndexPopup: token.zIndexPopupBase + 50,\n radiusItem: token.borderRadiusLG,\n radiusSubMenuItem: token.borderRadiusSM,\n colorItemText: colorText,\n colorItemTextHover: colorText,\n colorItemTextHoverHorizontal: colorPrimary,\n colorGroupTitle: colorTextDescription,\n colorItemTextSelected: colorPrimary,\n colorItemTextSelectedHorizontal: colorPrimary,\n colorItemBg: colorBgContainer,\n colorItemBgHover: colorBgTextHover,\n colorItemBgActive: colorFillContent,\n colorSubItemBg: colorFillAlter,\n colorItemBgSelected: controlItemBgActive,\n colorItemBgSelectedHorizontal: 'transparent',\n colorActiveBarWidth: 0,\n colorActiveBarHeight: lineWidthBold,\n colorActiveBarBorderSize: lineWidth,\n // Disabled\n colorItemTextDisabled: colorTextDisabled,\n // Danger\n colorDangerItemText: colorError,\n colorDangerItemTextHover: colorError,\n colorDangerItemTextSelected: colorError,\n colorDangerItemBgActive: colorErrorBg,\n colorDangerItemBgSelected: colorErrorBg,\n itemMarginInline: token.marginXXS\n };\n });\n return useOriginHook(prefixCls);\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\n/** @internal Only used for Dropdown component. Do not use this in your production. */\nconst OverrideContext = /*#__PURE__*/React.createContext(null);\n/** @internal Only used for Dropdown component. Do not use this in your production. */\nexport const OverrideProvider = props => {\n const {\n children\n } = props,\n restProps = __rest(props, [\"children\"]);\n const override = React.useContext(OverrideContext);\n const context = React.useMemo(() => Object.assign(Object.assign({}, override), restProps), [override, restProps.prefixCls,\n // restProps.expandIcon, Not mark as deps since this is a ReactNode\n restProps.mode, restProps.selectable\n // restProps.validator, Not mark as deps since this is a function\n ]);\n\n return /*#__PURE__*/React.createElement(OverrideContext.Provider, {\n value: context\n }, children);\n};\nexport default OverrideContext;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport { Divider } from 'rc-menu';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nconst MenuDivider = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n dashed\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"dashed\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('menu', customizePrefixCls);\n const classString = classNames({\n [`${prefixCls}-item-divider-dashed`]: !!dashed\n }, className);\n return /*#__PURE__*/React.createElement(Divider, Object.assign({\n className: classString\n }, restProps));\n};\nexport default MenuDivider;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport BarsOutlined from \"@ant-design/icons/es/icons/BarsOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport isNumeric from '../_util/isNumeric';\nimport { LayoutContext } from './layout';\nconst dimensionMaxMap = {\n xs: '479.98px',\n sm: '575.98px',\n md: '767.98px',\n lg: '991.98px',\n xl: '1199.98px',\n xxl: '1599.98px'\n};\nexport const SiderContext = /*#__PURE__*/React.createContext({});\nconst generateId = (() => {\n let i = 0;\n return function () {\n let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n i += 1;\n return `${prefix}${i}`;\n };\n})();\nconst Sider = /*#__PURE__*/React.forwardRef((_a, ref) => {\n var {\n prefixCls: customizePrefixCls,\n className,\n trigger,\n children,\n defaultCollapsed = false,\n theme = 'dark',\n style = {},\n collapsible = false,\n reverseArrow = false,\n width = 200,\n collapsedWidth = 80,\n zeroWidthTriggerStyle,\n breakpoint,\n onCollapse,\n onBreakpoint\n } = _a,\n props = __rest(_a, [\"prefixCls\", \"className\", \"trigger\", \"children\", \"defaultCollapsed\", \"theme\", \"style\", \"collapsible\", \"reverseArrow\", \"width\", \"collapsedWidth\", \"zeroWidthTriggerStyle\", \"breakpoint\", \"onCollapse\", \"onBreakpoint\"]);\n const {\n siderHook\n } = useContext(LayoutContext);\n const [collapsed, setCollapsed] = useState('collapsed' in props ? props.collapsed : defaultCollapsed);\n const [below, setBelow] = useState(false);\n useEffect(() => {\n if ('collapsed' in props) {\n setCollapsed(props.collapsed);\n }\n }, [props.collapsed]);\n const handleSetCollapsed = (value, type) => {\n if (!('collapsed' in props)) {\n setCollapsed(value);\n }\n onCollapse === null || onCollapse === void 0 ? void 0 : onCollapse(value, type);\n };\n // ========================= Responsive =========================\n const responsiveHandlerRef = useRef();\n responsiveHandlerRef.current = mql => {\n setBelow(mql.matches);\n onBreakpoint === null || onBreakpoint === void 0 ? void 0 : onBreakpoint(mql.matches);\n if (collapsed !== mql.matches) {\n handleSetCollapsed(mql.matches, 'responsive');\n }\n };\n useEffect(() => {\n function responsiveHandler(mql) {\n return responsiveHandlerRef.current(mql);\n }\n let mql;\n if (typeof window !== 'undefined') {\n const {\n matchMedia\n } = window;\n if (matchMedia && breakpoint && breakpoint in dimensionMaxMap) {\n mql = matchMedia(`(max-width: ${dimensionMaxMap[breakpoint]})`);\n try {\n mql.addEventListener('change', responsiveHandler);\n } catch (error) {\n mql.addListener(responsiveHandler);\n }\n responsiveHandler(mql);\n }\n }\n return () => {\n try {\n mql === null || mql === void 0 ? void 0 : mql.removeEventListener('change', responsiveHandler);\n } catch (error) {\n mql === null || mql === void 0 ? void 0 : mql.removeListener(responsiveHandler);\n }\n };\n }, [breakpoint]); // in order to accept dynamic 'breakpoint' property, we need to add 'breakpoint' into dependency array.\n useEffect(() => {\n const uniqueId = generateId('ant-sider-');\n siderHook.addSider(uniqueId);\n return () => siderHook.removeSider(uniqueId);\n }, []);\n const toggle = () => {\n handleSetCollapsed(!collapsed, 'clickTrigger');\n };\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const renderSider = () => {\n const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n const divProps = omit(props, ['collapsed']);\n const rawWidth = collapsed ? collapsedWidth : width;\n // use \"px\" as fallback unit for width\n const siderWidth = isNumeric(rawWidth) ? `${rawWidth}px` : String(rawWidth);\n // special trigger when collapsedWidth == 0\n const zeroWidthTrigger = parseFloat(String(collapsedWidth || 0)) === 0 ? /*#__PURE__*/React.createElement(\"span\", {\n onClick: toggle,\n className: classNames(`${prefixCls}-zero-width-trigger`, `${prefixCls}-zero-width-trigger-${reverseArrow ? 'right' : 'left'}`),\n style: zeroWidthTriggerStyle\n }, trigger || /*#__PURE__*/React.createElement(BarsOutlined, null)) : null;\n const iconObj = {\n expanded: reverseArrow ? /*#__PURE__*/React.createElement(RightOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null),\n collapsed: reverseArrow ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null)\n };\n const status = collapsed ? 'collapsed' : 'expanded';\n const defaultTrigger = iconObj[status];\n const triggerDom = trigger !== null ? zeroWidthTrigger || /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-trigger`,\n onClick: toggle,\n style: {\n width: siderWidth\n }\n }, trigger || defaultTrigger) : null;\n const divStyle = Object.assign(Object.assign({}, style), {\n flex: `0 0 ${siderWidth}`,\n maxWidth: siderWidth,\n minWidth: siderWidth,\n width: siderWidth\n });\n const siderCls = classNames(prefixCls, `${prefixCls}-${theme}`, {\n [`${prefixCls}-collapsed`]: !!collapsed,\n [`${prefixCls}-has-trigger`]: collapsible && trigger !== null && !zeroWidthTrigger,\n [`${prefixCls}-below`]: !!below,\n [`${prefixCls}-zero-width`]: parseFloat(siderWidth) === 0\n }, className);\n return /*#__PURE__*/React.createElement(\"aside\", Object.assign({\n className: siderCls\n }, divProps, {\n style: divStyle,\n ref: ref\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-children`\n }, children), collapsible || below && zeroWidthTrigger ? triggerDom : null);\n };\n const contextValue = React.useMemo(() => ({\n siderCollapsed: collapsed\n }), [collapsed]);\n return /*#__PURE__*/React.createElement(SiderContext.Provider, {\n value: contextValue\n }, renderSider());\n});\nif (process.env.NODE_ENV !== 'production') {\n Sider.displayName = 'Sider';\n}\nexport default Sider;","var autoAdjustOverflowTopBottom = {\n shiftX: 64,\n adjustY: 1\n};\nvar autoAdjustOverflowLeftRight = {\n adjustX: 1,\n shiftY: true\n};\nvar targetOffset = [0, 0];\nexport var placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflowTopBottom,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflowLeftRight,\n offset: [-4, 0],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import classNames from 'classnames';\nimport * as React from 'react';\nexport default function Popup(props) {\n var children = props.children,\n prefixCls = props.prefixCls,\n id = props.id,\n overlayInnerStyle = props.overlayInnerStyle,\n className = props.className,\n style = props.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), className),\n style: style\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-inner\"),\n id: id,\n role: \"tooltip\",\n style: overlayInnerStyle\n }, typeof children === 'function' ? children() : children));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"children\", \"onVisibleChange\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"motion\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\", \"getTooltipContainer\", \"overlayInnerStyle\", \"arrowContent\", \"overlay\", \"id\", \"showArrow\"];\nimport Trigger from '@rc-component/trigger';\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { placements } from \"./placements\";\nimport Popup from \"./Popup\";\nvar Tooltip = function Tooltip(props, ref) {\n var overlayClassName = props.overlayClassName,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n _props$mouseEnterDela = props.mouseEnterDelay,\n mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0 : _props$mouseEnterDela,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n overlayStyle = props.overlayStyle,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-tooltip' : _props$prefixCls,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n afterVisibleChange = props.afterVisibleChange,\n transitionName = props.transitionName,\n animation = props.animation,\n motion = props.motion,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'right' : _props$placement,\n _props$align = props.align,\n align = _props$align === void 0 ? {} : _props$align,\n _props$destroyTooltip = props.destroyTooltipOnHide,\n destroyTooltipOnHide = _props$destroyTooltip === void 0 ? false : _props$destroyTooltip,\n defaultVisible = props.defaultVisible,\n getTooltipContainer = props.getTooltipContainer,\n overlayInnerStyle = props.overlayInnerStyle,\n arrowContent = props.arrowContent,\n overlay = props.overlay,\n id = props.id,\n _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow,\n restProps = _objectWithoutProperties(props, _excluded);\n var triggerRef = useRef(null);\n useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n var extraProps = _objectSpread({}, restProps);\n if ('visible' in props) {\n extraProps.popupVisible = props.visible;\n }\n var getPopupElement = function getPopupElement() {\n return /*#__PURE__*/React.createElement(Popup, {\n key: \"content\",\n prefixCls: prefixCls,\n id: id,\n overlayInnerStyle: overlayInnerStyle\n }, overlay);\n };\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n popupClassName: overlayClassName,\n prefixCls: prefixCls,\n popup: getPopupElement,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n ref: triggerRef,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n onPopupVisibleChange: onVisibleChange,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupMotion: motion,\n defaultPopupVisible: defaultVisible,\n autoDestroy: destroyTooltipOnHide,\n mouseLeaveDelay: mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay: mouseEnterDelay,\n arrow: showArrow\n }, extraProps), children);\n};\nexport default /*#__PURE__*/forwardRef(Tooltip);","import Tooltip from \"./Tooltip\";\nimport Popup from \"./Popup\";\nexport { Popup };\nexport default Tooltip;","export const roundedArrow = (width, innerRadius, outerRadius, bgColor, boxShadow) => {\n const unitWidth = width / 2;\n const ax = 0;\n const ay = unitWidth;\n const bx = outerRadius * 1 / Math.sqrt(2);\n const by = unitWidth - outerRadius * (1 - 1 / Math.sqrt(2));\n const cx = unitWidth - innerRadius * (1 / Math.sqrt(2));\n const cy = outerRadius * (Math.sqrt(2) - 1) + innerRadius * (1 / Math.sqrt(2));\n const dx = 2 * unitWidth - cx;\n const dy = cy;\n const ex = 2 * unitWidth - bx;\n const ey = by;\n const fx = 2 * unitWidth - ax;\n const fy = ay;\n const shadowWidth = unitWidth * Math.sqrt(2) + outerRadius * (Math.sqrt(2) - 2);\n return {\n pointerEvents: 'none',\n width,\n height: width,\n overflow: 'hidden',\n '&::before': {\n position: 'absolute',\n bottom: 0,\n insetInlineStart: 0,\n width,\n height: width / 2,\n background: bgColor,\n clipPath: `path('M ${ax} ${ay} A ${outerRadius} ${outerRadius} 0 0 0 ${bx} ${by} L ${cx} ${cy} A ${innerRadius} ${innerRadius} 0 0 1 ${dx} ${dy} L ${ex} ${ey} A ${outerRadius} ${outerRadius} 0 0 0 ${fx} ${fy} Z')`,\n content: '\"\"'\n },\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: shadowWidth,\n height: shadowWidth,\n bottom: 0,\n insetInline: 0,\n margin: 'auto',\n borderRadius: {\n _skip_check_: true,\n value: `0 0 ${innerRadius}px 0`\n },\n transform: 'translateY(50%) rotate(-135deg)',\n boxShadow,\n zIndex: 0,\n background: 'transparent'\n }\n };\n};","import { roundedArrow } from './roundedArrow';\nexport const MAX_VERTICAL_CONTENT_RADIUS = 8;\nexport function getArrowOffset(options) {\n const maxVerticalContentRadius = MAX_VERTICAL_CONTENT_RADIUS;\n const {\n contentRadius,\n limitVerticalRadius\n } = options;\n const dropdownArrowOffset = contentRadius > 12 ? contentRadius + 2 : 12;\n const dropdownArrowOffsetVertical = limitVerticalRadius ? maxVerticalContentRadius : dropdownArrowOffset;\n return {\n dropdownArrowOffset,\n dropdownArrowOffsetVertical\n };\n}\nfunction isInject(valid, code) {\n if (!valid) return {};\n return code;\n}\nexport default function getArrowStyle(token, options) {\n const {\n componentCls,\n sizePopupArrow,\n borderRadiusXS,\n borderRadiusOuter,\n boxShadowPopoverArrow\n } = token;\n const {\n colorBg,\n contentRadius = token.borderRadiusLG,\n limitVerticalRadius,\n arrowDistance = 0,\n arrowPlacement = {\n left: true,\n right: true,\n top: true,\n bottom: true\n }\n } = options;\n const {\n dropdownArrowOffsetVertical,\n dropdownArrowOffset\n } = getArrowOffset({\n contentRadius,\n limitVerticalRadius\n });\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({\n // ============================ Basic ============================\n [`${componentCls}-arrow`]: [Object.assign(Object.assign({\n position: 'absolute',\n zIndex: 1,\n display: 'block'\n }, roundedArrow(sizePopupArrow, borderRadiusXS, borderRadiusOuter, colorBg, boxShadowPopoverArrow)), {\n '&:before': {\n background: colorBg\n }\n })]\n }, isInject(!!arrowPlacement.top, {\n [[`&-placement-top ${componentCls}-arrow`, `&-placement-topLeft ${componentCls}-arrow`, `&-placement-topRight ${componentCls}-arrow`].join(',')]: {\n bottom: arrowDistance,\n transform: 'translateY(100%) rotate(180deg)'\n },\n [`&-placement-top ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateX(-50%) translateY(100%) rotate(180deg)'\n },\n [`&-placement-topLeft ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n [`&-placement-topRight ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n }\n })), isInject(!!arrowPlacement.bottom, {\n [[`&-placement-bottom ${componentCls}-arrow`, `&-placement-bottomLeft ${componentCls}-arrow`, `&-placement-bottomRight ${componentCls}-arrow`].join(',')]: {\n top: arrowDistance,\n transform: `translateY(-100%)`\n },\n [`&-placement-bottom ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: `translateX(-50%) translateY(-100%)`\n },\n [`&-placement-bottomLeft ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n [`&-placement-bottomRight ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n }\n })), isInject(!!arrowPlacement.left, {\n [[`&-placement-left ${componentCls}-arrow`, `&-placement-leftTop ${componentCls}-arrow`, `&-placement-leftBottom ${componentCls}-arrow`].join(',')]: {\n right: {\n _skip_check_: true,\n value: arrowDistance\n },\n transform: 'translateX(100%) rotate(90deg)'\n },\n [`&-placement-left ${componentCls}-arrow`]: {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(100%) rotate(90deg)'\n },\n [`&-placement-leftTop ${componentCls}-arrow`]: {\n top: dropdownArrowOffsetVertical\n },\n [`&-placement-leftBottom ${componentCls}-arrow`]: {\n bottom: dropdownArrowOffsetVertical\n }\n })), isInject(!!arrowPlacement.right, {\n [[`&-placement-right ${componentCls}-arrow`, `&-placement-rightTop ${componentCls}-arrow`, `&-placement-rightBottom ${componentCls}-arrow`].join(',')]: {\n left: {\n _skip_check_: true,\n value: arrowDistance\n },\n transform: 'translateX(-100%) rotate(-90deg)'\n },\n [`&-placement-right ${componentCls}-arrow`]: {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(-100%) rotate(-90deg)'\n },\n [`&-placement-rightTop ${componentCls}-arrow`]: {\n top: dropdownArrowOffsetVertical\n },\n [`&-placement-rightBottom ${componentCls}-arrow`]: {\n bottom: dropdownArrowOffsetVertical\n }\n }))\n };\n}","import { getArrowOffset } from '../style/placementArrow';\nexport function getOverflowOptions(placement, arrowOffset, arrowWidth, autoAdjustOverflow) {\n if (autoAdjustOverflow === false) {\n return {\n adjustX: false,\n adjustY: false\n };\n }\n const overflow = autoAdjustOverflow && typeof autoAdjustOverflow === 'object' ? autoAdjustOverflow : {};\n const baseOverflow = {};\n switch (placement) {\n case 'top':\n case 'bottom':\n baseOverflow.shiftX = arrowOffset.dropdownArrowOffset * 2 + arrowWidth;\n break;\n case 'left':\n case 'right':\n baseOverflow.shiftY = arrowOffset.dropdownArrowOffsetVertical * 2 + arrowWidth;\n break;\n }\n const mergedOverflow = Object.assign(Object.assign({}, baseOverflow), overflow);\n // Support auto shift\n if (!mergedOverflow.shiftX) {\n mergedOverflow.adjustX = true;\n }\n if (!mergedOverflow.shiftY) {\n mergedOverflow.adjustY = true;\n }\n return mergedOverflow;\n}\nconst PlacementAlignMap = {\n left: {\n points: ['cr', 'cl']\n },\n right: {\n points: ['cl', 'cr']\n },\n top: {\n points: ['bc', 'tc']\n },\n bottom: {\n points: ['tc', 'bc']\n },\n topLeft: {\n points: ['bl', 'tl']\n },\n leftTop: {\n points: ['tr', 'tl']\n },\n topRight: {\n points: ['br', 'tr']\n },\n rightTop: {\n points: ['tl', 'tr']\n },\n bottomRight: {\n points: ['tr', 'br']\n },\n rightBottom: {\n points: ['bl', 'br']\n },\n bottomLeft: {\n points: ['tl', 'bl']\n },\n leftBottom: {\n points: ['br', 'bl']\n }\n};\nconst ArrowCenterPlacementAlignMap = {\n topLeft: {\n points: ['bl', 'tc']\n },\n leftTop: {\n points: ['tr', 'cl']\n },\n topRight: {\n points: ['br', 'tc']\n },\n rightTop: {\n points: ['tl', 'cr']\n },\n bottomRight: {\n points: ['tr', 'bc']\n },\n rightBottom: {\n points: ['bl', 'cr']\n },\n bottomLeft: {\n points: ['tl', 'bc']\n },\n leftBottom: {\n points: ['br', 'cl']\n }\n};\nconst DisableAutoArrowList = new Set(['topLeft', 'topRight', 'bottomLeft', 'bottomRight', 'leftTop', 'leftBottom', 'rightTop', 'rightBottom']);\nexport default function getPlacements(config) {\n const {\n arrowWidth,\n autoAdjustOverflow,\n arrowPointAtCenter,\n offset,\n borderRadius\n } = config;\n const halfArrowWidth = arrowWidth / 2;\n const placementMap = {};\n Object.keys(PlacementAlignMap).forEach(key => {\n const template = arrowPointAtCenter && ArrowCenterPlacementAlignMap[key] || PlacementAlignMap[key];\n const placementInfo = Object.assign(Object.assign({}, template), {\n offset: [0, 0]\n });\n placementMap[key] = placementInfo;\n // Disable autoArrow since design is fixed position\n if (DisableAutoArrowList.has(key)) {\n placementInfo.autoArrow = false;\n }\n // Static offset\n switch (key) {\n case 'top':\n case 'topLeft':\n case 'topRight':\n placementInfo.offset[1] = -halfArrowWidth - offset;\n break;\n case 'bottom':\n case 'bottomLeft':\n case 'bottomRight':\n placementInfo.offset[1] = halfArrowWidth + offset;\n break;\n case 'left':\n case 'leftTop':\n case 'leftBottom':\n placementInfo.offset[0] = -halfArrowWidth - offset;\n break;\n case 'right':\n case 'rightTop':\n case 'rightBottom':\n placementInfo.offset[0] = halfArrowWidth + offset;\n break;\n }\n // Dynamic offset\n const arrowOffset = getArrowOffset({\n contentRadius: borderRadius,\n limitVerticalRadius: true\n });\n if (arrowPointAtCenter) {\n switch (key) {\n case 'topLeft':\n case 'bottomLeft':\n placementInfo.offset[0] = -arrowOffset.dropdownArrowOffset - halfArrowWidth;\n break;\n case 'topRight':\n case 'bottomRight':\n placementInfo.offset[0] = arrowOffset.dropdownArrowOffset + halfArrowWidth;\n break;\n case 'leftTop':\n case 'rightTop':\n placementInfo.offset[1] = -arrowOffset.dropdownArrowOffset - halfArrowWidth;\n break;\n case 'leftBottom':\n case 'rightBottom':\n placementInfo.offset[1] = arrowOffset.dropdownArrowOffset + halfArrowWidth;\n break;\n }\n }\n // Overflow\n placementInfo.overflow = getOverflowOptions(key, arrowOffset, arrowWidth, autoAdjustOverflow);\n });\n return placementMap;\n}","export const PresetColors = ['blue', 'purple', 'cyan', 'green', 'magenta', 'pink', 'red', 'orange', 'yellow', 'volcano', 'geekblue', 'lime', 'gold'];","import { PresetColors } from '../theme/internal';\nexport function genPresetColor(token, genCss) {\n return PresetColors.reduce((prev, colorKey) => {\n const lightColor = token[`${colorKey}1`];\n const lightBorderColor = token[`${colorKey}3`];\n const darkColor = token[`${colorKey}6`];\n const textColor = token[`${colorKey}7`];\n return Object.assign(Object.assign({}, prev), genCss(colorKey, {\n lightColor,\n lightBorderColor,\n darkColor,\n textColor\n }));\n }, {});\n}","import { genPresetColor, resetComponent } from '../../style';\nimport { initZoomMotion } from '../../style/motion';\nimport getArrowStyle, { MAX_VERTICAL_CONTENT_RADIUS } from '../../style/placementArrow';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst genTooltipStyle = token => {\n const {\n componentCls,\n // ant-tooltip\n tooltipMaxWidth,\n tooltipColor,\n tooltipBg,\n tooltipBorderRadius,\n zIndexPopup,\n controlHeight,\n boxShadowSecondary,\n paddingSM,\n paddingXS,\n tooltipRadiusOuter\n } = token;\n return [{\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n zIndex: zIndexPopup,\n display: 'block',\n width: 'max-content',\n maxWidth: tooltipMaxWidth,\n visibility: 'visible',\n '&-hidden': {\n display: 'none'\n },\n '--antd-arrow-background-color': tooltipBg,\n // Wrapper for the tooltip content\n [`${componentCls}-inner`]: {\n minWidth: controlHeight,\n minHeight: controlHeight,\n padding: `${paddingSM / 2}px ${paddingXS}px`,\n color: tooltipColor,\n textAlign: 'start',\n textDecoration: 'none',\n wordWrap: 'break-word',\n backgroundColor: tooltipBg,\n borderRadius: tooltipBorderRadius,\n boxShadow: boxShadowSecondary\n },\n // Limit left and right placement radius\n [[`&-placement-left`, `&-placement-leftTop`, `&-placement-leftBottom`, `&-placement-right`, `&-placement-rightTop`, `&-placement-rightBottom`].join(',')]: {\n [`${componentCls}-inner`]: {\n borderRadius: Math.min(tooltipBorderRadius, MAX_VERTICAL_CONTENT_RADIUS)\n }\n },\n [`${componentCls}-content`]: {\n position: 'relative'\n }\n }), genPresetColor(token, (colorKey, _ref) => {\n let {\n darkColor\n } = _ref;\n return {\n [`&${componentCls}-${colorKey}`]: {\n [`${componentCls}-inner`]: {\n backgroundColor: darkColor\n },\n [`${componentCls}-arrow`]: {\n '--antd-arrow-background-color': darkColor\n }\n }\n };\n })), {\n // RTL\n '&-rtl': {\n direction: 'rtl'\n }\n })\n },\n // Arrow Style\n getArrowStyle(mergeToken(token, {\n borderRadiusOuter: tooltipRadiusOuter\n }), {\n colorBg: 'var(--antd-arrow-background-color)',\n contentRadius: tooltipBorderRadius,\n limitVerticalRadius: true\n }),\n // Pure Render\n {\n [`${componentCls}-pure`]: {\n position: 'relative',\n maxWidth: 'none',\n margin: token.sizePopupArrow\n }\n }];\n};\n// ============================== Export ==============================\nexport default ((prefixCls, injectStyle) => {\n const useOriginHook = genComponentStyleHook('Tooltip', token => {\n // Popover use Tooltip as internal component. We do not need to handle this.\n if (injectStyle === false) {\n return [];\n }\n const {\n borderRadius,\n colorTextLightSolid,\n colorBgDefault,\n borderRadiusOuter\n } = token;\n const TooltipToken = mergeToken(token, {\n // default variables\n tooltipMaxWidth: 250,\n tooltipColor: colorTextLightSolid,\n tooltipBorderRadius: borderRadius,\n tooltipBg: colorBgDefault,\n tooltipRadiusOuter: borderRadiusOuter > 4 ? 4 : borderRadiusOuter\n });\n return [genTooltipStyle(TooltipToken), initZoomMotion(token, 'zoom-big-fast')];\n }, _ref2 => {\n let {\n zIndexPopupBase,\n colorBgSpotlight\n } = _ref2;\n return {\n zIndexPopup: zIndexPopupBase + 70,\n colorBgDefault: colorBgSpotlight\n };\n });\n return useOriginHook(prefixCls);\n});","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { PresetColors } from '../theme/interface';\nconst inverseColors = PresetColors.map(color => `${color}-inverse`);\nexport const PresetStatusColorTypes = ['success', 'processing', 'error', 'default', 'warning'];\n/**\n * determine if the color keyword belongs to the `Ant Design` {@link PresetColors}.\n * @param color color to be judged\n * @param includeInverse whether to include reversed colors\n */\nexport function isPresetColor(color) {\n let includeInverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (includeInverse) {\n return [].concat(_toConsumableArray(inverseColors), _toConsumableArray(PresetColors)).includes(color);\n }\n return PresetColors.includes(color);\n}\nexport function isPresetStatusColor(color) {\n return PresetStatusColorTypes.includes(color);\n}","/* eslint-disable import/prefer-default-export */\nimport classNames from 'classnames';\nimport { isPresetColor } from '../_util/colors';\nexport function parseColor(prefixCls, color) {\n const isInternalColor = isPresetColor(color);\n const className = classNames({\n [`${prefixCls}-${color}`]: color && isInternalColor\n });\n const overlayStyle = {};\n const arrowStyle = {};\n if (color && !isInternalColor) {\n overlayStyle.background = color;\n // @ts-ignore\n arrowStyle['--antd-arrow-background-color'] = color;\n }\n return {\n className,\n overlayStyle,\n arrowStyle\n };\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcTooltip from 'rc-tooltip';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport theme from '../theme';\nimport { getTransitionName } from '../_util/motion';\nimport getPlacements from '../_util/placements';\nimport { cloneElement, isFragment, isValidElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport PurePanel from './PurePanel';\nimport useStyle from './style';\nimport { parseColor } from './util';\nconst {\n useToken\n} = theme;\nconst splitObject = (obj, keys) => {\n const picked = {};\n const omitted = Object.assign({}, obj);\n keys.forEach(key => {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return {\n picked,\n omitted\n };\n};\n// Fix Tooltip won't hide at disabled button\n// mouse events don't trigger at disabled button in Chrome\n// https://github.com/react-component/tooltip/issues/18\nfunction getDisabledCompatibleChildren(element, prefixCls) {\n const elementType = element.type;\n if ((elementType.__ANT_BUTTON === true || element.type === 'button') && element.props.disabled || elementType.__ANT_SWITCH === true && (element.props.disabled || element.props.loading) || elementType.__ANT_RADIO === true && element.props.disabled) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n const {\n picked,\n omitted\n } = splitObject(element.props.style, ['position', 'left', 'right', 'top', 'bottom', 'float', 'display', 'zIndex']);\n const spanStyle = Object.assign(Object.assign({\n display: 'inline-block'\n }, picked), {\n cursor: 'not-allowed',\n width: element.props.block ? '100%' : undefined\n });\n const buttonStyle = Object.assign(Object.assign({}, omitted), {\n pointerEvents: 'none'\n });\n const child = cloneElement(element, {\n style: buttonStyle,\n className: null\n });\n return /*#__PURE__*/React.createElement(\"span\", {\n style: spanStyle,\n className: classNames(element.props.className, `${prefixCls}-disabled-compatible-wrapper`)\n }, child);\n }\n return element;\n}\nconst Tooltip = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b;\n const {\n prefixCls: customizePrefixCls,\n openClassName,\n getTooltipContainer,\n overlayClassName,\n color,\n overlayInnerStyle,\n children,\n afterOpenChange,\n afterVisibleChange,\n destroyTooltipOnHide,\n arrow = true\n } = props;\n const mergedShowArrow = !!arrow;\n const {\n token\n } = useToken();\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n // ============================== Ref ===============================\n const tooltipRef = React.useRef(null);\n const forceAlign = () => {\n var _a;\n (_a = tooltipRef.current) === null || _a === void 0 ? void 0 : _a.forceAlign();\n };\n React.useImperativeHandle(ref, () => ({\n forceAlign,\n forcePopupAlign: () => {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Tooltip', '`forcePopupAlign` is align to `forceAlign` instead.') : void 0;\n forceAlign();\n }\n }));\n // ============================== Warn ==============================\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['defaultVisible', 'defaultOpen'], ['onVisibleChange', 'onOpenChange'], ['afterVisibleChange', 'afterOpenChange'], ['arrowPointAtCenter', 'arrow']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n process.env.NODE_ENV !== \"production\" ? warning(!(deprecatedName in props), 'Tooltip', `\\`${deprecatedName}\\` is deprecated, please use \\`${newName}\\` instead.`) : void 0;\n });\n process.env.NODE_ENV !== \"production\" ? warning(!destroyTooltipOnHide || typeof destroyTooltipOnHide === 'boolean', 'Tooltip', '`destroyTooltipOnHide` no need config `keepParent` anymore. Please use `boolean` value directly.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!arrow || typeof arrow === 'boolean' || !('arrowPointAtCenter' in arrow), 'Tooltip', '`arrowPointAtCenter` in `arrow` is deprecated, please use `pointAtCenter` instead.') : void 0;\n }\n // ============================== Open ==============================\n const [open, setOpen] = useMergedState(false, {\n value: (_a = props.open) !== null && _a !== void 0 ? _a : props.visible,\n defaultValue: (_b = props.defaultOpen) !== null && _b !== void 0 ? _b : props.defaultVisible\n });\n const isNoTitle = () => {\n const {\n title,\n overlay\n } = props;\n return !title && !overlay && title !== 0; // overlay for old version compatibility\n };\n\n const onOpenChange = vis => {\n var _a, _b;\n setOpen(isNoTitle() ? false : vis);\n if (!isNoTitle()) {\n (_a = props.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(props, vis);\n (_b = props.onVisibleChange) === null || _b === void 0 ? void 0 : _b.call(props, vis);\n }\n };\n const getTooltipPlacements = () => {\n var _a, _b;\n const {\n builtinPlacements,\n arrowPointAtCenter = false,\n autoAdjustOverflow = true\n } = props;\n let mergedArrowPointAtCenter = arrowPointAtCenter;\n if (typeof arrow === 'object') {\n mergedArrowPointAtCenter = (_b = (_a = arrow.pointAtCenter) !== null && _a !== void 0 ? _a : arrow.arrowPointAtCenter) !== null && _b !== void 0 ? _b : arrowPointAtCenter;\n }\n return builtinPlacements || getPlacements({\n arrowPointAtCenter: mergedArrowPointAtCenter,\n autoAdjustOverflow,\n arrowWidth: mergedShowArrow ? token.sizePopupArrow : 0,\n borderRadius: token.borderRadius,\n offset: token.marginXXS\n });\n };\n // 动态设置动画点\n const onPopupAlign = (domNode, align) => {\n const placements = getTooltipPlacements();\n // 当前返回的位置\n const placement = Object.keys(placements).find(key => {\n var _a, _b;\n return placements[key].points[0] === ((_a = align.points) === null || _a === void 0 ? void 0 : _a[0]) && placements[key].points[1] === ((_b = align.points) === null || _b === void 0 ? void 0 : _b[1]);\n });\n if (placement) {\n // 根据当前坐标设置动画点\n const rect = domNode.getBoundingClientRect();\n const transformOrigin = {\n top: '50%',\n left: '50%'\n };\n if (/top|Bottom/.test(placement)) {\n transformOrigin.top = `${rect.height - align.offset[1]}px`;\n } else if (/Top|bottom/.test(placement)) {\n transformOrigin.top = `${-align.offset[1]}px`;\n }\n if (/left|Right/.test(placement)) {\n transformOrigin.left = `${rect.width - align.offset[0]}px`;\n } else if (/right|Left/.test(placement)) {\n transformOrigin.left = `${-align.offset[0]}px`;\n }\n domNode.style.transformOrigin = `${transformOrigin.left} ${transformOrigin.top}`;\n }\n };\n const getOverlay = () => {\n const {\n title,\n overlay\n } = props;\n if (title === 0) {\n return title;\n }\n return overlay || title || '';\n };\n const {\n getPopupContainer,\n placement = 'top',\n mouseEnterDelay = 0.1,\n mouseLeaveDelay = 0.1,\n overlayStyle,\n rootClassName\n } = props,\n otherProps = __rest(props, [\"getPopupContainer\", \"placement\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"rootClassName\"]);\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const injectFromPopover = props['data-popover-inject'];\n let tempOpen = open;\n // Hide tooltip when there is no title\n if (!('open' in props) && !('visible' in props) && isNoTitle()) {\n tempOpen = false;\n }\n // ============================= Render =============================\n const child = getDisabledCompatibleChildren(isValidElement(children) && !isFragment(children) ? children : /*#__PURE__*/React.createElement(\"span\", null, children), prefixCls);\n const childProps = child.props;\n const childCls = !childProps.className || typeof childProps.className === 'string' ? classNames(childProps.className, {\n [openClassName || `${prefixCls}-open`]: true\n }) : childProps.className;\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls, !injectFromPopover);\n // Color\n const colorInfo = parseColor(prefixCls, color);\n const formattedOverlayInnerStyle = Object.assign(Object.assign({}, overlayInnerStyle), colorInfo.overlayStyle);\n const arrowContentStyle = colorInfo.arrowStyle;\n const customOverlayClassName = classNames(overlayClassName, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, colorInfo.className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(RcTooltip, Object.assign({}, otherProps, {\n showArrow: mergedShowArrow,\n placement: placement,\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n prefixCls: prefixCls,\n overlayClassName: customOverlayClassName,\n overlayStyle: Object.assign(Object.assign({}, arrowContentStyle), overlayStyle),\n getTooltipContainer: getPopupContainer || getTooltipContainer || getContextPopupContainer,\n ref: tooltipRef,\n builtinPlacements: getTooltipPlacements(),\n overlay: getOverlay(),\n visible: tempOpen,\n onVisibleChange: onOpenChange,\n afterVisibleChange: afterOpenChange !== null && afterOpenChange !== void 0 ? afterOpenChange : afterVisibleChange,\n onPopupAlign: onPopupAlign,\n overlayInnerStyle: formattedOverlayInnerStyle,\n arrowContent: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-arrow-content`\n }),\n motion: {\n motionName: getTransitionName(rootPrefixCls, 'zoom-big-fast', props.transitionName),\n motionDeadline: 1000\n },\n destroyTooltipOnHide: !!destroyTooltipOnHide\n }), tempOpen ? cloneElement(child, {\n className: childCls\n }) : child));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tooltip.displayName = 'Tooltip';\n}\nTooltip._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Tooltip;","import classNames from 'classnames';\nimport { Popup } from 'rc-tooltip';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport { parseColor } from './util';\n// ant-tooltip css-dev-only-do-not-override-w2s56n ant-tooltip-placement-top ant-tooltip-hidden\nexport default function PurePanel(props) {\n const {\n prefixCls: customizePrefixCls,\n className,\n placement = 'top',\n title,\n color,\n overlayInnerStyle\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls, true);\n // Color\n const colorInfo = parseColor(prefixCls, color);\n const formattedOverlayInnerStyle = Object.assign(Object.assign({}, overlayInnerStyle), colorInfo.overlayStyle);\n const arrowContentStyle = colorInfo.arrowStyle;\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(hashId, prefixCls, `${prefixCls}-pure`, `${prefixCls}-placement-${placement}`, className, colorInfo.className),\n style: arrowContentStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-arrow`\n }), /*#__PURE__*/React.createElement(Popup, Object.assign({}, props, {\n className: hashId,\n prefixCls: prefixCls,\n overlayInnerStyle: formattedOverlayInnerStyle\n }), title)));\n}","import { createContext } from 'react';\nconst MenuContext = /*#__PURE__*/createContext({\n prefixCls: '',\n firstLevel: true,\n inlineCollapsed: false\n});\nexport default MenuContext;","import classNames from 'classnames';\nimport { Item } from 'rc-menu';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { SiderContext } from '../layout/Sider';\nimport Tooltip from '../tooltip';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport MenuContext from './MenuContext';\nconst MenuItem = props => {\n var _a;\n const {\n className,\n children,\n icon,\n title,\n danger\n } = props;\n const {\n prefixCls,\n firstLevel,\n direction,\n disableMenuItemTitleTooltip,\n inlineCollapsed: isInlineCollapsed\n } = React.useContext(MenuContext);\n const renderItemChildren = inlineCollapsed => {\n const wrapNode = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-title-content`\n }, children);\n // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n if (!icon || isValidElement(children) && children.type === 'span') {\n if (children && inlineCollapsed && firstLevel && typeof children === 'string') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inline-collapsed-noicon`\n }, children.charAt(0));\n }\n }\n return wrapNode;\n };\n const {\n siderCollapsed\n } = React.useContext(SiderContext);\n let tooltipTitle = title;\n if (typeof title === 'undefined') {\n tooltipTitle = firstLevel ? children : '';\n } else if (title === false) {\n tooltipTitle = '';\n }\n const tooltipProps = {\n title: tooltipTitle\n };\n if (!siderCollapsed && !isInlineCollapsed) {\n tooltipProps.title = null;\n // Reset `open` to fix control mode tooltip display not correct\n // ref: https://github.com/ant-design/ant-design/issues/16742\n tooltipProps.open = false;\n }\n const childrenLength = toArray(children).length;\n let returnNode = /*#__PURE__*/React.createElement(Item, Object.assign({}, omit(props, ['title', 'icon', 'danger']), {\n className: classNames({\n [`${prefixCls}-item-danger`]: danger,\n [`${prefixCls}-item-only-child`]: (icon ? childrenLength + 1 : childrenLength) === 1\n }, className),\n title: typeof title === 'string' ? title : undefined\n }), cloneElement(icon, {\n className: classNames(isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', `${prefixCls}-item-icon`)\n }), renderItemChildren(isInlineCollapsed));\n if (!disableMenuItemTitleTooltip) {\n returnNode = /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps, {\n placement: direction === 'rtl' ? 'left' : 'right',\n overlayClassName: `${prefixCls}-inline-collapsed-tooltip`\n }), returnNode);\n }\n return returnNode;\n};\nexport default MenuItem;","import classNames from 'classnames';\nimport { SubMenu as RcSubMenu, useFullPath } from 'rc-menu';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport MenuContext from './MenuContext';\nconst SubMenu = props => {\n var _a;\n const {\n popupClassName,\n icon,\n title,\n theme: customTheme\n } = props;\n const context = React.useContext(MenuContext);\n const {\n prefixCls,\n inlineCollapsed,\n theme: contextTheme,\n mode\n } = context;\n const parentPath = useFullPath();\n let titleNode;\n if (!icon) {\n titleNode = inlineCollapsed && !parentPath.length && title && typeof title === 'string' ? /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inline-collapsed-noicon`\n }, title.charAt(0)) : /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-title-content`\n }, title);\n } else {\n // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n const titleIsSpan = isValidElement(title) && title.type === 'span';\n titleNode = /*#__PURE__*/React.createElement(React.Fragment, null, cloneElement(icon, {\n className: classNames(isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', `${prefixCls}-item-icon`)\n }), titleIsSpan ? title : /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-title-content`\n }, title));\n }\n const contextValue = React.useMemo(() => Object.assign(Object.assign({}, context), {\n firstLevel: false\n }), [context]);\n const popupOffset = mode === 'horizontal' ? [0, 8] : [10, 0];\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(RcSubMenu, Object.assign({\n popupOffset: popupOffset\n }, omit(props, ['icon']), {\n title: titleNode,\n popupClassName: classNames(prefixCls, popupClassName, `${prefixCls}-${customTheme || contextTheme}`)\n })));\n};\nexport default SubMenu;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { ItemGroup } from 'rc-menu';\nimport * as React from 'react';\nimport MenuDivider from '../MenuDivider';\nimport MenuItem from '../MenuItem';\nimport SubMenu from '../SubMenu';\nfunction convertItemsToNodes(list) {\n return (list || []).map((opt, index) => {\n if (opt && typeof opt === 'object') {\n const _a = opt,\n {\n label,\n children,\n key,\n type\n } = _a,\n restProps = __rest(_a, [\"label\", \"children\", \"key\", \"type\"]);\n const mergedKey = key !== null && key !== void 0 ? key : `tmp-${index}`;\n // MenuItemGroup & SubMenuItem\n if (children || type === 'group') {\n if (type === 'group') {\n // Group\n return /*#__PURE__*/React.createElement(ItemGroup, Object.assign({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children));\n }\n // Sub Menu\n return /*#__PURE__*/React.createElement(SubMenu, Object.assign({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children));\n }\n // MenuItem & Divider\n if (type === 'divider') {\n return /*#__PURE__*/React.createElement(MenuDivider, Object.assign({\n key: mergedKey\n }, restProps));\n }\n return /*#__PURE__*/React.createElement(MenuItem, Object.assign({\n key: mergedKey\n }, restProps), label);\n }\n return null;\n }).filter(opt => opt);\n}\n// FIXME: Move logic here in v5\n/**\n * We simply convert `items` to ReactNode for reuse origin component logic. But we need move all the\n * logic from component into this hooks when in v5\n */\nexport default function useItems(items) {\n return React.useMemo(() => {\n if (!items) {\n return items;\n }\n return convertItemsToNodes(items);\n }, [items]);\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport RcMenu from 'rc-menu';\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport omit from \"rc-util/es/omit\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport classNames from 'classnames';\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport warning from '../_util/warning';\nimport initCollapseMotion from '../_util/motion';\nimport { cloneElement } from '../_util/reactNode';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport OverrideContext from './OverrideContext';\nimport useItems from './hooks/useItems';\nimport MenuContext from './MenuContext';\nconst InternalMenu = /*#__PURE__*/forwardRef((props, ref) => {\n var _a, _b;\n const override = React.useContext(OverrideContext);\n const overrideObj = override || {};\n const {\n getPrefixCls,\n getPopupContainer,\n direction\n } = React.useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n const {\n prefixCls: customizePrefixCls,\n className,\n theme = 'light',\n expandIcon,\n _internalDisableMenuItemTitleTooltip,\n inlineCollapsed,\n siderCollapsed,\n items,\n children,\n rootClassName,\n mode,\n selectable,\n onClick\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"theme\", \"expandIcon\", \"_internalDisableMenuItemTitleTooltip\", \"inlineCollapsed\", \"siderCollapsed\", \"items\", \"children\", \"rootClassName\", \"mode\", \"selectable\", \"onClick\"]);\n const passedProps = omit(restProps, ['collapsedWidth']);\n // ========================= Items ===========================\n const mergedChildren = useItems(items) || children;\n // ======================== Warning ==========================\n process.env.NODE_ENV !== \"production\" ? warning(!('inlineCollapsed' in props && mode !== 'inline'), 'Menu', '`inlineCollapsed` should only be used when `mode` is inline.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(props.siderCollapsed !== undefined && 'inlineCollapsed' in props), 'Menu', '`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning('items' in props && !children, 'Menu', '`children` will be removed in next major version. Please use `items` instead.') : void 0;\n (_a = overrideObj.validator) === null || _a === void 0 ? void 0 : _a.call(overrideObj, {\n mode\n });\n // ========================== Click ==========================\n // Tell dropdown that item clicked\n const onItemClick = useEvent(function () {\n var _a;\n onClick === null || onClick === void 0 ? void 0 : onClick.apply(void 0, arguments);\n (_a = overrideObj.onClick) === null || _a === void 0 ? void 0 : _a.call(overrideObj);\n });\n // ========================== Mode ===========================\n const mergedMode = overrideObj.mode || mode;\n // ======================= Selectable ========================\n const mergedSelectable = selectable !== null && selectable !== void 0 ? selectable : overrideObj.selectable;\n // ======================== Collapsed ========================\n // Inline Collapsed\n const mergedInlineCollapsed = React.useMemo(() => {\n if (siderCollapsed !== undefined) {\n return siderCollapsed;\n }\n return inlineCollapsed;\n }, [inlineCollapsed, siderCollapsed]);\n const defaultMotions = {\n horizontal: {\n motionName: `${rootPrefixCls}-slide-up`\n },\n inline: initCollapseMotion(rootPrefixCls),\n other: {\n motionName: `${rootPrefixCls}-zoom-big`\n }\n };\n const prefixCls = getPrefixCls('menu', customizePrefixCls || overrideObj.prefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls, !override);\n const menuClassName = classNames(`${prefixCls}-${theme}`, className);\n // ====================== Expand Icon ========================\n let mergedExpandIcon;\n if (typeof expandIcon === 'function') {\n mergedExpandIcon = expandIcon;\n } else {\n const beClone = expandIcon || overrideObj.expandIcon;\n mergedExpandIcon = cloneElement(beClone, {\n className: classNames(`${prefixCls}-submenu-expand-icon`, (_b = beClone === null || beClone === void 0 ? void 0 : beClone.props) === null || _b === void 0 ? void 0 : _b.className)\n });\n }\n // ======================== Context ==========================\n const contextValue = React.useMemo(() => ({\n prefixCls,\n inlineCollapsed: mergedInlineCollapsed || false,\n direction,\n firstLevel: true,\n theme,\n mode: mergedMode,\n disableMenuItemTitleTooltip: _internalDisableMenuItemTitleTooltip\n }), [prefixCls, mergedInlineCollapsed, direction, _internalDisableMenuItemTitleTooltip, theme]);\n // ========================= Render ==========================\n return wrapSSR( /*#__PURE__*/React.createElement(OverrideContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(RcMenu, Object.assign({\n getPopupContainer: getPopupContainer,\n overflowedIndicator: /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n overflowedIndicatorPopupClassName: `${prefixCls}-${theme}`,\n mode: mergedMode,\n selectable: mergedSelectable,\n onClick: onItemClick\n }, passedProps, {\n inlineCollapsed: mergedInlineCollapsed,\n className: menuClassName,\n prefixCls: prefixCls,\n direction: direction,\n defaultMotions: defaultMotions,\n expandIcon: mergedExpandIcon,\n ref: ref,\n rootClassName: classNames(rootClassName, hashId)\n }), mergedChildren))));\n});\nexport default InternalMenu;","import { ItemGroup } from 'rc-menu';\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport InternalMenu from './menu';\nimport { SiderContext } from '../layout/Sider';\nimport MenuDivider from './MenuDivider';\nimport Item from './MenuItem';\nimport SubMenu from './SubMenu';\nconst Menu = /*#__PURE__*/forwardRef((props, ref) => {\n const menuRef = useRef(null);\n const context = React.useContext(SiderContext);\n useImperativeHandle(ref, () => ({\n menu: menuRef.current,\n focus: options => {\n var _a;\n (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.focus(options);\n }\n }));\n return /*#__PURE__*/React.createElement(InternalMenu, Object.assign({\n ref: menuRef\n }, props, context));\n});\nMenu.Item = Item;\nMenu.SubMenu = SubMenu;\nMenu.Divider = MenuDivider;\nMenu.ItemGroup = ItemGroup;\nif (process.env.NODE_ENV !== 'production') {\n Menu.displayName = 'Menu';\n}\nexport default Menu;","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nexport const canUseDocElement = () => canUseDom() && window.document.documentElement;\nexport { isStyleSupport };\nlet flexGapSupported;\nexport const detectFlexGapSupported = () => {\n if (!canUseDocElement()) {\n return false;\n }\n if (flexGapSupported !== undefined) {\n return flexGapSupported;\n }\n // create flex container with row-gap set\n const flex = document.createElement('div');\n flex.style.display = 'flex';\n flex.style.flexDirection = 'column';\n flex.style.rowGap = '1px';\n // create two, elements inside it\n flex.appendChild(document.createElement('div'));\n flex.appendChild(document.createElement('div'));\n // append to the DOM (needed to obtain scrollHeight)\n document.body.appendChild(flex);\n flexGapSupported = flex.scrollHeight === 1; // flex container should be 1px high from the row-gap\n document.body.removeChild(flex);\n return flexGapSupported;\n};","import * as React from 'react';\nimport { SpaceContext } from '.';\nexport default function Item(_ref) {\n let {\n className,\n direction,\n index,\n marginDirection,\n children,\n split,\n wrap\n } = _ref;\n const {\n horizontalSize,\n verticalSize,\n latestIndex,\n supportFlexGap\n } = React.useContext(SpaceContext);\n let style = {};\n if (!supportFlexGap) {\n if (direction === 'vertical') {\n if (index < latestIndex) {\n style = {\n marginBottom: horizontalSize / (split ? 2 : 1)\n };\n }\n } else {\n style = Object.assign(Object.assign({}, index < latestIndex && {\n [marginDirection]: horizontalSize / (split ? 2 : 1)\n }), wrap && {\n paddingBottom: verticalSize\n });\n }\n }\n if (children === null || children === undefined) {\n return null;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, children), index < latestIndex && split && /*#__PURE__*/React.createElement(\"span\", {\n className: `${className}-split`,\n style: style\n }, split));\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useFlexGapSupport from '../_util/hooks/useFlexGapSupport';\nimport Compact from './Compact';\nimport Item from './Item';\nimport useStyle from './style';\nexport const SpaceContext = /*#__PURE__*/React.createContext({\n latestIndex: 0,\n horizontalSize: 0,\n verticalSize: 0,\n supportFlexGap: false\n});\nconst spaceSize = {\n small: 8,\n middle: 16,\n large: 24\n};\nfunction getNumberSize(size) {\n return typeof size === 'string' ? spaceSize[size] : size || 0;\n}\nconst Space = props => {\n const {\n getPrefixCls,\n space,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size = (space === null || space === void 0 ? void 0 : space.size) || 'small',\n align,\n className,\n rootClassName,\n children,\n direction = 'horizontal',\n prefixCls: customizePrefixCls,\n split,\n style,\n wrap = false\n } = props,\n otherProps = __rest(props, [\"size\", \"align\", \"className\", \"rootClassName\", \"children\", \"direction\", \"prefixCls\", \"split\", \"style\", \"wrap\"]);\n const supportFlexGap = useFlexGapSupport();\n const [horizontalSize, verticalSize] = React.useMemo(() => (Array.isArray(size) ? size : [size, size]).map(item => getNumberSize(item)), [size]);\n const childNodes = toArray(children, {\n keepEmpty: true\n });\n const mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align;\n const prefixCls = getPrefixCls('space', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cn = classNames(prefixCls, hashId, `${prefixCls}-${direction}`, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-align-${mergedAlign}`]: mergedAlign\n }, className, rootClassName);\n const itemClassName = `${prefixCls}-item`;\n const marginDirection = directionConfig === 'rtl' ? 'marginLeft' : 'marginRight';\n // Calculate latest one\n let latestIndex = 0;\n const nodes = childNodes.map((child, i) => {\n if (child !== null && child !== undefined) {\n latestIndex = i;\n }\n const key = child && child.key || `${itemClassName}-${i}`;\n return /*#__PURE__*/React.createElement(Item, {\n className: itemClassName,\n key: key,\n direction: direction,\n index: i,\n marginDirection: marginDirection,\n split: split,\n wrap: wrap\n }, child);\n });\n const spaceContext = React.useMemo(() => ({\n horizontalSize,\n verticalSize,\n latestIndex,\n supportFlexGap\n }), [horizontalSize, verticalSize, latestIndex, supportFlexGap]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n const gapStyle = {};\n if (wrap) {\n gapStyle.flexWrap = 'wrap';\n // Patch for gap not support\n if (!supportFlexGap) {\n gapStyle.marginBottom = -verticalSize;\n }\n }\n if (supportFlexGap) {\n gapStyle.columnGap = horizontalSize;\n gapStyle.rowGap = verticalSize;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: cn,\n style: Object.assign(Object.assign({}, gapStyle), style)\n }, otherProps), /*#__PURE__*/React.createElement(SpaceContext.Provider, {\n value: spaceContext\n }, nodes)));\n};\nif (process.env.NODE_ENV !== 'production') {\n Space.displayName = 'Space';\n}\nconst CompoundedSpace = Space;\nCompoundedSpace.Compact = Compact;\nexport default CompoundedSpace;","import * as React from 'react';\nimport { detectFlexGapSupported } from '../styleChecker';\nexport default (() => {\n const [flexible, setFlexible] = React.useState(false);\n React.useEffect(() => {\n setFlexible(detectFlexGapSupported());\n }, []);\n return flexible;\n});","const genButtonStyle = token => {\n const {\n componentCls,\n antCls,\n paddingXS,\n opacityLoading\n } = token;\n return {\n [`${componentCls}-button`]: {\n whiteSpace: 'nowrap',\n [`&${antCls}-btn-group > ${antCls}-btn`]: {\n [`&-loading, &-loading + ${antCls}-btn`]: {\n cursor: 'default',\n pointerEvents: 'none',\n opacity: opacityLoading\n },\n [`&:last-child:not(:first-child):not(${antCls}-btn-icon-only)`]: {\n paddingInline: paddingXS\n }\n }\n }\n };\n};\nexport default genButtonStyle;","const genStatusStyle = token => {\n const {\n componentCls,\n menuCls,\n colorError,\n colorTextLightSolid\n } = token;\n const itemCls = `${menuCls}-item`;\n return {\n [`${componentCls}, ${componentCls}-menu-submenu`]: {\n [`${menuCls} ${itemCls}`]: {\n [`&${itemCls}-danger:not(${itemCls}-disabled)`]: {\n color: colorError,\n '&:hover': {\n color: colorTextLightSolid,\n backgroundColor: colorError\n }\n }\n }\n }\n };\n};\nexport default genStatusStyle;","import { genFocusStyle, resetComponent } from '../../style';\nimport { initMoveMotion, initSlideMotion, initZoomMotion, slideDownIn, slideDownOut, slideUpIn, slideUpOut } from '../../style/motion';\nimport getArrowStyle, { getArrowOffset } from '../../style/placementArrow';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genButtonStyle from './button';\nimport genStatusStyle from './status';\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n menuCls,\n zIndexPopup,\n dropdownArrowDistance,\n sizePopupArrow,\n antCls,\n iconCls,\n motionDurationMid,\n dropdownPaddingVertical,\n fontSize,\n dropdownEdgeChildPadding,\n colorTextDisabled,\n fontSizeIcon,\n controlPaddingHorizontal,\n colorBgElevated\n } = token;\n return [{\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: zIndexPopup,\n display: 'block',\n // A placeholder out of dropdown visible range to avoid close when user moving\n '&::before': {\n position: 'absolute',\n insetBlock: -dropdownArrowDistance + sizePopupArrow / 2,\n // insetInlineStart: -7, // FIXME: Seems not work for hidden element\n zIndex: -9999,\n opacity: 0.0001,\n content: '\"\"'\n },\n [`${componentCls}-wrap`]: {\n position: 'relative',\n [`${antCls}-btn > ${iconCls}-down`]: {\n fontSize: fontSizeIcon\n },\n [`${iconCls}-down::before`]: {\n transition: `transform ${motionDurationMid}`\n }\n },\n [`${componentCls}-wrap-open`]: {\n [`${iconCls}-down::before`]: {\n transform: `rotate(180deg)`\n }\n },\n [`\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n `]: {\n display: 'none'\n },\n // =============================================================\n // == Motion ==\n // =============================================================\n // When position is not enough for dropdown, the placement will revert.\n // We will handle this with revert motion name.\n [`&${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomRight,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpIn\n },\n [`&${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-top,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-top,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topRight,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topRight`]: {\n animationName: slideDownIn\n },\n [`&${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpOut\n },\n [`&${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-top,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topRight`]: {\n animationName: slideDownOut\n }\n })\n },\n // =============================================================\n // == Arrow style ==\n // =============================================================\n getArrowStyle(token, {\n colorBg: colorBgElevated,\n limitVerticalRadius: true,\n arrowPlacement: {\n top: true,\n bottom: true\n }\n }), {\n // =============================================================\n // == Menu ==\n // =============================================================\n [`${componentCls} ${menuCls}`]: {\n position: 'relative',\n margin: 0\n },\n [`${menuCls}-submenu-popup`]: {\n position: 'absolute',\n zIndex: zIndexPopup,\n background: 'transparent',\n boxShadow: 'none',\n transformOrigin: '0 0',\n 'ul, li': {\n listStyle: 'none',\n margin: 0\n }\n },\n [`${componentCls}, ${componentCls}-menu-submenu`]: {\n [menuCls]: Object.assign(Object.assign({\n padding: dropdownEdgeChildPadding,\n listStyleType: 'none',\n backgroundColor: colorBgElevated,\n backgroundClip: 'padding-box',\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary\n }, genFocusStyle(token)), {\n [`${menuCls}-item-group-title`]: {\n padding: `${dropdownPaddingVertical}px ${controlPaddingHorizontal}px`,\n color: token.colorTextDescription,\n transition: `all ${motionDurationMid}`\n },\n // ======================= Item Content =======================\n [`${menuCls}-item`]: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n },\n [`${menuCls}-item-icon`]: {\n minWidth: fontSize,\n marginInlineEnd: token.marginXS,\n fontSize: token.fontSizeSM\n },\n [`${menuCls}-title-content`]: {\n flex: 'auto',\n '> a': {\n color: 'inherit',\n transition: `all ${motionDurationMid}`,\n '&:hover': {\n color: 'inherit'\n },\n '&::after': {\n position: 'absolute',\n inset: 0,\n content: '\"\"'\n }\n }\n },\n // =========================== Item ===========================\n [`${menuCls}-item, ${menuCls}-submenu-title`]: Object.assign(Object.assign({\n clear: 'both',\n margin: 0,\n padding: `${dropdownPaddingVertical}px ${controlPaddingHorizontal}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n transition: `all ${motionDurationMid}`,\n borderRadius: token.borderRadiusSM,\n [`&:hover, &-active`]: {\n backgroundColor: token.controlItemBgHover\n }\n }, genFocusStyle(token)), {\n '&-selected': {\n color: token.colorPrimary,\n backgroundColor: token.controlItemBgActive,\n '&:hover, &-active': {\n backgroundColor: token.controlItemBgActiveHover\n }\n },\n '&-disabled': {\n color: colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n },\n a: {\n pointerEvents: 'none'\n }\n },\n '&-divider': {\n height: 1,\n margin: `${token.marginXXS}px 0`,\n overflow: 'hidden',\n lineHeight: 0,\n backgroundColor: token.colorSplit\n },\n [`${componentCls}-menu-submenu-expand-icon`]: {\n position: 'absolute',\n insetInlineEnd: token.paddingXS,\n [`${componentCls}-menu-submenu-arrow-icon`]: {\n marginInlineEnd: '0 !important',\n color: token.colorTextDescription,\n fontSize: fontSizeIcon,\n fontStyle: 'normal'\n }\n }\n }),\n [`${menuCls}-item-group-list`]: {\n margin: `0 ${token.marginXS}px`,\n padding: 0,\n listStyle: 'none'\n },\n [`${menuCls}-submenu-title`]: {\n paddingInlineEnd: controlPaddingHorizontal + token.fontSizeSM\n },\n [`${menuCls}-submenu-vertical`]: {\n position: 'relative'\n },\n [`${menuCls}-submenu${menuCls}-submenu-disabled ${componentCls}-menu-submenu-title`]: {\n [`&, ${componentCls}-menu-submenu-arrow-icon`]: {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n }\n },\n // https://github.com/ant-design/ant-design/issues/19264\n [`${menuCls}-submenu-selected ${componentCls}-menu-submenu-title`]: {\n color: token.colorPrimary\n }\n })\n }\n },\n // Follow code may reuse in other components\n [initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down'), initMoveMotion(token, 'move-up'), initMoveMotion(token, 'move-down'), initZoomMotion(token, 'zoom-big')]];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Dropdown', (token, _ref) => {\n let {\n rootPrefixCls\n } = _ref;\n const {\n marginXXS,\n sizePopupArrow,\n controlHeight,\n fontSize,\n lineHeight,\n paddingXXS,\n componentCls,\n borderRadiusLG\n } = token;\n const dropdownPaddingVertical = (controlHeight - fontSize * lineHeight) / 2;\n const {\n dropdownArrowOffset\n } = getArrowOffset({\n contentRadius: borderRadiusLG\n });\n const dropdownToken = mergeToken(token, {\n menuCls: `${componentCls}-menu`,\n rootPrefixCls,\n dropdownArrowDistance: sizePopupArrow / 2 + marginXXS,\n dropdownArrowOffset,\n dropdownPaddingVertical,\n dropdownEdgeChildPadding: paddingXXS\n });\n return [genBaseStyle(dropdownToken), genButtonStyle(dropdownToken), genStatusStyle(dropdownToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 50\n}));","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport Space from '../space';\nimport { useCompactItemContext } from '../space/Compact';\nimport Dropdown from './dropdown';\nimport useStyle from './style';\nconst DropdownButton = props => {\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n type = 'default',\n danger,\n disabled,\n loading,\n onClick,\n htmlType,\n children,\n className,\n menu,\n arrow,\n autoFocus,\n overlay,\n trigger,\n align,\n open,\n onOpenChange,\n placement,\n getPopupContainer,\n href,\n icon = /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n title,\n buttonsRender = buttons => buttons,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayClassName,\n overlayStyle,\n destroyPopupOnHide,\n dropdownRender\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"type\", \"danger\", \"disabled\", \"loading\", \"onClick\", \"htmlType\", \"children\", \"className\", \"menu\", \"arrow\", \"autoFocus\", \"overlay\", \"trigger\", \"align\", \"open\", \"onOpenChange\", \"placement\", \"getPopupContainer\", \"href\", \"icon\", \"title\", \"buttonsRender\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayClassName\", \"overlayStyle\", \"destroyPopupOnHide\", \"dropdownRender\"]);\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n const buttonPrefixCls = `${prefixCls}-button`;\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const dropdownProps = {\n menu,\n arrow,\n autoFocus,\n align,\n disabled,\n trigger: disabled ? [] : trigger,\n onOpenChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayClassName,\n overlayStyle,\n destroyPopupOnHide,\n dropdownRender\n };\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const classes = classNames(buttonPrefixCls, compactItemClassnames, className, hashId);\n if ('overlay' in props) {\n dropdownProps.overlay = overlay;\n }\n if ('open' in props) {\n dropdownProps.open = open;\n }\n if ('placement' in props) {\n dropdownProps.placement = placement;\n } else {\n dropdownProps.placement = direction === 'rtl' ? 'bottomLeft' : 'bottomRight';\n }\n const leftButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n danger: danger,\n disabled: disabled,\n loading: loading,\n onClick: onClick,\n htmlType: htmlType,\n href: href,\n title: title\n }, children);\n const rightButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n danger: danger,\n icon: icon\n });\n const [leftButtonToRender, rightButtonToRender] = buttonsRender([leftButton, rightButton]);\n return wrapSSR( /*#__PURE__*/React.createElement(Space.Compact, Object.assign({\n className: classes,\n size: compactSize,\n block: true\n }, restProps), leftButtonToRender, /*#__PURE__*/React.createElement(Dropdown, Object.assign({}, dropdownProps), rightButtonToRender)));\n};\nDropdownButton.__ANT_BUTTON = true;\nexport default DropdownButton;","import RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcDropdown from 'rc-dropdown';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Menu from '../menu';\nimport { OverrideProvider } from '../menu/OverrideContext';\nimport { NoCompactStyle } from '../space/Compact';\nimport getPlacements from '../_util/placements';\nimport genPurePanel from '../_util/PurePanel';\nimport { cloneElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport DropdownButton from './dropdown-button';\nimport useStyle from './style';\nimport theme from '../theme';\nconst Placements = ['topLeft', 'topCenter', 'topRight', 'bottomLeft', 'bottomCenter', 'bottomRight', 'top', 'bottom'];\nconst Dropdown = props => {\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n // Warning for deprecated usage\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n process.env.NODE_ENV !== \"production\" ? warning(!(deprecatedName in props), 'Dropdown', `\\`${deprecatedName}\\` is deprecated which will be removed in next major version, please use \\`${newName}\\` instead.`) : void 0;\n });\n process.env.NODE_ENV !== \"production\" ? warning(!('overlay' in props), 'Dropdown', '`overlay` is deprecated. Please use `menu` instead.') : void 0;\n }\n const getTransitionName = () => {\n const rootPrefixCls = getPrefixCls();\n const {\n placement = '',\n transitionName\n } = props;\n if (transitionName !== undefined) {\n return transitionName;\n }\n if (placement.includes('top')) {\n return `${rootPrefixCls}-slide-down`;\n }\n return `${rootPrefixCls}-slide-up`;\n };\n const getPlacement = () => {\n const {\n placement\n } = props;\n if (!placement) {\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n }\n if (placement.includes('Center')) {\n const newPlacement = placement.slice(0, placement.indexOf('Center'));\n process.env.NODE_ENV !== \"production\" ? warning(!placement.includes('Center'), 'Dropdown', `You are using '${placement}' placement in Dropdown, which is deprecated. Try to use '${newPlacement}' instead.`) : void 0;\n return newPlacement;\n }\n return placement;\n };\n const {\n menu,\n arrow,\n prefixCls: customizePrefixCls,\n children,\n trigger,\n disabled,\n dropdownRender,\n getPopupContainer,\n overlayClassName,\n rootClassName,\n open,\n onOpenChange,\n // Deprecated\n visible,\n onVisibleChange,\n mouseEnterDelay = 0.15,\n mouseLeaveDelay = 0.1,\n autoAdjustOverflow = true\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange']].forEach(_ref2 => {\n let [deprecatedName, newName] = _ref2;\n process.env.NODE_ENV !== \"production\" ? warning(!(deprecatedName in props), 'Dropdown', `\\`${deprecatedName}\\` is deprecated, please use \\`${newName}\\` instead.`) : void 0;\n });\n }\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const {\n token\n } = theme.useToken();\n const child = React.Children.only(children);\n const dropdownTrigger = cloneElement(child, {\n className: classNames(`${prefixCls}-trigger`, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, child.props.className),\n disabled\n });\n const triggerActions = disabled ? [] : trigger;\n let alignPoint;\n if (triggerActions && triggerActions.includes('contextMenu')) {\n alignPoint = true;\n }\n // =========================== Open ============================\n const [mergedOpen, setOpen] = useMergedState(false, {\n value: open !== null && open !== void 0 ? open : visible\n });\n const onInnerOpenChange = useEvent(nextOpen => {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(nextOpen);\n setOpen(nextOpen);\n });\n // =========================== Overlay ============================\n const overlayClassNameCustomized = classNames(overlayClassName, rootClassName, hashId, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n });\n const builtinPlacements = getPlacements({\n arrowPointAtCenter: typeof arrow === 'object' && arrow.pointAtCenter,\n autoAdjustOverflow,\n offset: token.marginXXS,\n arrowWidth: arrow ? token.sizePopupArrow : 0,\n borderRadius: token.borderRadius\n });\n const onMenuClick = React.useCallback(() => {\n setOpen(false);\n }, []);\n const renderOverlay = () => {\n // rc-dropdown already can process the function of overlay, but we have check logic here.\n // So we need render the element to check and pass back to rc-dropdown.\n const {\n overlay\n } = props;\n let overlayNode;\n if (menu === null || menu === void 0 ? void 0 : menu.items) {\n overlayNode = /*#__PURE__*/React.createElement(Menu, Object.assign({}, menu));\n } else if (typeof overlay === 'function') {\n overlayNode = overlay();\n } else {\n overlayNode = overlay;\n }\n if (dropdownRender) {\n overlayNode = dropdownRender(overlayNode);\n }\n overlayNode = React.Children.only(typeof overlayNode === 'string' ? /*#__PURE__*/React.createElement(\"span\", null, overlayNode) : overlayNode);\n return /*#__PURE__*/React.createElement(OverrideProvider, {\n prefixCls: `${prefixCls}-menu`,\n expandIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-menu-submenu-arrow`\n }, /*#__PURE__*/React.createElement(RightOutlined, {\n className: `${prefixCls}-menu-submenu-arrow-icon`\n })),\n mode: \"vertical\",\n selectable: false,\n onClick: onMenuClick,\n validator: _ref3 => {\n let {\n mode\n } = _ref3;\n // Warning if use other mode\n process.env.NODE_ENV !== \"production\" ? warning(!mode || mode === 'vertical', 'Dropdown', `mode=\"${mode}\" is not supported for Dropdown's Menu.`) : void 0;\n }\n }, /*#__PURE__*/React.createElement(NoCompactStyle, null, overlayNode));\n };\n // ============================ Render ============================\n return wrapSSR( /*#__PURE__*/React.createElement(RcDropdown, Object.assign({\n alignPoint: alignPoint\n }, omit(props, ['rootClassName']), {\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n visible: mergedOpen,\n builtinPlacements: builtinPlacements,\n arrow: !!arrow,\n overlayClassName: overlayClassNameCustomized,\n prefixCls: prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: getTransitionName(),\n trigger: triggerActions,\n overlay: renderOverlay,\n placement: getPlacement(),\n onVisibleChange: onInnerOpenChange\n }), dropdownTrigger));\n};\nDropdown.Button = DropdownButton;\n// We don't care debug panel\nconst PurePanel = genPurePanel(Dropdown, 'dropdown', prefixCls => prefixCls);\n/* istanbul ignore next */\nconst WrapPurePanel = props => /*#__PURE__*/React.createElement(PurePanel, Object.assign({}, props), /*#__PURE__*/React.createElement(\"span\", null));\nDropdown._InternalPanelDoNotUseOrYouWillBeFired = WrapPurePanel;\nif (process.env.NODE_ENV !== 'production') {\n Dropdown.displayName = 'Dropdown';\n}\nexport default Dropdown;","import Dropdown from './dropdown';\nexport default Dropdown;","import * as React from 'react';\nconst RadioGroupContext = /*#__PURE__*/React.createContext(null);\nexport const RadioGroupContextProvider = RadioGroupContext.Provider;\nexport default RadioGroupContext;\nexport const RadioOptionTypeContext = /*#__PURE__*/React.createContext(null);\nexport const RadioOptionTypeContextProvider = RadioOptionTypeContext.Provider;","import { Keyframes } from '@ant-design/cssinjs';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genFocusOutline, resetComponent } from '../../style';\n// ============================== Styles ==============================\nconst antRadioEffect = new Keyframes('antRadioEffect', {\n '0%': {\n transform: 'scale(1)',\n opacity: 0.5\n },\n '100%': {\n transform: 'scale(1.6)',\n opacity: 0\n }\n});\n// styles from RadioGroup only\nconst getGroupRadioStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const groupPrefixCls = `${componentCls}-group`;\n return {\n [groupPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-block',\n fontSize: 0,\n // RTL\n [`&${groupPrefixCls}-rtl`]: {\n direction: 'rtl'\n },\n [`${antCls}-badge ${antCls}-badge-count`]: {\n zIndex: 1\n },\n [`> ${antCls}-badge:not(:first-child) > ${antCls}-button-wrapper`]: {\n borderInlineStart: 'none'\n }\n })\n };\n};\n// Styles from radio-wrapper\nconst getRadioBasicStyle = token => {\n const {\n componentCls,\n radioWrapperMarginRight,\n radioCheckedColor,\n radioSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n motionEaseInOutCirc,\n radioButtonBg,\n colorBorder,\n lineWidth,\n radioDotSize,\n colorBgContainerDisabled,\n colorTextDisabled,\n paddingXS,\n radioDotDisabledColor,\n lineType,\n radioDotDisabledSize,\n wireframe,\n colorWhite\n } = token;\n const radioInnerPrefixCls = `${componentCls}-inner`;\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'baseline',\n marginInlineStart: 0,\n marginInlineEnd: radioWrapperMarginRight,\n cursor: 'pointer',\n // RTL\n [`&${componentCls}-wrapper-rtl`]: {\n direction: 'rtl'\n },\n '&-disabled': {\n cursor: 'not-allowed',\n color: token.colorTextDisabled\n },\n '&::after': {\n display: 'inline-block',\n width: 0,\n overflow: 'hidden',\n content: '\"\\\\a0\"'\n },\n // hashId 在 wrapper 上,只能铺平\n [`${componentCls}-checked::after`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n width: '100%',\n height: '100%',\n border: `${lineWidth}px ${lineType} ${radioCheckedColor}`,\n borderRadius: '50%',\n visibility: 'hidden',\n animationName: antRadioEffect,\n animationDuration: motionDurationSlow,\n animationTimingFunction: motionEaseInOut,\n animationFillMode: 'both',\n content: '\"\"'\n },\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n display: 'inline-block',\n outline: 'none',\n cursor: 'pointer',\n alignSelf: 'center'\n }),\n [`${componentCls}-wrapper:hover &,\n &:hover ${radioInnerPrefixCls}`]: {\n borderColor: radioCheckedColor\n },\n [`${componentCls}-input:focus-visible + ${radioInnerPrefixCls}`]: Object.assign({}, genFocusOutline(token)),\n [`${componentCls}:hover::after, ${componentCls}-wrapper:hover &::after`]: {\n visibility: 'visible'\n },\n [`${componentCls}-inner`]: {\n '&::after': {\n boxSizing: 'border-box',\n position: 'absolute',\n insetBlockStart: '50%',\n insetInlineStart: '50%',\n display: 'block',\n width: radioSize,\n height: radioSize,\n marginBlockStart: radioSize / -2,\n marginInlineStart: radioSize / -2,\n backgroundColor: wireframe ? radioCheckedColor : colorWhite,\n borderBlockStart: 0,\n borderInlineStart: 0,\n borderRadius: radioSize,\n transform: 'scale(0)',\n opacity: 0,\n transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`,\n content: '\"\"'\n },\n boxSizing: 'border-box',\n position: 'relative',\n insetBlockStart: 0,\n insetInlineStart: 0,\n display: 'block',\n width: radioSize,\n height: radioSize,\n backgroundColor: radioButtonBg,\n borderColor: colorBorder,\n borderStyle: 'solid',\n borderWidth: lineWidth,\n borderRadius: '50%',\n transition: `all ${motionDurationMid}`\n },\n [`${componentCls}-input`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineEnd: 0,\n insetBlockEnd: 0,\n insetInlineStart: 0,\n zIndex: 1,\n cursor: 'pointer',\n opacity: 0\n },\n // 选中状态\n [`${componentCls}-checked`]: {\n [radioInnerPrefixCls]: {\n borderColor: radioCheckedColor,\n backgroundColor: wireframe ? radioButtonBg : radioCheckedColor,\n '&::after': {\n transform: `scale(${radioDotSize / radioSize})`,\n opacity: 1,\n transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`\n }\n }\n },\n [`${componentCls}-disabled`]: {\n cursor: 'not-allowed',\n [radioInnerPrefixCls]: {\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder,\n cursor: 'not-allowed',\n '&::after': {\n backgroundColor: radioDotDisabledColor\n }\n },\n [`${componentCls}-input`]: {\n cursor: 'not-allowed'\n },\n [`${componentCls}-disabled + span`]: {\n color: colorTextDisabled,\n cursor: 'not-allowed'\n },\n [`&${componentCls}-checked`]: {\n [radioInnerPrefixCls]: {\n '&::after': {\n transform: `scale(${radioDotDisabledSize / radioSize})`\n }\n }\n }\n },\n [`span${componentCls} + *`]: {\n paddingInlineStart: paddingXS,\n paddingInlineEnd: paddingXS\n }\n })\n };\n};\n// Styles from radio-button\nconst getRadioButtonStyle = token => {\n const {\n radioButtonColor,\n controlHeight,\n componentCls,\n lineWidth,\n lineType,\n colorBorder,\n motionDurationSlow,\n motionDurationMid,\n radioButtonPaddingHorizontal,\n fontSize,\n radioButtonBg,\n fontSizeLG,\n controlHeightLG,\n controlHeightSM,\n paddingXS,\n borderRadius,\n borderRadiusSM,\n borderRadiusLG,\n radioCheckedColor,\n radioButtonCheckedBg,\n radioButtonHoverColor,\n radioButtonActiveColor,\n radioSolidCheckedColor,\n colorTextDisabled,\n colorBgContainerDisabled,\n radioDisabledButtonCheckedColor,\n radioDisabledButtonCheckedBg\n } = token;\n return {\n [`${componentCls}-button-wrapper`]: {\n position: 'relative',\n display: 'inline-block',\n height: controlHeight,\n margin: 0,\n paddingInline: radioButtonPaddingHorizontal,\n paddingBlock: 0,\n color: radioButtonColor,\n fontSize,\n lineHeight: `${controlHeight - lineWidth * 2}px`,\n background: radioButtonBg,\n border: `${lineWidth}px ${lineType} ${colorBorder}`,\n // strange align fix for chrome but works\n // https://gw.alipayobjects.com/zos/rmsportal/VFTfKXJuogBAXcvfAUWJ.gif\n borderBlockStartWidth: lineWidth + 0.02,\n borderInlineStartWidth: 0,\n borderInlineEndWidth: lineWidth,\n cursor: 'pointer',\n transition: [`color ${motionDurationMid}`, `background ${motionDurationMid}`, `border-color ${motionDurationMid}`, `box-shadow ${motionDurationMid}`].join(','),\n a: {\n color: radioButtonColor\n },\n [`> ${componentCls}-button`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n zIndex: -1,\n width: '100%',\n height: '100%'\n },\n '&:not(:first-child)': {\n '&::before': {\n position: 'absolute',\n insetBlockStart: -lineWidth,\n insetInlineStart: -lineWidth,\n display: 'block',\n boxSizing: 'content-box',\n width: 1,\n height: '100%',\n paddingBlock: lineWidth,\n paddingInline: 0,\n backgroundColor: colorBorder,\n transition: `background-color ${motionDurationSlow}`,\n content: '\"\"'\n }\n },\n '&:first-child': {\n borderInlineStart: `${lineWidth}px ${lineType} ${colorBorder}`,\n borderStartStartRadius: borderRadius,\n borderEndStartRadius: borderRadius\n },\n '&:last-child': {\n borderStartEndRadius: borderRadius,\n borderEndEndRadius: borderRadius\n },\n '&:first-child:last-child': {\n borderRadius\n },\n [`${componentCls}-group-large &`]: {\n height: controlHeightLG,\n fontSize: fontSizeLG,\n lineHeight: `${controlHeightLG - lineWidth * 2}px`,\n '&:first-child': {\n borderStartStartRadius: borderRadiusLG,\n borderEndStartRadius: borderRadiusLG\n },\n '&:last-child': {\n borderStartEndRadius: borderRadiusLG,\n borderEndEndRadius: borderRadiusLG\n }\n },\n [`${componentCls}-group-small &`]: {\n height: controlHeightSM,\n paddingInline: paddingXS - lineWidth,\n paddingBlock: 0,\n lineHeight: `${controlHeightSM - lineWidth * 2}px`,\n '&:first-child': {\n borderStartStartRadius: borderRadiusSM,\n borderEndStartRadius: borderRadiusSM\n },\n '&:last-child': {\n borderStartEndRadius: borderRadiusSM,\n borderEndEndRadius: borderRadiusSM\n }\n },\n '&:hover': {\n position: 'relative',\n color: radioCheckedColor\n },\n '&:has(:focus-visible)': Object.assign({}, genFocusOutline(token)),\n [`${componentCls}-inner, input[type='checkbox'], input[type='radio']`]: {\n width: 0,\n height: 0,\n opacity: 0,\n pointerEvents: 'none'\n },\n [`&-checked:not(${componentCls}-button-wrapper-disabled)`]: {\n zIndex: 1,\n color: radioCheckedColor,\n background: radioButtonCheckedBg,\n borderColor: radioCheckedColor,\n '&::before': {\n backgroundColor: radioCheckedColor\n },\n '&:first-child': {\n borderColor: radioCheckedColor\n },\n '&:hover': {\n color: radioButtonHoverColor,\n borderColor: radioButtonHoverColor,\n '&::before': {\n backgroundColor: radioButtonHoverColor\n }\n },\n '&:active': {\n color: radioButtonActiveColor,\n borderColor: radioButtonActiveColor,\n '&::before': {\n backgroundColor: radioButtonActiveColor\n }\n }\n },\n [`${componentCls}-group-solid &-checked:not(${componentCls}-button-wrapper-disabled)`]: {\n color: radioSolidCheckedColor,\n background: radioCheckedColor,\n borderColor: radioCheckedColor,\n '&:hover': {\n color: radioSolidCheckedColor,\n background: radioButtonHoverColor,\n borderColor: radioButtonHoverColor\n },\n '&:active': {\n color: radioSolidCheckedColor,\n background: radioButtonActiveColor,\n borderColor: radioButtonActiveColor\n }\n },\n '&-disabled': {\n color: colorTextDisabled,\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder,\n cursor: 'not-allowed',\n '&:first-child, &:hover': {\n color: colorTextDisabled,\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder\n }\n },\n [`&-disabled${componentCls}-button-wrapper-checked`]: {\n color: radioDisabledButtonCheckedColor,\n backgroundColor: radioDisabledButtonCheckedBg,\n borderColor: colorBorder,\n boxShadow: 'none'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Radio', token => {\n const {\n padding,\n lineWidth,\n controlItemBgActiveDisabled,\n colorTextDisabled,\n colorBgContainer,\n fontSizeLG,\n controlOutline,\n colorPrimaryHover,\n colorPrimaryActive,\n colorText,\n colorPrimary,\n marginXS,\n controlOutlineWidth,\n colorTextLightSolid,\n wireframe\n } = token;\n // Radio\n const radioFocusShadow = `0 0 0 ${controlOutlineWidth}px ${controlOutline}`;\n const radioButtonFocusShadow = radioFocusShadow;\n const radioSize = fontSizeLG;\n const dotPadding = 4; // Fixed value\n const radioDotDisabledSize = radioSize - dotPadding * 2;\n const radioDotSize = wireframe ? radioDotDisabledSize : radioSize - (dotPadding + lineWidth) * 2;\n const radioCheckedColor = colorPrimary;\n // Radio buttons\n const radioButtonColor = colorText;\n const radioButtonHoverColor = colorPrimaryHover;\n const radioButtonActiveColor = colorPrimaryActive;\n const radioButtonPaddingHorizontal = padding - lineWidth;\n const radioDisabledButtonCheckedColor = colorTextDisabled;\n const radioWrapperMarginRight = marginXS;\n const radioToken = mergeToken(token, {\n radioFocusShadow,\n radioButtonFocusShadow,\n radioSize,\n radioDotSize,\n radioDotDisabledSize,\n radioCheckedColor,\n radioDotDisabledColor: colorTextDisabled,\n radioSolidCheckedColor: colorTextLightSolid,\n radioButtonBg: colorBgContainer,\n radioButtonCheckedBg: colorBgContainer,\n radioButtonColor,\n radioButtonHoverColor,\n radioButtonActiveColor,\n radioButtonPaddingHorizontal,\n radioDisabledButtonCheckedBg: controlItemBgActiveDisabled,\n radioDisabledButtonCheckedColor,\n radioWrapperMarginRight\n });\n return [getGroupRadioStyle(radioToken), getRadioBasicStyle(radioToken), getRadioButtonStyle(radioToken)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport { FormItemInputContext } from '../form/context';\nimport warning from '../_util/warning';\nimport RadioGroupContext, { RadioOptionTypeContext } from './context';\nimport useStyle from './style';\nconst InternalRadio = (props, ref) => {\n var _a, _b;\n const groupContext = React.useContext(RadioGroupContext);\n const radioOptionTypeContext = React.useContext(RadioOptionTypeContext);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const innerRef = React.useRef();\n const mergedRef = composeRef(ref, innerRef);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n process.env.NODE_ENV !== \"production\" ? warning(!('optionType' in props), 'Radio', '`optionType` is only support in Radio.Group.') : void 0;\n const onChange = e => {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, e);\n (_b = groupContext === null || groupContext === void 0 ? void 0 : groupContext.onChange) === null || _b === void 0 ? void 0 : _b.call(groupContext, e);\n };\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n style\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"style\"]);\n const radioPrefixCls = getPrefixCls('radio', customizePrefixCls);\n const prefixCls = ((groupContext === null || groupContext === void 0 ? void 0 : groupContext.optionType) || radioOptionTypeContext) === 'button' ? `${radioPrefixCls}-button` : radioPrefixCls;\n // Style\n const [wrapSSR, hashId] = useStyle(radioPrefixCls);\n const radioProps = Object.assign({}, restProps);\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n if (groupContext) {\n radioProps.name = groupContext.name;\n radioProps.onChange = onChange;\n radioProps.checked = props.value === groupContext.value;\n radioProps.disabled = (_a = radioProps.disabled) !== null && _a !== void 0 ? _a : groupContext.disabled;\n }\n radioProps.disabled = (_b = radioProps.disabled) !== null && _b !== void 0 ? _b : disabled;\n const wrapperClassString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-wrapper-checked`]: radioProps.checked,\n [`${prefixCls}-wrapper-disabled`]: radioProps.disabled,\n [`${prefixCls}-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, className, rootClassName, hashId);\n return wrapSSR(\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n React.createElement(\"label\", {\n className: wrapperClassString,\n style: style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, radioProps, {\n type: \"radio\",\n prefixCls: prefixCls,\n ref: mergedRef\n })), children !== undefined ? /*#__PURE__*/React.createElement(\"span\", null, children) : null));\n};\nconst Radio = /*#__PURE__*/React.forwardRef(InternalRadio);\nif (process.env.NODE_ENV !== 'production') {\n Radio.displayName = 'Radio';\n}\nexport default Radio;","import classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nimport getDataOrAriaProps from '../_util/getDataOrAriaProps';\nimport { RadioGroupContextProvider } from './context';\nimport Radio from './radio';\nimport useStyle from './style';\nconst RadioGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const size = React.useContext(SizeContext);\n const [value, setValue] = useMergedState(props.defaultValue, {\n value: props.value\n });\n const onRadioChange = ev => {\n const lastValue = value;\n const val = ev.target.value;\n if (!('value' in props)) {\n setValue(val);\n }\n const {\n onChange\n } = props;\n if (onChange && val !== lastValue) {\n onChange(ev);\n }\n };\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n options,\n buttonStyle = 'outline',\n disabled,\n children,\n size: customizeSize,\n style,\n id,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur\n } = props;\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n let childrenToRender = children;\n // 如果存在 options, 优先使用\n if (options && options.length > 0) {\n childrenToRender = options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n // 此处类型自动推导为 string\n return /*#__PURE__*/React.createElement(Radio, {\n key: option.toString(),\n prefixCls: prefixCls,\n disabled: disabled,\n value: option,\n checked: value === option\n }, option);\n }\n // 此处类型自动推导为 { label: string value: string }\n return /*#__PURE__*/React.createElement(Radio, {\n key: `radio-group-value-options-${option.value}`,\n prefixCls: prefixCls,\n disabled: option.disabled || disabled,\n value: option.value,\n checked: value === option.value,\n style: option.style\n }, option.label);\n });\n }\n const mergedSize = customizeSize || size;\n const classString = classNames(groupPrefixCls, `${groupPrefixCls}-${buttonStyle}`, {\n [`${groupPrefixCls}-${mergedSize}`]: mergedSize,\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({}, getDataOrAriaProps(props), {\n className: classString,\n style: style,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onFocus: onFocus,\n onBlur: onBlur,\n id: id,\n ref: ref\n }), /*#__PURE__*/React.createElement(RadioGroupContextProvider, {\n value: {\n onChange: onRadioChange,\n value,\n disabled: props.disabled,\n name: props.name,\n optionType: props.optionType\n }\n }, childrenToRender)));\n});\nexport default /*#__PURE__*/React.memo(RadioGroup);","export default function getDataOrAriaProps(props) {\n return Object.keys(props).reduce((prev, key) => {\n if ((key.startsWith('data-') || key.startsWith('aria-') || key === 'role') && !key.startsWith('data-__')) {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { RadioOptionTypeContextProvider } from './context';\nimport Radio from './radio';\nconst RadioButton = (props, ref) => {\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls\n } = props,\n radioProps = __rest(props, [\"prefixCls\"]);\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n return /*#__PURE__*/React.createElement(RadioOptionTypeContextProvider, {\n value: \"button\"\n }, /*#__PURE__*/React.createElement(Radio, Object.assign({\n prefixCls: prefixCls\n }, radioProps, {\n type: \"radio\",\n ref: ref\n })));\n};\nexport default /*#__PURE__*/React.forwardRef(RadioButton);","import Group from './group';\nimport InternalRadio from './radio';\nimport Button from './radioButton';\nexport { Button, Group };\nconst Radio = InternalRadio;\nRadio.Button = Button;\nRadio.Group = Group;\nRadio.__ANT_RADIO = true;\nexport default Radio;","export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n}","import _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"style\", \"motion\", \"motionNodes\", \"motionType\", \"onMotionStart\", \"onMotionEnd\", \"active\", \"treeNodeRequiredProps\"];\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport TreeNode from './TreeNode';\nimport { getTreeNodeProps } from './utils/treeUtil';\nimport { TreeContext } from './contextTypes';\nvar MotionTreeNode = function MotionTreeNode(_ref, ref) {\n var className = _ref.className,\n style = _ref.style,\n motion = _ref.motion,\n motionNodes = _ref.motionNodes,\n motionType = _ref.motionType,\n onOriginMotionStart = _ref.onMotionStart,\n onOriginMotionEnd = _ref.onMotionEnd,\n active = _ref.active,\n treeNodeRequiredProps = _ref.treeNodeRequiredProps,\n props = _objectWithoutProperties(_ref, _excluded);\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n var _React$useContext = React.useContext(TreeContext),\n prefixCls = _React$useContext.prefixCls;\n var motionedRef = React.useRef(false);\n var onMotionEnd = function onMotionEnd() {\n if (!motionedRef.current) {\n onOriginMotionEnd();\n }\n motionedRef.current = true;\n };\n useEffect(function () {\n if (motionNodes && motionType === 'hide' && visible) {\n setVisible(false);\n }\n }, [motionNodes]);\n useEffect(function () {\n // Trigger motion only when patched\n if (motionNodes) {\n onOriginMotionStart();\n }\n return function () {\n if (motionNodes) {\n onMotionEnd();\n }\n };\n }, []);\n if (motionNodes) {\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n ref: ref,\n visible: visible\n }, motion, {\n motionAppear: motionType === 'show',\n onAppearEnd: onMotionEnd,\n onLeaveEnd: onMotionEnd\n }), function (_ref2, motionRef) {\n var motionClassName = _ref2.className,\n motionStyle = _ref2.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: classNames(\"\".concat(prefixCls, \"-treenode-motion\"), motionClassName),\n style: motionStyle\n }, motionNodes.map(function (treeNode) {\n var restProps = _extends({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(key, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: active,\n data: treeNode.data,\n key: key,\n isStart: isStart,\n isEnd: isEnd\n }));\n }));\n });\n }\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n domRef: ref,\n className: className,\n style: style\n }, props, {\n active: active\n }));\n};\nMotionTreeNode.displayName = 'MotionTreeNode';\nvar RefMotionTreeNode = /*#__PURE__*/React.forwardRef(MotionTreeNode);\nexport default RefMotionTreeNode;","export function findExpandedKeys() {\n var prev = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var next = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var prevLen = prev.length;\n var nextLen = next.length;\n if (Math.abs(prevLen - nextLen) !== 1) {\n return {\n add: false,\n key: null\n };\n }\n function find(shorter, longer) {\n var cache = new Map();\n shorter.forEach(function (key) {\n cache.set(key, true);\n });\n var keys = longer.filter(function (key) {\n return !cache.has(key);\n });\n return keys.length === 1 ? keys[0] : null;\n }\n if (prevLen < nextLen) {\n return {\n add: true,\n key: find(prev, next)\n };\n }\n return {\n add: false,\n key: find(next, prev)\n };\n}\nexport function getExpandRange(shorter, longer, key) {\n var shorterStartIndex = shorter.findIndex(function (data) {\n return data.key === key;\n });\n var shorterEndNode = shorter[shorterStartIndex + 1];\n var longerStartIndex = longer.findIndex(function (data) {\n return data.key === key;\n });\n if (shorterEndNode) {\n var longerEndIndex = longer.findIndex(function (data) {\n return data.key === shorterEndNode.key;\n });\n return longer.slice(longerStartIndex + 1, longerEndIndex);\n }\n return longer.slice(longerStartIndex + 1);\n}","import _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"data\", \"selectable\", \"checkable\", \"expandedKeys\", \"selectedKeys\", \"checkedKeys\", \"loadedKeys\", \"loadingKeys\", \"halfCheckedKeys\", \"keyEntities\", \"disabled\", \"dragging\", \"dragOverNodeKey\", \"dropPosition\", \"motion\", \"height\", \"itemHeight\", \"virtual\", \"focusable\", \"activeItem\", \"focused\", \"tabIndex\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onActiveChange\", \"onListChangeStart\", \"onListChangeEnd\"];\n/**\n * Handle virtual list of the TreeNodes.\n */\nimport * as React from 'react';\nimport VirtualList from 'rc-virtual-list';\nimport MotionTreeNode from './MotionTreeNode';\nimport { findExpandedKeys, getExpandRange } from './utils/diffUtil';\nimport { getTreeNodeProps, getKey } from './utils/treeUtil';\nvar HIDDEN_STYLE = {\n width: 0,\n height: 0,\n display: 'flex',\n overflow: 'hidden',\n opacity: 0,\n border: 0,\n padding: 0,\n margin: 0\n};\nvar noop = function noop() {};\nexport var MOTION_KEY = \"RC_TREE_MOTION_\".concat(Math.random());\nvar MotionNode = {\n key: MOTION_KEY\n};\nexport var MotionEntity = {\n key: MOTION_KEY,\n level: 0,\n index: 0,\n pos: '0',\n node: MotionNode,\n nodes: [MotionNode]\n};\nvar MotionFlattenData = {\n parent: null,\n children: [],\n pos: MotionEntity.pos,\n data: MotionNode,\n title: null,\n key: MOTION_KEY,\n /** Hold empty list here since we do not use it */\n isStart: [],\n isEnd: []\n};\n/**\n * We only need get visible content items to play the animation.\n */\nexport function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {\n if (virtual === false || !height) {\n return list;\n }\n return list.slice(0, Math.ceil(height / itemHeight) + 1);\n}\nfunction itemKey(item) {\n var key = item.key,\n pos = item.pos;\n return getKey(key, pos);\n}\nfunction getAccessibilityPath(item) {\n var path = String(item.data.key);\n var current = item;\n while (current.parent) {\n current = current.parent;\n path = \"\".concat(current.data.key, \" > \").concat(path);\n }\n return path;\n}\nvar NodeList = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n data = props.data,\n selectable = props.selectable,\n checkable = props.checkable,\n expandedKeys = props.expandedKeys,\n selectedKeys = props.selectedKeys,\n checkedKeys = props.checkedKeys,\n loadedKeys = props.loadedKeys,\n loadingKeys = props.loadingKeys,\n halfCheckedKeys = props.halfCheckedKeys,\n keyEntities = props.keyEntities,\n disabled = props.disabled,\n dragging = props.dragging,\n dragOverNodeKey = props.dragOverNodeKey,\n dropPosition = props.dropPosition,\n motion = props.motion,\n height = props.height,\n itemHeight = props.itemHeight,\n virtual = props.virtual,\n focusable = props.focusable,\n activeItem = props.activeItem,\n focused = props.focused,\n tabIndex = props.tabIndex,\n onKeyDown = props.onKeyDown,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onActiveChange = props.onActiveChange,\n onListChangeStart = props.onListChangeStart,\n onListChangeEnd = props.onListChangeEnd,\n domProps = _objectWithoutProperties(props, _excluded);\n // =============================== Ref ================================\n var listRef = React.useRef(null);\n var indentMeasurerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n scrollTo: function scrollTo(scroll) {\n listRef.current.scrollTo(scroll);\n },\n getIndentWidth: function getIndentWidth() {\n return indentMeasurerRef.current.offsetWidth;\n }\n };\n });\n // ============================== Motion ==============================\n var _React$useState = React.useState(expandedKeys),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevExpandedKeys = _React$useState2[0],\n setPrevExpandedKeys = _React$useState2[1];\n var _React$useState3 = React.useState(data),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n prevData = _React$useState4[0],\n setPrevData = _React$useState4[1];\n var _React$useState5 = React.useState(data),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n transitionData = _React$useState6[0],\n setTransitionData = _React$useState6[1];\n var _React$useState7 = React.useState([]),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n transitionRange = _React$useState8[0],\n setTransitionRange = _React$useState8[1];\n var _React$useState9 = React.useState(null),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n motionType = _React$useState10[0],\n setMotionType = _React$useState10[1];\n // When motion end but data change, this will makes data back to previous one\n var dataRef = React.useRef(data);\n dataRef.current = data;\n function onMotionEnd() {\n var latestData = dataRef.current;\n setPrevData(latestData);\n setTransitionData(latestData);\n setTransitionRange([]);\n setMotionType(null);\n onListChangeEnd();\n }\n // Do animation if expanded keys changed\n React.useEffect(function () {\n setPrevExpandedKeys(expandedKeys);\n var diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);\n if (diffExpanded.key !== null) {\n if (diffExpanded.add) {\n var keyIndex = prevData.findIndex(function (_ref) {\n var key = _ref.key;\n return key === diffExpanded.key;\n });\n var rangeNodes = getMinimumRangeTransitionRange(getExpandRange(prevData, data, diffExpanded.key), virtual, height, itemHeight);\n var newTransitionData = prevData.slice();\n newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(newTransitionData);\n setTransitionRange(rangeNodes);\n setMotionType('show');\n } else {\n var _keyIndex = data.findIndex(function (_ref2) {\n var key = _ref2.key;\n return key === diffExpanded.key;\n });\n var _rangeNodes = getMinimumRangeTransitionRange(getExpandRange(data, prevData, diffExpanded.key), virtual, height, itemHeight);\n var _newTransitionData = data.slice();\n _newTransitionData.splice(_keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(_newTransitionData);\n setTransitionRange(_rangeNodes);\n setMotionType('hide');\n }\n } else if (prevData !== data) {\n // If whole data changed, we just refresh the list\n setPrevData(data);\n setTransitionData(data);\n }\n }, [expandedKeys, data]);\n // We should clean up motion if is changed by dragging\n React.useEffect(function () {\n if (!dragging) {\n onMotionEnd();\n }\n }, [dragging]);\n var mergedData = motion ? transitionData : data;\n var treeNodeRequiredProps = {\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n loadedKeys: loadedKeys,\n loadingKeys: loadingKeys,\n checkedKeys: checkedKeys,\n halfCheckedKeys: halfCheckedKeys,\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, focused && activeItem && /*#__PURE__*/React.createElement(\"span\", {\n style: HIDDEN_STYLE,\n \"aria-live\": \"assertive\"\n }, getAccessibilityPath(activeItem)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n style: HIDDEN_STYLE,\n disabled: focusable === false || disabled,\n tabIndex: focusable !== false ? tabIndex : null,\n onKeyDown: onKeyDown,\n onFocus: onFocus,\n onBlur: onBlur,\n value: \"\",\n onChange: noop,\n \"aria-label\": \"for screen reader\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-treenode\"),\n \"aria-hidden\": true,\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n visibility: 'hidden',\n height: 0,\n overflow: 'hidden',\n border: 0,\n padding: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-indent\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: indentMeasurerRef,\n className: \"\".concat(prefixCls, \"-indent-unit\")\n }))), /*#__PURE__*/React.createElement(VirtualList, _extends({}, domProps, {\n data: mergedData,\n itemKey: itemKey,\n height: height,\n fullHeight: false,\n virtual: virtual,\n itemHeight: itemHeight,\n prefixCls: \"\".concat(prefixCls, \"-list\"),\n ref: listRef,\n onVisibleChange: function onVisibleChange(originList, fullList) {\n var originSet = new Set(originList);\n var restList = fullList.filter(function (item) {\n return !originSet.has(item);\n });\n // Motion node is not render. Skip motion\n if (restList.some(function (item) {\n return itemKey(item) === MOTION_KEY;\n })) {\n onMotionEnd();\n }\n }\n }), function (treeNode) {\n var pos = treeNode.pos,\n restProps = _extends({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n var mergedKey = getKey(key, pos);\n delete restProps.key;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(MotionTreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: !!activeItem && key === activeItem.key,\n pos: pos,\n data: treeNode.data,\n isStart: isStart,\n isEnd: isEnd,\n motion: motion,\n motionNodes: key === MOTION_KEY ? transitionRange : null,\n motionType: motionType,\n onMotionStart: onListChangeStart,\n onMotionEnd: onMotionEnd,\n treeNodeRequiredProps: treeNodeRequiredProps,\n onMouseMove: function onMouseMove() {\n onActiveChange(null);\n }\n }));\n }));\n});\nNodeList.displayName = 'NodeList';\nexport default NodeList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n// TODO: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/treeview/treeview-2/treeview-2a.html\n// Fully accessibility support\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport warning from \"rc-util/es/warning\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport classNames from 'classnames';\nimport { TreeContext } from './contextTypes';\nimport { getDragChildrenKeys, parseCheckedKeys, conductExpandParent, calcSelectedKeys, calcDropPosition, arrAdd, arrDel, posToArr } from './util';\nimport { flattenTreeData, convertTreeToData, convertDataToEntities, warningWithoutKey, convertNodePropsToEventData, getTreeNodeProps, fillFieldNames } from './utils/treeUtil';\nimport NodeList, { MOTION_KEY, MotionEntity } from './NodeList';\nimport TreeNode from './TreeNode';\nimport { conductCheck } from './utils/conductUtil';\nimport DropIndicator from './DropIndicator';\nvar MAX_RETRY_TIMES = 10;\nvar Tree = /*#__PURE__*/function (_React$Component) {\n _inherits(Tree, _React$Component);\n var _super = _createSuper(Tree);\n function Tree() {\n var _this;\n _classCallCheck(this, Tree);\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 _this.destroyed = false;\n _this.delayedDragEnterLogic = void 0;\n _this.loadingRetryTimes = {};\n _this.state = {\n keyEntities: {},\n indent: null,\n selectedKeys: [],\n checkedKeys: [],\n halfCheckedKeys: [],\n loadedKeys: [],\n loadingKeys: [],\n expandedKeys: [],\n draggingNodeKey: null,\n dragChildrenKeys: [],\n // dropTargetKey is the key of abstract-drop-node\n // the abstract-drop-node is the real drop node when drag and drop\n // not the DOM drag over node\n dropTargetKey: null,\n dropPosition: null,\n dropContainerKey: null,\n dropLevelOffset: null,\n dropTargetPos: null,\n dropAllowed: true,\n // the abstract-drag-over-node\n // if mouse is on the bottom of top dom node or no the top of the bottom dom node\n // abstract-drag-over-node is the top node\n dragOverNodeKey: null,\n treeData: [],\n flattenNodes: [],\n focused: false,\n activeKey: null,\n listChanging: false,\n prevProps: null,\n fieldNames: fillFieldNames()\n };\n _this.dragStartMousePosition = null;\n _this.dragNode = void 0;\n _this.currentMouseOverDroppableNodeKey = null;\n _this.listRef = /*#__PURE__*/React.createRef();\n _this.onNodeDragStart = function (event, node) {\n var _this$state = _this.state,\n expandedKeys = _this$state.expandedKeys,\n keyEntities = _this$state.keyEntities;\n var onDragStart = _this.props.onDragStart;\n var eventKey = node.props.eventKey;\n _this.dragNode = node;\n _this.dragStartMousePosition = {\n x: event.clientX,\n y: event.clientY\n };\n var newExpandedKeys = arrDel(expandedKeys, eventKey);\n _this.setState({\n draggingNodeKey: eventKey,\n dragChildrenKeys: getDragChildrenKeys(eventKey, keyEntities),\n indent: _this.listRef.current.getIndentWidth()\n });\n _this.setExpandedKeys(newExpandedKeys);\n window.addEventListener('dragend', _this.onWindowDragEnd);\n onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n };\n /**\n * [Legacy] Select handler is smaller than node,\n * so that this will trigger when drag enter node or select handler.\n * This is a little tricky if customize css without padding.\n * Better for use mouse move event to refresh drag state.\n * But let's just keep it to avoid event trigger logic change.\n */\n _this.onNodeDragEnter = function (event, node) {\n var _this$state2 = _this.state,\n expandedKeys = _this$state2.expandedKeys,\n keyEntities = _this$state2.keyEntities,\n dragChildrenKeys = _this$state2.dragChildrenKeys,\n flattenNodes = _this$state2.flattenNodes,\n indent = _this$state2.indent;\n var _this$props = _this.props,\n onDragEnter = _this$props.onDragEnter,\n onExpand = _this$props.onExpand,\n allowDrop = _this$props.allowDrop,\n direction = _this$props.direction;\n var _node$props = node.props,\n pos = _node$props.pos,\n eventKey = _node$props.eventKey;\n var _assertThisInitialize = _assertThisInitialized(_this),\n dragNode = _assertThisInitialize.dragNode;\n // record the key of node which is latest entered, used in dragleave event.\n if (_this.currentMouseOverDroppableNodeKey !== eventKey) {\n _this.currentMouseOverDroppableNodeKey = eventKey;\n }\n if (!dragNode) {\n _this.resetDragState();\n return;\n }\n var _calcDropPosition = calcDropPosition(event, dragNode, node, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition.dropPosition,\n dropLevelOffset = _calcDropPosition.dropLevelOffset,\n dropTargetKey = _calcDropPosition.dropTargetKey,\n dropContainerKey = _calcDropPosition.dropContainerKey,\n dropTargetPos = _calcDropPosition.dropTargetPos,\n dropAllowed = _calcDropPosition.dropAllowed,\n dragOverNodeKey = _calcDropPosition.dragOverNodeKey;\n if (\n // don't allow drop inside its children\n dragChildrenKeys.indexOf(dropTargetKey) !== -1 ||\n // don't allow drop when drop is not allowed caculated by calcDropPosition\n !dropAllowed) {\n _this.resetDragState();\n return;\n }\n // Side effect for delay drag\n if (!_this.delayedDragEnterLogic) {\n _this.delayedDragEnterLogic = {};\n }\n Object.keys(_this.delayedDragEnterLogic).forEach(function (key) {\n clearTimeout(_this.delayedDragEnterLogic[key]);\n });\n if (dragNode.props.eventKey !== node.props.eventKey) {\n // hoist expand logic here\n // since if logic is on the bottom\n // it will be blocked by abstract dragover node check\n // => if you dragenter from top, you mouse will still be consider as in the top node\n event.persist();\n _this.delayedDragEnterLogic[pos] = window.setTimeout(function () {\n if (_this.state.draggingNodeKey === null) return;\n var newExpandedKeys = _toConsumableArray(expandedKeys);\n var entity = keyEntities[node.props.eventKey];\n if (entity && (entity.children || []).length) {\n newExpandedKeys = arrAdd(expandedKeys, node.props.eventKey);\n }\n if (!('expandedKeys' in _this.props)) {\n _this.setExpandedKeys(newExpandedKeys);\n }\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(newExpandedKeys, {\n node: convertNodePropsToEventData(node.props),\n expanded: true,\n nativeEvent: event.nativeEvent\n });\n }, 800);\n }\n // Skip if drag node is self\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n _this.resetDragState();\n return;\n }\n // Update drag over node and drag state\n _this.setState({\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed\n });\n onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter({\n event: event,\n node: convertNodePropsToEventData(node.props),\n expandedKeys: expandedKeys\n });\n };\n _this.onNodeDragOver = function (event, node) {\n var _this$state3 = _this.state,\n dragChildrenKeys = _this$state3.dragChildrenKeys,\n flattenNodes = _this$state3.flattenNodes,\n keyEntities = _this$state3.keyEntities,\n expandedKeys = _this$state3.expandedKeys,\n indent = _this$state3.indent;\n var _this$props2 = _this.props,\n onDragOver = _this$props2.onDragOver,\n allowDrop = _this$props2.allowDrop,\n direction = _this$props2.direction;\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n dragNode = _assertThisInitialize2.dragNode;\n if (!dragNode) {\n return;\n }\n var _calcDropPosition2 = calcDropPosition(event, dragNode, node, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition2.dropPosition,\n dropLevelOffset = _calcDropPosition2.dropLevelOffset,\n dropTargetKey = _calcDropPosition2.dropTargetKey,\n dropContainerKey = _calcDropPosition2.dropContainerKey,\n dropAllowed = _calcDropPosition2.dropAllowed,\n dropTargetPos = _calcDropPosition2.dropTargetPos,\n dragOverNodeKey = _calcDropPosition2.dragOverNodeKey;\n if (dragChildrenKeys.indexOf(dropTargetKey) !== -1 || !dropAllowed) {\n // don't allow drop inside its children\n // don't allow drop when drop is not allowed caculated by calcDropPosition\n return;\n }\n // Update drag position\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n if (!(_this.state.dropPosition === null && _this.state.dropLevelOffset === null && _this.state.dropTargetKey === null && _this.state.dropContainerKey === null && _this.state.dropTargetPos === null && _this.state.dropAllowed === false && _this.state.dragOverNodeKey === null)) {\n _this.resetDragState();\n }\n } else if (!(dropPosition === _this.state.dropPosition && dropLevelOffset === _this.state.dropLevelOffset && dropTargetKey === _this.state.dropTargetKey && dropContainerKey === _this.state.dropContainerKey && dropTargetPos === _this.state.dropTargetPos && dropAllowed === _this.state.dropAllowed && dragOverNodeKey === _this.state.dragOverNodeKey)) {\n _this.setState({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed,\n dragOverNodeKey: dragOverNodeKey\n });\n }\n onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n };\n _this.onNodeDragLeave = function (event, node) {\n // if it is outside the droppable area\n // currentMouseOverDroppableNodeKey will be updated in dragenter event when into another droppable receiver.\n if (_this.currentMouseOverDroppableNodeKey === node.props.eventKey && !event.currentTarget.contains(event.relatedTarget)) {\n _this.resetDragState();\n _this.currentMouseOverDroppableNodeKey = null;\n }\n var onDragLeave = _this.props.onDragLeave;\n onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n };\n // since stopPropagation() is called in treeNode\n // if onWindowDrag is called, whice means state is keeped, drag state should be cleared\n _this.onWindowDragEnd = function (event) {\n _this.onNodeDragEnd(event, null, true);\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n };\n // if onNodeDragEnd is called, onWindowDragEnd won't be called since stopPropagation() is called\n _this.onNodeDragEnd = function (event, node) {\n var onDragEnd = _this.props.onDragEnd;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n _this.dragNode = null;\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n };\n _this.onNodeDrop = function (event, node) {\n var _this$getActiveItem;\n var outsideTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var _this$state4 = _this.state,\n dragChildrenKeys = _this$state4.dragChildrenKeys,\n dropPosition = _this$state4.dropPosition,\n dropTargetKey = _this$state4.dropTargetKey,\n dropTargetPos = _this$state4.dropTargetPos,\n dropAllowed = _this$state4.dropAllowed;\n if (!dropAllowed) return;\n var onDrop = _this.props.onDrop;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n if (dropTargetKey === null) return;\n var abstractDropNodeProps = _objectSpread(_objectSpread({}, getTreeNodeProps(dropTargetKey, _this.getTreeNodeRequiredProps())), {}, {\n active: ((_this$getActiveItem = _this.getActiveItem()) === null || _this$getActiveItem === void 0 ? void 0 : _this$getActiveItem.key) === dropTargetKey,\n data: _this.state.keyEntities[dropTargetKey].node\n });\n var dropToChild = dragChildrenKeys.indexOf(dropTargetKey) !== -1;\n warning(!dropToChild, \"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.\");\n var posArr = posToArr(dropTargetPos);\n var dropResult = {\n event: event,\n node: convertNodePropsToEventData(abstractDropNodeProps),\n dragNode: _this.dragNode ? convertNodePropsToEventData(_this.dragNode.props) : null,\n dragNodesKeys: [_this.dragNode.props.eventKey].concat(dragChildrenKeys),\n dropToGap: dropPosition !== 0,\n dropPosition: dropPosition + Number(posArr[posArr.length - 1])\n };\n if (!outsideTree) {\n onDrop === null || onDrop === void 0 ? void 0 : onDrop(dropResult);\n }\n _this.dragNode = null;\n };\n _this.cleanDragState = function () {\n var draggingNodeKey = _this.state.draggingNodeKey;\n if (draggingNodeKey !== null) {\n _this.setState({\n draggingNodeKey: null,\n dropPosition: null,\n dropContainerKey: null,\n dropTargetKey: null,\n dropLevelOffset: null,\n dropAllowed: true,\n dragOverNodeKey: null\n });\n }\n _this.dragStartMousePosition = null;\n _this.currentMouseOverDroppableNodeKey = null;\n };\n _this.triggerExpandActionExpand = function (e, treeNode) {\n var _this$state5 = _this.state,\n expandedKeys = _this$state5.expandedKeys,\n flattenNodes = _this$state5.flattenNodes;\n var expanded = treeNode.expanded,\n key = treeNode.key,\n isLeaf = treeNode.isLeaf;\n if (isLeaf || e.shiftKey || e.metaKey || e.ctrlKey) {\n return;\n }\n var node = flattenNodes.filter(function (nodeItem) {\n return nodeItem.key === key;\n })[0];\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(key, _this.getTreeNodeRequiredProps())), {}, {\n data: node.data\n }));\n _this.setExpandedKeys(expanded ? arrDel(expandedKeys, key) : arrAdd(expandedKeys, key));\n _this.onNodeExpand(e, eventNode);\n };\n _this.onNodeClick = function (e, treeNode) {\n var _this$props3 = _this.props,\n onClick = _this$props3.onClick,\n expandAction = _this$props3.expandAction;\n if (expandAction === 'click') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(e, treeNode);\n };\n _this.onNodeDoubleClick = function (e, treeNode) {\n var _this$props4 = _this.props,\n onDoubleClick = _this$props4.onDoubleClick,\n expandAction = _this$props4.expandAction;\n if (expandAction === 'doubleClick') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onDoubleClick === null || onDoubleClick === void 0 ? void 0 : onDoubleClick(e, treeNode);\n };\n _this.onNodeSelect = function (e, treeNode) {\n var selectedKeys = _this.state.selectedKeys;\n var _this$state6 = _this.state,\n keyEntities = _this$state6.keyEntities,\n fieldNames = _this$state6.fieldNames;\n var _this$props5 = _this.props,\n onSelect = _this$props5.onSelect,\n multiple = _this$props5.multiple;\n var selected = treeNode.selected;\n var key = treeNode[fieldNames.key];\n var targetSelected = !selected;\n // Update selected keys\n if (!targetSelected) {\n selectedKeys = arrDel(selectedKeys, key);\n } else if (!multiple) {\n selectedKeys = [key];\n } else {\n selectedKeys = arrAdd(selectedKeys, key);\n }\n // [Legacy] Not found related usage in doc or upper libs\n var selectedNodes = selectedKeys.map(function (selectedKey) {\n var entity = keyEntities[selectedKey];\n if (!entity) return null;\n return entity.node;\n }).filter(function (node) {\n return node;\n });\n _this.setUncontrolledState({\n selectedKeys: selectedKeys\n });\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedKeys, {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes: selectedNodes,\n nativeEvent: e.nativeEvent\n });\n };\n _this.onNodeCheck = function (e, treeNode, checked) {\n var _this$state7 = _this.state,\n keyEntities = _this$state7.keyEntities,\n oriCheckedKeys = _this$state7.checkedKeys,\n oriHalfCheckedKeys = _this$state7.halfCheckedKeys;\n var _this$props6 = _this.props,\n checkStrictly = _this$props6.checkStrictly,\n onCheck = _this$props6.onCheck;\n var key = treeNode.key;\n // Prepare trigger arguments\n var checkedObj;\n var eventObj = {\n event: 'check',\n node: treeNode,\n checked: checked,\n nativeEvent: e.nativeEvent\n };\n if (checkStrictly) {\n var checkedKeys = checked ? arrAdd(oriCheckedKeys, key) : arrDel(oriCheckedKeys, key);\n var halfCheckedKeys = arrDel(oriHalfCheckedKeys, key);\n checkedObj = {\n checked: checkedKeys,\n halfChecked: halfCheckedKeys\n };\n eventObj.checkedNodes = checkedKeys.map(function (checkedKey) {\n return keyEntities[checkedKey];\n }).filter(function (entity) {\n return entity;\n }).map(function (entity) {\n return entity.node;\n });\n _this.setUncontrolledState({\n checkedKeys: checkedKeys\n });\n } else {\n // Always fill first\n var _conductCheck = conductCheck([].concat(_toConsumableArray(oriCheckedKeys), [key]), true, keyEntities),\n _checkedKeys = _conductCheck.checkedKeys,\n _halfCheckedKeys = _conductCheck.halfCheckedKeys;\n // If remove, we do it again to correction\n if (!checked) {\n var keySet = new Set(_checkedKeys);\n keySet.delete(key);\n var _conductCheck2 = conductCheck(Array.from(keySet), {\n checked: false,\n halfCheckedKeys: _halfCheckedKeys\n }, keyEntities);\n _checkedKeys = _conductCheck2.checkedKeys;\n _halfCheckedKeys = _conductCheck2.halfCheckedKeys;\n }\n checkedObj = _checkedKeys;\n // [Legacy] This is used for `rc-tree-select`\n eventObj.checkedNodes = [];\n eventObj.checkedNodesPositions = [];\n eventObj.halfCheckedKeys = _halfCheckedKeys;\n _checkedKeys.forEach(function (checkedKey) {\n var entity = keyEntities[checkedKey];\n if (!entity) return;\n var node = entity.node,\n pos = entity.pos;\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({\n node: node,\n pos: pos\n });\n });\n _this.setUncontrolledState({\n checkedKeys: _checkedKeys\n }, false, {\n halfCheckedKeys: _halfCheckedKeys\n });\n }\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(checkedObj, eventObj);\n };\n _this.onNodeLoad = function (treeNode) {\n var key = treeNode.key;\n var loadPromise = new Promise(function (resolve, reject) {\n // We need to get the latest state of loading/loaded keys\n _this.setState(function (_ref) {\n var _ref$loadedKeys = _ref.loadedKeys,\n loadedKeys = _ref$loadedKeys === void 0 ? [] : _ref$loadedKeys,\n _ref$loadingKeys = _ref.loadingKeys,\n loadingKeys = _ref$loadingKeys === void 0 ? [] : _ref$loadingKeys;\n var _this$props7 = _this.props,\n loadData = _this$props7.loadData,\n onLoad = _this$props7.onLoad;\n if (!loadData || loadedKeys.indexOf(key) !== -1 || loadingKeys.indexOf(key) !== -1) {\n return null;\n }\n // Process load data\n var promise = loadData(treeNode);\n promise.then(function () {\n var currentLoadedKeys = _this.state.loadedKeys;\n var newLoadedKeys = arrAdd(currentLoadedKeys, key);\n // onLoad should trigger before internal setState to avoid `loadData` trigger twice.\n // https://github.com/ant-design/ant-design/issues/12464\n onLoad === null || onLoad === void 0 ? void 0 : onLoad(newLoadedKeys, {\n event: 'load',\n node: treeNode\n });\n _this.setUncontrolledState({\n loadedKeys: newLoadedKeys\n });\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n resolve();\n }).catch(function (e) {\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n // If exceed max retry times, we give up retry\n _this.loadingRetryTimes[key] = (_this.loadingRetryTimes[key] || 0) + 1;\n if (_this.loadingRetryTimes[key] >= MAX_RETRY_TIMES) {\n var currentLoadedKeys = _this.state.loadedKeys;\n warning(false, 'Retry for `loadData` many times but still failed. No more retry.');\n _this.setUncontrolledState({\n loadedKeys: arrAdd(currentLoadedKeys, key)\n });\n resolve();\n }\n reject(e);\n });\n return {\n loadingKeys: arrAdd(loadingKeys, key)\n };\n });\n });\n // Not care warning if we ignore this\n loadPromise.catch(function () {});\n return loadPromise;\n };\n _this.onNodeMouseEnter = function (event, node) {\n var onMouseEnter = _this.props.onMouseEnter;\n onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({\n event: event,\n node: node\n });\n };\n _this.onNodeMouseLeave = function (event, node) {\n var onMouseLeave = _this.props.onMouseLeave;\n onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({\n event: event,\n node: node\n });\n };\n _this.onNodeContextMenu = function (event, node) {\n var onRightClick = _this.props.onRightClick;\n if (onRightClick) {\n event.preventDefault();\n onRightClick({\n event: event,\n node: node\n });\n }\n };\n _this.onFocus = function () {\n var onFocus = _this.props.onFocus;\n _this.setState({\n focused: true\n });\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n onFocus === null || onFocus === void 0 ? void 0 : onFocus.apply(void 0, args);\n };\n _this.onBlur = function () {\n var onBlur = _this.props.onBlur;\n _this.setState({\n focused: false\n });\n _this.onActiveChange(null);\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n onBlur === null || onBlur === void 0 ? void 0 : onBlur.apply(void 0, args);\n };\n _this.getTreeNodeRequiredProps = function () {\n var _this$state8 = _this.state,\n expandedKeys = _this$state8.expandedKeys,\n selectedKeys = _this$state8.selectedKeys,\n loadedKeys = _this$state8.loadedKeys,\n loadingKeys = _this$state8.loadingKeys,\n checkedKeys = _this$state8.checkedKeys,\n halfCheckedKeys = _this$state8.halfCheckedKeys,\n dragOverNodeKey = _this$state8.dragOverNodeKey,\n dropPosition = _this$state8.dropPosition,\n keyEntities = _this$state8.keyEntities;\n return {\n expandedKeys: expandedKeys || [],\n selectedKeys: selectedKeys || [],\n loadedKeys: loadedKeys || [],\n loadingKeys: loadingKeys || [],\n checkedKeys: checkedKeys || [],\n halfCheckedKeys: halfCheckedKeys || [],\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n };\n // =========================== Expanded ===========================\n /** Set uncontrolled `expandedKeys`. This will also auto update `flattenNodes`. */\n _this.setExpandedKeys = function (expandedKeys) {\n var _this$state9 = _this.state,\n treeData = _this$state9.treeData,\n fieldNames = _this$state9.fieldNames;\n var flattenNodes = flattenTreeData(treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n expandedKeys: expandedKeys,\n flattenNodes: flattenNodes\n }, true);\n };\n _this.onNodeExpand = function (e, treeNode) {\n var expandedKeys = _this.state.expandedKeys;\n var _this$state10 = _this.state,\n listChanging = _this$state10.listChanging,\n fieldNames = _this$state10.fieldNames;\n var _this$props8 = _this.props,\n onExpand = _this$props8.onExpand,\n loadData = _this$props8.loadData;\n var expanded = treeNode.expanded;\n var key = treeNode[fieldNames.key];\n // Do nothing when motion is in progress\n if (listChanging) {\n return;\n }\n // Update selected keys\n var index = expandedKeys.indexOf(key);\n var targetExpanded = !expanded;\n warning(expanded && index !== -1 || !expanded && index === -1, 'Expand state not sync with index check');\n if (targetExpanded) {\n expandedKeys = arrAdd(expandedKeys, key);\n } else {\n expandedKeys = arrDel(expandedKeys, key);\n }\n _this.setExpandedKeys(expandedKeys);\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e.nativeEvent\n });\n // Async Load data\n if (targetExpanded && loadData) {\n var loadPromise = _this.onNodeLoad(treeNode);\n if (loadPromise) {\n loadPromise.then(function () {\n // [Legacy] Refresh logic\n var newFlattenTreeData = flattenTreeData(_this.state.treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n flattenNodes: newFlattenTreeData\n });\n }).catch(function () {\n var currentExpandedKeys = _this.state.expandedKeys;\n var expandedKeysToRestore = arrDel(currentExpandedKeys, key);\n _this.setExpandedKeys(expandedKeysToRestore);\n });\n }\n }\n };\n _this.onListChangeStart = function () {\n _this.setUncontrolledState({\n listChanging: true\n });\n };\n _this.onListChangeEnd = function () {\n setTimeout(function () {\n _this.setUncontrolledState({\n listChanging: false\n });\n });\n };\n // =========================== Keyboard ===========================\n _this.onActiveChange = function (newActiveKey) {\n var activeKey = _this.state.activeKey;\n var onActiveChange = _this.props.onActiveChange;\n if (activeKey === newActiveKey) {\n return;\n }\n _this.setState({\n activeKey: newActiveKey\n });\n if (newActiveKey !== null) {\n _this.scrollTo({\n key: newActiveKey\n });\n }\n onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(newActiveKey);\n };\n _this.getActiveItem = function () {\n var _this$state11 = _this.state,\n activeKey = _this$state11.activeKey,\n flattenNodes = _this$state11.flattenNodes;\n if (activeKey === null) {\n return null;\n }\n return flattenNodes.find(function (_ref2) {\n var key = _ref2.key;\n return key === activeKey;\n }) || null;\n };\n _this.offsetActiveKey = function (offset) {\n var _this$state12 = _this.state,\n flattenNodes = _this$state12.flattenNodes,\n activeKey = _this$state12.activeKey;\n var index = flattenNodes.findIndex(function (_ref3) {\n var key = _ref3.key;\n return key === activeKey;\n });\n // Align with index\n if (index === -1 && offset < 0) {\n index = flattenNodes.length;\n }\n index = (index + offset + flattenNodes.length) % flattenNodes.length;\n var item = flattenNodes[index];\n if (item) {\n var key = item.key;\n _this.onActiveChange(key);\n } else {\n _this.onActiveChange(null);\n }\n };\n _this.onKeyDown = function (event) {\n var _this$state13 = _this.state,\n activeKey = _this$state13.activeKey,\n expandedKeys = _this$state13.expandedKeys,\n checkedKeys = _this$state13.checkedKeys,\n fieldNames = _this$state13.fieldNames;\n var _this$props9 = _this.props,\n onKeyDown = _this$props9.onKeyDown,\n checkable = _this$props9.checkable,\n selectable = _this$props9.selectable;\n // >>>>>>>>>> Direction\n switch (event.which) {\n case KeyCode.UP:\n {\n _this.offsetActiveKey(-1);\n event.preventDefault();\n break;\n }\n case KeyCode.DOWN:\n {\n _this.offsetActiveKey(1);\n event.preventDefault();\n break;\n }\n }\n // >>>>>>>>>> Expand & Selection\n var activeItem = _this.getActiveItem();\n if (activeItem && activeItem.data) {\n var treeNodeRequiredProps = _this.getTreeNodeRequiredProps();\n var expandable = activeItem.data.isLeaf === false || !!(activeItem.data[fieldNames.children] || []).length;\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(activeKey, treeNodeRequiredProps)), {}, {\n data: activeItem.data,\n active: true\n }));\n switch (event.which) {\n // >>> Expand\n case KeyCode.LEFT:\n {\n // Collapse if possible\n if (expandable && expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.parent) {\n _this.onActiveChange(activeItem.parent.key);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.RIGHT:\n {\n // Expand if possible\n if (expandable && !expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.children && activeItem.children.length) {\n _this.onActiveChange(activeItem.children[0].key);\n }\n event.preventDefault();\n break;\n }\n // Selection\n case KeyCode.ENTER:\n case KeyCode.SPACE:\n {\n if (checkable && !eventNode.disabled && eventNode.checkable !== false && !eventNode.disableCheckbox) {\n _this.onNodeCheck({}, eventNode, !checkedKeys.includes(activeKey));\n } else if (!checkable && selectable && !eventNode.disabled && eventNode.selectable !== false) {\n _this.onNodeSelect({}, eventNode);\n }\n break;\n }\n }\n }\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n };\n /**\n * Only update the value which is not in props\n */\n _this.setUncontrolledState = function (state) {\n var atomic = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var forceState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (!_this.destroyed) {\n var needSync = false;\n var allPassed = true;\n var newState = {};\n Object.keys(state).forEach(function (name) {\n if (name in _this.props) {\n allPassed = false;\n return;\n }\n needSync = true;\n newState[name] = state[name];\n });\n if (needSync && (!atomic || allPassed)) {\n _this.setState(_objectSpread(_objectSpread({}, newState), forceState));\n }\n }\n };\n _this.scrollTo = function (scroll) {\n _this.listRef.current.scrollTo(scroll);\n };\n return _this;\n }\n _createClass(Tree, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.destroyed = false;\n this.onUpdated();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onUpdated();\n }\n }, {\n key: \"onUpdated\",\n value: function onUpdated() {\n var activeKey = this.props.activeKey;\n if (activeKey !== undefined && activeKey !== this.state.activeKey) {\n this.setState({\n activeKey: activeKey\n });\n if (activeKey !== null) {\n this.scrollTo({\n key: activeKey\n });\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('dragend', this.onWindowDragEnd);\n this.destroyed = true;\n }\n }, {\n key: \"resetDragState\",\n value: function resetDragState() {\n this.setState({\n dragOverNodeKey: null,\n dropPosition: null,\n dropLevelOffset: null,\n dropTargetKey: null,\n dropContainerKey: null,\n dropTargetPos: null,\n dropAllowed: false\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n var _this$state14 = this.state,\n focused = _this$state14.focused,\n flattenNodes = _this$state14.flattenNodes,\n keyEntities = _this$state14.keyEntities,\n draggingNodeKey = _this$state14.draggingNodeKey,\n activeKey = _this$state14.activeKey,\n dropLevelOffset = _this$state14.dropLevelOffset,\n dropContainerKey = _this$state14.dropContainerKey,\n dropTargetKey = _this$state14.dropTargetKey,\n dropPosition = _this$state14.dropPosition,\n dragOverNodeKey = _this$state14.dragOverNodeKey,\n indent = _this$state14.indent;\n var _this$props10 = this.props,\n prefixCls = _this$props10.prefixCls,\n className = _this$props10.className,\n style = _this$props10.style,\n showLine = _this$props10.showLine,\n focusable = _this$props10.focusable,\n _this$props10$tabInde = _this$props10.tabIndex,\n tabIndex = _this$props10$tabInde === void 0 ? 0 : _this$props10$tabInde,\n selectable = _this$props10.selectable,\n showIcon = _this$props10.showIcon,\n icon = _this$props10.icon,\n switcherIcon = _this$props10.switcherIcon,\n draggable = _this$props10.draggable,\n checkable = _this$props10.checkable,\n checkStrictly = _this$props10.checkStrictly,\n disabled = _this$props10.disabled,\n motion = _this$props10.motion,\n loadData = _this$props10.loadData,\n filterTreeNode = _this$props10.filterTreeNode,\n height = _this$props10.height,\n itemHeight = _this$props10.itemHeight,\n virtual = _this$props10.virtual,\n titleRender = _this$props10.titleRender,\n dropIndicatorRender = _this$props10.dropIndicatorRender,\n onContextMenu = _this$props10.onContextMenu,\n onScroll = _this$props10.onScroll,\n direction = _this$props10.direction,\n rootClassName = _this$props10.rootClassName,\n rootStyle = _this$props10.rootStyle;\n var domProps = pickAttrs(this.props, {\n aria: true,\n data: true\n });\n // It's better move to hooks but we just simply keep here\n var draggableConfig;\n if (draggable) {\n if (_typeof(draggable) === 'object') {\n draggableConfig = draggable;\n } else if (typeof draggable === 'function') {\n draggableConfig = {\n nodeDraggable: draggable\n };\n } else {\n draggableConfig = {};\n }\n }\n return /*#__PURE__*/React.createElement(TreeContext.Provider, {\n value: {\n prefixCls: prefixCls,\n selectable: selectable,\n showIcon: showIcon,\n icon: icon,\n switcherIcon: switcherIcon,\n draggable: draggableConfig,\n draggingNodeKey: draggingNodeKey,\n checkable: checkable,\n checkStrictly: checkStrictly,\n disabled: disabled,\n keyEntities: keyEntities,\n dropLevelOffset: dropLevelOffset,\n dropContainerKey: dropContainerKey,\n dropTargetKey: dropTargetKey,\n dropPosition: dropPosition,\n dragOverNodeKey: dragOverNodeKey,\n indent: indent,\n direction: direction,\n dropIndicatorRender: dropIndicatorRender,\n loadData: loadData,\n filterTreeNode: filterTreeNode,\n titleRender: titleRender,\n onNodeClick: this.onNodeClick,\n onNodeDoubleClick: this.onNodeDoubleClick,\n onNodeExpand: this.onNodeExpand,\n onNodeSelect: this.onNodeSelect,\n onNodeCheck: this.onNodeCheck,\n onNodeLoad: this.onNodeLoad,\n onNodeMouseEnter: this.onNodeMouseEnter,\n onNodeMouseLeave: this.onNodeMouseLeave,\n onNodeContextMenu: this.onNodeContextMenu,\n onNodeDragStart: this.onNodeDragStart,\n onNodeDragEnter: this.onNodeDragEnter,\n onNodeDragOver: this.onNodeDragOver,\n onNodeDragLeave: this.onNodeDragLeave,\n onNodeDragEnd: this.onNodeDragEnd,\n onNodeDrop: this.onNodeDrop\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"tree\",\n className: classNames(prefixCls, className, rootClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-line\"), showLine), _defineProperty(_classNames, \"\".concat(prefixCls, \"-focused\"), focused), _defineProperty(_classNames, \"\".concat(prefixCls, \"-active-focused\"), activeKey !== null), _classNames)),\n style: rootStyle\n }, /*#__PURE__*/React.createElement(NodeList, _extends({\n ref: this.listRef,\n prefixCls: prefixCls,\n style: style,\n data: flattenNodes,\n disabled: disabled,\n selectable: selectable,\n checkable: !!checkable,\n motion: motion,\n dragging: draggingNodeKey !== null,\n height: height,\n itemHeight: itemHeight,\n virtual: virtual,\n focusable: focusable,\n focused: focused,\n tabIndex: tabIndex,\n activeItem: this.getActiveItem(),\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeyDown: this.onKeyDown,\n onActiveChange: this.onActiveChange,\n onListChangeStart: this.onListChangeStart,\n onListChangeEnd: this.onListChangeEnd,\n onContextMenu: onContextMenu,\n onScroll: onScroll\n }, this.getTreeNodeRequiredProps(), domProps))));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, prevState) {\n var prevProps = prevState.prevProps;\n var newState = {\n prevProps: props\n };\n function needSync(name) {\n return !prevProps && name in props || prevProps && prevProps[name] !== props[name];\n }\n // ================== Tree Node ==================\n var treeData;\n // fieldNames\n var fieldNames = prevState.fieldNames;\n if (needSync('fieldNames')) {\n fieldNames = fillFieldNames(props.fieldNames);\n newState.fieldNames = fieldNames;\n }\n // Check if `treeData` or `children` changed and save into the state.\n if (needSync('treeData')) {\n treeData = props.treeData;\n } else if (needSync('children')) {\n warning(false, '`children` of Tree is deprecated. Please use `treeData` instead.');\n treeData = convertTreeToData(props.children);\n }\n // Save flatten nodes info and convert `treeData` into keyEntities\n if (treeData) {\n newState.treeData = treeData;\n var entitiesMap = convertDataToEntities(treeData, {\n fieldNames: fieldNames\n });\n newState.keyEntities = _objectSpread(_defineProperty({}, MOTION_KEY, MotionEntity), entitiesMap.keyEntities);\n // Warning if treeNode not provide key\n if (process.env.NODE_ENV !== 'production') {\n warningWithoutKey(treeData, fieldNames);\n }\n }\n var keyEntities = newState.keyEntities || prevState.keyEntities;\n // ================ expandedKeys =================\n if (needSync('expandedKeys') || prevProps && needSync('autoExpandParent')) {\n newState.expandedKeys = props.autoExpandParent || !prevProps && props.defaultExpandParent ? conductExpandParent(props.expandedKeys, keyEntities) : props.expandedKeys;\n } else if (!prevProps && props.defaultExpandAll) {\n var cloneKeyEntities = _objectSpread({}, keyEntities);\n delete cloneKeyEntities[MOTION_KEY];\n newState.expandedKeys = Object.keys(cloneKeyEntities).map(function (key) {\n return cloneKeyEntities[key].key;\n });\n } else if (!prevProps && props.defaultExpandedKeys) {\n newState.expandedKeys = props.autoExpandParent || props.defaultExpandParent ? conductExpandParent(props.defaultExpandedKeys, keyEntities) : props.defaultExpandedKeys;\n }\n if (!newState.expandedKeys) {\n delete newState.expandedKeys;\n }\n // ================ flattenNodes =================\n if (treeData || newState.expandedKeys) {\n var flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, fieldNames);\n newState.flattenNodes = flattenNodes;\n }\n // ================ selectedKeys =================\n if (props.selectable) {\n if (needSync('selectedKeys')) {\n newState.selectedKeys = calcSelectedKeys(props.selectedKeys, props);\n } else if (!prevProps && props.defaultSelectedKeys) {\n newState.selectedKeys = calcSelectedKeys(props.defaultSelectedKeys, props);\n }\n }\n // ================= checkedKeys =================\n if (props.checkable) {\n var checkedKeyEntity;\n if (needSync('checkedKeys')) {\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {};\n } else if (!prevProps && props.defaultCheckedKeys) {\n checkedKeyEntity = parseCheckedKeys(props.defaultCheckedKeys) || {};\n } else if (treeData) {\n // If `treeData` changed, we also need check it\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {\n checkedKeys: prevState.checkedKeys,\n halfCheckedKeys: prevState.halfCheckedKeys\n };\n }\n if (checkedKeyEntity) {\n var _checkedKeyEntity = checkedKeyEntity,\n _checkedKeyEntity$che = _checkedKeyEntity.checkedKeys,\n checkedKeys = _checkedKeyEntity$che === void 0 ? [] : _checkedKeyEntity$che,\n _checkedKeyEntity$hal = _checkedKeyEntity.halfCheckedKeys,\n halfCheckedKeys = _checkedKeyEntity$hal === void 0 ? [] : _checkedKeyEntity$hal;\n if (!props.checkStrictly) {\n var conductKeys = conductCheck(checkedKeys, true, keyEntities);\n checkedKeys = conductKeys.checkedKeys;\n halfCheckedKeys = conductKeys.halfCheckedKeys;\n }\n newState.checkedKeys = checkedKeys;\n newState.halfCheckedKeys = halfCheckedKeys;\n }\n }\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState.loadedKeys = props.loadedKeys;\n }\n return newState;\n }\n }]);\n return Tree;\n}(React.Component);\nTree.defaultProps = {\n prefixCls: 'rc-tree',\n showLine: false,\n showIcon: true,\n selectable: true,\n multiple: false,\n checkable: false,\n disabled: false,\n checkStrictly: false,\n draggable: false,\n defaultExpandParent: true,\n autoExpandParent: false,\n defaultExpandAll: false,\n defaultExpandedKeys: [],\n defaultCheckedKeys: [],\n defaultSelectedKeys: [],\n dropIndicatorRender: DropIndicator,\n allowDrop: function allowDrop() {\n return true;\n },\n expandAction: false\n};\nTree.TreeNode = TreeNode;\nexport default Tree;","import * as React from 'react';\nexport default function DropIndicator(_ref) {\n var dropPosition = _ref.dropPosition,\n dropLevelOffset = _ref.dropLevelOffset,\n indent = _ref.indent;\n var style = {\n pointerEvents: 'none',\n position: 'absolute',\n right: 0,\n backgroundColor: 'red',\n height: 2\n };\n switch (dropPosition) {\n case -1:\n style.top = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 1:\n style.bottom = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 0:\n style.bottom = 0;\n style.left = indent;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style\n });\n}","import Tree from './Tree';\nimport TreeNode from './TreeNode';\nexport { TreeNode };\nexport default Tree;","// This icon file is generated automatically.\nvar HolderOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z\" } }] }, \"name\": \"holder\", \"theme\": \"outlined\" };\nexport default HolderOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport HolderOutlinedSvg from \"@ant-design/icons-svg/es/asn/HolderOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar HolderOutlined = function HolderOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: HolderOutlinedSvg\n }));\n};\nHolderOutlined.displayName = 'HolderOutlined';\nexport default /*#__PURE__*/React.forwardRef(HolderOutlined);","import React from 'react';\nexport const offset = 4;\nexport default function dropIndicatorRender(props) {\n const {\n dropPosition,\n dropLevelOffset,\n prefixCls,\n indent,\n direction = 'ltr'\n } = props;\n const startPosition = direction === 'ltr' ? 'left' : 'right';\n const endPosition = direction === 'ltr' ? 'right' : 'left';\n const style = {\n [startPosition]: -dropLevelOffset * indent + offset,\n [endPosition]: 0\n };\n switch (dropPosition) {\n case -1:\n style.top = -3;\n break;\n case 1:\n style.bottom = -3;\n break;\n default:\n // dropPosition === 0\n style.bottom = -3;\n style[startPosition] = indent + offset;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style,\n className: `${prefixCls}-drop-indicator`\n });\n}","// This icon file is generated automatically.\nvar CaretDownFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"filled\" };\nexport default CaretDownFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CaretDownFilledSvg from \"@ant-design/icons-svg/es/asn/CaretDownFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar CaretDownFilled = function CaretDownFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CaretDownFilledSvg\n }));\n};\nCaretDownFilled.displayName = 'CaretDownFilled';\nexport default /*#__PURE__*/React.forwardRef(CaretDownFilled);","// This icon file is generated automatically.\nvar FileOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z\" } }] }, \"name\": \"file\", \"theme\": \"outlined\" };\nexport default FileOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport FileOutlinedSvg from \"@ant-design/icons-svg/es/asn/FileOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar FileOutlined = function FileOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: FileOutlinedSvg\n }));\n};\nFileOutlined.displayName = 'FileOutlined';\nexport default /*#__PURE__*/React.forwardRef(FileOutlined);","// This icon file is generated automatically.\nvar MinusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"minus-square\", \"theme\": \"outlined\" };\nexport default MinusSquareOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport MinusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/MinusSquareOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar MinusSquareOutlined = function MinusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: MinusSquareOutlinedSvg\n }));\n};\nMinusSquareOutlined.displayName = 'MinusSquareOutlined';\nexport default /*#__PURE__*/React.forwardRef(MinusSquareOutlined);","// This icon file is generated automatically.\nvar PlusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"plus-square\", \"theme\": \"outlined\" };\nexport default PlusSquareOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport PlusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusSquareOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar PlusSquareOutlined = function PlusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: PlusSquareOutlinedSvg\n }));\n};\nPlusSquareOutlined.displayName = 'PlusSquareOutlined';\nexport default /*#__PURE__*/React.forwardRef(PlusSquareOutlined);","import { Keyframes } from '@ant-design/cssinjs';\nimport { genCollapseMotion } from '../../style/motion';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genFocusOutline, resetComponent } from '../../style';\n// ============================ Keyframes =============================\nconst treeNodeFX = new Keyframes('ant-tree-node-fx-do-not-use', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\n// ============================== Switch ==============================\nconst getSwitchStyle = (prefixCls, token) => ({\n [`.${prefixCls}-switcher-icon`]: {\n display: 'inline-block',\n fontSize: 10,\n verticalAlign: 'baseline',\n svg: {\n transition: `transform ${token.motionDurationSlow}`\n }\n }\n});\n// =============================== Drop ===============================\nconst getDropIndicatorStyle = (prefixCls, token) => ({\n [`.${prefixCls}-drop-indicator`]: {\n position: 'absolute',\n // it should displayed over the following node\n zIndex: 1,\n height: 2,\n backgroundColor: token.colorPrimary,\n borderRadius: 1,\n pointerEvents: 'none',\n '&:after': {\n position: 'absolute',\n top: -3,\n insetInlineStart: -6,\n width: 8,\n height: 8,\n backgroundColor: 'transparent',\n border: `${token.lineWidthBold}px solid ${token.colorPrimary}`,\n borderRadius: '50%',\n content: '\"\"'\n }\n }\n});\nexport const genBaseStyle = (prefixCls, token) => {\n const {\n treeCls,\n treeNodeCls,\n treeNodePadding,\n treeTitleHeight\n } = token;\n const treeCheckBoxMarginVertical = (treeTitleHeight - token.fontSizeLG) / 2;\n const treeCheckBoxMarginHorizontal = token.paddingXS;\n return {\n [treeCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n background: token.colorBgContainer,\n borderRadius: token.borderRadius,\n transition: `background-color ${token.motionDurationSlow}`,\n [`&${treeCls}-rtl`]: {\n // >>> Switcher\n [`${treeCls}-switcher`]: {\n '&_close': {\n [`${treeCls}-switcher-icon`]: {\n svg: {\n transform: 'rotate(90deg)'\n }\n }\n }\n }\n },\n [`&-focused:not(:hover):not(${treeCls}-active-focused)`]: Object.assign({}, genFocusOutline(token)),\n // =================== Virtual List ===================\n [`${treeCls}-list-holder-inner`]: {\n alignItems: 'flex-start'\n },\n [`&${treeCls}-block-node`]: {\n [`${treeCls}-list-holder-inner`]: {\n alignItems: 'stretch',\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n flex: 'auto'\n },\n // >>> Drag\n [`${treeNodeCls}.dragging`]: {\n position: 'relative',\n '&:after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: treeNodePadding,\n insetInlineStart: 0,\n border: `1px solid ${token.colorPrimary}`,\n opacity: 0,\n animationName: treeNodeFX,\n animationDuration: token.motionDurationSlow,\n animationPlayState: 'running',\n animationFillMode: 'forwards',\n content: '\"\"',\n pointerEvents: 'none'\n }\n }\n }\n },\n // ===================== TreeNode =====================\n [`${treeNodeCls}`]: {\n display: 'flex',\n alignItems: 'flex-start',\n padding: `0 0 ${treeNodePadding}px 0`,\n outline: 'none',\n '&-rtl': {\n direction: 'rtl'\n },\n // Disabled\n '&-disabled': {\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n background: 'transparent'\n }\n }\n },\n [`&-active ${treeCls}-node-content-wrapper`]: Object.assign({}, genFocusOutline(token)),\n [`&:not(${treeNodeCls}-disabled).filter-node ${treeCls}-title`]: {\n color: 'inherit',\n fontWeight: 500\n },\n '&-draggable': {\n [`${treeCls}-draggable-icon`]: {\n width: treeTitleHeight,\n lineHeight: `${treeTitleHeight}px`,\n textAlign: 'center',\n visibility: 'visible',\n opacity: 0.2,\n transition: `opacity ${token.motionDurationSlow}`,\n [`${treeNodeCls}:hover &`]: {\n opacity: 0.45\n }\n },\n [`&${treeNodeCls}-disabled`]: {\n [`${treeCls}-draggable-icon`]: {\n visibility: 'hidden'\n }\n }\n }\n },\n // >>> Indent\n [`${treeCls}-indent`]: {\n alignSelf: 'stretch',\n whiteSpace: 'nowrap',\n userSelect: 'none',\n '&-unit': {\n display: 'inline-block',\n width: treeTitleHeight\n }\n },\n // >>> Drag Handler\n [`${treeCls}-draggable-icon`]: {\n visibility: 'hidden'\n },\n // >>> Switcher\n [`${treeCls}-switcher`]: Object.assign(Object.assign({}, getSwitchStyle(prefixCls, token)), {\n position: 'relative',\n flex: 'none',\n alignSelf: 'stretch',\n width: treeTitleHeight,\n margin: 0,\n lineHeight: `${treeTitleHeight}px`,\n textAlign: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n '&-noop': {\n cursor: 'default'\n },\n '&_close': {\n [`${treeCls}-switcher-icon`]: {\n svg: {\n transform: 'rotate(-90deg)'\n }\n }\n },\n '&-loading-icon': {\n color: token.colorPrimary\n },\n '&-leaf-line': {\n position: 'relative',\n zIndex: 1,\n display: 'inline-block',\n width: '100%',\n height: '100%',\n // https://github.com/ant-design/ant-design/issues/31884\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: treeTitleHeight / 2,\n bottom: -treeNodePadding,\n marginInlineStart: -1,\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&:after': {\n position: 'absolute',\n width: treeTitleHeight / 2 * 0.8,\n height: treeTitleHeight / 2,\n borderBottom: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n }\n }\n }),\n // >>> Checkbox\n [`${treeCls}-checkbox`]: {\n top: 'initial',\n marginInlineEnd: treeCheckBoxMarginHorizontal,\n marginBlockStart: treeCheckBoxMarginVertical\n },\n // >>> Title\n // add `${treeCls}-checkbox + span` to cover checkbox `${checkboxCls} + span`\n [`${treeCls}-node-content-wrapper, ${treeCls}-checkbox + span`]: {\n position: 'relative',\n zIndex: 'auto',\n minHeight: treeTitleHeight,\n margin: 0,\n padding: `0 ${token.paddingXS / 2}px`,\n color: 'inherit',\n lineHeight: `${treeTitleHeight}px`,\n background: 'transparent',\n borderRadius: token.borderRadius,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,\n '&:hover': {\n backgroundColor: token.controlItemBgHover\n },\n [`&${treeCls}-node-selected`]: {\n backgroundColor: token.controlItemBgActive\n },\n // Icon\n [`${treeCls}-iconEle`]: {\n display: 'inline-block',\n width: treeTitleHeight,\n height: treeTitleHeight,\n lineHeight: `${treeTitleHeight}px`,\n textAlign: 'center',\n verticalAlign: 'top',\n '&:empty': {\n display: 'none'\n }\n }\n },\n // https://github.com/ant-design/ant-design/issues/28217\n [`${treeCls}-unselectable ${treeCls}-node-content-wrapper:hover`]: {\n backgroundColor: 'transparent'\n },\n // ==================== Draggable =====================\n [`${treeCls}-node-content-wrapper`]: Object.assign({\n lineHeight: `${treeTitleHeight}px`,\n userSelect: 'none'\n }, getDropIndicatorStyle(prefixCls, token)),\n [`${treeNodeCls}.drop-container`]: {\n '> [draggable]': {\n boxShadow: `0 0 0 2px ${token.colorPrimary}`\n }\n },\n // ==================== Show Line =====================\n '&-show-line': {\n // ================ Indent lines ================\n [`${treeCls}-indent`]: {\n '&-unit': {\n position: 'relative',\n height: '100%',\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: treeTitleHeight / 2,\n bottom: -treeNodePadding,\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&-end': {\n '&:before': {\n display: 'none'\n }\n }\n }\n },\n // ============== Cover Background ==============\n [`${treeCls}-switcher`]: {\n background: 'transparent',\n '&-line-icon': {\n // https://github.com/ant-design/ant-design/issues/32813\n verticalAlign: '-0.15em'\n }\n }\n },\n [`${treeNodeCls}-leaf-last`]: {\n [`${treeCls}-switcher`]: {\n '&-leaf-line': {\n '&:before': {\n top: 'auto !important',\n bottom: 'auto !important',\n height: `${treeTitleHeight / 2}px !important`\n }\n }\n }\n }\n })\n };\n};\n// ============================ Directory =============================\nexport const genDirectoryStyle = token => {\n const {\n treeCls,\n treeNodeCls,\n treeNodePadding\n } = token;\n return {\n [`${treeCls}${treeCls}-directory`]: {\n // ================== TreeNode ==================\n [treeNodeCls]: {\n position: 'relative',\n // Hover color\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: treeNodePadding,\n insetInlineStart: 0,\n transition: `background-color ${token.motionDurationMid}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n '&:hover': {\n '&:before': {\n background: token.controlItemBgHover\n }\n },\n // Elements\n '> *': {\n zIndex: 1\n },\n // >>> Switcher\n [`${treeCls}-switcher`]: {\n transition: `color ${token.motionDurationMid}`\n },\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n borderRadius: 0,\n userSelect: 'none',\n '&:hover': {\n background: 'transparent'\n },\n [`&${treeCls}-node-selected`]: {\n color: token.colorTextLightSolid,\n background: 'transparent'\n }\n },\n // ============= Selected =============\n '&-selected': {\n [`\n &:hover::before,\n &::before\n `]: {\n background: token.colorPrimary\n },\n // >>> Switcher\n [`${treeCls}-switcher`]: {\n color: token.colorTextLightSolid\n },\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n color: token.colorTextLightSolid,\n background: 'transparent'\n }\n }\n }\n }\n };\n};\n// ============================== Merged ==============================\nexport const genTreeStyle = (prefixCls, token) => {\n const treeCls = `.${prefixCls}`;\n const treeNodeCls = `${treeCls}-treenode`;\n const treeNodePadding = token.paddingXS / 2;\n const treeTitleHeight = token.controlHeightSM;\n const treeToken = mergeToken(token, {\n treeCls,\n treeNodeCls,\n treeNodePadding,\n treeTitleHeight\n });\n return [\n // Basic\n genBaseStyle(prefixCls, treeToken),\n // Directory\n genDirectoryStyle(treeToken)];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tree', (token, _ref) => {\n let {\n prefixCls\n } = _ref;\n return [{\n [token.componentCls]: getCheckboxStyle(`${prefixCls}-checkbox`, token)\n }, genTreeStyle(prefixCls, token), genCollapseMotion(token)];\n});","import HolderOutlined from \"@ant-design/icons/es/icons/HolderOutlined\";\nimport classNames from 'classnames';\nimport RcTree from 'rc-tree';\nimport React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport initCollapseMotion from '../_util/motion';\nimport dropIndicatorRender from './utils/dropIndicator';\nimport renderSwitcherIcon from './utils/iconUtil';\nimport useStyle from './style';\nconst Tree = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction,\n virtual\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n showIcon = false,\n showLine,\n switcherIcon,\n blockNode = false,\n children,\n checkable = false,\n selectable = true,\n draggable,\n motion: customMotion\n } = props;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const motion = customMotion !== null && customMotion !== void 0 ? customMotion : Object.assign(Object.assign({}, initCollapseMotion(rootPrefixCls)), {\n motionAppear: false\n });\n const newProps = Object.assign(Object.assign({}, props), {\n checkable,\n selectable,\n showIcon,\n motion,\n blockNode,\n showLine: Boolean(showLine),\n dropIndicatorRender\n });\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const draggableConfig = React.useMemo(() => {\n if (!draggable) {\n return false;\n }\n let mergedDraggable = {};\n switch (typeof draggable) {\n case 'function':\n mergedDraggable.nodeDraggable = draggable;\n break;\n case 'object':\n mergedDraggable = Object.assign({}, draggable);\n break;\n default:\n break;\n // Do nothing\n }\n\n if (mergedDraggable.icon !== false) {\n mergedDraggable.icon = mergedDraggable.icon || /*#__PURE__*/React.createElement(HolderOutlined, null);\n }\n return mergedDraggable;\n }, [draggable]);\n return wrapSSR( /*#__PURE__*/React.createElement(RcTree, Object.assign({\n itemHeight: 20,\n ref: ref,\n virtual: virtual\n }, newProps, {\n prefixCls: prefixCls,\n className: classNames({\n [`${prefixCls}-icon-hide`]: !showIcon,\n [`${prefixCls}-block-node`]: blockNode,\n [`${prefixCls}-unselectable`]: !selectable,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId),\n direction: direction,\n checkable: checkable ? /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-checkbox-inner`\n }) : checkable,\n selectable: selectable,\n switcherIcon: nodeProps => renderSwitcherIcon(prefixCls, switcherIcon, nodeProps, showLine),\n draggable: draggableConfig\n }), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tree.displayName = 'Tree';\n}\nexport default Tree;","import CaretDownFilled from \"@ant-design/icons/es/icons/CaretDownFilled\";\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport MinusSquareOutlined from \"@ant-design/icons/es/icons/MinusSquareOutlined\";\nimport PlusSquareOutlined from \"@ant-design/icons/es/icons/PlusSquareOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { cloneElement, isValidElement } from '../../_util/reactNode';\nexport default function renderSwitcherIcon(prefixCls, switcherIcon, treeNodeProps, showLine) {\n const {\n isLeaf,\n expanded,\n loading\n } = treeNodeProps;\n if (loading) {\n return /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: `${prefixCls}-switcher-loading-icon`\n });\n }\n let showLeafIcon;\n if (showLine && typeof showLine === 'object') {\n showLeafIcon = showLine.showLeafIcon;\n }\n if (isLeaf) {\n if (!showLine) {\n return null;\n }\n if (typeof showLeafIcon !== 'boolean' && !!showLeafIcon) {\n const leafIcon = typeof showLeafIcon === 'function' ? showLeafIcon(treeNodeProps) : showLeafIcon;\n const leafCls = `${prefixCls}-switcher-line-custom-icon`;\n if (isValidElement(leafIcon)) {\n return cloneElement(leafIcon, {\n className: classNames(leafIcon.props.className || '', leafCls)\n });\n }\n return leafIcon;\n }\n return showLeafIcon ? /*#__PURE__*/React.createElement(FileOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n }) : /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-switcher-leaf-line`\n });\n }\n const switcherCls = `${prefixCls}-switcher-icon`;\n const switcher = typeof switcherIcon === 'function' ? switcherIcon(treeNodeProps) : switcherIcon;\n if (isValidElement(switcher)) {\n return cloneElement(switcher, {\n className: classNames(switcher.props.className || '', switcherCls)\n });\n }\n if (switcher) {\n return switcher;\n }\n if (showLine) {\n return expanded ? /*#__PURE__*/React.createElement(MinusSquareOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n }) : /*#__PURE__*/React.createElement(PlusSquareOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n });\n }\n return /*#__PURE__*/React.createElement(CaretDownFilled, {\n className: switcherCls\n });\n}","// This icon file is generated automatically.\nvar FolderOpenOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z\" } }] }, \"name\": \"folder-open\", \"theme\": \"outlined\" };\nexport default FolderOpenOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport FolderOpenOutlinedSvg from \"@ant-design/icons-svg/es/asn/FolderOpenOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar FolderOpenOutlined = function FolderOpenOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: FolderOpenOutlinedSvg\n }));\n};\nFolderOpenOutlined.displayName = 'FolderOpenOutlined';\nexport default /*#__PURE__*/React.forwardRef(FolderOpenOutlined);","// This icon file is generated automatically.\nvar FolderOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z\" } }] }, \"name\": \"folder\", \"theme\": \"outlined\" };\nexport default FolderOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport FolderOutlinedSvg from \"@ant-design/icons-svg/es/asn/FolderOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar FolderOutlined = function FolderOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: FolderOutlinedSvg\n }));\n};\nFolderOutlined.displayName = 'FolderOutlined';\nexport default /*#__PURE__*/React.forwardRef(FolderOutlined);","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar Record;\n(function (Record) {\n Record[Record[\"None\"] = 0] = \"None\";\n Record[Record[\"Start\"] = 1] = \"Start\";\n Record[Record[\"End\"] = 2] = \"End\";\n})(Record || (Record = {}));\nfunction traverseNodesKey(treeData, callback) {\n function processNode(dataNode) {\n const {\n key,\n children\n } = dataNode;\n if (callback(key, dataNode) !== false) {\n traverseNodesKey(children || [], callback);\n }\n }\n treeData.forEach(processNode);\n}\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(_ref) {\n let {\n treeData,\n expandedKeys,\n startKey,\n endKey\n } = _ref;\n const keys = [];\n let record = Record.None;\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n if (!startKey || !endKey) {\n return [];\n }\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n traverseNodesKey(treeData, key => {\n if (record === Record.End) {\n return false;\n }\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n if (record === Record.None) {\n record = Record.Start;\n } else if (record === Record.Start) {\n record = Record.End;\n return false;\n }\n } else if (record === Record.Start) {\n // Append selection\n keys.push(key);\n }\n return expandedKeys.includes(key);\n });\n return keys;\n}\nexport function convertDirectoryKeysToNodes(treeData, keys) {\n const restKeys = _toConsumableArray(keys);\n const nodes = [];\n traverseNodesKey(treeData, (key, node) => {\n const index = restKeys.indexOf(key);\n if (index !== -1) {\n nodes.push(node);\n restKeys.splice(index, 1);\n }\n return !!restKeys.length;\n });\n return nodes;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport FolderOpenOutlined from \"@ant-design/icons/es/icons/FolderOpenOutlined\";\nimport FolderOutlined from \"@ant-design/icons/es/icons/FolderOutlined\";\nimport classNames from 'classnames';\nimport { conductExpandParent } from \"rc-tree/es/util\";\nimport { convertDataToEntities, convertTreeToData } from \"rc-tree/es/utils/treeUtil\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Tree from './Tree';\nimport { calcRangeKeys, convertDirectoryKeysToNodes } from './utils/dictUtil';\nfunction getIcon(props) {\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return /*#__PURE__*/React.createElement(FileOutlined, null);\n }\n return expanded ? /*#__PURE__*/React.createElement(FolderOpenOutlined, null) : /*#__PURE__*/React.createElement(FolderOutlined, null);\n}\nfunction getTreeData(_ref) {\n let {\n treeData,\n children\n } = _ref;\n return treeData || convertTreeToData(children);\n}\nconst DirectoryTree = (_a, ref) => {\n var {\n defaultExpandAll,\n defaultExpandParent,\n defaultExpandedKeys\n } = _a,\n props = __rest(_a, [\"defaultExpandAll\", \"defaultExpandParent\", \"defaultExpandedKeys\"]);\n // Shift click usage\n const lastSelectedKey = React.useRef();\n const cachedSelectedKeys = React.useRef();\n const getInitExpandedKeys = () => {\n const {\n keyEntities\n } = convertDataToEntities(getTreeData(props));\n let initExpandedKeys;\n // Expanded keys\n if (defaultExpandAll) {\n initExpandedKeys = Object.keys(keyEntities);\n } else if (defaultExpandParent) {\n initExpandedKeys = conductExpandParent(props.expandedKeys || defaultExpandedKeys || [], keyEntities);\n } else {\n initExpandedKeys = props.expandedKeys || defaultExpandedKeys;\n }\n return initExpandedKeys;\n };\n const [selectedKeys, setSelectedKeys] = React.useState(props.selectedKeys || props.defaultSelectedKeys || []);\n const [expandedKeys, setExpandedKeys] = React.useState(() => getInitExpandedKeys());\n React.useEffect(() => {\n if ('selectedKeys' in props) {\n setSelectedKeys(props.selectedKeys);\n }\n }, [props.selectedKeys]);\n React.useEffect(() => {\n if ('expandedKeys' in props) {\n setExpandedKeys(props.expandedKeys);\n }\n }, [props.expandedKeys]);\n const onExpand = (keys, info) => {\n var _a;\n if (!('expandedKeys' in props)) {\n setExpandedKeys(keys);\n }\n // Call origin function\n return (_a = props.onExpand) === null || _a === void 0 ? void 0 : _a.call(props, keys, info);\n };\n const onSelect = (keys, event) => {\n var _a;\n const {\n multiple\n } = props;\n const {\n node,\n nativeEvent\n } = event;\n const {\n key = ''\n } = node;\n const treeData = getTreeData(props);\n // const newState: DirectoryTreeState = {};\n // We need wrap this event since some value is not same\n const newEvent = Object.assign(Object.assign({}, event), {\n selected: true\n });\n // Windows / Mac single pick\n const ctrlPick = (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.ctrlKey) || (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.metaKey);\n const shiftPick = nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.shiftKey;\n // Generate new selected keys\n let newSelectedKeys;\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(new Set([].concat(_toConsumableArray(cachedSelectedKeys.current || []), _toConsumableArray(calcRangeKeys({\n treeData,\n expandedKeys,\n startKey: key,\n endKey: lastSelectedKey.current\n })))));\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n } else {\n // Single click\n newSelectedKeys = [key];\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n }\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, newSelectedKeys, newEvent);\n if (!('selectedKeys' in props)) {\n setSelectedKeys(newSelectedKeys);\n }\n };\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n showIcon = true,\n expandAction = 'click'\n } = props,\n otherProps = __rest(props, [\"prefixCls\", \"className\", \"showIcon\", \"expandAction\"]);\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const connectClassName = classNames(`${prefixCls}-directory`, {\n [`${prefixCls}-directory-rtl`]: direction === 'rtl'\n }, className);\n return /*#__PURE__*/React.createElement(Tree, Object.assign({\n icon: getIcon,\n ref: ref,\n blockNode: true\n }, otherProps, {\n showIcon: showIcon,\n expandAction: expandAction,\n prefixCls: prefixCls,\n className: connectClassName,\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n onSelect: onSelect,\n onExpand: onExpand\n }));\n};\nconst ForwardDirectoryTree = /*#__PURE__*/React.forwardRef(DirectoryTree);\nif (process.env.NODE_ENV !== 'production') {\n ForwardDirectoryTree.displayName = 'DirectoryTree';\n}\nexport default ForwardDirectoryTree;","import { TreeNode } from 'rc-tree';\nimport TreePure from './Tree';\nimport DirectoryTree from './DirectoryTree';\nconst Tree = TreePure;\nTree.DirectoryTree = DirectoryTree;\nTree.TreeNode = TreeNode;\nexport default Tree;","export function hasAddon(props) {\n return !!(props.addonBefore || props.addonAfter);\n}\nexport function hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}\nexport function resolveOnChange(target, e, onChange, targetValue) {\n if (!onChange) {\n return;\n }\n\n var event = e;\n\n if (e.type === 'click') {\n // Clone a new target for event.\n // Avoid the following usage, the setQuery method gets the original value.\n //\n // const [query, setQuery] = React.useState('');\n // <Input\n // allowClear\n // value={query}\n // onChange={(e)=> {\n // setQuery((prevStatus) => e.target.value);\n // }}\n // />\n var currentTarget = target.cloneNode(true); // click clear icon\n\n event = Object.create(e, {\n target: {\n value: currentTarget\n },\n currentTarget: {\n value: currentTarget\n }\n });\n currentTarget.value = '';\n onChange(event);\n return;\n } // Trigger by composition event, this means we need force change the input value\n\n\n if (targetValue !== undefined) {\n event = Object.create(e, {\n target: {\n value: target\n },\n currentTarget: {\n value: target\n }\n });\n target.value = targetValue;\n onChange(event);\n return;\n }\n\n onChange(event);\n}\nexport function triggerFocus(element, option) {\n if (!element) return;\n element.focus(option); // Selection content\n\n var _ref = option || {},\n cursor = _ref.cursor;\n\n if (cursor) {\n var len = element.value.length;\n\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n\n case 'end':\n element.setSelectionRange(len, len);\n break;\n\n default:\n element.setSelectionRange(0, len);\n }\n }\n}\nexport function fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n\n return String(value);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport React, { cloneElement, useRef } from 'react';\nimport classNames from 'classnames';\nimport { hasAddon, hasPrefixSuffix } from \"./utils/commonUtils\";\n\nvar BaseInput = function BaseInput(props) {\n var _inputElement$props;\n\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n prefix = props.prefix,\n suffix = props.suffix,\n addonBefore = props.addonBefore,\n addonAfter = props.addonAfter,\n className = props.className,\n style = props.style,\n affixWrapperClassName = props.affixWrapperClassName,\n groupClassName = props.groupClassName,\n wrapperClassName = props.wrapperClassName,\n disabled = props.disabled,\n readOnly = props.readOnly,\n focused = props.focused,\n triggerFocus = props.triggerFocus,\n allowClear = props.allowClear,\n value = props.value,\n handleReset = props.handleReset,\n hidden = props.hidden,\n inputStyle = props.inputStyle,\n classes = props.classes;\n var containerRef = useRef(null);\n\n var onInputClick = function onInputClick(e) {\n var _containerRef$current;\n\n if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(e.target)) {\n triggerFocus === null || triggerFocus === void 0 ? void 0 : triggerFocus();\n }\n }; // ================== Clear Icon ================== //\n\n\n var getClearIcon = function getClearIcon() {\n var _classNames;\n\n if (!allowClear) {\n return null;\n }\n\n var needClear = !disabled && !readOnly && value;\n var clearIconCls = \"\".concat(prefixCls, \"-clear-icon\");\n var iconNode = _typeof(allowClear) === 'object' && allowClear !== null && allowClear !== void 0 && allowClear.clearIcon ? allowClear.clearIcon : '✖';\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: handleReset // Do not trigger onBlur when clear input\n // https://github.com/ant-design/ant-design/issues/31200\n ,\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n },\n className: classNames(clearIconCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(clearIconCls, \"-hidden\"), !needClear), _defineProperty(_classNames, \"\".concat(clearIconCls, \"-has-suffix\"), !!suffix), _classNames)),\n role: \"button\",\n tabIndex: -1\n }, iconNode);\n };\n\n var element = /*#__PURE__*/cloneElement(inputElement, {\n value: value,\n hidden: hidden,\n style: _objectSpread(_objectSpread({}, (_inputElement$props = inputElement.props) === null || _inputElement$props === void 0 ? void 0 : _inputElement$props.style), inputStyle)\n }); // ================== Prefix & Suffix ================== //\n\n if (hasPrefixSuffix(props)) {\n var _classNames2;\n\n var affixWrapperPrefixCls = \"\".concat(prefixCls, \"-affix-wrapper\");\n var affixWrapperCls = classNames(affixWrapperPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(affixWrapperPrefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(affixWrapperPrefixCls, \"-focused\"), focused), _defineProperty(_classNames2, \"\".concat(affixWrapperPrefixCls, \"-readonly\"), readOnly), _defineProperty(_classNames2, \"\".concat(affixWrapperPrefixCls, \"-input-with-clear-btn\"), suffix && allowClear && value), _classNames2), !hasAddon(props) && className, affixWrapperClassName, classes === null || classes === void 0 ? void 0 : classes.affixWrapper);\n var suffixNode = (suffix || allowClear) && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\")\n }, getClearIcon(), suffix);\n element = /*#__PURE__*/React.createElement(\"span\", {\n className: affixWrapperCls,\n style: style,\n hidden: !hasAddon(props) && hidden,\n onClick: onInputClick,\n ref: containerRef\n }, prefix && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-prefix\")\n }, prefix), /*#__PURE__*/cloneElement(inputElement, {\n style: inputStyle !== null && inputStyle !== void 0 ? inputStyle : null,\n value: value,\n hidden: null\n }), suffixNode);\n } // ================== Addon ================== //\n\n\n if (hasAddon(props)) {\n var wrapperCls = \"\".concat(prefixCls, \"-group\");\n var addonCls = \"\".concat(wrapperCls, \"-addon\");\n var mergedWrapperClassName = classNames(\"\".concat(prefixCls, \"-wrapper\"), wrapperCls, wrapperClassName, classes === null || classes === void 0 ? void 0 : classes.wrapper);\n var mergedGroupClassName = classNames(\"\".concat(prefixCls, \"-group-wrapper\"), className, groupClassName, classes === null || classes === void 0 ? void 0 : classes.group); // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: mergedGroupClassName,\n style: style,\n hidden: hidden\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: mergedWrapperClassName\n }, addonBefore && /*#__PURE__*/React.createElement(\"span\", {\n className: addonCls\n }, addonBefore), /*#__PURE__*/cloneElement(element, {\n style: inputStyle !== null && inputStyle !== void 0 ? inputStyle : null,\n hidden: null\n }), addonAfter && /*#__PURE__*/React.createElement(\"span\", {\n className: addonCls\n }, addonAfter)));\n }\n\n return element;\n};\n\nexport default BaseInput;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"autoComplete\", \"onChange\", \"onFocus\", \"onBlur\", \"onPressEnter\", \"onKeyDown\", \"prefixCls\", \"disabled\", \"htmlSize\", \"className\", \"maxLength\", \"suffix\", \"showCount\", \"type\", \"inputClassName\", \"classes\"];\nimport React, { useRef, useState, forwardRef, useImperativeHandle, useEffect } from 'react';\nimport BaseInput from \"./BaseInput\";\nimport omit from \"rc-util/es/omit\";\nimport { fixControlledValue, hasAddon, hasPrefixSuffix, resolveOnChange, triggerFocus } from \"./utils/commonUtils\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nvar Input = /*#__PURE__*/forwardRef(function (props, ref) {\n var autoComplete = props.autoComplete,\n onChange = props.onChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onPressEnter = props.onPressEnter,\n onKeyDown = props.onKeyDown,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-input' : _props$prefixCls,\n disabled = props.disabled,\n htmlSize = props.htmlSize,\n className = props.className,\n maxLength = props.maxLength,\n suffix = props.suffix,\n showCount = props.showCount,\n _props$type = props.type,\n type = _props$type === void 0 ? 'text' : _props$type,\n inputClassName = props.inputClassName,\n classes = props.classes,\n rest = _objectWithoutProperties(props, _excluded);\n\n var _useMergedState = useMergedState(props.defaultValue, {\n value: props.value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n focused = _useState2[0],\n setFocused = _useState2[1];\n\n var inputRef = useRef(null);\n\n var focus = function focus(option) {\n if (inputRef.current) {\n triggerFocus(inputRef.current, option);\n }\n };\n\n useImperativeHandle(ref, function () {\n return {\n focus: focus,\n blur: function blur() {\n var _inputRef$current;\n\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();\n },\n setSelectionRange: function setSelectionRange(start, end, direction) {\n var _inputRef$current2;\n\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.setSelectionRange(start, end, direction);\n },\n select: function select() {\n var _inputRef$current3;\n\n (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.select();\n },\n input: inputRef.current\n };\n });\n useEffect(function () {\n setFocused(function (prev) {\n return prev && disabled ? false : prev;\n });\n }, [disabled]);\n\n var handleChange = function handleChange(e) {\n if (props.value === undefined) {\n setValue(e.target.value);\n }\n\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange);\n }\n };\n\n var handleKeyDown = function handleKeyDown(e) {\n if (onPressEnter && e.key === 'Enter') {\n onPressEnter(e);\n }\n\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n };\n\n var handleFocus = function handleFocus(e) {\n setFocused(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n\n var handleBlur = function handleBlur(e) {\n setFocused(false);\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n\n var handleReset = function handleReset(e) {\n setValue('');\n focus();\n\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange);\n }\n };\n\n var getInputElement = function getInputElement() {\n // Fix https://fb.me/react-unknown-prop\n var otherProps = omit(props, ['prefixCls', 'onPressEnter', 'addonBefore', 'addonAfter', 'prefix', 'suffix', 'allowClear', // Input elements must be either controlled or uncontrolled,\n // specify either the value prop, or the defaultValue prop, but not both.\n 'defaultValue', 'showCount', 'affixWrapperClassName', 'groupClassName', 'inputClassName', 'classes', 'wrapperClassName', 'htmlSize']);\n return /*#__PURE__*/React.createElement(\"input\", _extends({\n autoComplete: autoComplete\n }, otherProps, {\n onChange: handleChange,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n className: classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), inputClassName, classes === null || classes === void 0 ? void 0 : classes.input, !hasAddon(props) && !hasPrefixSuffix(props) && className),\n ref: inputRef,\n size: htmlSize,\n type: type\n }));\n };\n\n var getSuffix = function getSuffix() {\n // Max length value\n var hasMaxLength = Number(maxLength) > 0;\n\n if (suffix || showCount) {\n var val = fixControlledValue(value);\n\n var valueLength = _toConsumableArray(val).length;\n\n var dataCount = _typeof(showCount) === 'object' ? showCount.formatter({\n value: val,\n count: valueLength,\n maxLength: maxLength\n }) : \"\".concat(valueLength).concat(hasMaxLength ? \" / \".concat(maxLength) : '');\n return /*#__PURE__*/React.createElement(React.Fragment, null, !!showCount && /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-show-count-suffix\"), _defineProperty({}, \"\".concat(prefixCls, \"-show-count-has-suffix\"), !!suffix))\n }, dataCount), suffix);\n }\n\n return null;\n };\n\n return /*#__PURE__*/React.createElement(BaseInput, _extends({}, rest, {\n prefixCls: prefixCls,\n className: className,\n inputElement: getInputElement(),\n handleReset: handleReset,\n value: fixControlledValue(value),\n focused: focused,\n triggerFocus: focus,\n suffix: getSuffix(),\n disabled: disabled,\n classes: classes\n }));\n});\nexport default Input;","import BaseInput from \"./BaseInput\";\nimport Input from \"./Input\";\nexport { BaseInput };\nexport default Input;","import { useEffect, useRef } from 'react';\nexport default function useRemovePasswordTimeout(inputRef, triggerOnMount) {\n const removePasswordTimeoutRef = useRef([]);\n const removePasswordTimeout = () => {\n removePasswordTimeoutRef.current.push(setTimeout(() => {\n var _a, _b, _c, _d;\n if (((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) && ((_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.input.getAttribute('type')) === 'password' && ((_c = inputRef.current) === null || _c === void 0 ? void 0 : _c.input.hasAttribute('value'))) {\n (_d = inputRef.current) === null || _d === void 0 ? void 0 : _d.input.removeAttribute('value');\n }\n }));\n };\n useEffect(() => {\n if (triggerOnMount) {\n removePasswordTimeout();\n }\n return () => removePasswordTimeoutRef.current.forEach(timer => {\n if (timer) {\n clearTimeout(timer);\n }\n });\n }, []);\n return removePasswordTimeout;\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport classNames from 'classnames';\nimport RcInput from 'rc-input';\nimport { composeRef } from \"rc-util/es/ref\";\nimport React, { forwardRef, useContext, useEffect, useRef } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport SizeContext from '../config-provider/SizeContext';\nimport { FormItemInputContext, NoFormStyle } from '../form/context';\nimport { NoCompactStyle, useCompactItemContext } from '../space/Compact';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport warning from '../_util/warning';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport { hasPrefixSuffix } from './utils';\n// CSSINJS\nimport useStyle from './style';\nexport function triggerFocus(element, option) {\n if (!element) {\n return;\n }\n element.focus(option);\n // Selection content\n const {\n cursor\n } = option || {};\n if (cursor) {\n const len = element.value.length;\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n case 'end':\n element.setSelectionRange(len, len);\n break;\n default:\n element.setSelectionRange(0, len);\n break;\n }\n }\n}\nconst Input = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n bordered = true,\n status: customStatus,\n size: customSize,\n disabled: customDisabled,\n onBlur,\n onFocus,\n suffix,\n allowClear,\n addonAfter,\n addonBefore,\n className,\n rootClassName,\n onChange\n } = props,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"status\", \"size\", \"disabled\", \"onBlur\", \"onFocus\", \"suffix\", \"allowClear\", \"addonAfter\", \"addonBefore\", \"className\", \"rootClassName\", \"onChange\"]);\n const {\n getPrefixCls,\n direction,\n input\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n const inputRef = useRef(null);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n // ===================== Compact Item =====================\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n // ===================== Size =====================\n const size = React.useContext(SizeContext);\n const mergedSize = compactSize || customSize || size;\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n // ===================== Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n feedbackIcon\n } = useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Focus warning =====================\n const inputHasPrefixSuffix = hasPrefixSuffix(props) || !!hasFeedback;\n const prevHasPrefixSuffix = useRef(inputHasPrefixSuffix);\n useEffect(() => {\n var _a;\n if (inputHasPrefixSuffix && !prevHasPrefixSuffix.current) {\n process.env.NODE_ENV !== \"production\" ? warning(document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input), 'Input', `When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ`) : void 0;\n }\n prevHasPrefixSuffix.current = inputHasPrefixSuffix;\n }, [inputHasPrefixSuffix]);\n // ===================== Remove Password value =====================\n const removePasswordTimeout = useRemovePasswordTimeout(inputRef, true);\n const handleBlur = e => {\n removePasswordTimeout();\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n const handleFocus = e => {\n removePasswordTimeout();\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n const handleChange = e => {\n removePasswordTimeout();\n onChange === null || onChange === void 0 ? void 0 : onChange(e);\n };\n const suffixNode = (hasFeedback || suffix) && /*#__PURE__*/React.createElement(React.Fragment, null, suffix, hasFeedback && feedbackIcon);\n // Allow clear\n let mergedAllowClear;\n if (typeof allowClear === 'object' && (allowClear === null || allowClear === void 0 ? void 0 : allowClear.clearIcon)) {\n mergedAllowClear = allowClear;\n } else if (allowClear) {\n mergedAllowClear = {\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null)\n };\n }\n return wrapSSR( /*#__PURE__*/React.createElement(RcInput, Object.assign({\n ref: composeRef(ref, inputRef),\n prefixCls: prefixCls,\n autoComplete: input === null || input === void 0 ? void 0 : input.autoComplete\n }, rest, {\n disabled: mergedDisabled,\n onBlur: handleBlur,\n onFocus: handleFocus,\n suffix: suffixNode,\n allowClear: mergedAllowClear,\n className: classNames(className, rootClassName, compactItemClassnames),\n onChange: handleChange,\n addonAfter: addonAfter && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n override: true,\n status: true\n }, addonAfter)),\n addonBefore: addonBefore && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n override: true,\n status: true\n }, addonBefore)),\n classes: {\n input: classNames({\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered\n }, !inputHasPrefixSuffix && getStatusClassNames(prefixCls, mergedStatus), hashId),\n affixWrapper: classNames({\n [`${prefixCls}-affix-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-affix-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-affix-wrapper-borderless`]: !bordered\n }, getStatusClassNames(`${prefixCls}-affix-wrapper`, mergedStatus, hasFeedback), hashId),\n wrapper: classNames({\n [`${prefixCls}-group-rtl`]: direction === 'rtl'\n }, hashId),\n group: classNames({\n [`${prefixCls}-group-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-group-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-group-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-group-wrapper-disabled`]: mergedDisabled\n }, getStatusClassNames(`${prefixCls}-group-wrapper`, mergedStatus, hasFeedback), hashId)\n }\n })));\n});\nexport default Input;","// eslint-disable-next-line import/prefer-default-export\nexport function hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}","// This icon file is generated automatically.\nvar EyeInvisibleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z\" } }] }, \"name\": \"eye-invisible\", \"theme\": \"outlined\" };\nexport default EyeInvisibleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EyeInvisibleOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeInvisibleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EyeInvisibleOutlined = function EyeInvisibleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EyeInvisibleOutlinedSvg\n }));\n};\nEyeInvisibleOutlined.displayName = 'EyeInvisibleOutlined';\nexport default /*#__PURE__*/React.forwardRef(EyeInvisibleOutlined);","// This icon file is generated automatically.\nvar EyeOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z\" } }] }, \"name\": \"eye\", \"theme\": \"outlined\" };\nexport default EyeOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EyeOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EyeOutlined = function EyeOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EyeOutlinedSvg\n }));\n};\nEyeOutlined.displayName = 'EyeOutlined';\nexport default /*#__PURE__*/React.forwardRef(EyeOutlined);","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport EyeInvisibleOutlined from \"@ant-design/icons/es/icons/EyeInvisibleOutlined\";\nimport EyeOutlined from \"@ant-design/icons/es/icons/EyeOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport Input from './Input';\nconst defaultIconRender = visible => visible ? /*#__PURE__*/React.createElement(EyeOutlined, null) : /*#__PURE__*/React.createElement(EyeInvisibleOutlined, null);\nconst ActionMap = {\n click: 'onClick',\n hover: 'onMouseOver'\n};\nconst Password = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n visibilityToggle = true\n } = props;\n const visibilityControlled = typeof visibilityToggle === 'object' && visibilityToggle.visible !== undefined;\n const [visible, setVisible] = useState(() => visibilityControlled ? visibilityToggle.visible : false);\n const inputRef = useRef(null);\n React.useEffect(() => {\n if (visibilityControlled) {\n setVisible(visibilityToggle.visible);\n }\n }, [visibilityControlled, visibilityToggle]);\n // Remove Password value\n const removePasswordTimeout = useRemovePasswordTimeout(inputRef);\n const onVisibleChange = () => {\n const {\n disabled\n } = props;\n if (disabled) {\n return;\n }\n if (visible) {\n removePasswordTimeout();\n }\n setVisible(prevState => {\n var _a;\n const newState = !prevState;\n if (typeof visibilityToggle === 'object') {\n (_a = visibilityToggle.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(visibilityToggle, newState);\n }\n return newState;\n });\n };\n const getIcon = prefixCls => {\n const {\n action = 'click',\n iconRender = defaultIconRender\n } = props;\n const iconTrigger = ActionMap[action] || '';\n const icon = iconRender(visible);\n const iconProps = {\n [iconTrigger]: onVisibleChange,\n className: `${prefixCls}-icon`,\n key: 'passwordIcon',\n onMouseDown: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n },\n onMouseUp: e => {\n // Prevent caret position change\n // https://github.com/ant-design/ant-design/issues/23524\n e.preventDefault();\n }\n };\n return /*#__PURE__*/React.cloneElement( /*#__PURE__*/React.isValidElement(icon) ? icon : /*#__PURE__*/React.createElement(\"span\", null, icon), iconProps);\n };\n const {\n className,\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n size\n } = props,\n restProps = __rest(props, [\"className\", \"prefixCls\", \"inputPrefixCls\", \"size\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n const prefixCls = getPrefixCls('input-password', customizePrefixCls);\n const suffixIcon = visibilityToggle && getIcon(prefixCls);\n const inputClassName = classNames(prefixCls, className, {\n [`${prefixCls}-${size}`]: !!size\n });\n const omittedProps = Object.assign(Object.assign({}, omit(restProps, ['suffix', 'iconRender', 'visibilityToggle'])), {\n type: visible ? 'text' : 'password',\n className: inputClassName,\n prefixCls: inputPrefixCls,\n suffix: suffixIcon\n });\n if (size) {\n omittedProps.size = size;\n }\n return /*#__PURE__*/React.createElement(Input, Object.assign({\n ref: composeRef(ref, inputRef)\n }, omittedProps));\n});\nif (process.env.NODE_ENV !== 'production') {\n Password.displayName = 'Password';\n}\nexport default Password;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nimport { useCompactItemContext } from '../space/Compact';\nimport { cloneElement } from '../_util/reactNode';\nimport Input from './Input';\nconst Search = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n className,\n size: customizeSize,\n suffix,\n enterButton = false,\n addonAfter,\n loading,\n disabled,\n onSearch: customOnSearch,\n onChange: customOnChange,\n onCompositionStart,\n onCompositionEnd\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"inputPrefixCls\", \"className\", \"size\", \"suffix\", \"enterButton\", \"addonAfter\", \"loading\", \"disabled\", \"onSearch\", \"onChange\", \"onCompositionStart\", \"onCompositionEnd\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const contextSize = React.useContext(SizeContext);\n const composedRef = React.useRef(false);\n const prefixCls = getPrefixCls('input-search', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n const {\n compactSize\n } = useCompactItemContext(prefixCls, direction);\n const size = compactSize || customizeSize || contextSize;\n const inputRef = React.useRef(null);\n const onChange = e => {\n if (e && e.target && e.type === 'click' && customOnSearch) {\n customOnSearch(e.target.value, e);\n }\n if (customOnChange) {\n customOnChange(e);\n }\n };\n const onMouseDown = e => {\n var _a;\n if (document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input)) {\n e.preventDefault();\n }\n };\n const onSearch = e => {\n var _a, _b;\n if (customOnSearch) {\n customOnSearch((_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.value, e);\n }\n };\n const onPressEnter = e => {\n if (composedRef.current || loading) {\n return;\n }\n onSearch(e);\n };\n const searchIcon = typeof enterButton === 'boolean' ? /*#__PURE__*/React.createElement(SearchOutlined, null) : null;\n const btnClassName = `${prefixCls}-button`;\n let button;\n const enterButtonAsElement = enterButton || {};\n const isAntdButton = enterButtonAsElement.type && enterButtonAsElement.type.__ANT_BUTTON === true;\n if (isAntdButton || enterButtonAsElement.type === 'button') {\n button = cloneElement(enterButtonAsElement, Object.assign({\n onMouseDown,\n onClick: e => {\n var _a, _b;\n (_b = (_a = enterButtonAsElement === null || enterButtonAsElement === void 0 ? void 0 : enterButtonAsElement.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n onSearch(e);\n },\n key: 'enterButton'\n }, isAntdButton ? {\n className: btnClassName,\n size\n } : {}));\n } else {\n button = /*#__PURE__*/React.createElement(Button, {\n className: btnClassName,\n type: enterButton ? 'primary' : undefined,\n size: size,\n disabled: disabled,\n key: \"enterButton\",\n onMouseDown: onMouseDown,\n onClick: onSearch,\n loading: loading,\n icon: searchIcon\n }, enterButton);\n }\n if (addonAfter) {\n button = [button, cloneElement(addonAfter, {\n key: 'addonAfter'\n })];\n }\n const cls = classNames(prefixCls, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-${size}`]: !!size,\n [`${prefixCls}-with-button`]: !!enterButton\n }, className);\n const handleOnCompositionStart = e => {\n composedRef.current = true;\n onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);\n };\n const handleOnCompositionEnd = e => {\n composedRef.current = false;\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n return /*#__PURE__*/React.createElement(Input, Object.assign({\n ref: composeRef(inputRef, ref),\n onPressEnter: onPressEnter\n }, restProps, {\n size: size,\n onCompositionStart: handleOnCompositionStart,\n onCompositionEnd: handleOnCompositionEnd,\n prefixCls: inputPrefixCls,\n addonAfter: button,\n suffix: suffix,\n onChange: onChange,\n className: cls,\n disabled: disabled\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Search.displayName = 'Search';\n}\nexport default Search;","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\nvar HIDDEN_TEXTAREA_STYLE = \"\\n min-height:0 !important;\\n max-height:none !important;\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important;\\n pointer-events: none !important;\\n\";\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'font-variant', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing', 'word-break', 'white-space'];\nvar computedStyleCache = {};\nvar hiddenTextarea;\nexport function calculateNodeStyling(node) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n var style = window.getComputedStyle(node);\n var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n var sizingStyle = SIZING_STYLE.map(function (name) {\n return \"\".concat(name, \":\").concat(style.getPropertyValue(name));\n }).join(';');\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\nexport default function calculateAutoSizeStyle(uiTextNode) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var minRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var maxRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tab-index', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n document.body.appendChild(hiddenTextarea);\n } // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n\n\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n } // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n\n\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n sizingStyle = _calculateNodeStyling.sizingStyle; // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n\n hiddenTextarea.setAttribute('style', \"\".concat(sizingStyle, \";\").concat(HIDDEN_TEXTAREA_STYLE));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n var minHeight = undefined;\n var maxHeight = undefined;\n var overflowY;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height += borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height -= paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = ' ';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n\n height = Math.max(minHeight, height);\n }\n\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n\n var style = {\n height: height,\n overflowY: overflowY,\n resize: 'none'\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\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 _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"onPressEnter\", \"defaultValue\", \"value\", \"autoSize\", \"onResize\", \"className\", \"style\", \"disabled\", \"onChange\", \"onInternalAutoSize\"];\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport calculateAutoSizeStyle from \"./calculateNodeHeight\";\nvar RESIZE_START = 0;\nvar RESIZE_MEASURING = 1;\nvar RESIZE_STABLE = 2;\nvar ResizableTextArea = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _ref = props,\n prefixCls = _ref.prefixCls,\n onPressEnter = _ref.onPressEnter,\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n autoSize = _ref.autoSize,\n onResize = _ref.onResize,\n className = _ref.className,\n style = _ref.style,\n disabled = _ref.disabled,\n onChange = _ref.onChange,\n onInternalAutoSize = _ref.onInternalAutoSize,\n restProps = _objectWithoutProperties(_ref, _excluded); // =============================== Value ================================\n\n\n var _useMergedState = useMergedState(defaultValue, {\n value: value,\n postState: function postState(val) {\n return val !== null && val !== void 0 ? val : '';\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n\n var onInternalChange = function onInternalChange(event) {\n setMergedValue(event.target.value);\n onChange === null || onChange === void 0 ? void 0 : onChange(event);\n }; // ================================ Ref =================================\n\n\n var textareaRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n textArea: textareaRef.current\n };\n }); // ============================== AutoSize ==============================\n\n var _React$useMemo = React.useMemo(function () {\n if (autoSize && _typeof(autoSize) === 'object') {\n return [autoSize.minRows, autoSize.maxRows];\n }\n\n return [];\n }, [autoSize]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n minRows = _React$useMemo2[0],\n maxRows = _React$useMemo2[1];\n\n var needAutoSize = !!autoSize; // =============================== Scroll ===============================\n // https://github.com/ant-design/ant-design/issues/21870\n\n var fixFirefoxAutoScroll = function fixFirefoxAutoScroll() {\n try {\n // FF has bug with jump of scroll to top. We force back here.\n if (document.activeElement === textareaRef.current) {\n var _textareaRef$current = textareaRef.current,\n selectionStart = _textareaRef$current.selectionStart,\n selectionEnd = _textareaRef$current.selectionEnd,\n scrollTop = _textareaRef$current.scrollTop; // Fix Safari bug which not rollback when break line\n // This makes Chinese IME can't input. Do not fix this\n // const { value: tmpValue } = textareaRef.current;\n // textareaRef.current.value = '';\n // textareaRef.current.value = tmpValue;\n\n textareaRef.current.setSelectionRange(selectionStart, selectionEnd);\n textareaRef.current.scrollTop = scrollTop;\n }\n } catch (e) {// Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n }; // =============================== Resize ===============================\n\n\n var _React$useState = React.useState(RESIZE_STABLE),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n resizeState = _React$useState2[0],\n setResizeState = _React$useState2[1];\n\n var _React$useState3 = React.useState(),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n autoSizeStyle = _React$useState4[0],\n setAutoSizeStyle = _React$useState4[1];\n\n var startResize = function startResize() {\n setResizeState(RESIZE_START);\n\n if (process.env.NODE_ENV === 'test') {\n onInternalAutoSize === null || onInternalAutoSize === void 0 ? void 0 : onInternalAutoSize();\n }\n }; // Change to trigger resize measure\n\n\n useLayoutEffect(function () {\n if (needAutoSize) {\n startResize();\n }\n }, [value, minRows, maxRows, needAutoSize]);\n useLayoutEffect(function () {\n if (resizeState === RESIZE_START) {\n setResizeState(RESIZE_MEASURING);\n } else if (resizeState === RESIZE_MEASURING) {\n var textareaStyles = calculateAutoSizeStyle(textareaRef.current, false, minRows, maxRows); // Safari has bug that text will keep break line on text cut when it's prev is break line.\n // ZombieJ: This not often happen. So we just skip it.\n // const { selectionStart, selectionEnd, scrollTop } = textareaRef.current;\n // const { value: tmpValue } = textareaRef.current;\n // textareaRef.current.value = '';\n // textareaRef.current.value = tmpValue;\n // if (document.activeElement === textareaRef.current) {\n // textareaRef.current.scrollTop = scrollTop;\n // textareaRef.current.setSelectionRange(selectionStart, selectionEnd);\n // }\n\n setResizeState(RESIZE_STABLE);\n setAutoSizeStyle(textareaStyles);\n } else {\n fixFirefoxAutoScroll();\n }\n }, [resizeState]); // We lock resize trigger by raf to avoid Safari warning\n\n var resizeRafRef = React.useRef();\n\n var cleanRaf = function cleanRaf() {\n raf.cancel(resizeRafRef.current);\n };\n\n var onInternalResize = function onInternalResize(size) {\n if (resizeState === RESIZE_STABLE) {\n onResize === null || onResize === void 0 ? void 0 : onResize(size);\n\n if (autoSize) {\n cleanRaf();\n resizeRafRef.current = raf(function () {\n startResize();\n });\n }\n }\n };\n\n React.useEffect(function () {\n return cleanRaf;\n }, []); // =============================== Render ===============================\n\n var mergedAutoSizeStyle = needAutoSize ? autoSizeStyle : null;\n\n var mergedStyle = _objectSpread(_objectSpread({}, style), mergedAutoSizeStyle);\n\n if (resizeState === RESIZE_START || resizeState === RESIZE_MEASURING) {\n mergedStyle.overflowY = 'hidden';\n mergedStyle.overflowX = 'hidden';\n }\n\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onInternalResize,\n disabled: !(autoSize || onResize)\n }, /*#__PURE__*/React.createElement(\"textarea\", _extends({}, restProps, {\n ref: textareaRef,\n style: mergedStyle,\n className: classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)),\n disabled: disabled,\n value: mergedValue,\n onChange: onInternalChange\n })));\n});\nexport default ResizableTextArea;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar _excluded = [\"defaultValue\", \"value\", \"onFocus\", \"onBlur\", \"onChange\", \"allowClear\", \"maxLength\", \"onCompositionStart\", \"onCompositionEnd\", \"suffix\", \"prefixCls\", \"classes\", \"showCount\", \"className\", \"style\", \"disabled\"];\nimport classNames from 'classnames';\nimport { BaseInput } from 'rc-input';\nimport { fixControlledValue, resolveOnChange } from \"rc-input/es/utils/commonUtils\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport ResizableTextArea from \"./ResizableTextArea\";\n\nfunction fixEmojiLength(value, maxLength) {\n return _toConsumableArray(value || '').slice(0, maxLength).join('');\n}\n\nfunction setTriggerValue(isCursorInEnd, preValue, triggerValue, maxLength) {\n var newTriggerValue = triggerValue;\n\n if (isCursorInEnd) {\n // 光标在尾部,直接截断\n newTriggerValue = fixEmojiLength(triggerValue, maxLength);\n } else if (_toConsumableArray(preValue || '').length < triggerValue.length && _toConsumableArray(triggerValue || '').length > maxLength) {\n // 光标在中间,如果最后的值超过最大值,则采用原先的值\n newTriggerValue = preValue;\n }\n\n return newTriggerValue;\n}\n\nvar TextArea = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var defaultValue = _ref.defaultValue,\n customValue = _ref.value,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onChange = _ref.onChange,\n allowClear = _ref.allowClear,\n maxLength = _ref.maxLength,\n onCompositionStart = _ref.onCompositionStart,\n onCompositionEnd = _ref.onCompositionEnd,\n suffix = _ref.suffix,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-textarea' : _ref$prefixCls,\n classes = _ref.classes,\n showCount = _ref.showCount,\n className = _ref.className,\n style = _ref.style,\n disabled = _ref.disabled,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useMergedState = useMergedState(defaultValue, {\n value: customValue,\n defaultValue: defaultValue\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n\n var resizableTextAreaRef = useRef(null);\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focused = _React$useState2[0],\n setFocused = _React$useState2[1];\n\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n compositing = _React$useState4[0],\n setCompositing = _React$useState4[1];\n\n var oldCompositionValueRef = React.useRef();\n var oldSelectionStartRef = React.useRef(0);\n\n var focus = function focus() {\n resizableTextAreaRef.current.textArea.focus();\n };\n\n useImperativeHandle(ref, function () {\n return {\n resizableTextArea: resizableTextAreaRef.current,\n focus: focus,\n blur: function blur() {\n resizableTextAreaRef.current.textArea.blur();\n }\n };\n });\n useEffect(function () {\n setFocused(function (prev) {\n return !disabled && prev;\n });\n }, [disabled]); // =========================== Value Update ===========================\n // Max length value\n\n var hasMaxLength = Number(maxLength) > 0;\n\n var onInternalCompositionStart = function onInternalCompositionStart(e) {\n setCompositing(true); // 拼音输入前保存一份旧值\n\n oldCompositionValueRef.current = value; // 保存旧的光标位置\n\n oldSelectionStartRef.current = e.currentTarget.selectionStart;\n onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);\n };\n\n var onInternalCompositionEnd = function onInternalCompositionEnd(e) {\n setCompositing(false);\n var triggerValue = e.currentTarget.value;\n\n if (hasMaxLength) {\n var _oldCompositionValueR;\n\n var isCursorInEnd = oldSelectionStartRef.current >= maxLength + 1 || oldSelectionStartRef.current === ((_oldCompositionValueR = oldCompositionValueRef.current) === null || _oldCompositionValueR === void 0 ? void 0 : _oldCompositionValueR.length);\n triggerValue = setTriggerValue(isCursorInEnd, oldCompositionValueRef.current, triggerValue, maxLength);\n } // Patch composition onChange when value changed\n\n\n if (triggerValue !== value) {\n setValue(triggerValue);\n resolveOnChange(e.currentTarget, e, onChange, triggerValue);\n }\n\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n\n var handleChange = function handleChange(e) {\n var triggerValue = e.target.value;\n\n if (!compositing && hasMaxLength) {\n // 1. 复制粘贴超过maxlength的情况 2.未超过maxlength的情况\n var isCursorInEnd = e.target.selectionStart >= maxLength + 1 || e.target.selectionStart === triggerValue.length || !e.target.selectionStart;\n triggerValue = setTriggerValue(isCursorInEnd, value, triggerValue, maxLength);\n }\n\n setValue(triggerValue);\n resolveOnChange(e.currentTarget, e, onChange, triggerValue);\n };\n\n var handleKeyDown = function handleKeyDown(e) {\n var onPressEnter = rest.onPressEnter,\n onKeyDown = rest.onKeyDown;\n\n if (e.key === 'Enter' && onPressEnter) {\n onPressEnter(e);\n }\n\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n };\n\n var handleFocus = function handleFocus(e) {\n setFocused(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n\n var handleBlur = function handleBlur(e) {\n setFocused(false);\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n }; // ============================== Reset ===============================\n\n\n var handleReset = function handleReset(e) {\n setValue('');\n focus();\n resolveOnChange(resizableTextAreaRef.current.textArea, e, onChange);\n };\n\n var val = fixControlledValue(value);\n\n if (!compositing && hasMaxLength && (customValue === null || customValue === undefined)) {\n // fix #27612 将value转为数组进行截取,解决 '😂'.length === 2 等emoji表情导致的截取乱码的问题\n val = fixEmojiLength(val, maxLength);\n }\n\n var textarea = /*#__PURE__*/React.createElement(BaseInput, {\n value: val,\n allowClear: allowClear,\n handleReset: handleReset,\n suffix: suffix,\n prefixCls: prefixCls,\n classes: {\n affixWrapper: classes === null || classes === void 0 ? void 0 : classes.affixWrapper\n },\n disabled: disabled,\n focused: focused,\n style: style,\n inputStyle: {\n resize: style === null || style === void 0 ? void 0 : style.resize\n },\n inputElement: /*#__PURE__*/React.createElement(ResizableTextArea, _extends({}, rest, {\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onCompositionStart: onInternalCompositionStart,\n onCompositionEnd: onInternalCompositionEnd,\n className: classNames(showCount ? '' : className, classes === null || classes === void 0 ? void 0 : classes.textarea),\n style: !showCount && style,\n disabled: disabled,\n prefixCls: prefixCls,\n ref: resizableTextAreaRef\n }))\n });\n\n if (showCount) {\n var valueLength = _toConsumableArray(val).length;\n\n var dataCount;\n\n if (_typeof(showCount) === 'object') {\n dataCount = showCount.formatter({\n value: val,\n count: valueLength,\n maxLength: maxLength\n });\n } else {\n dataCount = \"\".concat(valueLength).concat(hasMaxLength ? \" / \".concat(maxLength) : '');\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n hidden: rest.hidden,\n className: classNames(\"\".concat(prefixCls, \"-show-count\"), className, classes === null || classes === void 0 ? void 0 : classes.countWrapper),\n style: style,\n \"data-count\": dataCount\n }, textarea, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-data-count\")\n }, dataCount));\n }\n\n return textarea;\n});\nexport default TextArea;","import TextArea from \"./TextArea\";\nexport { default as ResizableTextArea } from \"./ResizableTextArea\";\nexport default TextArea;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { forwardRef } from 'react';\nimport * as React from 'react';\nimport RcTextArea from 'rc-textarea';\nimport classNames from 'classnames';\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport { FormItemInputContext } from '../form/context';\nimport useStyle from './style';\nimport SizeContext from '../config-provider/SizeContext';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport { triggerFocus } from './Input';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport { ConfigContext } from '../config-provider';\nconst TextArea = /*#__PURE__*/forwardRef((_a, ref) => {\n var {\n prefixCls: customizePrefixCls,\n bordered = true,\n size: customizeSize,\n disabled: customDisabled,\n status: customStatus,\n allowClear\n } = _a,\n rest = __rest(_a, [\"prefixCls\", \"bordered\", \"size\", \"disabled\", \"status\", \"allowClear\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n // ===================== Size =====================\n const size = React.useContext(SizeContext);\n const mergedSize = customizeSize || size;\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n // ===================== Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n feedbackIcon\n } = React.useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Ref =====================\n const innerRef = React.useRef(null);\n React.useImperativeHandle(ref, () => {\n var _a;\n return {\n resizableTextArea: (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea,\n focus: option => {\n var _a, _b;\n triggerFocus((_b = (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea) === null || _b === void 0 ? void 0 : _b.textArea, option);\n },\n blur: () => {\n var _a;\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n }\n };\n });\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n // Allow clear\n let mergedAllowClear;\n if (typeof allowClear === 'object' && (allowClear === null || allowClear === void 0 ? void 0 : allowClear.clearIcon)) {\n mergedAllowClear = allowClear;\n } else if (allowClear) {\n mergedAllowClear = {\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null)\n };\n }\n // ===================== Style =====================\n const [wrapSSR, hashId] = useStyle(prefixCls);\n return wrapSSR( /*#__PURE__*/React.createElement(RcTextArea, Object.assign({}, rest, {\n disabled: mergedDisabled,\n allowClear: mergedAllowClear,\n classes: {\n affixWrapper: classNames(`${prefixCls}-textarea-affix-wrapper`, {\n [`${prefixCls}-affix-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-affix-wrapper-borderless`]: !bordered,\n [`${prefixCls}-affix-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: mergedSize === 'large'\n }, getStatusClassNames(`${prefixCls}-affix-wrapper`, mergedStatus), hashId),\n countWrapper: classNames(`${prefixCls}-textarea`, `${prefixCls}-textarea-show-count`, {\n [`${prefixCls}-textarea-show-count-rtl`]: direction === 'rtl'\n }, hashId),\n textarea: classNames({\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-lg`]: mergedSize === 'large'\n }, getStatusClassNames(prefixCls, mergedStatus), hashId)\n },\n prefixCls: prefixCls,\n suffix: hasFeedback && /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-textarea-suffix`\n }, feedbackIcon),\n ref: innerRef\n })));\n});\nexport default TextArea;","import Group from './Group';\nimport InternalInput from './Input';\nimport Password from './Password';\nimport Search from './Search';\nimport TextArea from './TextArea';\nconst Input = InternalInput;\nif (process.env.NODE_ENV !== 'production') {\n Input.displayName = 'Input';\n}\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\nInput.Password = Password;\nexport default Input;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { FormItemInputContext } from '../form/context';\nimport warning from '../_util/warning';\nimport useStyle from './style';\nconst Group = props => {\n const {\n getPrefixCls,\n direction\n } = useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className = ''\n } = props;\n const prefixCls = getPrefixCls('input-group', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input');\n const [wrapSSR, hashId] = useStyle(inputPrefixCls);\n const cls = classNames(prefixCls, {\n [`${prefixCls}-lg`]: props.size === 'large',\n [`${prefixCls}-sm`]: props.size === 'small',\n [`${prefixCls}-compact`]: props.compact,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, hashId, className);\n const formItemContext = useContext(FormItemInputContext);\n const groupFormItemContext = useMemo(() => Object.assign(Object.assign({}, formItemContext), {\n isFormItemInput: false\n }), [formItemContext]);\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Input.Group', `'Input.Group' is deprecated. Please use 'Space.Compact' instead.`) : void 0;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", {\n className: cls,\n style: props.style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onFocus: props.onFocus,\n onBlur: props.onBlur\n }, /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: groupFormItemContext\n }, props.children)));\n};\nexport default Group;","import SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport * as React from 'react';\nimport Input from '../../../input';\nfunction FilterSearch(_ref) {\n let {\n value,\n onChange,\n filterSearch,\n tablePrefixCls,\n locale\n } = _ref;\n if (!filterSearch) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${tablePrefixCls}-filter-dropdown-search`\n }, /*#__PURE__*/React.createElement(Input, {\n prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),\n placeholder: locale.filterSearchPlaceholder,\n onChange: onChange,\n value: value,\n // for skip min-width of input\n htmlSize: 1,\n className: `${tablePrefixCls}-filter-dropdown-search-input`\n }));\n}\nexport default FilterSearch;","import * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nconst onKeyDown = event => {\n const {\n keyCode\n } = event;\n if (keyCode === KeyCode.ENTER) {\n event.stopPropagation();\n }\n};\nconst FilterDropdownMenuWrapper = props => /*#__PURE__*/React.createElement(\"div\", {\n className: props.className,\n onClick: e => e.stopPropagation(),\n onKeyDown: onKeyDown\n}, props.children);\nexport default FilterDropdownMenuWrapper;","import FilterFilled from \"@ant-design/icons/es/icons/FilterFilled\";\nimport classNames from 'classnames';\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { flattenKeys } from '.';\nimport Button from '../../../button';\nimport Checkbox from '../../../checkbox';\nimport { ConfigContext } from '../../../config-provider/context';\nimport Dropdown from '../../../dropdown';\nimport Empty from '../../../empty';\nimport Menu from '../../../menu';\nimport { OverrideProvider } from '../../../menu/OverrideContext';\nimport Radio from '../../../radio';\nimport Tree from '../../../tree';\nimport useSyncState from '../../../_util/hooks/useSyncState';\nimport FilterSearch from './FilterSearch';\nimport FilterDropdownMenuWrapper from './FilterWrapper';\nimport warning from '../../../_util/warning';\nfunction hasSubMenu(filters) {\n return filters.some(_ref => {\n let {\n children\n } = _ref;\n return children;\n });\n}\nfunction searchValueMatched(searchValue, text) {\n if (typeof text === 'string' || typeof text === 'number') {\n return text === null || text === void 0 ? void 0 : text.toString().toLowerCase().includes(searchValue.trim().toLowerCase());\n }\n return false;\n}\nfunction renderFilterItems(_ref2) {\n let {\n filters,\n prefixCls,\n filteredKeys,\n filterMultiple,\n searchValue,\n filterSearch\n } = _ref2;\n return filters.map((filter, index) => {\n const key = String(filter.value);\n if (filter.children) {\n return {\n key: key || index,\n label: filter.text,\n popupClassName: `${prefixCls}-dropdown-submenu`,\n children: renderFilterItems({\n filters: filter.children,\n prefixCls,\n filteredKeys,\n filterMultiple,\n searchValue,\n filterSearch\n })\n };\n }\n const Component = filterMultiple ? Checkbox : Radio;\n const item = {\n key: filter.value !== undefined ? key : index,\n label: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Component, {\n checked: filteredKeys.includes(key)\n }), /*#__PURE__*/React.createElement(\"span\", null, filter.text))\n };\n if (searchValue.trim()) {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, filter) ? item : null;\n }\n return searchValueMatched(searchValue, filter.text) ? item : null;\n }\n return item;\n });\n}\nfunction FilterDropdown(props) {\n var _a, _b;\n const {\n tablePrefixCls,\n prefixCls,\n column,\n dropdownPrefixCls,\n columnKey,\n filterMultiple,\n filterMode = 'menu',\n filterSearch = false,\n filterState,\n triggerFilter,\n locale,\n children,\n getPopupContainer\n } = props;\n const {\n filterDropdownOpen,\n onFilterDropdownOpenChange,\n filterResetToDefaultFilteredValue,\n defaultFilteredValue,\n // Deprecated\n filterDropdownVisible,\n onFilterDropdownVisibleChange\n } = column;\n const [visible, setVisible] = React.useState(false);\n const filtered = !!(filterState && (((_a = filterState.filteredKeys) === null || _a === void 0 ? void 0 : _a.length) || filterState.forceFiltered));\n const triggerVisible = newVisible => {\n setVisible(newVisible);\n onFilterDropdownOpenChange === null || onFilterDropdownOpenChange === void 0 ? void 0 : onFilterDropdownOpenChange(newVisible);\n onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(newVisible);\n };\n if (process.env.NODE_ENV !== 'production') {\n [['filterDropdownVisible', 'filterDropdownOpen', filterDropdownVisible], ['onFilterDropdownVisibleChange', 'onFilterDropdownOpenChange', onFilterDropdownVisibleChange]].forEach(_ref3 => {\n let [deprecatedName, newName, prop] = _ref3;\n process.env.NODE_ENV !== \"production\" ? warning(prop === undefined || prop === null, 'Table', `\\`${deprecatedName}\\` is deprecated. Please use \\`${newName}\\` instead.`) : void 0;\n });\n }\n const mergedVisible = (_b = filterDropdownOpen !== null && filterDropdownOpen !== void 0 ? filterDropdownOpen : filterDropdownVisible) !== null && _b !== void 0 ? _b : visible;\n // ===================== Select Keys =====================\n const propFilteredKeys = filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys;\n const [getFilteredKeysSync, setFilteredKeysSync] = useSyncState(propFilteredKeys || []);\n const onSelectKeys = _ref4 => {\n let {\n selectedKeys\n } = _ref4;\n setFilteredKeysSync(selectedKeys);\n };\n const onCheck = (keys, _ref5) => {\n let {\n node,\n checked\n } = _ref5;\n if (!filterMultiple) {\n onSelectKeys({\n selectedKeys: checked && node.key ? [node.key] : []\n });\n } else {\n onSelectKeys({\n selectedKeys: keys\n });\n }\n };\n React.useEffect(() => {\n if (!visible) {\n return;\n }\n onSelectKeys({\n selectedKeys: propFilteredKeys || []\n });\n }, [propFilteredKeys]);\n // ====================== Open Keys ======================\n const [openKeys, setOpenKeys] = React.useState([]);\n const onOpenChange = keys => {\n setOpenKeys(keys);\n };\n // search in tree mode column filter\n const [searchValue, setSearchValue] = React.useState('');\n const onSearch = e => {\n const {\n value\n } = e.target;\n setSearchValue(value);\n };\n // clear search value after close filter dropdown\n React.useEffect(() => {\n if (!visible) {\n setSearchValue('');\n }\n }, [visible]);\n // ======================= Submit ========================\n const internalTriggerFilter = keys => {\n const mergedKeys = keys && keys.length ? keys : null;\n if (mergedKeys === null && (!filterState || !filterState.filteredKeys)) {\n return null;\n }\n if (isEqual(mergedKeys, filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys, true)) {\n return null;\n }\n triggerFilter({\n column,\n key: columnKey,\n filteredKeys: mergedKeys\n });\n };\n const onConfirm = () => {\n triggerVisible(false);\n internalTriggerFilter(getFilteredKeysSync());\n };\n const onReset = function () {\n let {\n confirm,\n closeDropdown\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n confirm: false,\n closeDropdown: false\n };\n if (confirm) {\n internalTriggerFilter([]);\n }\n if (closeDropdown) {\n triggerVisible(false);\n }\n setSearchValue('');\n if (filterResetToDefaultFilteredValue) {\n setFilteredKeysSync((defaultFilteredValue || []).map(key => String(key)));\n } else {\n setFilteredKeysSync([]);\n }\n };\n const doFilter = function () {\n let {\n closeDropdown\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n closeDropdown: true\n };\n if (closeDropdown) {\n triggerVisible(false);\n }\n internalTriggerFilter(getFilteredKeysSync());\n };\n const onVisibleChange = newVisible => {\n if (newVisible && propFilteredKeys !== undefined) {\n // Sync filteredKeys on appear in controlled mode (propFilteredKeys !== undefined)\n setFilteredKeysSync(propFilteredKeys || []);\n }\n triggerVisible(newVisible);\n // Default will filter when closed\n if (!newVisible && !column.filterDropdown) {\n onConfirm();\n }\n };\n // ======================== Style ========================\n const dropdownMenuClass = classNames({\n [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(column.filters || [])\n });\n const onCheckAll = e => {\n if (e.target.checked) {\n const allFilterKeys = flattenKeys(column === null || column === void 0 ? void 0 : column.filters).map(key => String(key));\n setFilteredKeysSync(allFilterKeys);\n } else {\n setFilteredKeysSync([]);\n }\n };\n const getTreeData = _ref6 => {\n let {\n filters\n } = _ref6;\n return (filters || []).map((filter, index) => {\n const key = String(filter.value);\n const item = {\n title: filter.text,\n key: filter.value !== undefined ? key : index\n };\n if (filter.children) {\n item.children = getTreeData({\n filters: filter.children\n });\n }\n return item;\n });\n };\n const getFilterData = node => {\n var _a;\n return Object.assign(Object.assign({}, node), {\n text: node.title,\n value: node.key,\n children: ((_a = node.children) === null || _a === void 0 ? void 0 : _a.map(item => getFilterData(item))) || []\n });\n };\n let dropdownContent;\n if (typeof column.filterDropdown === 'function') {\n dropdownContent = column.filterDropdown({\n prefixCls: `${dropdownPrefixCls}-custom`,\n setSelectedKeys: selectedKeys => onSelectKeys({\n selectedKeys\n }),\n selectedKeys: getFilteredKeysSync(),\n confirm: doFilter,\n clearFilters: onReset,\n filters: column.filters,\n visible: mergedVisible,\n close: () => {\n triggerVisible(false);\n }\n });\n } else if (column.filterDropdown) {\n dropdownContent = column.filterDropdown;\n } else {\n const selectedKeys = getFilteredKeysSync() || [];\n const getFilterComponent = () => {\n if ((column.filters || []).length === 0) {\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE,\n description: locale.filterEmptyText,\n imageStyle: {\n height: 24\n },\n style: {\n margin: 0,\n padding: '16px 0'\n }\n });\n }\n if (filterMode === 'tree') {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${tablePrefixCls}-filter-dropdown-tree`\n }, filterMultiple ? /*#__PURE__*/React.createElement(Checkbox, {\n checked: selectedKeys.length === flattenKeys(column.filters).length,\n indeterminate: selectedKeys.length > 0 && selectedKeys.length < flattenKeys(column.filters).length,\n className: `${tablePrefixCls}-filter-dropdown-checkall`,\n onChange: onCheckAll\n }, locale.filterCheckall) : null, /*#__PURE__*/React.createElement(Tree, {\n checkable: true,\n selectable: false,\n blockNode: true,\n multiple: filterMultiple,\n checkStrictly: !filterMultiple,\n className: `${dropdownPrefixCls}-menu`,\n onCheck: onCheck,\n checkedKeys: selectedKeys,\n selectedKeys: selectedKeys,\n showIcon: false,\n treeData: getTreeData({\n filters: column.filters\n }),\n autoExpandParent: true,\n defaultExpandAll: true,\n filterTreeNode: searchValue.trim() ? node => {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, getFilterData(node));\n }\n return searchValueMatched(searchValue, node.title);\n } : undefined\n })));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), /*#__PURE__*/React.createElement(Menu, {\n selectable: true,\n multiple: filterMultiple,\n prefixCls: `${dropdownPrefixCls}-menu`,\n className: dropdownMenuClass,\n onSelect: onSelectKeys,\n onDeselect: onSelectKeys,\n selectedKeys: selectedKeys,\n getPopupContainer: getPopupContainer,\n openKeys: openKeys,\n onOpenChange: onOpenChange,\n items: renderFilterItems({\n filters: column.filters || [],\n filterSearch,\n prefixCls,\n filteredKeys: getFilteredKeysSync(),\n filterMultiple,\n searchValue\n })\n }));\n };\n const getResetDisabled = () => {\n if (filterResetToDefaultFilteredValue) {\n return isEqual((defaultFilteredValue || []).map(key => String(key)), selectedKeys, true);\n }\n return selectedKeys.length === 0;\n };\n dropdownContent = /*#__PURE__*/React.createElement(React.Fragment, null, getFilterComponent(), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-dropdown-btns`\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"link\",\n size: \"small\",\n disabled: getResetDisabled(),\n onClick: () => onReset()\n }, locale.filterReset), /*#__PURE__*/React.createElement(Button, {\n type: \"primary\",\n size: \"small\",\n onClick: onConfirm\n }, locale.filterConfirm)));\n }\n // We should not block customize Menu with additional props\n if (column.filterDropdown) {\n dropdownContent = /*#__PURE__*/React.createElement(OverrideProvider, {\n selectable: undefined\n }, dropdownContent);\n }\n const menu = () => /*#__PURE__*/React.createElement(FilterDropdownMenuWrapper, {\n className: `${prefixCls}-dropdown`\n }, dropdownContent);\n let filterIcon;\n if (typeof column.filterIcon === 'function') {\n filterIcon = column.filterIcon(filtered);\n } else if (column.filterIcon) {\n filterIcon = column.filterIcon;\n } else {\n filterIcon = /*#__PURE__*/React.createElement(FilterFilled, null);\n }\n const {\n direction\n } = React.useContext(ConfigContext);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-column`\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: `${tablePrefixCls}-column-title`\n }, children), /*#__PURE__*/React.createElement(Dropdown, {\n dropdownRender: menu,\n trigger: ['click'],\n open: mergedVisible,\n onOpenChange: onVisibleChange,\n getPopupContainer: getPopupContainer,\n placement: direction === 'rtl' ? 'bottomLeft' : 'bottomRight'\n }, /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n tabIndex: -1,\n className: classNames(`${prefixCls}-trigger`, {\n active: filtered\n }),\n onClick: e => {\n e.stopPropagation();\n }\n }, filterIcon)));\n}\nexport default FilterDropdown;","import * as React from 'react';\nimport useForceUpdate from './useForceUpdate';\nexport default function useSyncState(initialValue) {\n const ref = React.useRef(initialValue);\n const forceUpdate = useForceUpdate();\n return [() => ref.current, newValue => {\n ref.current = newValue;\n // re-render\n forceUpdate();\n }];\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport warning from '../../../_util/warning';\nimport { getColumnKey, getColumnPos, renderColumnTitle } from '../../util';\nimport FilterDropdown from './FilterDropdown';\nfunction collectFilterStates(columns, init, pos) {\n let filterStates = [];\n (columns || []).forEach((column, index) => {\n var _a;\n const columnPos = getColumnPos(index, pos);\n if (column.filters || 'filterDropdown' in column || 'onFilter' in column) {\n if ('filteredValue' in column) {\n // Controlled\n let filteredValues = column.filteredValue;\n if (!('filterDropdown' in column)) {\n filteredValues = (_a = filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.map(String)) !== null && _a !== void 0 ? _a : filteredValues;\n }\n filterStates.push({\n column,\n key: getColumnKey(column, columnPos),\n filteredKeys: filteredValues,\n forceFiltered: column.filtered\n });\n } else {\n // Uncontrolled\n filterStates.push({\n column,\n key: getColumnKey(column, columnPos),\n filteredKeys: init && column.defaultFilteredValue ? column.defaultFilteredValue : undefined,\n forceFiltered: column.filtered\n });\n }\n }\n if ('children' in column) {\n filterStates = [].concat(_toConsumableArray(filterStates), _toConsumableArray(collectFilterStates(column.children, init, columnPos)));\n }\n });\n return filterStates;\n}\nfunction injectFilter(prefixCls, dropdownPrefixCls, columns, filterStates, locale, triggerFilter, getPopupContainer, pos) {\n return columns.map((column, index) => {\n const columnPos = getColumnPos(index, pos);\n const {\n filterMultiple = true,\n filterMode,\n filterSearch\n } = column;\n let newColumn = column;\n if (newColumn.filters || newColumn.filterDropdown) {\n const columnKey = getColumnKey(newColumn, columnPos);\n const filterState = filterStates.find(_ref => {\n let {\n key\n } = _ref;\n return columnKey === key;\n });\n newColumn = Object.assign(Object.assign({}, newColumn), {\n title: renderProps => /*#__PURE__*/React.createElement(FilterDropdown, {\n tablePrefixCls: prefixCls,\n prefixCls: `${prefixCls}-filter`,\n dropdownPrefixCls: dropdownPrefixCls,\n column: newColumn,\n columnKey: columnKey,\n filterState: filterState,\n filterMultiple: filterMultiple,\n filterMode: filterMode,\n filterSearch: filterSearch,\n triggerFilter: triggerFilter,\n locale: locale,\n getPopupContainer: getPopupContainer\n }, renderColumnTitle(column.title, renderProps))\n });\n }\n if ('children' in newColumn) {\n newColumn = Object.assign(Object.assign({}, newColumn), {\n children: injectFilter(prefixCls, dropdownPrefixCls, newColumn.children, filterStates, locale, triggerFilter, getPopupContainer, columnPos)\n });\n }\n return newColumn;\n });\n}\nexport function flattenKeys(filters) {\n let keys = [];\n (filters || []).forEach(_ref2 => {\n let {\n value,\n children\n } = _ref2;\n keys.push(value);\n if (children) {\n keys = [].concat(_toConsumableArray(keys), _toConsumableArray(flattenKeys(children)));\n }\n });\n return keys;\n}\nfunction generateFilterInfo(filterStates) {\n const currentFilters = {};\n filterStates.forEach(_ref3 => {\n let {\n key,\n filteredKeys,\n column\n } = _ref3;\n const {\n filters,\n filterDropdown\n } = column;\n if (filterDropdown) {\n currentFilters[key] = filteredKeys || null;\n } else if (Array.isArray(filteredKeys)) {\n const keys = flattenKeys(filters);\n currentFilters[key] = keys.filter(originKey => filteredKeys.includes(String(originKey)));\n } else {\n currentFilters[key] = null;\n }\n });\n return currentFilters;\n}\nexport function getFilterData(data, filterStates) {\n return filterStates.reduce((currentData, filterState) => {\n const {\n column: {\n onFilter,\n filters\n },\n filteredKeys\n } = filterState;\n if (onFilter && filteredKeys && filteredKeys.length) {\n return currentData.filter(record => filteredKeys.some(key => {\n const keys = flattenKeys(filters);\n const keyIndex = keys.findIndex(k => String(k) === String(key));\n const realKey = keyIndex !== -1 ? keys[keyIndex] : key;\n return onFilter(realKey, record);\n }));\n }\n return currentData;\n }, data);\n}\nconst getMergedColumns = rawMergedColumns => rawMergedColumns.flatMap(column => {\n if ('children' in column) {\n return [column].concat(_toConsumableArray(getMergedColumns(column.children || [])));\n }\n return [column];\n});\nfunction useFilter(_ref4) {\n let {\n prefixCls,\n dropdownPrefixCls,\n mergedColumns: rawMergedColumns,\n onFilterChange,\n getPopupContainer,\n locale: tableLocale\n } = _ref4;\n const mergedColumns = getMergedColumns(rawMergedColumns || []);\n const [filterStates, setFilterStates] = React.useState(() => collectFilterStates(mergedColumns, true));\n const mergedFilterStates = React.useMemo(() => {\n const collectedStates = collectFilterStates(mergedColumns, false);\n if (collectedStates.length === 0) {\n return collectedStates;\n }\n let filteredKeysIsAllNotControlled = true;\n let filteredKeysIsAllControlled = true;\n collectedStates.forEach(_ref5 => {\n let {\n filteredKeys\n } = _ref5;\n if (filteredKeys !== undefined) {\n filteredKeysIsAllNotControlled = false;\n } else {\n filteredKeysIsAllControlled = false;\n }\n });\n // Return if not controlled\n if (filteredKeysIsAllNotControlled) {\n // Filter column may have been removed\n const keyList = (mergedColumns || []).map((column, index) => getColumnKey(column, getColumnPos(index)));\n return filterStates.filter(_ref6 => {\n let {\n key\n } = _ref6;\n return keyList.includes(key);\n }).map(item => {\n const col = mergedColumns[keyList.findIndex(key => key === item.key)];\n return Object.assign(Object.assign({}, item), {\n column: Object.assign(Object.assign({}, item.column), col),\n forceFiltered: col.filtered\n });\n });\n }\n process.env.NODE_ENV !== \"production\" ? warning(filteredKeysIsAllControlled, 'Table', 'Columns should all contain `filteredValue` or not contain `filteredValue`.') : void 0;\n return collectedStates;\n }, [mergedColumns, filterStates]);\n const filters = React.useMemo(() => generateFilterInfo(mergedFilterStates), [mergedFilterStates]);\n const triggerFilter = filterState => {\n const newFilterStates = mergedFilterStates.filter(_ref7 => {\n let {\n key\n } = _ref7;\n return key !== filterState.key;\n });\n newFilterStates.push(filterState);\n setFilterStates(newFilterStates);\n onFilterChange(generateFilterInfo(newFilterStates), newFilterStates);\n };\n const transformColumns = innerColumns => injectFilter(prefixCls, dropdownPrefixCls, innerColumns, mergedFilterStates, tableLocale, triggerFilter, getPopupContainer);\n return [transformColumns, mergedFilterStates, filters];\n}\nexport default useFilter;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { useState } from 'react';\nimport extendsObject from '../../_util/extendsObject';\nexport const DEFAULT_PAGE_SIZE = 10;\nexport function getPaginationParam(mergedPagination, pagination) {\n const param = {\n current: mergedPagination.current,\n pageSize: mergedPagination.pageSize\n };\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {};\n Object.keys(paginationObj).forEach(pageProp => {\n const value = mergedPagination[pageProp];\n if (typeof value !== 'function') {\n param[pageProp] = value;\n }\n });\n return param;\n}\nfunction usePagination(total, onChange, pagination) {\n const _a = pagination && typeof pagination === 'object' ? pagination : {},\n {\n total: paginationTotal = 0\n } = _a,\n paginationObj = __rest(_a, [\"total\"]);\n const [innerPagination, setInnerPagination] = useState(() => ({\n current: 'defaultCurrent' in paginationObj ? paginationObj.defaultCurrent : 1,\n pageSize: 'defaultPageSize' in paginationObj ? paginationObj.defaultPageSize : DEFAULT_PAGE_SIZE\n }));\n // ============ Basic Pagination Config ============\n const mergedPagination = extendsObject(innerPagination, paginationObj, {\n total: paginationTotal > 0 ? paginationTotal : total\n });\n // Reset `current` if data length or pageSize changed\n const maxPage = Math.ceil((paginationTotal || total) / mergedPagination.pageSize);\n if (mergedPagination.current > maxPage) {\n // Prevent a maximum page count of 0\n mergedPagination.current = maxPage || 1;\n }\n const refreshPagination = (current, pageSize) => {\n setInnerPagination({\n current: current !== null && current !== void 0 ? current : 1,\n pageSize: pageSize || mergedPagination.pageSize\n });\n };\n const onInternalChange = (current, pageSize) => {\n var _a;\n if (pagination) {\n (_a = pagination.onChange) === null || _a === void 0 ? void 0 : _a.call(pagination, current, pageSize);\n }\n refreshPagination(current, pageSize);\n onChange(current, pageSize || (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.pageSize));\n };\n if (pagination === false) {\n return [{}, () => {}];\n }\n return [Object.assign(Object.assign({}, mergedPagination), {\n onChange: onInternalChange\n }), refreshPagination];\n}\nexport default usePagination;","function extendsObject() {\n const result = Object.assign({}, arguments.length <= 0 ? undefined : arguments[0]);\n for (let i = 1; i < arguments.length; i++) {\n const obj = i < 0 || arguments.length <= i ? undefined : arguments[i];\n if (obj) {\n Object.keys(obj).forEach(key => {\n const val = obj[key];\n if (val !== undefined) {\n result[key] = val;\n }\n });\n }\n }\n return result;\n}\nexport default extendsObject;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport { INTERNAL_COL_DEFINE } from 'rc-table';\nimport { arrAdd, arrDel } from \"rc-tree/es/util\";\nimport { conductCheck } from \"rc-tree/es/utils/conductUtil\";\nimport { convertDataToEntities } from \"rc-tree/es/utils/treeUtil\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { useCallback, useMemo, useState } from 'react';\nimport Checkbox from '../../checkbox';\nimport Dropdown from '../../dropdown';\nimport Radio from '../../radio';\nimport warning from '../../_util/warning';\n// TODO: warning if use ajax!!!\nexport const SELECTION_COLUMN = {};\nexport const SELECTION_ALL = 'SELECT_ALL';\nexport const SELECTION_INVERT = 'SELECT_INVERT';\nexport const SELECTION_NONE = 'SELECT_NONE';\nconst EMPTY_LIST = [];\nfunction flattenData(childrenColumnName, data) {\n let list = [];\n (data || []).forEach(record => {\n list.push(record);\n if (record && typeof record === 'object' && childrenColumnName in record) {\n list = [].concat(_toConsumableArray(list), _toConsumableArray(flattenData(childrenColumnName, record[childrenColumnName])));\n }\n });\n return list;\n}\nfunction useSelection(config, rowSelection) {\n const {\n preserveSelectedRowKeys,\n selectedRowKeys,\n defaultSelectedRowKeys,\n getCheckboxProps,\n onChange: onSelectionChange,\n onSelect,\n onSelectAll,\n onSelectInvert,\n onSelectNone,\n onSelectMultiple,\n columnWidth: selectionColWidth,\n type: selectionType,\n selections,\n fixed,\n renderCell: customizeRenderCell,\n hideSelectAll,\n checkStrictly = true\n } = rowSelection || {};\n const {\n prefixCls,\n data,\n pageData,\n getRecordByKey,\n getRowKey,\n expandType,\n childrenColumnName,\n locale: tableLocale,\n getPopupContainer\n } = config;\n // ========================= Keys =========================\n const [mergedSelectedKeys, setMergedSelectedKeys] = useMergedState(selectedRowKeys || defaultSelectedRowKeys || EMPTY_LIST, {\n value: selectedRowKeys\n });\n // ======================== Caches ========================\n const preserveRecordsRef = React.useRef(new Map());\n const updatePreserveRecordsCache = useCallback(keys => {\n if (preserveSelectedRowKeys) {\n const newCache = new Map();\n // Keep key if mark as preserveSelectedRowKeys\n keys.forEach(key => {\n let record = getRecordByKey(key);\n if (!record && preserveRecordsRef.current.has(key)) {\n record = preserveRecordsRef.current.get(key);\n }\n newCache.set(key, record);\n });\n // Refresh to new cache\n preserveRecordsRef.current = newCache;\n }\n }, [getRecordByKey, preserveSelectedRowKeys]);\n // Update cache with selectedKeys\n React.useEffect(() => {\n updatePreserveRecordsCache(mergedSelectedKeys);\n }, [mergedSelectedKeys]);\n const {\n keyEntities\n } = useMemo(() => checkStrictly ? {\n keyEntities: null\n } : convertDataToEntities(data, {\n externalGetKey: getRowKey,\n childrenPropName: childrenColumnName\n }), [data, getRowKey, checkStrictly, childrenColumnName]);\n // Get flatten data\n const flattedData = useMemo(() => flattenData(childrenColumnName, pageData), [pageData, childrenColumnName]);\n // Get all checkbox props\n const checkboxPropsMap = useMemo(() => {\n const map = new Map();\n flattedData.forEach((record, index) => {\n const key = getRowKey(record, index);\n const checkboxProps = (getCheckboxProps ? getCheckboxProps(record) : null) || {};\n map.set(key, checkboxProps);\n process.env.NODE_ENV !== \"production\" ? warning(!('checked' in checkboxProps || 'defaultChecked' in checkboxProps), 'Table', 'Do not set `checked` or `defaultChecked` in `getCheckboxProps`. Please use `selectedRowKeys` instead.') : void 0;\n });\n return map;\n }, [flattedData, getRowKey, getCheckboxProps]);\n const isCheckboxDisabled = useCallback(r => {\n var _a;\n return !!((_a = checkboxPropsMap.get(getRowKey(r))) === null || _a === void 0 ? void 0 : _a.disabled);\n }, [checkboxPropsMap, getRowKey]);\n const [derivedSelectedKeys, derivedHalfSelectedKeys] = useMemo(() => {\n if (checkStrictly) {\n return [mergedSelectedKeys || [], []];\n }\n const {\n checkedKeys,\n halfCheckedKeys\n } = conductCheck(mergedSelectedKeys, true, keyEntities, isCheckboxDisabled);\n return [checkedKeys || [], halfCheckedKeys];\n }, [mergedSelectedKeys, checkStrictly, keyEntities, isCheckboxDisabled]);\n const derivedSelectedKeySet = useMemo(() => {\n const keys = selectionType === 'radio' ? derivedSelectedKeys.slice(0, 1) : derivedSelectedKeys;\n return new Set(keys);\n }, [derivedSelectedKeys, selectionType]);\n const derivedHalfSelectedKeySet = useMemo(() => selectionType === 'radio' ? new Set() : new Set(derivedHalfSelectedKeys), [derivedHalfSelectedKeys, selectionType]);\n // Save last selected key to enable range selection\n const [lastSelectedKey, setLastSelectedKey] = useState(null);\n // Reset if rowSelection reset\n React.useEffect(() => {\n if (!rowSelection) {\n setMergedSelectedKeys(EMPTY_LIST);\n }\n }, [!!rowSelection]);\n const setSelectedKeys = useCallback((keys, method) => {\n let availableKeys;\n let records;\n updatePreserveRecordsCache(keys);\n if (preserveSelectedRowKeys) {\n availableKeys = keys;\n records = keys.map(key => preserveRecordsRef.current.get(key));\n } else {\n // Filter key which not exist in the `dataSource`\n availableKeys = [];\n records = [];\n keys.forEach(key => {\n const record = getRecordByKey(key);\n if (record !== undefined) {\n availableKeys.push(key);\n records.push(record);\n }\n });\n }\n setMergedSelectedKeys(availableKeys);\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(availableKeys, records, {\n type: method\n });\n }, [setMergedSelectedKeys, getRecordByKey, onSelectionChange, preserveSelectedRowKeys]);\n // ====================== Selections ======================\n // Trigger single `onSelect` event\n const triggerSingleSelection = useCallback((key, selected, keys, event) => {\n if (onSelect) {\n const rows = keys.map(k => getRecordByKey(k));\n onSelect(getRecordByKey(key), selected, rows, event);\n }\n setSelectedKeys(keys, 'single');\n }, [onSelect, getRecordByKey, setSelectedKeys]);\n const mergedSelections = useMemo(() => {\n if (!selections || hideSelectAll) {\n return null;\n }\n const selectionList = selections === true ? [SELECTION_ALL, SELECTION_INVERT, SELECTION_NONE] : selections;\n return selectionList.map(selection => {\n if (selection === SELECTION_ALL) {\n return {\n key: 'all',\n text: tableLocale.selectionAll,\n onSelect() {\n setSelectedKeys(data.map((record, index) => getRowKey(record, index)).filter(key => {\n const checkProps = checkboxPropsMap.get(key);\n return !(checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled) || derivedSelectedKeySet.has(key);\n }), 'all');\n }\n };\n }\n if (selection === SELECTION_INVERT) {\n return {\n key: 'invert',\n text: tableLocale.selectInvert,\n onSelect() {\n const keySet = new Set(derivedSelectedKeySet);\n pageData.forEach((record, index) => {\n const key = getRowKey(record, index);\n const checkProps = checkboxPropsMap.get(key);\n if (!(checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled)) {\n if (keySet.has(key)) {\n keySet.delete(key);\n } else {\n keySet.add(key);\n }\n }\n });\n const keys = Array.from(keySet);\n if (onSelectInvert) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Table', '`onSelectInvert` will be removed in future. Please use `onChange` instead.') : void 0;\n onSelectInvert(keys);\n }\n setSelectedKeys(keys, 'invert');\n }\n };\n }\n if (selection === SELECTION_NONE) {\n return {\n key: 'none',\n text: tableLocale.selectNone,\n onSelect() {\n onSelectNone === null || onSelectNone === void 0 ? void 0 : onSelectNone();\n setSelectedKeys(Array.from(derivedSelectedKeySet).filter(key => {\n const checkProps = checkboxPropsMap.get(key);\n return checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled;\n }), 'none');\n }\n };\n }\n return selection;\n }).map(selection => Object.assign(Object.assign({}, selection), {\n onSelect: function () {\n var _a2;\n var _a;\n for (var _len = arguments.length, rest = new Array(_len), _key = 0; _key < _len; _key++) {\n rest[_key] = arguments[_key];\n }\n (_a = selection.onSelect) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [selection].concat(rest));\n setLastSelectedKey(null);\n }\n }));\n }, [selections, derivedSelectedKeySet, pageData, getRowKey, onSelectInvert, setSelectedKeys]);\n // ======================= Columns ========================\n const transformColumns = useCallback(columns => {\n var _a;\n // >>>>>>>>>>> Skip if not exists `rowSelection`\n if (!rowSelection) {\n process.env.NODE_ENV !== \"production\" ? warning(!columns.includes(SELECTION_COLUMN), 'Table', '`rowSelection` is not config but `SELECTION_COLUMN` exists in the `columns`.') : void 0;\n return columns.filter(col => col !== SELECTION_COLUMN);\n }\n // >>>>>>>>>>> Support selection\n let cloneColumns = _toConsumableArray(columns);\n const keySet = new Set(derivedSelectedKeySet);\n // Record key only need check with enabled\n const recordKeys = flattedData.map(getRowKey).filter(key => !checkboxPropsMap.get(key).disabled);\n const checkedCurrentAll = recordKeys.every(key => keySet.has(key));\n const checkedCurrentSome = recordKeys.some(key => keySet.has(key));\n const onSelectAllChange = () => {\n const changeKeys = [];\n if (checkedCurrentAll) {\n recordKeys.forEach(key => {\n keySet.delete(key);\n changeKeys.push(key);\n });\n } else {\n recordKeys.forEach(key => {\n if (!keySet.has(key)) {\n keySet.add(key);\n changeKeys.push(key);\n }\n });\n }\n const keys = Array.from(keySet);\n onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(!checkedCurrentAll, keys.map(k => getRecordByKey(k)), changeKeys.map(k => getRecordByKey(k)));\n setSelectedKeys(keys, 'all');\n setLastSelectedKey(null);\n };\n // ===================== Render =====================\n // Title Cell\n let title;\n if (selectionType !== 'radio') {\n let customizeSelections;\n if (mergedSelections) {\n const menu = {\n getPopupContainer,\n items: mergedSelections.map((selection, index) => {\n const {\n key,\n text,\n onSelect: onSelectionClick\n } = selection;\n return {\n key: key || index,\n onClick: () => {\n onSelectionClick === null || onSelectionClick === void 0 ? void 0 : onSelectionClick(recordKeys);\n },\n label: text\n };\n })\n };\n customizeSelections = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-selection-extra`\n }, /*#__PURE__*/React.createElement(Dropdown, {\n menu: menu,\n getPopupContainer: getPopupContainer\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(DownOutlined, null))));\n }\n const allDisabledData = flattedData.map((record, index) => {\n const key = getRowKey(record, index);\n const checkboxProps = checkboxPropsMap.get(key) || {};\n return Object.assign({\n checked: keySet.has(key)\n }, checkboxProps);\n }).filter(_ref => {\n let {\n disabled\n } = _ref;\n return disabled;\n });\n const allDisabled = !!allDisabledData.length && allDisabledData.length === flattedData.length;\n const allDisabledAndChecked = allDisabled && allDisabledData.every(_ref2 => {\n let {\n checked\n } = _ref2;\n return checked;\n });\n const allDisabledSomeChecked = allDisabled && allDisabledData.some(_ref3 => {\n let {\n checked\n } = _ref3;\n return checked;\n });\n title = !hideSelectAll && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-selection`\n }, /*#__PURE__*/React.createElement(Checkbox, {\n checked: !allDisabled ? !!flattedData.length && checkedCurrentAll : allDisabledAndChecked,\n indeterminate: !allDisabled ? !checkedCurrentAll && checkedCurrentSome : !allDisabledAndChecked && allDisabledSomeChecked,\n onChange: onSelectAllChange,\n disabled: flattedData.length === 0 || allDisabled,\n \"aria-label\": customizeSelections ? 'Custom selection' : 'Select all',\n skipGroup: true\n }), customizeSelections);\n }\n // Body Cell\n let renderCell;\n if (selectionType === 'radio') {\n renderCell = (_, record, index) => {\n const key = getRowKey(record, index);\n const checked = keySet.has(key);\n return {\n node: /*#__PURE__*/React.createElement(Radio, Object.assign({}, checkboxPropsMap.get(key), {\n checked: checked,\n onClick: e => e.stopPropagation(),\n onChange: event => {\n if (!keySet.has(key)) {\n triggerSingleSelection(key, true, [key], event.nativeEvent);\n }\n }\n })),\n checked\n };\n };\n } else {\n renderCell = (_, record, index) => {\n var _a;\n const key = getRowKey(record, index);\n const checked = keySet.has(key);\n const indeterminate = derivedHalfSelectedKeySet.has(key);\n const checkboxProps = checkboxPropsMap.get(key);\n let mergedIndeterminate;\n if (expandType === 'nest') {\n mergedIndeterminate = indeterminate;\n process.env.NODE_ENV !== \"production\" ? warning(typeof (checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== 'boolean', 'Table', 'set `indeterminate` using `rowSelection.getCheckboxProps` is not allowed with tree structured dataSource.') : void 0;\n } else {\n mergedIndeterminate = (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== null && _a !== void 0 ? _a : indeterminate;\n }\n // Record checked\n return {\n node: /*#__PURE__*/React.createElement(Checkbox, Object.assign({}, checkboxProps, {\n indeterminate: mergedIndeterminate,\n checked: checked,\n skipGroup: true,\n onClick: e => e.stopPropagation(),\n onChange: _ref4 => {\n let {\n nativeEvent\n } = _ref4;\n const {\n shiftKey\n } = nativeEvent;\n let startIndex = -1;\n let endIndex = -1;\n // Get range of this\n if (shiftKey && checkStrictly) {\n const pointKeys = new Set([lastSelectedKey, key]);\n recordKeys.some((recordKey, recordIndex) => {\n if (pointKeys.has(recordKey)) {\n if (startIndex === -1) {\n startIndex = recordIndex;\n } else {\n endIndex = recordIndex;\n return true;\n }\n }\n return false;\n });\n }\n if (endIndex !== -1 && startIndex !== endIndex && checkStrictly) {\n // Batch update selections\n const rangeKeys = recordKeys.slice(startIndex, endIndex + 1);\n const changedKeys = [];\n if (checked) {\n rangeKeys.forEach(recordKey => {\n if (keySet.has(recordKey)) {\n changedKeys.push(recordKey);\n keySet.delete(recordKey);\n }\n });\n } else {\n rangeKeys.forEach(recordKey => {\n if (!keySet.has(recordKey)) {\n changedKeys.push(recordKey);\n keySet.add(recordKey);\n }\n });\n }\n const keys = Array.from(keySet);\n onSelectMultiple === null || onSelectMultiple === void 0 ? void 0 : onSelectMultiple(!checked, keys.map(recordKey => getRecordByKey(recordKey)), changedKeys.map(recordKey => getRecordByKey(recordKey)));\n setSelectedKeys(keys, 'multiple');\n } else {\n // Single record selected\n const originCheckedKeys = derivedSelectedKeys;\n if (checkStrictly) {\n const checkedKeys = checked ? arrDel(originCheckedKeys, key) : arrAdd(originCheckedKeys, key);\n triggerSingleSelection(key, !checked, checkedKeys, nativeEvent);\n } else {\n // Always fill first\n const result = conductCheck([].concat(_toConsumableArray(originCheckedKeys), [key]), true, keyEntities, isCheckboxDisabled);\n const {\n checkedKeys,\n halfCheckedKeys\n } = result;\n let nextCheckedKeys = checkedKeys;\n // If remove, we do it again to correction\n if (checked) {\n const tempKeySet = new Set(checkedKeys);\n tempKeySet.delete(key);\n nextCheckedKeys = conductCheck(Array.from(tempKeySet), {\n checked: false,\n halfCheckedKeys\n }, keyEntities, isCheckboxDisabled).checkedKeys;\n }\n triggerSingleSelection(key, !checked, nextCheckedKeys, nativeEvent);\n }\n }\n if (checked) {\n setLastSelectedKey(null);\n } else {\n setLastSelectedKey(key);\n }\n }\n })),\n checked\n };\n };\n }\n const renderSelectionCell = (_, record, index) => {\n const {\n node,\n checked\n } = renderCell(_, record, index);\n if (customizeRenderCell) {\n return customizeRenderCell(checked, record, index, node);\n }\n return node;\n };\n // Insert selection column if not exist\n if (!cloneColumns.includes(SELECTION_COLUMN)) {\n // Always after expand icon\n if (cloneColumns.findIndex(col => {\n var _a;\n return ((_a = col[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN';\n }) === 0) {\n const [expandColumn, ...restColumns] = cloneColumns;\n cloneColumns = [expandColumn, SELECTION_COLUMN].concat(_toConsumableArray(restColumns));\n } else {\n // Normal insert at first column\n cloneColumns = [SELECTION_COLUMN].concat(_toConsumableArray(cloneColumns));\n }\n }\n // Deduplicate selection column\n const selectionColumnIndex = cloneColumns.indexOf(SELECTION_COLUMN);\n process.env.NODE_ENV !== \"production\" ? warning(cloneColumns.filter(col => col === SELECTION_COLUMN).length <= 1, 'Table', 'Multiple `SELECTION_COLUMN` exist in `columns`.') : void 0;\n cloneColumns = cloneColumns.filter((column, index) => column !== SELECTION_COLUMN || index === selectionColumnIndex);\n // Fixed column logic\n const prevCol = cloneColumns[selectionColumnIndex - 1];\n const nextCol = cloneColumns[selectionColumnIndex + 1];\n let mergedFixed = fixed;\n if (mergedFixed === undefined) {\n if ((nextCol === null || nextCol === void 0 ? void 0 : nextCol.fixed) !== undefined) {\n mergedFixed = nextCol.fixed;\n } else if ((prevCol === null || prevCol === void 0 ? void 0 : prevCol.fixed) !== undefined) {\n mergedFixed = prevCol.fixed;\n }\n }\n if (mergedFixed && prevCol && ((_a = prevCol[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN' && prevCol.fixed === undefined) {\n prevCol.fixed = mergedFixed;\n }\n // Replace with real selection column\n const selectionColumn = {\n fixed: mergedFixed,\n width: selectionColWidth,\n className: `${prefixCls}-selection-column`,\n title: rowSelection.columnTitle || title,\n render: renderSelectionCell,\n [INTERNAL_COL_DEFINE]: {\n className: `${prefixCls}-selection-col`\n }\n };\n return cloneColumns.map(col => col === SELECTION_COLUMN ? selectionColumn : col);\n }, [getRowKey, flattedData, rowSelection, derivedSelectedKeys, derivedSelectedKeySet, derivedHalfSelectedKeySet, selectionColWidth, mergedSelections, expandType, lastSelectedKey, checkboxPropsMap, onSelectMultiple, triggerSingleSelection, isCheckboxDisabled]);\n return [transformColumns, derivedSelectedKeySet];\n}\nexport default useSelection;","// This icon file is generated automatically.\nvar CaretDownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"outlined\" };\nexport default CaretDownOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CaretDownOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretDownOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CaretDownOutlined = function CaretDownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CaretDownOutlinedSvg\n }));\n};\nCaretDownOutlined.displayName = 'CaretDownOutlined';\nexport default /*#__PURE__*/React.forwardRef(CaretDownOutlined);","// This icon file is generated automatically.\nvar CaretUpOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z\" } }] }, \"name\": \"caret-up\", \"theme\": \"outlined\" };\nexport default CaretUpOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CaretUpOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretUpOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CaretUpOutlined = function CaretUpOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CaretUpOutlinedSvg\n }));\n};\nCaretUpOutlined.displayName = 'CaretUpOutlined';\nexport default /*#__PURE__*/React.forwardRef(CaretUpOutlined);","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport CaretDownOutlined from \"@ant-design/icons/es/icons/CaretDownOutlined\";\nimport CaretUpOutlined from \"@ant-design/icons/es/icons/CaretUpOutlined\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport Tooltip from '../../tooltip';\nimport { getColumnKey, getColumnPos, renderColumnTitle, safeColumnTitle } from '../util';\nconst ASCEND = 'ascend';\nconst DESCEND = 'descend';\nfunction getMultiplePriority(column) {\n if (typeof column.sorter === 'object' && typeof column.sorter.multiple === 'number') {\n return column.sorter.multiple;\n }\n return false;\n}\nfunction getSortFunction(sorter) {\n if (typeof sorter === 'function') {\n return sorter;\n }\n if (sorter && typeof sorter === 'object' && sorter.compare) {\n return sorter.compare;\n }\n return false;\n}\nfunction nextSortDirection(sortDirections, current) {\n if (!current) {\n return sortDirections[0];\n }\n return sortDirections[sortDirections.indexOf(current) + 1];\n}\nfunction collectSortStates(columns, init, pos) {\n let sortStates = [];\n function pushState(column, columnPos) {\n sortStates.push({\n column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.sortOrder\n });\n }\n (columns || []).forEach((column, index) => {\n const columnPos = getColumnPos(index, pos);\n if (column.children) {\n if ('sortOrder' in column) {\n // Controlled\n pushState(column, columnPos);\n }\n sortStates = [].concat(_toConsumableArray(sortStates), _toConsumableArray(collectSortStates(column.children, init, columnPos)));\n } else if (column.sorter) {\n if ('sortOrder' in column) {\n // Controlled\n pushState(column, columnPos);\n } else if (init && column.defaultSortOrder) {\n // Default sorter\n sortStates.push({\n column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.defaultSortOrder\n });\n }\n }\n });\n return sortStates;\n}\nfunction injectSorter(prefixCls, columns, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, pos) {\n return (columns || []).map((column, index) => {\n const columnPos = getColumnPos(index, pos);\n let newColumn = column;\n if (newColumn.sorter) {\n const sortDirections = newColumn.sortDirections || defaultSortDirections;\n const showSorterTooltip = newColumn.showSorterTooltip === undefined ? tableShowSorterTooltip : newColumn.showSorterTooltip;\n const columnKey = getColumnKey(newColumn, columnPos);\n const sorterState = sorterStates.find(_ref => {\n let {\n key\n } = _ref;\n return key === columnKey;\n });\n const sorterOrder = sorterState ? sorterState.sortOrder : null;\n const nextSortOrder = nextSortDirection(sortDirections, sorterOrder);\n const upNode = sortDirections.includes(ASCEND) && /*#__PURE__*/React.createElement(CaretUpOutlined, {\n className: classNames(`${prefixCls}-column-sorter-up`, {\n active: sorterOrder === ASCEND\n })\n });\n const downNode = sortDirections.includes(DESCEND) && /*#__PURE__*/React.createElement(CaretDownOutlined, {\n className: classNames(`${prefixCls}-column-sorter-down`, {\n active: sorterOrder === DESCEND\n })\n });\n const {\n cancelSort,\n triggerAsc,\n triggerDesc\n } = tableLocale || {};\n let sortTip = cancelSort;\n if (nextSortOrder === DESCEND) {\n sortTip = triggerDesc;\n } else if (nextSortOrder === ASCEND) {\n sortTip = triggerAsc;\n }\n const tooltipProps = typeof showSorterTooltip === 'object' ? showSorterTooltip : {\n title: sortTip\n };\n newColumn = Object.assign(Object.assign({}, newColumn), {\n className: classNames(newColumn.className, {\n [`${prefixCls}-column-sort`]: sorterOrder\n }),\n title: renderProps => {\n const renderSortTitle = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-column-sorters`\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-column-title`\n }, renderColumnTitle(column.title, renderProps)), /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(`${prefixCls}-column-sorter`, {\n [`${prefixCls}-column-sorter-full`]: !!(upNode && downNode)\n })\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-column-sorter-inner`,\n \"aria-hidden\": \"true\"\n }, upNode, downNode)));\n return showSorterTooltip ? /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps), renderSortTitle) : renderSortTitle;\n },\n onHeaderCell: col => {\n const cell = column.onHeaderCell && column.onHeaderCell(col) || {};\n const originOnClick = cell.onClick;\n const originOKeyDown = cell.onKeyDown;\n cell.onClick = event => {\n triggerSorter({\n column,\n key: columnKey,\n sortOrder: nextSortOrder,\n multiplePriority: getMultiplePriority(column)\n });\n originOnClick === null || originOnClick === void 0 ? void 0 : originOnClick(event);\n };\n cell.onKeyDown = event => {\n if (event.keyCode === KeyCode.ENTER) {\n triggerSorter({\n column,\n key: columnKey,\n sortOrder: nextSortOrder,\n multiplePriority: getMultiplePriority(column)\n });\n originOKeyDown === null || originOKeyDown === void 0 ? void 0 : originOKeyDown(event);\n }\n };\n const renderTitle = safeColumnTitle(column.title, {});\n const displayTitle = renderTitle === null || renderTitle === void 0 ? void 0 : renderTitle.toString();\n // Inform the screen-reader so it can tell the visually impaired user which column is sorted\n if (sorterOrder) {\n cell['aria-sort'] = sorterOrder === 'ascend' ? 'ascending' : 'descending';\n } else {\n cell['aria-label'] = displayTitle || '';\n }\n cell.className = classNames(cell.className, `${prefixCls}-column-has-sorters`);\n cell.tabIndex = 0;\n if (column.ellipsis) {\n cell.title = (renderTitle !== null && renderTitle !== void 0 ? renderTitle : '').toString();\n }\n return cell;\n }\n });\n }\n if ('children' in newColumn) {\n newColumn = Object.assign(Object.assign({}, newColumn), {\n children: injectSorter(prefixCls, newColumn.children, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, columnPos)\n });\n }\n return newColumn;\n });\n}\nfunction stateToInfo(sorterStates) {\n const {\n column,\n sortOrder\n } = sorterStates;\n return {\n column,\n order: sortOrder,\n field: column.dataIndex,\n columnKey: column.key\n };\n}\nfunction generateSorterInfo(sorterStates) {\n const list = sorterStates.filter(_ref2 => {\n let {\n sortOrder\n } = _ref2;\n return sortOrder;\n }).map(stateToInfo);\n // =========== Legacy compatible support ===========\n // https://github.com/ant-design/ant-design/pull/19226\n if (list.length === 0 && sorterStates.length) {\n return Object.assign(Object.assign({}, stateToInfo(sorterStates[sorterStates.length - 1])), {\n column: undefined\n });\n }\n if (list.length <= 1) {\n return list[0] || {};\n }\n return list;\n}\nexport function getSortData(data, sortStates, childrenColumnName) {\n const innerSorterStates = sortStates.slice().sort((a, b) => b.multiplePriority - a.multiplePriority);\n const cloneData = data.slice();\n const runningSorters = innerSorterStates.filter(_ref3 => {\n let {\n column: {\n sorter\n },\n sortOrder\n } = _ref3;\n return getSortFunction(sorter) && sortOrder;\n });\n // Skip if no sorter needed\n if (!runningSorters.length) {\n return cloneData;\n }\n return cloneData.sort((record1, record2) => {\n for (let i = 0; i < runningSorters.length; i += 1) {\n const sorterState = runningSorters[i];\n const {\n column: {\n sorter\n },\n sortOrder\n } = sorterState;\n const compareFn = getSortFunction(sorter);\n if (compareFn && sortOrder) {\n const compareResult = compareFn(record1, record2, sortOrder);\n if (compareResult !== 0) {\n return sortOrder === ASCEND ? compareResult : -compareResult;\n }\n }\n }\n return 0;\n }).map(record => {\n const subRecords = record[childrenColumnName];\n if (subRecords) {\n return Object.assign(Object.assign({}, record), {\n [childrenColumnName]: getSortData(subRecords, sortStates, childrenColumnName)\n });\n }\n return record;\n });\n}\nexport default function useFilterSorter(_ref4) {\n let {\n prefixCls,\n mergedColumns,\n onSorterChange,\n sortDirections,\n tableLocale,\n showSorterTooltip\n } = _ref4;\n const [sortStates, setSortStates] = React.useState(collectSortStates(mergedColumns, true));\n const mergedSorterStates = React.useMemo(() => {\n let validate = true;\n const collectedStates = collectSortStates(mergedColumns, false);\n // Return if not controlled\n if (!collectedStates.length) {\n return sortStates;\n }\n const validateStates = [];\n function patchStates(state) {\n if (validate) {\n validateStates.push(state);\n } else {\n validateStates.push(Object.assign(Object.assign({}, state), {\n sortOrder: null\n }));\n }\n }\n let multipleMode = null;\n collectedStates.forEach(state => {\n if (multipleMode === null) {\n patchStates(state);\n if (state.sortOrder) {\n if (state.multiplePriority === false) {\n validate = false;\n } else {\n multipleMode = true;\n }\n }\n } else if (multipleMode && state.multiplePriority !== false) {\n patchStates(state);\n } else {\n validate = false;\n patchStates(state);\n }\n });\n return validateStates;\n }, [mergedColumns, sortStates]);\n // Get render columns title required props\n const columnTitleSorterProps = React.useMemo(() => {\n const sortColumns = mergedSorterStates.map(_ref5 => {\n let {\n column,\n sortOrder\n } = _ref5;\n return {\n column,\n order: sortOrder\n };\n });\n return {\n sortColumns,\n // Legacy\n sortColumn: sortColumns[0] && sortColumns[0].column,\n sortOrder: sortColumns[0] && sortColumns[0].order\n };\n }, [mergedSorterStates]);\n function triggerSorter(sortState) {\n let newSorterStates;\n if (sortState.multiplePriority === false || !mergedSorterStates.length || mergedSorterStates[0].multiplePriority === false) {\n newSorterStates = [sortState];\n } else {\n newSorterStates = [].concat(_toConsumableArray(mergedSorterStates.filter(_ref6 => {\n let {\n key\n } = _ref6;\n return key !== sortState.key;\n })), [sortState]);\n }\n setSortStates(newSorterStates);\n onSorterChange(generateSorterInfo(newSorterStates), newSorterStates);\n }\n const transformColumns = innerColumns => injectSorter(prefixCls, innerColumns, mergedSorterStates, triggerSorter, sortDirections, tableLocale, showSorterTooltip);\n const getSorters = () => generateSorterInfo(mergedSorterStates);\n return [transformColumns, mergedSorterStates, columnTitleSorterProps, getSorters];\n}","import * as React from 'react';\nimport { renderColumnTitle } from '../util';\nfunction fillTitle(columns, columnTitleProps) {\n return columns.map(column => {\n const cloneColumn = Object.assign({}, column);\n cloneColumn.title = renderColumnTitle(column.title, columnTitleProps);\n if ('children' in cloneColumn) {\n cloneColumn.children = fillTitle(cloneColumn.children, columnTitleProps);\n }\n return cloneColumn;\n });\n}\nexport default function useTitleColumns(columnTitleProps) {\n const filledColumns = React.useCallback(columns => fillTitle(columns, columnTitleProps), [columnTitleProps]);\n return [filledColumns];\n}","import { genTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nexport default genTable((prev, next) => {\n const {\n _renderTimes: prevRenderTimes\n } = prev;\n const {\n _renderTimes: nextRenderTimes\n } = next;\n return prevRenderTimes !== nextRenderTimes;\n});","const genBorderedStyle = token => {\n const {\n componentCls\n } = token;\n const tableBorder = `${token.lineWidth}px ${token.lineType} ${token.tableBorderColor}`;\n const getSizeBorderStyle = (size, paddingVertical, paddingHorizontal) => ({\n [`&${componentCls}-${size}`]: {\n [`> ${componentCls}-container`]: {\n [`> ${componentCls}-content, > ${componentCls}-body`]: {\n [`\n > table > tbody > tr > th,\n > table > tbody > tr > td\n `]: {\n [`> ${componentCls}-expanded-row-fixed`]: {\n margin: `-${paddingVertical}px -${paddingHorizontal + token.lineWidth}px`\n }\n }\n }\n }\n }\n });\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}${componentCls}-bordered`]: Object.assign(Object.assign(Object.assign({\n // ============================ Title =============================\n [`> ${componentCls}-title`]: {\n border: tableBorder,\n borderBottom: 0\n },\n // ============================ Content ============================\n [`> ${componentCls}-container`]: {\n borderInlineStart: tableBorder,\n [`\n > ${componentCls}-content,\n > ${componentCls}-header,\n > ${componentCls}-body,\n > ${componentCls}-summary\n `]: {\n '> table': {\n // ============================= Cell =============================\n [`\n > thead > tr > th,\n > tbody > tr > th,\n > tbody > tr > td,\n > tfoot > tr > th,\n > tfoot > tr > td\n `]: {\n borderInlineEnd: tableBorder\n },\n // ============================ Header ============================\n '> thead': {\n '> tr:not(:last-child) > th': {\n borderBottom: tableBorder\n },\n '> tr > th::before': {\n backgroundColor: 'transparent !important'\n }\n },\n // Fixed right should provides additional border\n [`\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n `]: {\n [`> ${componentCls}-cell-fix-right-first::after`]: {\n borderInlineEnd: tableBorder\n }\n },\n // ========================== Expandable ==========================\n [`\n > tbody > tr > th,\n > tbody > tr > td\n `]: {\n [`> ${componentCls}-expanded-row-fixed`]: {\n margin: `-${token.tablePaddingVertical}px -${token.tablePaddingHorizontal + token.lineWidth}px`,\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.lineWidth,\n bottom: 0,\n borderInlineEnd: tableBorder,\n content: '\"\"'\n }\n }\n }\n }\n },\n [`\n > ${componentCls}-content,\n > ${componentCls}-header\n `]: {\n '> table': {\n borderTop: tableBorder\n }\n }\n },\n // ============================ Scroll ============================\n [`&${componentCls}-scroll-horizontal`]: {\n [`> ${componentCls}-container > ${componentCls}-body`]: {\n '> table > tbody': {\n [`\n > tr${componentCls}-expanded-row,\n > tr${componentCls}-placeholder\n `]: {\n [`> th, > td`]: {\n borderInlineEnd: 0\n }\n }\n }\n }\n }\n }, getSizeBorderStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle)), getSizeBorderStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall)), {\n // ============================ Footer ============================\n [`> ${componentCls}-footer`]: {\n border: tableBorder,\n borderTop: 0\n }\n }),\n // ============================ Nested ============================\n [`${componentCls}-cell`]: {\n [`${componentCls}-container:first-child`]: {\n // :first-child to avoid the case when bordered and title is set\n borderTop: 0\n },\n // https://github.com/ant-design/ant-design/issues/35577\n '&-scrollbar:not([rowspan])': {\n boxShadow: `0 ${token.lineWidth}px 0 ${token.lineWidth}px ${token.tableHeaderBg}`\n }\n }\n }\n };\n};\nexport default genBorderedStyle;","import { textEllipsis } from '../../style';\nconst genEllipsisStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-cell-ellipsis`]: Object.assign(Object.assign({}, textEllipsis), {\n wordBreak: 'keep-all',\n // Fixed first or last should special process\n [`\n &${componentCls}-cell-fix-left-last,\n &${componentCls}-cell-fix-right-first\n `]: {\n overflow: 'visible',\n [`${componentCls}-cell-content`]: {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n },\n [`${componentCls}-column-title`]: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n wordBreak: 'keep-all'\n }\n })\n }\n };\n};\nexport default genEllipsisStyle;","// ========================= Placeholder ==========================\nconst genEmptyStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-tbody > tr${componentCls}-placeholder`]: {\n textAlign: 'center',\n color: token.colorTextDisabled,\n [`\n &:hover > th,\n &:hover > td,\n `]: {\n background: token.colorBgContainer\n }\n }\n }\n };\n};\nexport default genEmptyStyle;","// eslint-disable-next-line import/prefer-default-export\nexport const operationUnit = token => ({\n // FIXME: This use link but is a operation unit. Seems should be a colorPrimary.\n // And Typography use this to generate link style which should not do this.\n color: token.colorLink,\n textDecoration: 'none',\n outline: 'none',\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '&:focus, &:hover': {\n color: token.colorLinkHover\n },\n '&:active': {\n color: token.colorLinkActive\n }\n});","import { operationUnit } from '../../style';\nconst genExpandStyle = token => {\n const {\n componentCls,\n antCls,\n controlInteractiveSize: checkboxSize,\n motionDurationSlow,\n lineWidth,\n paddingXS,\n lineType,\n tableBorderColor,\n tableExpandIconBg,\n tableExpandColumnWidth,\n borderRadius,\n fontSize,\n fontSizeSM,\n lineHeight,\n tablePaddingVertical,\n tablePaddingHorizontal,\n tableExpandedRowBg,\n paddingXXS\n } = token;\n const halfInnerSize = checkboxSize / 2 - lineWidth;\n // must be odd number, unless it cannot align center\n const expandIconSize = halfInnerSize * 2 + lineWidth * 3;\n const tableBorder = `${lineWidth}px ${lineType} ${tableBorderColor}`;\n const expandIconLineOffset = paddingXXS - lineWidth;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-expand-icon-col`]: {\n width: tableExpandColumnWidth\n },\n [`${componentCls}-row-expand-icon-cell`]: {\n textAlign: 'center',\n [`${componentCls}-row-expand-icon`]: {\n display: 'inline-flex',\n float: 'none',\n verticalAlign: 'sub'\n }\n },\n [`${componentCls}-row-indent`]: {\n height: 1,\n float: 'left'\n },\n [`${componentCls}-row-expand-icon`]: Object.assign(Object.assign({}, operationUnit(token)), {\n position: 'relative',\n float: 'left',\n boxSizing: 'border-box',\n width: expandIconSize,\n height: expandIconSize,\n padding: 0,\n color: 'inherit',\n lineHeight: `${expandIconSize}px`,\n background: tableExpandIconBg,\n border: tableBorder,\n borderRadius,\n transform: `scale(${checkboxSize / expandIconSize})`,\n transition: `all ${motionDurationSlow}`,\n userSelect: 'none',\n [`&:focus, &:hover, &:active`]: {\n borderColor: 'currentcolor'\n },\n [`&::before, &::after`]: {\n position: 'absolute',\n background: 'currentcolor',\n transition: `transform ${motionDurationSlow} ease-out`,\n content: '\"\"'\n },\n '&::before': {\n top: halfInnerSize,\n insetInlineEnd: expandIconLineOffset,\n insetInlineStart: expandIconLineOffset,\n height: lineWidth\n },\n '&::after': {\n top: expandIconLineOffset,\n bottom: expandIconLineOffset,\n insetInlineStart: halfInnerSize,\n width: lineWidth,\n transform: 'rotate(90deg)'\n },\n // Motion effect\n '&-collapsed::before': {\n transform: 'rotate(-180deg)'\n },\n '&-collapsed::after': {\n transform: 'rotate(0deg)'\n },\n '&-spaced': {\n '&::before, &::after': {\n display: 'none',\n content: 'none'\n },\n background: 'transparent',\n border: 0,\n visibility: 'hidden'\n }\n }),\n [`${componentCls}-row-indent + ${componentCls}-row-expand-icon`]: {\n marginTop: (fontSize * lineHeight - lineWidth * 3) / 2 - Math.ceil((fontSizeSM * 1.4 - lineWidth * 3) / 2),\n marginInlineEnd: paddingXS\n },\n [`tr${componentCls}-expanded-row`]: {\n '&, &:hover': {\n [`> th, > td`]: {\n background: tableExpandedRowBg\n }\n },\n // https://github.com/ant-design/ant-design/issues/25573\n [`${antCls}-descriptions-view`]: {\n display: 'flex',\n table: {\n flex: 'auto',\n width: 'auto'\n }\n }\n },\n // With fixed\n [`${componentCls}-expanded-row-fixed`]: {\n position: 'relative',\n margin: `-${tablePaddingVertical}px -${tablePaddingHorizontal}px`,\n padding: `${tablePaddingVertical}px ${tablePaddingHorizontal}px`\n }\n }\n };\n};\nexport default genExpandStyle;","import { resetComponent } from '../../style';\nconst genFilterStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n tableFilterDropdownWidth,\n tableFilterDropdownSearchWidth,\n paddingXXS,\n paddingXS,\n colorText,\n lineWidth,\n lineType,\n tableBorderColor,\n tableHeaderIconColor,\n fontSizeSM,\n tablePaddingHorizontal,\n borderRadius,\n motionDurationSlow,\n colorTextDescription,\n colorPrimary,\n tableHeaderFilterActiveBg,\n colorTextDisabled,\n tableFilterDropdownBg,\n tableFilterDropdownHeight,\n controlItemBgHover,\n controlItemBgActive,\n boxShadowSecondary\n } = token;\n const dropdownPrefixCls = `${antCls}-dropdown`;\n const tableFilterDropdownPrefixCls = `${componentCls}-filter-dropdown`;\n const treePrefixCls = `${antCls}-tree`;\n const tableBorder = `${lineWidth}px ${lineType} ${tableBorderColor}`;\n return [{\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-filter-column`]: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n [`${componentCls}-filter-trigger`]: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n marginBlock: -paddingXXS,\n marginInline: `${paddingXXS}px ${-tablePaddingHorizontal / 2}px`,\n padding: `0 ${paddingXXS}px`,\n color: tableHeaderIconColor,\n fontSize: fontSizeSM,\n borderRadius,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n color: colorTextDescription,\n background: tableHeaderFilterActiveBg\n },\n '&.active': {\n color: colorPrimary\n }\n }\n }\n }, {\n // Dropdown\n [`${antCls}-dropdown`]: {\n [tableFilterDropdownPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n minWidth: tableFilterDropdownWidth,\n backgroundColor: tableFilterDropdownBg,\n borderRadius,\n boxShadow: boxShadowSecondary,\n // Reset menu\n [`${dropdownPrefixCls}-menu`]: {\n // https://github.com/ant-design/ant-design/issues/4916\n // https://github.com/ant-design/ant-design/issues/19542\n maxHeight: tableFilterDropdownHeight,\n overflowX: 'hidden',\n border: 0,\n boxShadow: 'none',\n '&:empty::after': {\n display: 'block',\n padding: `${paddingXS}px 0`,\n color: colorTextDisabled,\n fontSize: fontSizeSM,\n textAlign: 'center',\n content: '\"Not Found\"'\n }\n },\n [`${tableFilterDropdownPrefixCls}-tree`]: {\n paddingBlock: `${paddingXS}px 0`,\n paddingInline: paddingXS,\n [treePrefixCls]: {\n padding: 0\n },\n [`${treePrefixCls}-treenode ${treePrefixCls}-node-content-wrapper:hover`]: {\n backgroundColor: controlItemBgHover\n },\n [`${treePrefixCls}-treenode-checkbox-checked ${treePrefixCls}-node-content-wrapper`]: {\n '&, &:hover': {\n backgroundColor: controlItemBgActive\n }\n }\n },\n [`${tableFilterDropdownPrefixCls}-search`]: {\n padding: paddingXS,\n borderBottom: tableBorder,\n '&-input': {\n input: {\n minWidth: tableFilterDropdownSearchWidth\n },\n [iconCls]: {\n color: colorTextDisabled\n }\n }\n },\n [`${tableFilterDropdownPrefixCls}-checkall`]: {\n width: '100%',\n marginBottom: paddingXXS,\n marginInlineStart: paddingXXS\n },\n // Operation\n [`${tableFilterDropdownPrefixCls}-btns`]: {\n display: 'flex',\n justifyContent: 'space-between',\n padding: `${paddingXS - lineWidth}px ${paddingXS}px`,\n overflow: 'hidden',\n borderTop: tableBorder\n }\n })\n }\n },\n // Dropdown Menu & SubMenu\n {\n // submenu of table filter dropdown\n [`${antCls}-dropdown ${tableFilterDropdownPrefixCls}, ${tableFilterDropdownPrefixCls}-submenu`]: {\n // Checkbox\n [`${antCls}-checkbox-wrapper + span`]: {\n paddingInlineStart: paddingXS,\n color: colorText\n },\n [`> ul`]: {\n maxHeight: 'calc(100vh - 130px)',\n overflowX: 'hidden',\n overflowY: 'auto'\n }\n }\n }];\n};\nexport default genFilterStyle;","const genFixedStyle = token => {\n const {\n componentCls,\n lineWidth,\n colorSplit,\n motionDurationSlow,\n zIndexTableFixed,\n tableBg,\n zIndexTableSticky\n } = token;\n const shadowColor = colorSplit;\n // Follow style is magic of shadow which should not follow token:\n return {\n [`${componentCls}-wrapper`]: {\n [`\n ${componentCls}-cell-fix-left,\n ${componentCls}-cell-fix-right\n `]: {\n position: 'sticky !important',\n zIndex: zIndexTableFixed,\n background: tableBg\n },\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after\n `]: {\n position: 'absolute',\n top: 0,\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: -lineWidth,\n width: 30,\n transform: 'translateX(100%)',\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n [`${componentCls}-cell-fix-left-all::after`]: {\n display: 'none'\n },\n [`\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n position: 'absolute',\n top: 0,\n bottom: -lineWidth,\n left: {\n _skip_check_: true,\n value: 0\n },\n width: 30,\n transform: 'translateX(-100%)',\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n [`${componentCls}-container`]: {\n '&::before, &::after': {\n position: 'absolute',\n top: 0,\n bottom: 0,\n zIndex: zIndexTableSticky + 1,\n width: 30,\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n '&::before': {\n insetInlineStart: 0\n },\n '&::after': {\n insetInlineEnd: 0\n }\n },\n [`${componentCls}-ping-left`]: {\n [`&:not(${componentCls}-has-fix-left) ${componentCls}-container`]: {\n position: 'relative',\n '&::before': {\n boxShadow: `inset 10px 0 8px -8px ${shadowColor}`\n }\n },\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after\n `]: {\n boxShadow: `inset 10px 0 8px -8px ${shadowColor}`\n },\n [`${componentCls}-cell-fix-left-last::before`]: {\n backgroundColor: 'transparent !important'\n }\n },\n [`${componentCls}-ping-right`]: {\n [`&:not(${componentCls}-has-fix-right) ${componentCls}-container`]: {\n position: 'relative',\n '&::after': {\n boxShadow: `inset -10px 0 8px -8px ${shadowColor}`\n }\n },\n [`\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n boxShadow: `inset -10px 0 8px -8px ${shadowColor}`\n }\n }\n }\n };\n};\nexport default genFixedStyle;","const genPaginationStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Pagination ==========================\n [`${componentCls}-pagination${antCls}-pagination`]: {\n margin: `${token.margin}px 0`\n },\n [`${componentCls}-pagination`]: {\n display: 'flex',\n flexWrap: 'wrap',\n rowGap: token.paddingXS,\n '> *': {\n flex: 'none'\n },\n '&-left': {\n justifyContent: 'flex-start'\n },\n '&-center': {\n justifyContent: 'center'\n },\n '&-right': {\n justifyContent: 'flex-end'\n }\n }\n }\n };\n};\nexport default genPaginationStyle;","const genRadiusStyle = token => {\n const {\n componentCls,\n tableRadius\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [componentCls]: {\n // https://github.com/ant-design/ant-design/issues/39115#issuecomment-1362314574\n [`${componentCls}-title, ${componentCls}-header`]: {\n borderRadius: `${tableRadius}px ${tableRadius}px 0 0`\n },\n [`${componentCls}-title + ${componentCls}-container`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0,\n table: {\n borderRadius: 0,\n '> thead > tr:first-child': {\n 'th:first-child': {\n borderRadius: 0\n },\n 'th:last-child': {\n borderRadius: 0\n }\n }\n }\n },\n '&-container': {\n borderStartStartRadius: tableRadius,\n borderStartEndRadius: tableRadius,\n 'table > thead > tr:first-child': {\n '> *:first-child': {\n borderStartStartRadius: tableRadius\n },\n '> *:last-child': {\n borderStartEndRadius: tableRadius\n }\n }\n },\n '&-footer': {\n borderRadius: `0 0 ${tableRadius}px ${tableRadius}px`\n }\n }\n }\n };\n};\nexport default genRadiusStyle;","const genStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper-rtl`]: {\n direction: 'rtl',\n table: {\n direction: 'rtl'\n },\n [`${componentCls}-pagination-left`]: {\n justifyContent: 'flex-end'\n },\n [`${componentCls}-pagination-right`]: {\n justifyContent: 'flex-start'\n },\n [`${componentCls}-row-expand-icon`]: {\n '&::after': {\n transform: 'rotate(-90deg)'\n },\n '&-collapsed::before': {\n transform: 'rotate(180deg)'\n },\n '&-collapsed::after': {\n transform: 'rotate(0deg)'\n }\n },\n [`${componentCls}-container`]: {\n '&::before': {\n insetInlineStart: 'unset',\n insetInlineEnd: 0\n },\n '&::after': {\n insetInlineStart: 0,\n insetInlineEnd: 'unset'\n }\n }\n }\n };\n};\nexport default genStyle;","const genSelectionStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n fontSizeIcon,\n paddingXS,\n tableHeaderIconColor,\n tableHeaderIconColorHover\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Selections ==========================\n [`${componentCls}-selection-col`]: {\n width: token.tableSelectionColumnWidth\n },\n [`${componentCls}-bordered ${componentCls}-selection-col`]: {\n width: token.tableSelectionColumnWidth + paddingXS * 2\n },\n [`\n table tr th${componentCls}-selection-column,\n table tr td${componentCls}-selection-column\n `]: {\n paddingInlineEnd: token.paddingXS,\n paddingInlineStart: token.paddingXS,\n textAlign: 'center',\n [`${antCls}-radio-wrapper`]: {\n marginInlineEnd: 0\n }\n },\n [`table tr th${componentCls}-selection-column${componentCls}-cell-fix-left`]: {\n zIndex: token.zIndexTableFixed + 1\n },\n [`table tr th${componentCls}-selection-column::after`]: {\n backgroundColor: 'transparent !important'\n },\n [`${componentCls}-selection`]: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column'\n },\n [`${componentCls}-selection-extra`]: {\n position: 'absolute',\n top: 0,\n zIndex: 1,\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n marginInlineStart: '100%',\n paddingInlineStart: `${token.tablePaddingHorizontal / 4}px`,\n [iconCls]: {\n color: tableHeaderIconColor,\n fontSize: fontSizeIcon,\n verticalAlign: 'baseline',\n '&:hover': {\n color: tableHeaderIconColorHover\n }\n }\n }\n }\n };\n};\nexport default genSelectionStyle;","const genSizeStyle = token => {\n const {\n componentCls\n } = token;\n const getSizeStyle = (size, paddingVertical, paddingHorizontal, fontSize) => ({\n [`${componentCls}${componentCls}-${size}`]: {\n fontSize,\n [`\n ${componentCls}-title,\n ${componentCls}-footer,\n ${componentCls}-thead > tr > th,\n ${componentCls}-tbody > tr > th,\n ${componentCls}-tbody > tr > td,\n tfoot > tr > th,\n tfoot > tr > td\n `]: {\n padding: `${paddingVertical}px ${paddingHorizontal}px`\n },\n [`${componentCls}-filter-trigger`]: {\n marginInlineEnd: `-${paddingHorizontal / 2}px`\n },\n [`${componentCls}-expanded-row-fixed`]: {\n margin: `-${paddingVertical}px -${paddingHorizontal}px`\n },\n [`${componentCls}-tbody`]: {\n // ========================= Nest Table ===========================\n [`${componentCls}-wrapper:only-child ${componentCls}`]: {\n marginBlock: `-${paddingVertical}px`,\n marginInline: `${token.tableExpandColumnWidth - paddingHorizontal}px -${paddingHorizontal}px`\n }\n },\n // https://github.com/ant-design/ant-design/issues/35167\n [`${componentCls}-selection-column`]: {\n paddingInlineStart: `${paddingHorizontal / 4}px`\n }\n }\n });\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, getSizeStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle, token.tableFontSizeMiddle)), getSizeStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall, token.tableFontSizeSmall))\n };\n};\nexport default genSizeStyle;","const genSorterStyle = token => {\n const {\n componentCls,\n marginXXS,\n fontSizeIcon,\n tableHeaderIconColor,\n tableHeaderIconColorHover\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-thead th${componentCls}-column-has-sorters`]: {\n outline: 'none',\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n '&:hover': {\n background: token.tableHeaderSortHoverBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n },\n '&:focus-visible': {\n color: token.colorPrimary\n },\n // https://github.com/ant-design/ant-design/issues/30969\n [`\n &${componentCls}-cell-fix-left:hover,\n &${componentCls}-cell-fix-right:hover\n `]: {\n background: token.tableFixedHeaderSortActiveBg\n }\n },\n [`${componentCls}-thead th${componentCls}-column-sort`]: {\n background: token.tableHeaderSortBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n },\n [`td${componentCls}-column-sort`]: {\n background: token.tableBodySortBg\n },\n [`${componentCls}-column-title`]: {\n position: 'relative',\n zIndex: 1,\n flex: 1\n },\n [`${componentCls}-column-sorters`]: {\n display: 'flex',\n flex: 'auto',\n alignItems: 'center',\n justifyContent: 'space-between',\n '&::after': {\n position: 'absolute',\n inset: 0,\n width: '100%',\n height: '100%',\n content: '\"\"'\n }\n },\n [`${componentCls}-column-sorter`]: {\n marginInlineStart: marginXXS,\n color: tableHeaderIconColor,\n fontSize: 0,\n transition: `color ${token.motionDurationSlow}`,\n '&-inner': {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n '&-up, &-down': {\n fontSize: fontSizeIcon,\n '&.active': {\n color: token.colorPrimary\n }\n },\n [`${componentCls}-column-sorter-up + ${componentCls}-column-sorter-down`]: {\n marginTop: '-0.3em'\n }\n },\n [`${componentCls}-column-sorters:hover ${componentCls}-column-sorter`]: {\n color: tableHeaderIconColorHover\n }\n }\n };\n};\nexport default genSorterStyle;","const genStickyStyle = token => {\n const {\n componentCls,\n opacityLoading,\n tableScrollThumbBg,\n tableScrollThumbBgHover,\n tableScrollThumbSize,\n tableScrollBg,\n zIndexTableSticky\n } = token;\n const tableBorder = `${token.lineWidth}px ${token.lineType} ${token.tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-sticky`]: {\n '&-holder': {\n position: 'sticky',\n zIndex: zIndexTableSticky,\n background: token.colorBgContainer\n },\n '&-scroll': {\n position: 'sticky',\n bottom: 0,\n height: `${tableScrollThumbSize}px !important`,\n zIndex: zIndexTableSticky,\n display: 'flex',\n alignItems: 'center',\n background: tableScrollBg,\n borderTop: tableBorder,\n opacity: opacityLoading,\n '&:hover': {\n transformOrigin: 'center bottom'\n },\n // fake scrollbar style of sticky\n '&-bar': {\n height: tableScrollThumbSize,\n backgroundColor: tableScrollThumbBg,\n borderRadius: 100,\n transition: `all ${token.motionDurationSlow}, transform none`,\n position: 'absolute',\n bottom: 0,\n '&:hover, &-active': {\n backgroundColor: tableScrollThumbBgHover\n }\n }\n }\n }\n }\n };\n};\nexport default genStickyStyle;","const genSummaryStyle = token => {\n const {\n componentCls,\n lineWidth,\n tableBorderColor\n } = token;\n const tableBorder = `${lineWidth}px ${token.lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-summary`]: {\n position: 'relative',\n zIndex: token.zIndexTableFixed,\n background: token.tableBg,\n '> tr': {\n '> th, > td': {\n borderBottom: tableBorder\n }\n }\n },\n [`div${componentCls}-summary`]: {\n boxShadow: `0 -${lineWidth}px 0 ${tableBorderColor}`\n }\n }\n };\n};\nexport default genSummaryStyle;","import { TinyColor } from '@ctrl/tinycolor';\nimport { clearFix, resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genBorderedStyle from './bordered';\nimport genEllipsisStyle from './ellipsis';\nimport genEmptyStyle from './empty';\nimport genExpandStyle from './expand';\nimport genFilterStyle from './filter';\nimport genFixedStyle from './fixed';\nimport genPaginationStyle from './pagination';\nimport genRadiusStyle from './radius';\nimport genRtlStyle from './rtl';\nimport genSelectionStyle from './selection';\nimport genSizeStyle from './size';\nimport genSorterStyle from './sorter';\nimport genStickyStyle from './sticky';\nimport genSummaryStyle from './summary';\nconst genTableStyle = token => {\n const {\n componentCls,\n fontWeightStrong,\n tablePaddingVertical,\n tablePaddingHorizontal,\n lineWidth,\n lineType,\n tableBorderColor,\n tableFontSize,\n tableBg,\n tableRadius,\n tableHeaderTextColor,\n motionDurationMid,\n tableHeaderBg,\n tableHeaderCellSplitColor,\n tableRowHoverBg,\n tableSelectedRowBg,\n tableSelectedRowHoverBg,\n tableFooterTextColor,\n tableFooterBg,\n paddingContentVerticalLG\n } = token;\n const tableBorder = `${lineWidth}px ${lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({\n clear: 'both',\n maxWidth: '100%'\n }, clearFix()), {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n fontSize: tableFontSize,\n background: tableBg,\n borderRadius: `${tableRadius}px ${tableRadius}px 0 0`\n }),\n // https://github.com/ant-design/ant-design/issues/17611\n table: {\n width: '100%',\n textAlign: 'start',\n borderRadius: `${tableRadius}px ${tableRadius}px 0 0`,\n borderCollapse: 'separate',\n borderSpacing: 0\n },\n // ============================= Cell =============================\n [`\n ${componentCls}-thead > tr > th,\n ${componentCls}-tbody > tr > th,\n ${componentCls}-tbody > tr > td,\n tfoot > tr > th,\n tfoot > tr > td\n `]: {\n position: 'relative',\n padding: `${paddingContentVerticalLG}px ${tablePaddingHorizontal}px`,\n overflowWrap: 'break-word'\n },\n // ============================ Title =============================\n [`${componentCls}-title`]: {\n padding: `${tablePaddingVertical}px ${tablePaddingHorizontal}px`\n },\n // ============================ Header ============================\n [`${componentCls}-thead`]: {\n [`\n > tr > th,\n > tr > td\n `]: {\n position: 'relative',\n color: tableHeaderTextColor,\n fontWeight: fontWeightStrong,\n textAlign: 'start',\n background: tableHeaderBg,\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid} ease`,\n \"&[colspan]:not([colspan='1'])\": {\n textAlign: 'center'\n },\n [`&:not(:last-child):not(${componentCls}-selection-column):not(${componentCls}-row-expand-icon-cell):not([colspan])::before`]: {\n position: 'absolute',\n top: '50%',\n insetInlineEnd: 0,\n width: 1,\n height: '1.6em',\n backgroundColor: tableHeaderCellSplitColor,\n transform: 'translateY(-50%)',\n transition: `background-color ${motionDurationMid}`,\n content: '\"\"'\n }\n },\n '> tr:not(:last-child) > th[colspan]': {\n borderBottom: 0\n }\n },\n // ============================ Body ============================\n [`${componentCls}-tbody`]: {\n '> tr': {\n [`> th, > td`]: {\n transition: `background ${motionDurationMid}, border-color ${motionDurationMid}`,\n borderBottom: tableBorder,\n // ========================= Nest Table ===========================\n [`\n > ${componentCls}-wrapper:only-child,\n > ${componentCls}-expanded-row-fixed > ${componentCls}-wrapper:only-child\n `]: {\n [componentCls]: {\n marginBlock: `-${tablePaddingVertical}px`,\n marginInline: `${token.tableExpandColumnWidth - tablePaddingHorizontal}px -${tablePaddingHorizontal}px`,\n [`${componentCls}-tbody > tr:last-child > td`]: {\n borderBottom: 0,\n '&:first-child, &:last-child': {\n borderRadius: 0\n }\n }\n }\n }\n },\n '> th': {\n position: 'relative',\n color: tableHeaderTextColor,\n fontWeight: fontWeightStrong,\n textAlign: 'start',\n background: tableHeaderBg,\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid} ease`\n },\n [`\n &${componentCls}-row:hover > th,\n &${componentCls}-row:hover > td,\n > th${componentCls}-cell-row-hover\n > td${componentCls}-cell-row-hover\n `]: {\n background: tableRowHoverBg\n },\n [`&${componentCls}-row-selected`]: {\n [`> th, > td`]: {\n background: tableSelectedRowBg\n },\n [`&:hover > th, &:hover > td`]: {\n background: tableSelectedRowHoverBg\n }\n }\n }\n },\n // ============================ Footer ============================\n [`${componentCls}-footer`]: {\n padding: `${tablePaddingVertical}px ${tablePaddingHorizontal}px`,\n color: tableFooterTextColor,\n background: tableFooterBg\n }\n })\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Table', token => {\n const {\n controlItemBgActive,\n controlItemBgActiveHover,\n colorTextPlaceholder,\n colorTextHeading,\n colorSplit,\n colorBorderSecondary,\n fontSize,\n padding,\n paddingXS,\n paddingSM,\n controlHeight,\n colorFillAlter,\n colorIcon,\n colorIconHover,\n opacityLoading,\n colorBgContainer,\n borderRadiusLG,\n colorFillContent,\n colorFillSecondary,\n controlInteractiveSize: checkboxSize\n } = token;\n const baseColorAction = new TinyColor(colorIcon);\n const baseColorActionHover = new TinyColor(colorIconHover);\n const tableSelectedRowBg = controlItemBgActive;\n const zIndexTableFixed = 2;\n const colorFillSecondarySolid = new TinyColor(colorFillSecondary).onBackground(colorBgContainer).toHexShortString();\n const colorFillContentSolid = new TinyColor(colorFillContent).onBackground(colorBgContainer).toHexShortString();\n const colorFillAlterSolid = new TinyColor(colorFillAlter).onBackground(colorBgContainer).toHexShortString();\n const tableToken = mergeToken(token, {\n tableFontSize: fontSize,\n tableBg: colorBgContainer,\n tableRadius: borderRadiusLG,\n tablePaddingVertical: padding,\n tablePaddingHorizontal: padding,\n tablePaddingVerticalMiddle: paddingSM,\n tablePaddingHorizontalMiddle: paddingXS,\n tablePaddingVerticalSmall: paddingXS,\n tablePaddingHorizontalSmall: paddingXS,\n tableBorderColor: colorBorderSecondary,\n tableHeaderTextColor: colorTextHeading,\n tableHeaderBg: colorFillAlterSolid,\n tableFooterTextColor: colorTextHeading,\n tableFooterBg: colorFillAlterSolid,\n tableHeaderCellSplitColor: colorBorderSecondary,\n tableHeaderSortBg: colorFillSecondarySolid,\n tableHeaderSortHoverBg: colorFillContentSolid,\n tableHeaderIconColor: baseColorAction.clone().setAlpha(baseColorAction.getAlpha() * opacityLoading).toRgbString(),\n tableHeaderIconColorHover: baseColorActionHover.clone().setAlpha(baseColorActionHover.getAlpha() * opacityLoading).toRgbString(),\n tableBodySortBg: colorFillAlterSolid,\n tableFixedHeaderSortActiveBg: colorFillSecondarySolid,\n tableHeaderFilterActiveBg: colorFillContent,\n tableFilterDropdownBg: colorBgContainer,\n tableRowHoverBg: colorFillAlterSolid,\n tableSelectedRowBg,\n tableSelectedRowHoverBg: controlItemBgActiveHover,\n zIndexTableFixed,\n zIndexTableSticky: zIndexTableFixed + 1,\n tableFontSizeMiddle: fontSize,\n tableFontSizeSmall: fontSize,\n tableSelectionColumnWidth: controlHeight,\n tableExpandIconBg: colorBgContainer,\n tableExpandColumnWidth: checkboxSize + 2 * token.padding,\n tableExpandedRowBg: colorFillAlter,\n // Dropdown\n tableFilterDropdownWidth: 120,\n tableFilterDropdownHeight: 264,\n tableFilterDropdownSearchWidth: 140,\n // Virtual Scroll Bar\n tableScrollThumbSize: 8,\n tableScrollThumbBg: colorTextPlaceholder,\n tableScrollThumbBgHover: colorTextHeading,\n tableScrollBg: colorSplit\n });\n return [genTableStyle(tableToken), genPaginationStyle(tableToken), genSummaryStyle(tableToken), genSorterStyle(tableToken), genFilterStyle(tableToken), genBorderedStyle(tableToken), genRadiusStyle(tableToken), genExpandStyle(tableToken), genSummaryStyle(tableToken), genEmptyStyle(tableToken), genSelectionStyle(tableToken), genFixedStyle(tableToken), genStickyStyle(tableToken), genEllipsisStyle(tableToken), genSizeStyle(tableToken), genRtlStyle(tableToken)];\n});","import classNames from 'classnames';\nimport { convertChildrenToColumns } from \"rc-table/es/hooks/useColumns\";\nimport { INTERNAL_HOOKS } from \"rc-table/es/Table\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider/context';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport SizeContext from '../config-provider/SizeContext';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport defaultLocale from '../locale/en_US';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport scrollTo from '../_util/scrollTo';\nimport warning from '../_util/warning';\nimport renderExpandIcon from './ExpandIcon';\nimport useFilter, { getFilterData } from './hooks/useFilter';\nimport useLazyKVMap from './hooks/useLazyKVMap';\nimport usePagination, { DEFAULT_PAGE_SIZE, getPaginationParam } from './hooks/usePagination';\nimport useSelection from './hooks/useSelection';\nimport useSorter, { getSortData } from './hooks/useSorter';\nimport useTitleColumns from './hooks/useTitleColumns';\nimport RcTable from './RcTable';\nimport useStyle from './style';\nconst EMPTY_LIST = [];\nfunction InternalTable(props, ref) {\n const {\n getPopupContainer: getContextPopupContainer\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n size: customizeSize,\n bordered,\n dropdownPrefixCls: customizeDropdownPrefixCls,\n dataSource,\n pagination,\n rowSelection,\n rowKey = 'key',\n rowClassName,\n columns,\n children,\n childrenColumnName: legacyChildrenColumnName,\n onChange,\n getPopupContainer,\n loading,\n expandIcon,\n expandable,\n expandedRowRender,\n expandIconColumnIndex,\n indentSize,\n scroll,\n sortDirections,\n locale,\n showSorterTooltip = true\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof rowKey === 'function' && rowKey.length > 1), 'Table', '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.') : void 0;\n }\n const baseColumns = React.useMemo(() => columns || convertChildrenToColumns(children), [columns, children]);\n const needResponsive = React.useMemo(() => baseColumns.some(col => col.responsive), [baseColumns]);\n const screens = useBreakpoint(needResponsive);\n const mergedColumns = React.useMemo(() => {\n const matched = new Set(Object.keys(screens).filter(m => screens[m]));\n return baseColumns.filter(c => !c.responsive || c.responsive.some(r => matched.has(r)));\n }, [baseColumns, screens]);\n const tableProps = omit(props, ['className', 'style', 'columns']);\n const size = React.useContext(SizeContext);\n const {\n locale: contextLocale = defaultLocale,\n direction,\n renderEmpty,\n getPrefixCls\n } = React.useContext(ConfigContext);\n const mergedSize = customizeSize || size;\n const tableLocale = Object.assign(Object.assign({}, contextLocale.Table), locale);\n const rawData = dataSource || EMPTY_LIST;\n const prefixCls = getPrefixCls('table', customizePrefixCls);\n const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n const mergedExpandable = Object.assign({\n childrenColumnName: legacyChildrenColumnName,\n expandIconColumnIndex\n }, expandable);\n const {\n childrenColumnName = 'children'\n } = mergedExpandable;\n const expandType = React.useMemo(() => {\n if (rawData.some(item => item === null || item === void 0 ? void 0 : item[childrenColumnName])) {\n return 'nest';\n }\n if (expandedRowRender || expandable && expandable.expandedRowRender) {\n return 'row';\n }\n return null;\n }, [rawData]);\n const internalRefs = {\n body: React.useRef()\n };\n // ============================ RowKey ============================\n const getRowKey = React.useMemo(() => {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return record => record === null || record === void 0 ? void 0 : record[rowKey];\n }, [rowKey]);\n const [getRecordByKey] = useLazyKVMap(rawData, childrenColumnName, getRowKey);\n // ============================ Events =============================\n const changeEventInfo = {};\n const triggerOnChange = function (info, action) {\n let reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n const changeInfo = Object.assign(Object.assign({}, changeEventInfo), info);\n if (reset) {\n changeEventInfo.resetPagination();\n // Reset event param\n if (changeInfo.pagination.current) {\n changeInfo.pagination.current = 1;\n }\n // Trigger pagination events\n if (pagination && pagination.onChange) {\n pagination.onChange(1, changeInfo.pagination.pageSize);\n }\n }\n if (scroll && scroll.scrollToFirstRowOnChange !== false && internalRefs.body.current) {\n scrollTo(0, {\n getContainer: () => internalRefs.body.current\n });\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(changeInfo.pagination, changeInfo.filters, changeInfo.sorter, {\n currentDataSource: getFilterData(getSortData(rawData, changeInfo.sorterStates, childrenColumnName), changeInfo.filterStates),\n action\n });\n };\n /**\n * Controlled state in `columns` is not a good idea that makes too many code (1000+ line?) to read\n * state out and then put it back to title render. Move these code into `hooks` but still too\n * complex. We should provides Table props like `sorter` & `filter` to handle control in next big\n * version.\n */\n // ============================ Sorter =============================\n const onSorterChange = (sorter, sorterStates) => {\n triggerOnChange({\n sorter,\n sorterStates\n }, 'sort', false);\n };\n const [transformSorterColumns, sortStates, sorterTitleProps, getSorters] = useSorter({\n prefixCls,\n mergedColumns,\n onSorterChange,\n sortDirections: sortDirections || ['ascend', 'descend'],\n tableLocale,\n showSorterTooltip\n });\n const sortedData = React.useMemo(() => getSortData(rawData, sortStates, childrenColumnName), [rawData, sortStates]);\n changeEventInfo.sorter = getSorters();\n changeEventInfo.sorterStates = sortStates;\n // ============================ Filter ============================\n const onFilterChange = (filters, filterStates) => {\n triggerOnChange({\n filters,\n filterStates\n }, 'filter', true);\n };\n const [transformFilterColumns, filterStates, filters] = useFilter({\n prefixCls,\n locale: tableLocale,\n dropdownPrefixCls,\n mergedColumns,\n onFilterChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer\n });\n const mergedData = getFilterData(sortedData, filterStates);\n changeEventInfo.filters = filters;\n changeEventInfo.filterStates = filterStates;\n // ============================ Column ============================\n const columnTitleProps = React.useMemo(() => {\n const mergedFilters = {};\n Object.keys(filters).forEach(filterKey => {\n if (filters[filterKey] !== null) {\n mergedFilters[filterKey] = filters[filterKey];\n }\n });\n return Object.assign(Object.assign({}, sorterTitleProps), {\n filters: mergedFilters\n });\n }, [sorterTitleProps, filters]);\n const [transformTitleColumns] = useTitleColumns(columnTitleProps);\n // ========================== Pagination ==========================\n const onPaginationChange = (current, pageSize) => {\n triggerOnChange({\n pagination: Object.assign(Object.assign({}, changeEventInfo.pagination), {\n current,\n pageSize\n })\n }, 'paginate');\n };\n const [mergedPagination, resetPagination] = usePagination(mergedData.length, onPaginationChange, pagination);\n changeEventInfo.pagination = pagination === false ? {} : getPaginationParam(mergedPagination, pagination);\n changeEventInfo.resetPagination = resetPagination;\n // ============================= Data =============================\n const pageData = React.useMemo(() => {\n if (pagination === false || !mergedPagination.pageSize) {\n return mergedData;\n }\n const {\n current = 1,\n total,\n pageSize = DEFAULT_PAGE_SIZE\n } = mergedPagination;\n process.env.NODE_ENV !== \"production\" ? warning(current > 0, 'Table', '`current` should be positive number.') : void 0;\n // Dynamic table data\n if (mergedData.length < total) {\n if (mergedData.length > pageSize) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Table', '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.') : void 0;\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }\n return mergedData;\n }\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }, [!!pagination, mergedData, mergedPagination && mergedPagination.current, mergedPagination && mergedPagination.pageSize, mergedPagination && mergedPagination.total]);\n // ========================== Selections ==========================\n const [transformSelectionColumns, selectedKeySet] = useSelection({\n prefixCls,\n data: mergedData,\n pageData,\n getRowKey,\n getRecordByKey,\n expandType,\n childrenColumnName,\n locale: tableLocale,\n getPopupContainer: getPopupContainer || getContextPopupContainer\n }, rowSelection);\n const internalRowClassName = (record, index, indent) => {\n let mergedRowClassName;\n if (typeof rowClassName === 'function') {\n mergedRowClassName = classNames(rowClassName(record, index, indent));\n } else {\n mergedRowClassName = classNames(rowClassName);\n }\n return classNames({\n [`${prefixCls}-row-selected`]: selectedKeySet.has(getRowKey(record, index))\n }, mergedRowClassName);\n };\n // ========================== Expandable ==========================\n // Pass origin render status into `rc-table`, this can be removed when refactor with `rc-table`\n mergedExpandable.__PARENT_RENDER_ICON__ = mergedExpandable.expandIcon;\n // Customize expandable icon\n mergedExpandable.expandIcon = mergedExpandable.expandIcon || expandIcon || renderExpandIcon(tableLocale);\n // Adjust expand icon index, no overwrite expandIconColumnIndex if set.\n if (expandType === 'nest' && mergedExpandable.expandIconColumnIndex === undefined) {\n mergedExpandable.expandIconColumnIndex = rowSelection ? 1 : 0;\n } else if (mergedExpandable.expandIconColumnIndex > 0 && rowSelection) {\n mergedExpandable.expandIconColumnIndex -= 1;\n }\n // Indent size\n if (typeof mergedExpandable.indentSize !== 'number') {\n mergedExpandable.indentSize = typeof indentSize === 'number' ? indentSize : 15;\n }\n // ============================ Render ============================\n const transformColumns = React.useCallback(innerColumns => transformTitleColumns(transformSelectionColumns(transformFilterColumns(transformSorterColumns(innerColumns)))), [transformSorterColumns, transformFilterColumns, transformSelectionColumns]);\n let topPaginationNode;\n let bottomPaginationNode;\n if (pagination !== false && (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total)) {\n let paginationSize;\n if (mergedPagination.size) {\n paginationSize = mergedPagination.size;\n } else {\n paginationSize = mergedSize === 'small' || mergedSize === 'middle' ? 'small' : undefined;\n }\n const renderPagination = position => /*#__PURE__*/React.createElement(Pagination, Object.assign({}, mergedPagination, {\n className: classNames(`${prefixCls}-pagination ${prefixCls}-pagination-${position}`, mergedPagination.className),\n size: paginationSize\n }));\n const defaultPosition = direction === 'rtl' ? 'left' : 'right';\n const {\n position\n } = mergedPagination;\n if (position !== null && Array.isArray(position)) {\n const topPos = position.find(p => p.includes('top'));\n const bottomPos = position.find(p => p.includes('bottom'));\n const isDisable = position.every(p => `${p}` === 'none');\n if (!topPos && !bottomPos && !isDisable) {\n bottomPaginationNode = renderPagination(defaultPosition);\n }\n if (topPos) {\n topPaginationNode = renderPagination(topPos.toLowerCase().replace('top', ''));\n }\n if (bottomPos) {\n bottomPaginationNode = renderPagination(bottomPos.toLowerCase().replace('bottom', ''));\n }\n } else {\n bottomPaginationNode = renderPagination(defaultPosition);\n }\n }\n // >>>>>>>>> Spinning\n let spinProps;\n if (typeof loading === 'boolean') {\n spinProps = {\n spinning: loading\n };\n } else if (typeof loading === 'object') {\n spinProps = Object.assign({\n spinning: true\n }, loading);\n }\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const wrapperClassNames = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-wrapper-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n const emptyText = locale && locale.emptyText || (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"Table\"\n });\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: wrapperClassNames,\n style: style\n }, /*#__PURE__*/React.createElement(Spin, Object.assign({\n spinning: false\n }, spinProps), topPaginationNode, /*#__PURE__*/React.createElement(RcTable, Object.assign({}, tableProps, {\n columns: mergedColumns,\n direction: direction,\n expandable: mergedExpandable,\n prefixCls: prefixCls,\n className: classNames({\n [`${prefixCls}-middle`]: mergedSize === 'middle',\n [`${prefixCls}-small`]: mergedSize === 'small',\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-empty`]: rawData.length === 0\n }),\n data: pageData,\n rowKey: getRowKey,\n rowClassName: internalRowClassName,\n emptyText: emptyText,\n // Internal\n internalHooks: INTERNAL_HOOKS,\n internalRefs: internalRefs,\n transformColumns: transformColumns\n })), bottomPaginationNode)));\n}\nexport default /*#__PURE__*/React.forwardRef(InternalTable);","import * as React from 'react';\nexport default function useLazyKVMap(data, childrenColumnName, getRowKey) {\n const mapCacheRef = React.useRef({});\n function getRecordByKey(key) {\n if (!mapCacheRef.current || mapCacheRef.current.data !== data || mapCacheRef.current.childrenColumnName !== childrenColumnName || mapCacheRef.current.getRowKey !== getRowKey) {\n const kvMap = new Map();\n /* eslint-disable no-inner-declarations */\n function dig(records) {\n records.forEach((record, index) => {\n const rowKey = getRowKey(record, index);\n kvMap.set(rowKey, record);\n if (record && typeof record === 'object' && childrenColumnName in record) {\n dig(record[childrenColumnName] || []);\n }\n });\n }\n /* eslint-enable */\n dig(data);\n mapCacheRef.current = {\n data,\n childrenColumnName,\n kvMap,\n getRowKey\n };\n }\n return mapCacheRef.current.kvMap.get(key);\n }\n return [getRecordByKey];\n}","import raf from \"rc-util/es/raf\";\nimport { easeInOutCubic } from './easings';\nimport getScroll, { isWindow } from './getScroll';\nexport default function scrollTo(y) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n getContainer = () => window,\n callback,\n duration = 450\n } = options;\n const container = getContainer();\n const scrollTop = getScroll(container, true);\n const startTime = Date.now();\n const frameFunc = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n const nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);\n if (isWindow(container)) {\n container.scrollTo(window.pageXOffset, nextScrollTop);\n } else if (container instanceof Document || container.constructor.name === 'HTMLDocument') {\n container.documentElement.scrollTop = nextScrollTop;\n } else {\n container.scrollTop = nextScrollTop;\n }\n if (time < duration) {\n raf(frameFunc);\n } else if (typeof callback === 'function') {\n callback();\n }\n };\n raf(frameFunc);\n}","// eslint-disable-next-line import/prefer-default-export\nexport function easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n }\n // eslint-disable-next-line no-return-assign\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}","import classNames from 'classnames';\nimport * as React from 'react';\nfunction renderExpandIcon(locale) {\n return function expandIcon(_ref) {\n let {\n prefixCls,\n onExpand,\n record,\n expanded,\n expandable\n } = _ref;\n const iconPrefix = `${prefixCls}-row-expand-icon`;\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: e => {\n onExpand(record, e);\n e.stopPropagation();\n },\n className: classNames(iconPrefix, {\n [`${iconPrefix}-spaced`]: !expandable,\n [`${iconPrefix}-expanded`]: expandable && expanded,\n [`${iconPrefix}-collapsed`]: expandable && !expanded\n }),\n \"aria-label\": expanded ? locale.collapse : locale.expand,\n \"aria-expanded\": expanded\n });\n };\n}\nexport default renderExpandIcon;","import * as React from 'react';\nimport { Summary, EXPAND_COLUMN } from 'rc-table';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport InternalTable from './InternalTable';\nimport { SELECTION_ALL, SELECTION_COLUMN, SELECTION_INVERT, SELECTION_NONE } from './hooks/useSelection';\nfunction Table(props, ref) {\n const renderTimesRef = React.useRef(0);\n renderTimesRef.current += 1;\n return /*#__PURE__*/React.createElement(InternalTable, Object.assign({}, props, {\n ref: ref,\n _renderTimes: renderTimesRef.current\n }));\n}\nconst ForwardTable = /*#__PURE__*/React.forwardRef(Table);\nForwardTable.SELECTION_COLUMN = SELECTION_COLUMN;\nForwardTable.EXPAND_COLUMN = EXPAND_COLUMN;\nForwardTable.SELECTION_ALL = SELECTION_ALL;\nForwardTable.SELECTION_INVERT = SELECTION_INVERT;\nForwardTable.SELECTION_NONE = SELECTION_NONE;\nForwardTable.Column = Column;\nForwardTable.ColumnGroup = ColumnGroup;\nForwardTable.Summary = Summary;\nexport default ForwardTable;","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\n// eslint-disable-next-line no-unused-vars\nfunction Column(_) {\n return null;\n}\nexport default Column;","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\n// eslint-disable-next-line no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\nexport default ColumnGroup;","import Table from './Table';\nexport default Table;","import { TinyColor } from '@ctrl/tinycolor';\nexport const getAlphaColor = (baseColor, alpha) => new TinyColor(baseColor).setAlpha(alpha).toRgbString();\nexport const getSolidColor = (baseColor, brightness) => {\n const instance = new TinyColor(baseColor);\n return instance.lighten(brightness).toHexString();\n};","import { generate } from '@ant-design/colors';\nimport { getAlphaColor, getSolidColor } from './colorAlgorithm';\nexport const generateColorPalettes = baseColor => {\n const colors = generate(baseColor, {\n theme: 'dark'\n });\n return {\n 1: colors[0],\n 2: colors[1],\n 3: colors[2],\n 4: colors[3],\n 5: colors[6],\n 6: colors[5],\n 7: colors[4],\n 8: colors[6],\n 9: colors[5],\n 10: colors[4]\n // 8: colors[9],\n // 9: colors[8],\n // 10: colors[7],\n };\n};\n\nexport const generateNeutralColorPalettes = (bgBaseColor, textBaseColor) => {\n const colorBgBase = bgBaseColor || '#000';\n const colorTextBase = textBaseColor || '#fff';\n return {\n colorBgBase,\n colorTextBase,\n colorText: getAlphaColor(colorTextBase, 0.85),\n colorTextSecondary: getAlphaColor(colorTextBase, 0.65),\n colorTextTertiary: getAlphaColor(colorTextBase, 0.45),\n colorTextQuaternary: getAlphaColor(colorTextBase, 0.25),\n colorFill: getAlphaColor(colorTextBase, 0.18),\n colorFillSecondary: getAlphaColor(colorTextBase, 0.12),\n colorFillTertiary: getAlphaColor(colorTextBase, 0.08),\n colorFillQuaternary: getAlphaColor(colorTextBase, 0.04),\n colorBgElevated: getSolidColor(colorBgBase, 12),\n colorBgContainer: getSolidColor(colorBgBase, 8),\n colorBgLayout: getSolidColor(colorBgBase, 0),\n colorBgSpotlight: getSolidColor(colorBgBase, 26),\n colorBorder: getSolidColor(colorBgBase, 26),\n colorBorderSecondary: getSolidColor(colorBgBase, 19)\n };\n};","import genControlHeight from '../shared/genControlHeight';\nimport defaultAlgorithm from '../default';\nimport genCompactSizeMapToken from './genCompactSizeMapToken';\nimport genFontMapToken from '../shared/genFontMapToken';\nconst derivative = (token, mapToken) => {\n const mergedMapToken = mapToken !== null && mapToken !== void 0 ? mapToken : defaultAlgorithm(token);\n const fontSize = mergedMapToken.fontSizeSM; // Smaller size font-size as base\n const controlHeight = mergedMapToken.controlHeight - 4;\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mergedMapToken), genCompactSizeMapToken(mapToken !== null && mapToken !== void 0 ? mapToken : token)), genFontMapToken(fontSize)), {\n // controlHeight\n controlHeight\n }), genControlHeight(Object.assign(Object.assign({}, mergedMapToken), {\n controlHeight\n })));\n};\nexport default derivative;","/* eslint-disable import/prefer-default-export */\nimport { defaultConfig, useToken as useInternalToken } from './internal';\nimport defaultAlgorithm from './themes/default';\nimport darkAlgorithm from './themes/dark';\nimport compactAlgorithm from './themes/compact';\n// ZombieJ: We export as object to user but array in internal.\n// This is used to minimize the bundle size for antd package but safe to refactor as object also.\n// Please do not export internal `useToken` directly to avoid something export unexpected.\n/** Get current context Design Token. Will be different if you are using nest theme config. */\nfunction useToken() {\n const [theme, token, hashId] = useInternalToken();\n return {\n theme,\n token,\n hashId\n };\n}\nexport default {\n /** @private Test Usage. Do not use in production. */\n defaultConfig,\n /** Default seedToken */\n defaultSeed: defaultConfig.token,\n useToken,\n defaultAlgorithm,\n darkAlgorithm,\n compactAlgorithm\n};","import { generate } from '@ant-design/colors';\nimport { defaultPresetColors } from '../seed';\nimport genColorMapToken from '../shared/genColorMapToken';\nimport { generateColorPalettes, generateNeutralColorPalettes } from './colors';\nimport defaultAlgorithm from '../default';\nconst derivative = (token, mapToken) => {\n const colorPalettes = Object.keys(defaultPresetColors).map(colorKey => {\n const colors = generate(token[colorKey], {\n theme: 'dark'\n });\n return new Array(10).fill(1).reduce((prev, _, i) => {\n prev[`${colorKey}-${i + 1}`] = colors[i];\n prev[`${colorKey}${i + 1}`] = colors[i];\n return prev;\n }, {});\n }).reduce((prev, cur) => {\n prev = Object.assign(Object.assign({}, prev), cur);\n return prev;\n }, {});\n const mergedMapToken = mapToken !== null && mapToken !== void 0 ? mapToken : defaultAlgorithm(token);\n return Object.assign(Object.assign(Object.assign({}, mergedMapToken), colorPalettes), genColorMapToken(token, {\n generateColorPalettes,\n generateNeutralColorPalettes\n }));\n};\nexport default derivative;","export default function genSizeMapToken(token) {\n const {\n sizeUnit,\n sizeStep\n } = token;\n const compactSizeStep = sizeStep - 2;\n return {\n sizeXXL: sizeUnit * (compactSizeStep + 10),\n sizeXL: sizeUnit * (compactSizeStep + 6),\n sizeLG: sizeUnit * (compactSizeStep + 2),\n sizeMD: sizeUnit * (compactSizeStep + 2),\n sizeMS: sizeUnit * (compactSizeStep + 1),\n size: sizeUnit * compactSizeStep,\n sizeSM: sizeUnit * compactSizeStep,\n sizeXS: sizeUnit * (compactSizeStep - 1),\n sizeXXS: sizeUnit * (compactSizeStep - 1)\n };\n}","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};"],"names":["EXPAND_COLUMN","holder","selector","eventSelector","useEvent","ctx","undefined","Array","isArray","obj","forEach","key","context","Context","_ref2","listeners","getValue","valueRef","current","defaultValue","_React$useState3","forceUpdate","useLayoutEffect","add","trigger","delete","nextValue","nextSelectorValue","isEqual","ImmutableContext","useImmutableMark","responseImmutable","Component","propsAreEqual","refAble","ImmutableComponent","props","ref","refProps","TableContext","Provider","_ref","value","children","_React$useState","Set","unstable_batchedUpdates","listener","times","debug","timesRef","propsRef","keys","Object","map","_propsRef$current","push","keysRef","length","join","useRenderTimes","displayName","renderWithProps","INTERNAL_KEY_PREFIX","getColumnsKey","columns","columnKeys","column","arr","dataIndex","mergedKey","concat","validateValue","val","Cell","_ref3","_legacyCellProps$colS","_ref4","_ref5","_legacyCellProps$rowS","_additionalProps$titl","_classNames","component","ellipsis","scope","prefixCls","className","align","record","render","renderIndex","shouldCellUpdate","index","rowType","colSpan","rowSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_props$additionalProp","additionalProps","isSticky","cellPrefixCls","_useContext","supportSticky","allColumnsFixedLeft","_useCellRender","perfRecord","mark","useMemo","data","path","get","returnChildNode","returnCellProps","renderData","prev","next","prevRecord","nextRecord","useCellRender","_useCellRender2","childNode","legacyCellProps","fixedStyle","isFixLeft","isFixRight","position","left","right","mergedColSpan","mergedRowSpan","_useHoverState","rowIndex","cellStartRow","cellRowSpan","startRow","endRow","hoverStartRow","hoverEndRow","onHover","useHoverState","_useHoverState2","hovering","title","ellipsisConfig","showTitle","toString","getTitleFromCellRenderChildren","mergedClassName","alignStyle","textAlign","mergedStyle","style","mergedChildNode","onMouseEnter","event","_additionalProps$onMo","call","onMouseLeave","_additionalProps$onMo2","getCellFixedInfo","colStart","colEnd","stickyOffsets","direction","curColumns","startColumn","endColumn","fixed","nextColumn","prevColumn","canLastFix","_excluded","Summary","Row","_ref$colSpan","_React$useContext","scrollColumnIndex","flattenColumns","fixedInfo","lastColumnIndex","scrollColumn","summaryContext","scrollbar","FooterComponents","isStyleNameSupport","styleName","canUseDom","window","document","documentElement","styleNameList","some","name","isStyleValueSupport","ele","createElement","origin","flatRecord","indent","childrenColumnName","expandedKeys","getRowKey","expanded","has","i","tempArr","apply","cellComponent","isEmpty","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","width","overflow","display","BodyRow","rowKey","rowExpandable","onRow","_props$indent","RowComponent","rowComponent","scopeCellComponent","fixedInfoList","expandableType","expandRowByClick","onTriggerExpand","rowClassName","expandedRowClassName","indentSize","expandIcon","expandedRowRender","expandIconColumnIndex","_React$useState2","expandRended","setExpandRended","rowSupportExpand","nestExpandable","hasNestChildren","mergedExpandable","onExpandRef","computeRowClassName","onInternalTriggerExpand","arguments","expandRowNode","columnsKey","baseRowNode","onClick","_additionalProps$onCl","_len","args","_key","colIndex","appendCellNode","additionalCellProps","columnClassName","paddingLeft","expandable","onExpand","onCell","rowScope","expandContent","computedExpandedRowClassName","MeasureCell","columnKey","onColumnResize","cellRef","offsetWidth","padding","border","height","MeasureRow","fontSize","Collection","onBatchResize","infoList","size","Body","rows","measureColumnWidth","emptyNode","getComponent","flattenData","temp","item","useFlattenRecords","perfRef","WrapperComponent","trComponent","tdComponent","thComponent","idx","INTERNAL_COL_DEFINE","colWidths","cols","mustInsert","columCount","restAdditionalProps","columnType","unshift","FixedHolder","noData","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","restProps","combinationScrollBarSize","scrollRef","setScrollRef","element","_scrollRef$current","onWheel","e","currentTarget","deltaX","scrollLeft","preventDefault","addEventListener","_scrollRef$current2","removeEventListener","allFlattenColumnsWithWidth","every","lastColumn","ScrollBarColumn","onHeaderCell","columnsWithScrollbar","flattenColumnsWithScrollbar","headerStickyOffsets","mergedColumnWidth","cloneColumns","useColumnWidth","top","bottom","tableLayout","visibility","HeaderRow","rowProps","cells","CellComponent","tdCellComponent","onHeaderRow","cell","cellIndex","rootColumns","fillRowCells","currentColIndex","filter","Boolean","subColumns","reduce","total","count","hasSubColumns","rowCount","_loop","parseHeaderRows","row","_excluded2","convertChildrenToColumns","node","nodeChildren","flatColumns","list","parsedFixed","subColum","transformColumns","columnTitle","columnWidth","baseColumns","withExpandColumns","_expandColumn","slice","includes","expandColIndex","splice","expandColumnIndex","indexOf","fixedColumn","expandColumn","_","recordExpandable","icon","stopPropagation","col","mergedColumns","finalColumns","revertForRtl","renderExpandIcon","expandClassName","useLayoutState","defaultState","stateRef","useRef","_useState","useState","lastPromiseRef","updateBatchRef","useEffect","updater","promise","Promise","resolve","then","prevBatch","prevState","batchUpdater","defaultContainer","columnCount","leftOffsets","rightOffsets","start","end","_end","addEventListenerWrap","target","eventType","cb","option","callback","remove","getOffset","box","getBoundingClientRect","docElem","pageXOffset","clientLeft","body","pageYOffset","scrollTop","clientTop","StickyScrollBar","_scrollBodyRef$curren","_scrollBodyRef$curren2","scrollBodyRef","offsetScroll","container","bodyScrollWidth","scrollWidth","bodyWidth","clientWidth","scrollBarWidth","scrollBarRef","_useLayoutState","isHiddenScrollBar","_useLayoutState2","scrollState","setScrollState","refState","delta","x","isActive","setActive","onMouseUp","onMouseMove","_window","buttons","pageX","onContainerScroll","tableOffsetTop","tableBottomOffset","offsetHeight","currentClientOffset","innerHeight","clientHeight","getScrollBarSize","state","setScrollLeft","onMouseUpListener","onMouseMoveListener","onScrollListener","onResizeListener","bodyNode","onMouseDown","persist","transform","EMPTY_DATA","EMPTY_SCROLL_TARGET","INTERNAL_HOOKS","defaultEmpty","tableProps","scrollXStyle","scrollYStyle","scrollTableStyle","emptyText","scroll","footer","summary","caption","id","showHeader","components","internalHooks","internalRefs","sticky","mergedData","hasData","defaultComponent","_useHover","setStartRow","_React$useState4","setEndRow","useHover","_useHover2","_useExpand","expandableConfig","config","legacyExpandableConfig","showExpandColumn","getExpandableProps","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","onExpandedRowsChange","mergedExpandIcon","mergedChildrenColumnName","__PARENT_RENDER_ICON__","dig","findAllChildrenKeys","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","hasKey","useExpand","_useExpand2","setComponentWidth","_useColumns","_useColumns2","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","scrollSummaryRef","pingedLeft","setPingedLeft","_React$useState5","_React$useState6","pingedRight","setPingedRight","Map","colsWidths","updateColsWidths","pureColWidths","y","stickyRef","_useSticky","_ref$offsetHeader","offsetHeader","_ref$offsetSummary","offsetSummary","_ref$offsetScroll","_ref$getContainer","getContainer","useSticky","summaryNode","fixFooter","type","overflowY","maxHeight","overflowX","minWidth","isVisible","widths","newWidths","set","_useTimeoutLock","frameRef","timeoutRef","cleanUp","clearTimeout","newState","setTimeout","useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","_stickyRef$current","isRTL","mergedScrollLeft","compareTarget","triggerOnScroll","mounted","_React$useState7","_React$useState8","setScrollbarSize","_React$useState9","_React$useState10","setSupportSticky","styleValue","Element","groupTableNode","renderFixedHeaderTable","fixedHolderPassProps","renderFixedFooterTable","TableComponent","mergedTableLayout","headerProps","bodyTable","bodyColGroup","captionElement","customizeScrollBody","dataProps","pickAttrs","ariaProps","aria","bodyContent","_ref6","colWidth","Number","isNaN","fixedHolderProps","fullTable","onResize","useFixedInfo","TableContextValue","genTable","shouldTriggerRender","renderTimesRef","prevProps","makeImmutable","ImmutableTable","Column","ColumnGroup","useForceUpdate","responsiveArray","refreshOnChange","screensRef","responsiveObserver","token","responsiveMap","xs","screenXSMax","sm","screenSM","md","screenMD","lg","screenLG","xl","screenXL","xxl","screenXXL","getResponsiveMap","indexableToken","revBreakpoints","reverse","breakpoint","breakpointUpper","toUpperCase","screenMin","screen","Error","screenMax","nextScreenMin","validateBreakpoints","subscribers","subUid","screens","matchHandlers","dispatch","pointMap","func","subscribe","this","register","unsubscribe","paramToken","unregister","matchMediaQuery","handler","mql","removeListener","clear","matches","assign","matchMedia","addListener","useResponsiveObserver","supportScreens","AntdIcon","Options","_React$Component","_super","_this","goInputText","getValidValue","buildOptionText","locale","items_per_page","changeSize","handleChange","setState","handleBlur","_this$props","goButton","quickGo","rootPrefixCls","relatedTarget","go","keyCode","_this$props2","pageSize","pageSizeOptions","sort","a","b","_this2","_this$props3","selectComponentClass","selectPrefixCls","disabled","Select","changeSelect","goInput","gotoButton","getPageSizeOptions","options","opt","Option","showSearch","optionLabelProp","dropdownMatchSelectWidth","onChange","getPopupContainer","triggerNode","parentNode","page_size","defaultOpen","onKeyUp","jump_to_confirm","jump_to","onBlur","page","defaultProps","active","onKeyPress","itemRender","cls","tabIndex","rel","noop","isInteger","v","isFinite","Math","floor","calculatePage","p","Pagination","paginationNode","getJumpPrevPage","max","showLessItems","getJumpNextPage","min","getItemIcon","label","iconNode","isValid","shouldDisplayQuickJumper","showQuickJumper","handleKeyDown","handleKeyUp","currentInputValue","changePageSize","newCurrent","onShowSizeChange","_this$state","currentPage","newPage","hasPrev","hasNext","jumpPrev","jumpNext","runIfEnter","charCode","restParams","runIfEnterPrev","runIfEnterNext","runIfEnterJumpPrev","runIfEnterJumpNext","handleGoTO","renderPrev","prevPage","prevIcon","prevButton","isValidElement","cloneElement","renderNext","nextPage","_this$props4","nextIcon","nextButton","hasOnChange","console","warn","_current","defaultCurrent","_pageSize","defaultPageSize","_lastCurrentNode$blur","lastCurrentNode","querySelector","activeElement","blur","inputValue","allPages","_this$props5","showSizeChanger","totalBoundaryShowSizeChanger","_this$props6","hideOnSinglePage","showTotal","simple","showPrevNextJumpers","jumpPrevIcon","jumpNextIcon","_this$state2","pagerList","firstPager","lastPager","pageBufferSize","dataOrAriaAttributeProps","substr","totalText","prev_page","onKeyDown","next_page","pagerProps","prevItemTitle","prev_3","prev_5","nextItemTitle","next_3","next_5","last","_i","_active","prevDisabled","nextDisabled","getShowSizeChanger","SECRET_COMBOBOX_MODE_DO_NOT_USE","InternalSelect","_a","customizePrefixCls","bordered","rootClassName","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","customizeSize","customDisabled","notFoundContent","status","customStatus","showArrow","s","t","prototype","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","__rest","getContextPopupContainer","getPrefixCls","renderEmpty","virtual","select","SizeContext","compactSize","compactItemClassnames","wrapSSR","hashId","mode","m","isMultiple","mergedShowArrow","useShowArrow","contextStatus","hasFeedback","isFormItemInput","feedbackIcon","mergedStatus","mergedNotFound","componentName","suffixIcon","itemIcon","removeIcon","clearIcon","multiple","selectProps","rcSelectRtlDropdownClassName","mergedSize","DisabledContext","mergedDisabled","transitionName","inputIcon","menuItemSelectedIcon","OptGroup","_InternalPanelDoNotUseOrYouWillBeFired","MiniSelect","MiddleSelect","genHoverStyle","borderColor","inputBorderHoverColor","borderInlineEndWidth","lineWidth","genActiveStyle","boxShadow","controlOutlineWidth","controlOutline","outline","genDisabledStyle","color","colorTextDisabled","backgroundColor","colorBgContainerDisabled","colorBorder","cursor","opacity","genInputLargeStyle","inputPaddingVerticalLG","fontSizeLG","lineHeightLG","borderRadiusLG","inputPaddingHorizontalLG","lineHeight","borderRadius","genInputSmallStyle","inputPaddingVerticalSM","controlPaddingHorizontalSM","borderRadiusSM","genStatusStyle","parentCls","componentCls","colorError","colorWarning","colorErrorOutline","colorWarningOutline","colorErrorBorderHover","colorWarningBorderHover","inputBorderActiveColor","genBasicInputStyle","inputPaddingVertical","inputPaddingHorizontal","colorText","colorBgContainer","backgroundImage","borderWidth","borderStyle","lineType","transition","motionDurationMid","colorTextPlaceholder","userSelect","textOverflow","maxWidth","minHeight","controlHeight","verticalAlign","motionDurationSlow","resize","genInputGroupStyle","antCls","borderCollapse","borderSpacing","paddingInlineEnd","paddingXS","controlHeightLG","controlHeightSM","whiteSpace","fontWeight","colorFillAlter","margin","colorPrimary","borderInlineEnd","borderInlineStart","marginBottom","zIndex","borderStartEndRadius","borderEndEndRadius","borderStartStartRadius","borderEndStartRadius","float","marginInlineEnd","marginInlineStart","genInputStyle","colorSmallPadding","paddingTop","paddingBottom","genAllowClearStyle","colorTextQuaternary","fontSizeIcon","colorTextTertiary","inputAffixPadding","genAffixStyle","colorTextDescription","colorIcon","colorIconHover","iconCls","background","content","flex","alignItems","paddingXXS","genGroupStyle","genSearchInputStyle","searchPrefixCls","colorPrimaryHover","borderInlineStartColor","insetInlineStart","colorPrimaryActive","insetInlineEnd","insetBlockStart","insetBlockEnd","initInputToken","round","ceil","paddingSM","inputPaddingHorizontalSM","controlPaddingHorizontal","genTextAreaStyle","paddingLG","textareaPrefixCls","pointerEvents","marginInline","genComponentStyleHook","inputToken","genPaginationDisabledStyle","paginationItemDisabledBgActive","paginationItemDisabledColorActive","genPaginationMiniStyle","paginationItemSizeSM","paginationMiniOptionsMarginInlineStart","paginationMiniOptionsSizeChangerTop","input","paginationMiniQuickJumperInputWidth","genPaginationSimpleStyle","marginXS","boxSizing","paginationItemPaddingInline","paginationItemInputBg","inputOutlineOffset","genPaginationJumpStyle","fontSizeSM","fontFamily","letterSpacing","paginationEllipsisLetterSpacing","textIndent","paginationEllipsisTextIndent","paginationItemSize","paginationFontFamily","listStyle","button","colorBgTextHover","colorBgTextActive","paginationSlashMarginInlineEnd","paginationSlashMarginInlineStart","genPaginationItemStyle","textDecoration","paginationFontWeightActive","paginationItemBgActive","genPaginationStyle","genBorderedStyle","paginationItemBg","paginationItemLinkBg","paginationToken","fontWeightStrong","controlItemBgActiveDisabled","marginXXS","marginSM","wireframe","customizeSelectPrefixCls","customLocale","responsive","pagination","mergedShowSizeChanger","contextLocale","useLocale","isSmall","extendedClassName","getIconsProps","isFragment","child","replacement","replaceElement","antSpinMove","to","antRotate","genSpinStyle","motionEaseInOutCirc","contentHeight","spinDotSize","textShadow","marginTop","spinDotSizeSM","spinDotSizeLG","spinDotDefault","transformOrigin","animationName","animationDuration","animationIterationCount","animationTimingFunction","animationDirection","animationDelay","spinToken","defaultIndicator","Spin","spinPrefixCls","spinning","customSpinning","delay","tip","wrapperClassName","setSpinning","shouldDelay","showSpinning","_ref$atBegin","atBegin","timeoutID","_ref$noTrailing","noTrailing","_ref$noLeading","noLeading","_ref$debounceMode","debounceMode","cancelled","lastExec","clearExistingTimeout","wrapper","arguments_","self","elapsed","Date","now","exec","cancel","_ref2$upcomingOnly","upcomingOnly","throttle","debounce","isNestedPattern","spinClassName","containerClassName","divProps","spinElement","indicator","dotClassName","renderIndicator","SpinFC","spinClassProps","setDefaultIndicator","isWindow","getColumnKey","defaultKey","getColumnPos","pos","renderColumnTitle","genWaveStyle","motionEaseOutCirc","createRoot","fullClone","version","reactRender","unmountComponentAtNode","split","toggleWarning","skip","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","usingClientEntryPoint","MARK","modernUnmount","_x","_modernUnmount","_callee","wrap","_context","abrupt","_container$MARK","unmount","stop","legacyUnmount","_unmount","_callee2","_context2","isValidWaveColor","match","isNotGrey","test","validateNum","WaveEffect","divRef","setWaveColor","setBorderRadius","setLeft","setTop","setWidth","setHeight","enabled","setEnabled","waveStyle","radius","syncPos","nodeStyle","getComputedStyle","borderTopColor","getTargetWaveColor","isStatic","borderLeftWidth","borderTopWidth","offsetLeft","parseFloat","offsetTop","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","raf","resizeObserver","ResizeObserver","observe","disconnect","visible","motionAppear","motionName","motionDeadline","onAppearEnd","deadline","propertyName","parentElement","_x2","removeChild","motionClassName","useWave","nodeRef","insertBefore","firstChild","root","modernRender","legacyRender","showWaveEffect","useContext","containerRef","showWave","nodeType","tagName","getAttribute","GroupSizeContext","rxTwoCNChar","isTwoCNChar","bind","isUnBorderedButtonType","getCollapsedWidth","getRealWidth","loading","existIcon","LoadingOutlined","removeOnLeave","onAppearStart","onAppearActive","onEnterStart","onEnterActive","onLeaveStart","onLeaveActive","genButtonBorderStyle","buttonTypeCls","borderInlineEndColor","colorErrorHover","compactItemVerticalBorder","genCompactItemVerticalStyle","compactCls","genSharedButtonStyle","motionEaseInOut","touchAction","genHoverActiveButtonStyle","hoverStyle","activeStyle","genCircleButtonStyle","paddingInlineStart","genRoundButtonStyle","genGhostButtonStyle","btnCls","textColor","textColorDisabled","borderColorDisabled","genSolidDisabledButtonStyle","genSolidButtonStyle","genPureDisabledButtonStyle","genDefaultButtonStyle","controlTmpOutline","colorErrorActive","genPrimaryButtonStyle","colorTextLightSolid","genDashedButtonStyle","genLinkButtonStyle","colorLink","colorLinkHover","colorLinkActive","genTextButtonStyle","colorErrorBg","genDisabledButtonStyle","genTypeButtonStyle","genSizeButtonStyle","sizePrefixCls","buttonPaddingHorizontal","iconOnlyCls","opacityLoading","genSizeBaseButtonStyle","genSizeSmallButtonStyle","smallToken","genSizeLargeButtonStyle","largeToken","genBlockButtonStyle","paddingContentHorizontal","buttonToken","colorOutlineDefault","InternalButton","danger","shape","ghost","block","htmlType","rest","autoInsertSpaceInButton","groupSize","loadingOrDelay","getLoadingConfig","innerLoading","setLoading","hasTwoCNChar","setHasTwoCNChar","buttonRef","isNeedInserted","delayTimer","buttonText","textContent","handleClick","autoInsertSpace","sizeFullname","sizeCls","large","small","middle","iconType","linkButtonRestProps","hrefAndDisabled","href","classes","kids","needInserted","isPrevChildPure","childList","isCurrentChildPure","lastIndex","lastChild","SPACE","splitCNCharsBySpace","spaceChildren","buttonNode","Button","Group","others","__ANT_BUTTON","Checkbox","_Component","checked","nativeEvent","saveInput","defaultChecked","focus","readOnly","onFocus","autoFocus","required","globalProps","classString","GroupContext","InternalCheckboxGroup","setValue","registeredValues","setRegisteredValues","getOptions","groupPrefixCls","domProps","toggleOption","optionIndex","newValue","opts","findIndex","registerValue","prevValues","cancelValue","CheckboxGroup","InternalCheckbox","_b","indeterminate","skipGroup","checkboxGroup","contextDisabled","prevValue","checkboxProps","checkboxClass","ariaChecked","__ANT_CHECKBOX","forwardRef","didUpdate","parentRef","useImperativeHandle","initRef","appendChild","_containerRef$current","_containerRef$current2","isPointsEq","a1","a2","isAlignPoint","vendorPrefix","getMotion","motion","animation","Mask","mask","maskMotion","maskAnimation","maskTransitionName","ownKeys","object","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread2","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","Symbol","iterator","constructor","configurable","writable","jsCssMap","Webkit","Moz","ms","O","getVendorPrefix","getTransitionName","getTransformName","setTransitionProperty","transitionProperty","setTransform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","elem","originalStyle","css","el","w","ret","method","d","getScrollLeft","getScrollTop","doc","ownerDocument","getClientPosition","defaultView","parentWindow","getDocument","_RE_NUM_NO_PX","RegExp","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","getOffsetDirection","dir","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","offset","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","off","_dir","_off","each","fn","isBorderBoxFn","cs","computedStyle","getPropertyValue","rsLeft","pixelLeft","BOX_MODELS","CONTENT_INDEX","PADDING_INDEX","BORDER_INDEX","getPBMWidth","which","prop","j","cssProp","domUtils","getParent","parent","host","getWH","ex","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","win","documentElementProp","compatMode","cssShow","getWHIgnoreDisplay","_key2","swap","mix","from","first","charAt","includeMargin","utils","getWindow","ignoreShake","oriOffset","oLeft","toFixed","oTop","tLeft","tTop","useCssTransform","originalXY","matrix","replace","getTransformXY","resultXY","xy","match2d","setTransformXY","setTransform$1","setOffset","clone","getWindowScrollLeft","getWindowScrollTop","merge","getOffsetParent","positionStyle","nodeName","toLowerCase","getParent$1","getVisibleRectForElement","alwaysByViewport","visibleRect","Infinity","navigator","userAgent","originalPosition","scrollX","scrollY","documentWidth","documentHeight","scrollHeight","bodyStyle","innerWidth","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","h","outerWidth","outerHeight","getAlignOffset","region","V","H","getElFuturePos","elRegion","refNodeRegion","points","targetOffset","p1","p2","diff","isFailX","elFuturePos","isFailY","flip","reg","flipOffset","convertOffset","str","offsetLen","parseInt","substring","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","adjustX","adjustY","newPoints","l","r","newOffset","newTargetOffset","isCompleteFailX","_newPoints","_newOffset","_newTargetOffset","isCompleteFailY","isStillFailX","isStillFailY","_newPoints2","resizeWidth","resizeHeight","adjustForViewport","alignElement","refNode","isTargetNotOutOfVisible","targetRegion","isOutOfVisibleRect","__getOffsetParent","__getVisibleRectForElement","monitorResize","prevWidth","prevHeight","contains","_target$getBoundingCl","fixedWidth","fixedHeight","getElement","getPoint","point","Align","onAlign","monitorWindowResize","_ref$monitorBufferTim","monitorBufferTime","cacheRef","only","forceAlignPropsRef","_useBuffer","buffer","calledRef","cancelTrigger","force","_forceAlignPropsRef$c","latestDisabled","latestTarget","latestAlign","latestOnAlign","_result","_element","_point","tgtPoint","pageY","clientX","clientY","pointInView","alignPoint","restoreFocus","useBuffer","_useBuffer2","_forceAlign","cancelForceAlign","setElement","setPoint","forceAlign","RcAlign","StatusQueue","PopupInner","stretch","destroyPopupOnHide","forceRender","getRootDomNode","getClassNameFromAlign","onTouchStart","alignRef","elementRef","_useState2","alignedClassName","setAlignedClassName","_useStretchStyle","targetSize","setTargetSize","sizeStyle","tgtWidth","tgtHeight","_element$getBoundingC","abs","useStretchStyle","_useStretchStyle2","stretchStyle","measureStretchStyle","_useVisibleStatus","doMeasure","setInternalStatus","rafRef","setStatus","nextStatus","cancelRaf","useVisibleStatus","_useVisibleStatus2","goNextStatus","_useState3","_useState4","alignTimes","setAlignTimes","prepareResolveRef","_alignRef$current","onInternalAlign","popupDomNode","matchAlign","nextAlignedClassName","_prepareResolveRef$cu","onShowPrepare","eventName","originHandler","alignDisabled","leavedClassName","onAppearPrepare","onEnterPrepare","motionRef","motionStyle","onMouseDownCapture","onTouchStartCapture","MobilePopupInner","_props$mobile","mobile","popupStyle","_props$mobile$popupMo","popupMotion","popupRender","Popup","innerVisible","serInnerVisible","inMobile","setInMobile","cloneProps","isMobile","popupNode","ALL_HANDLERS","PortalComponent","Trigger","_popupVisible","mouseEnterDelay","fireEvents","delaySetPopupVisible","mouseLeaveDelay","clearDelayTimer","_this$popupRef$curren","popupRef","isFocusToShow","focusTime","focusDelay","preClickTime","preTouchTime","isBlurToHide","blurDelay","setPopupVisible","isContextMenuToShow","close","preTime","isClickToShow","isClickToHide","nextVisible","popupVisible","_this$context","hasPopupMouseDown","mouseDownTimeout","onPopupMouseDown","maskClosable","getPopupDomNode","isContextMenuOnly","getTriggerDOMNode","triggerRef","domNode","findDOMNode","err","popupPlacement","builtinPlacements","getPopupClassNameFromAlign","placements","getAlignPopupClassName","onPopupAlign","popupAnimation","popupTransitionName","popup","onPopupClick","getPopupAlign","mouseProps","isMouseEnterToShow","onPopupMouseEnter","isMouseLeaveToHide","onPopupMouseLeave","popupContainer","attachId","mountNode","attachParent","portalContainer","prevPopupVisible","afterPopupVisibleChange","defaultPopupVisible","componentDidUpdate","currentDocument","clickOutsideHandler","onDocumentClick","touchOutsideHandler","contextMenuOutsideHandler1","onContextMenuClose","contextMenuOutsideHandler2","clearOutsideHandler","_this$popupRef$curren2","popupAlign","placementStr","baseAlign","getAlignFromPlacement","onPopupVisibleChange","delayS","childPros","action","showAction","hideAction","_this$props7","_this$props8","_this$props9","_this$props10","_this$popupRef$curren3","childCallback","_this$props11","autoDestroy","newChildProps","onContextMenu","createTwoChains","childrenClassName","portal","handlePortalUpdate","triggerContextValue","autoAdjustOverflow","topLeft","topCenter","topRight","bottomLeft","bottomCenter","bottomRight","focusable","includePositive","isFocusableElement","isContentEditable","tabIndexAttr","tabIndexNum","getFocusNodeList","res","querySelectorAll","ESC","TAB","Dropdown","_props$arrow","arrow","_props$prefixCls","_props$placement","_props$placements","overlayClassName","overlayStyle","_props$trigger","otherProps","triggerVisible","setTriggerVisible","mergedVisible","onVisibleChange","focusMenuRef","handleCloseMenuAndReturnFocus","_triggerRef$current","_triggerRef$current$t","_triggerRef$current$t2","_triggerRef$current$t3","focusMenu","_triggerRef$current2","_triggerRef$current2$","_triggerRef$current2$2","_triggerRef$current2$3","firstElement","focusResult","useAccessibility","openClassName","childrenProps","childClassName","minOverlayWidthMatchTrigger","getMenuElement","overlay","overlayElement","triggerHideAction","newVisible","onVisibleChangeProp","onOverlayClick","IdContext","getMenuId","uuid","eventKey","useMenuId","MenuContext","InheritableContextProvider","locked","inheritableContext","EmptyList","PathRegisterContext","useMeasure","PathTrackerContext","useFullPath","parentKeyPath","PathUserContext","RIGHT","UP","DOWN","ENTER","HOME","END","ArrowKeys","getFocusableElements","elements","getNextFocusElement","parentQueryContainer","focusMenuElement","sameLevelFocusableMenuElementList","focusIndex","PATH_SPLIT","getPathStr","keyPath","OVERFLOW_KEY","useMemoCallback","funRef","_funRef$current","uniquePrefix","random","internalId","useActive","activeKey","onActive","onInactive","domEvent","warnItemProp","restInfo","Icon","useDirectionStyle","level","rtl","inlineIndent","paddingRight","_excluded3","LegacyMenuItem","attribute","passedProps","Item","InternalMenuItem","warnKey","role","domDataId","onItemClick","overflowDisabled","contextItemIcon","selectedKeys","_internalRenderMenuItem","itemCls","legacyMenuItemRef","connectedKeys","getEventInfo","mergedItemIcon","_useActive","activeProps","selected","directionStyle","optionRoleProps","renderNode","info","isSelected","measure","connectedKeyPath","registerPath","unregisterPath","InternalSubMenuList","SubMenuList","parseChildren","_eventKey","_child$props","convertItemsToNodes","MenuItemGroup","SubMenu","Divider","parseItems","items","childNodes","leftTop","rightTop","placementsRtl","defaultMotions","other","popupPlacementMap","horizontal","vertical","PopupTrigger","popupOffset","subMenuOpenDelay","subMenuCloseDelay","triggerSubMenuAction","forceSubMenuRender","setInnerVisible","targetMotion","targetMotionRef","mergedMotion","visibleRef","InlineSubMenuList","open","fixedMode","sameModeRef","destroy","setDestroy","mergedOpen","originOnVisibleChanged","onVisibleChanged","InternalSubMenu","internalPopupClose","onTitleClick","onTitleMouseEnter","onTitleMouseLeave","openKeys","contextExpandIcon","onOpenChange","_internalRenderSubMenuItem","isSubPathKey","connectedPath","subMenuPrefixCls","originOpen","childrenSelected","childrenActive","setChildrenActive","triggerChildrenActive","newActive","mergedActive","onMergedItemClick","popupId","titleNode","isOpen","isSubMenu","triggerModeRef","triggerMode","listNode","EMPTY_LIST","Menu","_childList$","_ref$prefixCls","_ref$tabIndex","_ref$mode","inlineCollapsed","disabledOverflow","_ref$subMenuOpenDelay","_ref$subMenuCloseDela","defaultOpenKeys","defaultActiveFirst","_ref$selectable","selectable","_ref$multiple","defaultSelectedKeys","onSelect","onDeselect","_ref$inlineIndent","_ref$triggerSubMenuAc","_ref$overflowedIndica","overflowedIndicator","overflowedIndicatorPopupClassName","openAnimation","openTransitionName","setMounted","_useMergedState","useMergedState","_useMergedState2","setUUID","newId","useUUID","isRtl","postState","mergedOpenKeys","setMergedOpenKeys","triggerOpenKeys","doUpdate","flushSync","inlineCacheOpenKeys","setInlineCacheOpenKeys","mountRef","_React$useMemo","_React$useMemo2","mergedMode","mergedInlineCollapsed","isInlineMode","internalMode","setInternalMode","internalInlineCollapsed","setInternalInlineCollapsed","lastVisibleIndex","setLastVisibleIndex","allVisible","_useKeyRecords","internalForceUpdate","key2pathRef","path2keyRef","overflowKeys","setOverflowKeys","updateRef","destroyRef","useCallback","refreshOverflowKeys","getKeyPath","includeOverflow","pathKeys","pathKey","getSubPathKeys","startsWith","getKeys","useKeyRecords","registerPathContext","pathUserContext","_useMergedState3","_useMergedState4","mergedActiveKey","setMergedActiveKey","_childList$find","_containerRef$current3","shouldFocusKey","find","_useMergedState5","_useMergedState6","mergedSelectKeys","setMergedSelectKeys","onInternalClick","newSelectKeys","targetKey","exist","selectInfo","triggerSelection","onInternalOpenChange","newOpenKeys","k","subPathKeys","getInternalPopupContainer","onInternalKeyDown","triggerActiveKey","triggerAccessibilityOpen","originOnKeyDown","activeRef","cleanRaf","key2element","element2key","refreshElements","getFocusElement","focusMenuKey","offsetObj","isRootLevel","_inline","_horizontal","_vertical","_offsets","inlineTrigger","inline","inlineSub","horizontalSub","verticalSub","sibling","tryFocus","menuElement","focusTargetElement","link","targetElement","focusableElements","findContainerUL","controlId","getElementById","parentKey","parentMenuElement","nextOpen","privateContext","wrappedChildList","itemComponent","renderRawItem","renderRawRest","omitItems","len","originOmitItems","maxCount","INVALIDATE","RESPONSIVE","ssr","newLastIndex","InternalMenuItemGroup","ExportMenu","ItemGroup","zoomIn","zoomOut","zoomBigIn","zoomBigOut","zoomUpIn","zoomUpOut","zoomMotion","zoom","inKeyframes","outKeyframes","initZoomMotion","motionCls","motionDurationFast","menuHorizontalHeight","colorSplit","menuItemPaddingInline","borderBottom","paddingInline","menuArrowOffset","accessibilityFocus","themeSuffix","colorItemText","colorItemTextSelected","colorGroupTitle","colorItemBg","colorSubItemBg","colorItemBgSelected","colorActiveBarHeight","colorActiveBarWidth","colorActiveBarBorderSize","motionEaseOut","colorItemTextHover","colorItemTextDisabled","colorDangerItemText","colorDangerItemTextHover","colorDangerItemTextSelected","colorDangerItemBgActive","colorDangerItemBgSelected","colorItemBgHover","menuSubMenuBg","colorItemTextSelectedHorizontal","colorItemBgSelectedHorizontal","insetInline","borderBottomWidth","borderBottomColor","insetBlock","getVerticalInlineStyle","menuItemHeight","itemMarginInline","menuArrowSize","marginBlock","dropdownWidth","paddingXL","boxShadowSecondary","inlineItemStyle","listStylePosition","listStyleType","genMenuItemStyle","genSubMenuArrowStyle","getBaseStyle","zIndexPopup","radiusSubMenuItem","menuPanelMaskInset","radiusItem","inset","injectStyle","overrideComponentToken","colorBgElevated","menuToken","colorTextDark","setAlpha","toRgbString","menuDarkToken","colorItemBgActive","colorFillContent","lineWidthBold","controlItemBgActive","zIndexPopupBase","colorItemTextHoverHorizontal","useOriginHook","OverrideContext","OverrideProvider","override","dashed","SiderContext","autoAdjustOverflowTopBottom","shiftX","autoAdjustOverflowLeftRight","shiftY","rightBottom","leftBottom","overlayInnerStyle","Tooltip","_props$mouseEnterDela","_props$mouseLeaveDela","afterVisibleChange","_props$align","_props$destroyTooltip","destroyTooltipOnHide","defaultVisible","getTooltipContainer","arrowContent","_props$showArrow","extraProps","roundedArrow","innerRadius","outerRadius","bgColor","unitWidth","ay","bx","sqrt","by","cx","cy","dx","dy","ey","fx","fy","shadowWidth","clipPath","_skip_check_","MAX_VERTICAL_CONTENT_RADIUS","getArrowOffset","maxVerticalContentRadius","contentRadius","limitVerticalRadius","dropdownArrowOffset","dropdownArrowOffsetVertical","isInject","valid","code","getArrowStyle","sizePopupArrow","borderRadiusXS","borderRadiusOuter","boxShadowPopoverArrow","colorBg","arrowDistance","arrowPlacement","PlacementAlignMap","ArrowCenterPlacementAlignMap","DisableAutoArrowList","getPlacements","arrowWidth","arrowPointAtCenter","halfArrowWidth","placementMap","template","placementInfo","autoArrow","arrowOffset","baseOverflow","mergedOverflow","getOverflowOptions","PresetColors","genPresetColor","genCss","colorKey","lightColor","lightBorderColor","darkColor","genTooltipStyle","tooltipMaxWidth","tooltipColor","tooltipBg","tooltipBorderRadius","tooltipRadiusOuter","wordWrap","colorBgDefault","TooltipToken","colorBgSpotlight","inverseColors","parseColor","isInternalColor","isPresetColor","arrowStyle","useToken","afterOpenChange","tooltipRef","forcePopupAlign","setOpen","isNoTitle","getTooltipPlacements","mergedArrowPointAtCenter","pointAtCenter","injectFromPopover","tempOpen","elementType","__ANT_SWITCH","__ANT_RADIO","picked","omitted","splitObject","spanStyle","getDisabledCompatibleChildren","childProps","childCls","colorInfo","formattedOverlayInnerStyle","arrowContentStyle","customOverlayClassName","getOverlay","vis","rect","createContext","firstLevel","disableMenuItemTitleTooltip","isInlineCollapsed","siderCollapsed","tooltipTitle","tooltipProps","childrenLength","returnNode","wrapNode","renderItemChildren","theme","customTheme","contextTheme","parentPath","titleIsSpan","contextValue","useItems","InternalMenu","overrideObj","_internalDisableMenuItemTitleTooltip","mergedChildren","validator","mergedSelectable","menuClassName","beClone","menuRef","menu","flexGapSupported","marginDirection","horizontalSize","verticalSize","latestIndex","supportFlexGap","SpaceContext","spaceSize","CompoundedSpace","space","directionConfig","flexible","setFlexible","flexDirection","rowGap","detectFlexGapSupported","useFlexGapSupport","getNumberSize","keepEmpty","mergedAlign","cn","itemClassName","nodes","spaceContext","gapStyle","flexWrap","columnGap","Compact","menuCls","genBaseStyle","dropdownArrowDistance","dropdownPaddingVertical","dropdownEdgeChildPadding","slide","backgroundClip","controlItemBgHover","controlItemBgActiveHover","fontStyle","dropdownToken","DropdownButton","buttonsRender","dropdownRender","buttonPrefixCls","dropdownProps","leftButton","rightButton","leftButtonToRender","rightButtonToRender","dropdownTrigger","triggerActions","onInnerOpenChange","overlayClassNameCustomized","onMenuClick","overlayNode","getPlacement","RadioGroupContext","RadioGroupContextProvider","RadioOptionTypeContext","RadioOptionTypeContextProvider","antRadioEffect","getGroupRadioStyle","getRadioBasicStyle","radioWrapperMarginRight","radioCheckedColor","radioSize","radioButtonBg","radioDotSize","radioDotDisabledColor","radioDotDisabledSize","colorWhite","radioInnerPrefixCls","animationFillMode","alignSelf","marginBlockStart","borderBlockStart","getRadioButtonStyle","radioButtonColor","radioButtonPaddingHorizontal","radioButtonCheckedBg","radioButtonHoverColor","radioButtonActiveColor","radioSolidCheckedColor","radioDisabledButtonCheckedColor","radioDisabledButtonCheckedBg","paddingBlock","borderBlockStartWidth","borderInlineStartWidth","radioFocusShadow","radioButtonFocusShadow","dotPadding","radioToken","InternalRadio","groupContext","radioOptionTypeContext","innerRef","mergedRef","radioPrefixCls","optionType","radioProps","wrapperClassString","RadioGroup","buttonStyle","childrenToRender","getDataOrAriaProps","ev","lastValue","RadioButton","_objectDestructuringEmpty","TypeError","MotionTreeNode","motionNodes","motionType","onOriginMotionStart","onMotionStart","onOriginMotionEnd","onMotionEnd","treeNodeRequiredProps","setVisible","motionedRef","onLeaveEnd","treeNode","isStart","isEnd","treeNodeProps","TreeNode","domRef","getExpandRange","shorter","longer","shorterStartIndex","shorterEndNode","longerStartIndex","longerEndIndex","HIDDEN_STYLE","MOTION_KEY","MotionNode","MotionEntity","MotionFlattenData","getMinimumRangeTransitionRange","itemHeight","itemKey","NodeList","checkable","checkedKeys","loadedKeys","loadingKeys","halfCheckedKeys","keyEntities","dragging","dragOverNodeKey","dropPosition","activeItem","focused","onActiveChange","onListChangeStart","onListChangeEnd","listRef","indentMeasurerRef","scrollTo","getIndentWidth","prevExpandedKeys","setPrevExpandedKeys","prevData","setPrevData","transitionData","setTransitionData","transitionRange","setTransitionRange","setMotionType","dataRef","latestData","diffExpanded","prevLen","nextLen","cache","findExpandedKeys","keyIndex","rangeNodes","newTransitionData","_keyIndex","_rangeNodes","_newTransitionData","String","getAccessibilityPath","fullHeight","originList","fullList","originSet","Tree","_args","destroyed","delayedDragEnterLogic","loadingRetryTimes","draggingNodeKey","dragChildrenKeys","dropTargetKey","dropContainerKey","dropLevelOffset","dropTargetPos","dropAllowed","treeData","flattenNodes","listChanging","fieldNames","dragStartMousePosition","dragNode","currentMouseOverDroppableNodeKey","onNodeDragStart","onDragStart","setExpandedKeys","onWindowDragEnd","onNodeDragEnter","onDragEnter","allowDrop","_node$props","_calcDropPosition","entity","resetDragState","onNodeDragOver","_this$state3","onDragOver","_calcDropPosition2","onNodeDragLeave","onDragLeave","onNodeDragEnd","onDragEnd","cleanDragState","onNodeDrop","_this$getActiveItem","outsideTree","_this$state4","onDrop","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropToChild","posArr","dropResult","dragNodesKeys","dropToGap","triggerExpandActionExpand","_this$state5","isLeaf","shiftKey","metaKey","ctrlKey","nodeItem","eventNode","onNodeExpand","onNodeClick","expandAction","onNodeDoubleClick","onDoubleClick","onNodeSelect","_this$state6","targetSelected","selectedNodes","selectedKey","setUncontrolledState","onNodeCheck","checkedObj","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","checkStrictly","onCheck","eventObj","halfChecked","checkedNodes","checkedKey","_conductCheck","_checkedKeys","_halfCheckedKeys","keySet","_conductCheck2","checkedNodesPositions","onNodeLoad","loadPromise","reject","_ref$loadedKeys","_ref$loadingKeys","loadData","onLoad","currentLoadedKeys","newLoadedKeys","catch","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","onRightClick","_len2","_len3","_key3","_this$state8","_this$state9","_this$state10","targetExpanded","newFlattenTreeData","currentExpandedKeys","expandedKeysToRestore","newActiveKey","_this$state11","offsetActiveKey","_this$state12","_this$state13","disableCheckbox","atomic","forceState","needSync","allPassed","onUpdated","draggableConfig","_this$state14","showLine","_this$props10$tabInde","showIcon","switcherIcon","draggable","filterTreeNode","titleRender","dropIndicatorRender","rootStyle","nodeDraggable","entitiesMap","checkedKeyEntity","autoExpandParent","defaultExpandParent","defaultExpandAll","cloneKeyEntities","defaultExpandedKeys","defaultCheckedKeys","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","startPosition","treeNodeFX","getSwitchStyle","svg","getDropIndicatorStyle","treeCls","treeNodeCls","treeNodePadding","treeTitleHeight","treeCheckBoxMarginVertical","treeCheckBoxMarginHorizontal","animationPlayState","genDirectoryStyle","genTreeStyle","treeToken","blockNode","customMotion","newProps","mergedDraggable","nodeProps","showLeafIcon","leafIcon","leafCls","switcherCls","switcher","renderSwitcherIcon","Record","traverseNodesKey","dataNode","convertDirectoryKeysToNodes","restKeys","getIcon","getTreeData","DirectoryTree","lastSelectedKey","cachedSelectedKeys","setSelectedKeys","initExpandedKeys","getInitExpandedKeys","connectClassName","newEvent","ctrlPick","shiftPick","newSelectedKeys","startKey","endKey","None","End","matchKey","Start","calcRangeKeys","hasAddon","addonBefore","addonAfter","hasPrefixSuffix","prefix","suffix","allowClear","resolveOnChange","targetValue","cloneNode","create","fixControlledValue","_inputElement$props","inputElement","affixWrapperClassName","groupClassName","triggerFocus","handleReset","hidden","inputStyle","_classNames2","affixWrapperPrefixCls","affixWrapperCls","affixWrapper","suffixNode","needClear","clearIconCls","getClearIcon","wrapperCls","addonCls","mergedWrapperClassName","mergedGroupClassName","group","Input","autoComplete","onPressEnter","htmlSize","maxLength","showCount","_props$type","inputClassName","setFocused","inputRef","setSelectionRange","_inputRef$current","_inputRef$current2","_inputRef$current3","hasMaxLength","valueLength","dataCount","formatter","getSuffix","useRemovePasswordTimeout","triggerOnMount","removePasswordTimeoutRef","removePasswordTimeout","_c","_d","hasAttribute","removeAttribute","timer","customSize","inputHasPrefixSuffix","prevHasPrefixSuffix","mergedAllowClear","CloseCircleFilled","defaultIconRender","ActionMap","click","hover","Password","visibilityToggle","visibilityControlled","inputPrefixCls","customizeInputPrefixCls","iconRender","iconTrigger","iconProps","omittedProps","Search","enterButton","onSearch","customOnSearch","customOnChange","onCompositionStart","onCompositionEnd","contextSize","composedRef","searchIcon","SearchOutlined","btnClassName","enterButtonAsElement","isAntdButton","hiddenTextarea","SIZING_STYLE","computedStyleCache","ResizableTextArea","autoSize","onInternalAutoSize","mergedValue","setMergedValue","textareaRef","textArea","minRows","maxRows","needAutoSize","resizeState","setResizeState","autoSizeStyle","setAutoSizeStyle","startResize","textareaStyles","uiTextNode","useCache","setAttribute","_calculateNodeStyling","paddingSize","borderSize","nodeInfo","sizingStyle","calculateNodeStyling","placeholder","singleRowHeight","calculateAutoSizeStyle","_textareaRef$current","selectionStart","selectionEnd","fixFirefoxAutoScroll","resizeRafRef","mergedAutoSizeStyle","fixEmojiLength","setTriggerValue","isCursorInEnd","preValue","triggerValue","newTriggerValue","TextArea","customValue","resizableTextAreaRef","compositing","setCompositing","oldCompositionValueRef","oldSelectionStartRef","resizableTextArea","textarea","_oldCompositionValueR","countWrapper","compact","formItemContext","groupFormItemContext","filterSearch","tablePrefixCls","filterSearchPlaceholder","searchValueMatched","searchValue","text","trim","renderFilterItems","filters","filteredKeys","filterMultiple","dropdownPrefixCls","filterMode","filterState","triggerFilter","filterDropdownOpen","onFilterDropdownOpenChange","filterResetToDefaultFilteredValue","defaultFilteredValue","filterDropdownVisible","onFilterDropdownVisibleChange","filtered","forceFiltered","propFilteredKeys","getFilteredKeysSync","setFilteredKeysSync","initialValue","useSyncState","onSelectKeys","setOpenKeys","setSearchValue","internalTriggerFilter","mergedKeys","onConfirm","onReset","confirm","closeDropdown","dropdownMenuClass","onCheckAll","allFilterKeys","flattenKeys","getFilterData","dropdownContent","filterIcon","filterDropdown","clearFilters","getFilterComponent","image","PRESENTED_IMAGE_SIMPLE","description","filterEmptyText","imageStyle","filterCheckall","getResetDisabled","filterReset","filterConfirm","collectFilterStates","init","filterStates","columnPos","filteredValues","filteredValue","injectFilter","newColumn","renderProps","generateFilterInfo","currentFilters","originKey","currentData","onFilter","realKey","getMergedColumns","rawMergedColumns","flatMap","onFilterChange","tableLocale","setFilterStates","mergedFilterStates","collectedStates","filteredKeysIsAllNotControlled","filteredKeysIsAllControlled","keyList","newFilterStates","_ref7","innerColumns","DEFAULT_PAGE_SIZE","paginationTotal","paginationObj","innerPagination","setInnerPagination","mergedPagination","result","maxPage","refreshPagination","SELECTION_COLUMN","SELECTION_ALL","SELECTION_INVERT","SELECTION_NONE","rowSelection","preserveSelectedRowKeys","selectedRowKeys","defaultSelectedRowKeys","getCheckboxProps","onSelectionChange","onSelectAll","onSelectInvert","onSelectNone","onSelectMultiple","selectionColWidth","selectionType","selections","renderCell","customizeRenderCell","hideSelectAll","pageData","getRecordByKey","expandType","mergedSelectedKeys","setMergedSelectedKeys","preserveRecordsRef","updatePreserveRecordsCache","newCache","externalGetKey","childrenPropName","flattedData","checkboxPropsMap","isCheckboxDisabled","derivedSelectedKeys","derivedHalfSelectedKeys","derivedSelectedKeySet","derivedHalfSelectedKeySet","setLastSelectedKey","availableKeys","records","triggerSingleSelection","mergedSelections","selection","selectionAll","checkProps","selectInvert","selectNone","_a2","recordKeys","checkedCurrentAll","checkedCurrentSome","onSelectAllChange","changeKeys","customizeSelections","onSelectionClick","DownOutlined","allDisabledData","allDisabled","allDisabledAndChecked","allDisabledSomeChecked","mergedIndeterminate","startIndex","endIndex","pointKeys","recordKey","recordIndex","rangeKeys","changedKeys","originCheckedKeys","nextCheckedKeys","tempKeySet","restColumns","selectionColumnIndex","prevCol","nextCol","mergedFixed","selectionColumn","ASCEND","DESCEND","getMultiplePriority","sorter","getSortFunction","compare","collectSortStates","sortStates","pushState","multiplePriority","sortOrder","defaultSortOrder","injectSorter","sorterStates","triggerSorter","defaultSortDirections","tableShowSorterTooltip","sortDirections","showSorterTooltip","sorterState","sorterOrder","nextSortOrder","nextSortDirection","upNode","downNode","cancelSort","triggerAsc","triggerDesc","sortTip","renderSortTitle","originOnClick","originOKeyDown","renderTitle","safeColumnTitle","displayTitle","stateToInfo","order","field","generateSorterInfo","getSortData","innerSorterStates","cloneData","runningSorters","record1","record2","compareFn","compareResult","subRecords","fillTitle","columnTitleProps","cloneColumn","useTitleColumns","_renderTimes","prevRenderTimes","nextRenderTimes","tableBorder","tableBorderColor","getSizeBorderStyle","paddingVertical","paddingHorizontal","tablePaddingVertical","tablePaddingHorizontal","borderTop","tablePaddingVerticalMiddle","tablePaddingHorizontalMiddle","tablePaddingVerticalSmall","tablePaddingHorizontalSmall","tableHeaderBg","wordBreak","operationUnit","controlInteractiveSize","checkboxSize","tableExpandIconBg","tableExpandColumnWidth","tableExpandedRowBg","halfInnerSize","expandIconSize","expandIconLineOffset","table","tableFilterDropdownWidth","tableFilterDropdownSearchWidth","tableHeaderIconColor","tableHeaderFilterActiveBg","tableFilterDropdownBg","tableFilterDropdownHeight","tableFilterDropdownPrefixCls","treePrefixCls","justifyContent","zIndexTableFixed","tableBg","zIndexTableSticky","tableRadius","tableHeaderIconColorHover","tableSelectionColumnWidth","getSizeStyle","tableFontSizeMiddle","tableFontSizeSmall","tableHeaderSortHoverBg","tableFixedHeaderSortActiveBg","tableHeaderSortBg","tableBodySortBg","tableScrollThumbBg","tableScrollThumbBgHover","tableScrollThumbSize","tableScrollBg","genTableStyle","tableFontSize","tableHeaderTextColor","tableHeaderCellSplitColor","tableRowHoverBg","tableSelectedRowBg","tableSelectedRowHoverBg","tableFooterTextColor","tableFooterBg","paddingContentVerticalLG","overflowWrap","colorTextHeading","colorBorderSecondary","colorFillSecondary","baseColorAction","baseColorActionHover","colorFillSecondarySolid","onBackground","toHexShortString","colorFillContentSolid","colorFillAlterSolid","tableToken","getAlpha","InternalTable","customizeDropdownPrefixCls","dataSource","legacyChildrenColumnName","needResponsive","matched","c","Table","rawData","mapCacheRef","kvMap","useLazyKVMap","changeEventInfo","triggerOnChange","reset","changeInfo","resetPagination","scrollToFirstRowOnChange","duration","Document","HTMLElement","startTime","frameFunc","time","nextScrollTop","cc","easeInOutCubic","currentDataSource","transformSorterColumns","sorterTitleProps","getSorters","onSorterChange","setSortStates","mergedSorterStates","validate","validateStates","patchStates","multipleMode","columnTitleSorterProps","sortColumns","sortColumn","sortState","newSorterStates","sortedData","transformFilterColumns","mergedFilters","filterKey","transformTitleColumns","param","pageProp","getPaginationParam","transformSelectionColumns","selectedKeySet","iconPrefix","collapse","expand","topPaginationNode","bottomPaginationNode","spinProps","paginationSize","renderPagination","defaultPosition","topPos","bottomPos","isDisable","wrapperClassNames","RcTable","mergedRowClassName","ForwardTable","getAlphaColor","baseColor","alpha","getSolidColor","brightness","lighten","toHexString","generateColorPalettes","colors","generateNeutralColorPalettes","bgBaseColor","textBaseColor","colorBgBase","colorTextBase","colorTextSecondary","colorFill","colorFillTertiary","colorFillQuaternary","colorBgLayout","defaultConfig","defaultSeed","defaultAlgorithm","darkAlgorithm","mapToken","colorPalettes","fill","cur","mergedMapToken","genColorMapToken","compactAlgorithm","sizeUnit","sizeStep","compactSizeStep","sizeXXL","sizeXL","sizeLG","sizeMD","sizeMS","sizeSM","sizeXS","sizeXXS","genFontMapToken","genControlHeight","module","exports","cssWithMappingToString","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","_k"],"sourceRoot":""}
|