@next-bricks/advanced 0.24.4 → 0.25.1
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 +7 -6
- package/dist/chunks/272.2b9690e3.js +2 -0
- package/dist/chunks/{272.8537c9ef.js.map → 272.2b9690e3.js.map} +1 -1
- package/dist/chunks/3472.800bfa03.js +3 -0
- package/dist/chunks/{7824.ec40916f.js.LICENSE.txt → 3472.800bfa03.js.LICENSE.txt} +2 -3
- package/dist/chunks/3472.800bfa03.js.map +1 -0
- package/dist/chunks/3648.bf6ac98e.js +2 -0
- package/dist/chunks/{3648.17f00ef6.js.map → 3648.bf6ac98e.js.map} +1 -1
- package/dist/chunks/4024.5949aac1.js +3 -0
- package/dist/chunks/4024.5949aac1.js.LICENSE.txt +1 -0
- package/dist/chunks/4024.5949aac1.js.map +1 -0
- package/dist/chunks/{4944.b2560e0a.js → 4944.6aec0241.js} +2 -2
- package/dist/chunks/4944.6aec0241.js.map +1 -0
- package/dist/chunks/5672.7900fcac.js +2 -0
- package/dist/chunks/{9156.a4973d26.js.map → 5672.7900fcac.js.map} +1 -1
- package/dist/chunks/6472.4bed6243.js +2 -0
- package/dist/chunks/6472.4bed6243.js.map +1 -0
- package/dist/chunks/7072.2771a6a3.js +2 -0
- package/dist/chunks/7072.2771a6a3.js.map +1 -0
- package/dist/chunks/8064.cf8c5e0d.js.map +1 -1
- package/dist/chunks/9087.011a9874.js +2 -0
- package/dist/chunks/9087.011a9874.js.map +1 -0
- package/dist/chunks/eo-cascader.ca61551c.js +2 -0
- package/dist/chunks/eo-cascader.ca61551c.js.map +1 -0
- package/dist/chunks/eo-table.8549b40e.js +2 -0
- package/dist/chunks/{eo-table.a9e8bd1e.js.map → eo-table.8549b40e.js.map} +1 -1
- package/dist/chunks/eo-tree.9f447e13.js +2 -0
- package/dist/chunks/eo-tree.9f447e13.js.map +1 -0
- package/dist/chunks/main.4393c0c2.js +2 -0
- package/dist/chunks/main.4393c0c2.js.map +1 -0
- package/dist/examples.json +6 -3
- package/dist/index.0ae500ed.js +2 -0
- package/dist/index.0ae500ed.js.map +1 -0
- package/dist/manifest.json +147 -96
- package/dist/types.json +322 -114
- package/dist-types/bootstrap.d.ts +1 -0
- package/dist-types/cascader/index.d.ts +1 -0
- package/dist-types/tree/index.d.ts +44 -0
- package/dist-types/tree/index.spec.d.ts +1 -0
- package/docs/eo-tree.md +60 -0
- package/package.json +2 -2
- package/dist/chunks/2364.bbce4b80.js +0 -2
- package/dist/chunks/2364.bbce4b80.js.map +0 -1
- package/dist/chunks/272.8537c9ef.js +0 -2
- package/dist/chunks/276.bb7612e9.js +0 -2
- package/dist/chunks/276.bb7612e9.js.map +0 -1
- package/dist/chunks/3648.17f00ef6.js +0 -2
- package/dist/chunks/4944.b2560e0a.js.map +0 -1
- package/dist/chunks/7824.ec40916f.js +0 -3
- package/dist/chunks/7824.ec40916f.js.map +0 -1
- package/dist/chunks/9156.a4973d26.js +0 -2
- package/dist/chunks/eo-cascader.87d88b1a.js +0 -2
- package/dist/chunks/eo-cascader.87d88b1a.js.map +0 -1
- package/dist/chunks/eo-table.a9e8bd1e.js +0 -2
- package/dist/chunks/main.5470a1f1.js +0 -2
- package/dist/chunks/main.5470a1f1.js.map +0 -1
- package/dist/index.54628cc2.js +0 -2
- package/dist/index.54628cc2.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/276.bb7612e9.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-component/context/es/index.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/hooks/useRowInfo.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/useWidthColumns.js","webpack:///../../node_modules/rc-table/es/hooks/useColumns/index.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/rc-table/es/VirtualTable/context.js","webpack:///../../node_modules/rc-table/es/VirtualTable/VirtualCell.js","webpack:///../../node_modules/rc-table/es/VirtualTable/BodyLine.js","webpack:///../../node_modules/rc-table/es/VirtualTable/BodyGrid.js","webpack:///../../node_modules/rc-table/es/VirtualTable/index.js","webpack:///../../node_modules/antd/es/_util/getScroll.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/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/interface.js","webpack:///../../node_modules/antd/es/_util/wave/WaveEffect.js","webpack:///../../node_modules/antd/es/_util/wave/index.js","webpack:///../../node_modules/antd/es/_util/wave/useWave.js","webpack:///../../node_modules/antd/es/button/button-group.js","webpack:///../../node_modules/antd/es/button/buttonHelpers.js","webpack:///../../node_modules/antd/es/button/IconWrapper.js","webpack:///../../node_modules/antd/es/button/LoadingIcon.js","webpack:///../../node_modules/antd/es/button/style/group.js","webpack:///../../node_modules/antd/es/button/style/index.js","webpack:///../../node_modules/antd/es/style/compact-item-vertical.js","webpack:///../../node_modules/antd/es/button/style/compactCmp.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/GroupContext.js","webpack:///../../node_modules/antd/es/checkbox/Checkbox.js","webpack:///../../node_modules/antd/es/checkbox/Group.js","webpack:///../../node_modules/antd/es/checkbox/index.js","webpack:///../../node_modules/rc-dropdown/es/hooks/useAccessibility.js","webpack:///../../node_modules/rc-dropdown/es/Overlay.js","webpack:///../../node_modules/rc-dropdown/es/placements.js","webpack:///../../node_modules/rc-dropdown/es/Dropdown.js","webpack:///../../node_modules/rc-dropdown/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/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-util/es/Dom/focus.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/hooks/useDirectionStyle.js","webpack:///../../node_modules/rc-menu/es/Icon.js","webpack:///../../node_modules/rc-menu/es/utils/warnUtil.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/commonUtil.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/MenuItemGroup.js","webpack:///../../node_modules/rc-menu/es/Divider.js","webpack:///../../node_modules/rc-menu/es/utils/nodeUtil.js","webpack:///../../node_modules/rc-menu/es/Menu.js","webpack:///../../node_modules/rc-menu/es/utils/timeUtil.js","webpack:///../../node_modules/rc-menu/es/index.js","webpack:///../../node_modules/antd/es/layout/Sider.js","webpack:///../../node_modules/antd/es/menu/MenuDivider.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/motion/zoom.js","webpack:///../../node_modules/antd/es/theme/interface/presetColors.js","webpack:///../../node_modules/antd/es/theme/util/genPresetColor.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/@ant-design/icons-svg/es/asn/EllipsisOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/EllipsisOutlined.js","webpack:///../../node_modules/antd/es/menu/OverrideContext.js","webpack:///../../node_modules/antd/es/menu/hooks/useItems.js","webpack:///../../node_modules/antd/es/style/motion/collapse.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/menu.js","webpack:///../../node_modules/antd/es/menu/index.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.js","webpack:///../../node_modules/antd/es/space/context.js","webpack:///../../node_modules/antd/es/space/Item.js","webpack:///../../node_modules/antd/es/space/utils.js","webpack:///../../node_modules/antd/es/space/index.js","webpack:///../../node_modules/antd/es/dropdown/dropdown-button.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/radio/radioButton.js","webpack:///../../node_modules/antd/es/radio/index.js","webpack:///../../node_modules/rc-tree/es/contextTypes.js","webpack:///../../node_modules/rc-tree/es/Indent.js","webpack:///../../node_modules/rc-tree/es/TreeNode.js","webpack:///../../node_modules/rc-tree/es/util.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack:///../../node_modules/rc-tree/es/MotionTreeNode.js","webpack:///../../node_modules/rc-tree/es/useUnmount.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/FileOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/FileOutlined.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/@ant-design/icons-svg/es/asn/HolderOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/HolderOutlined.js","webpack:///../../node_modules/antd/es/tree/style/index.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/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/utils/iconUtil.js","webpack:///../../node_modules/antd/es/tree/Tree.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/index.js","webpack:///../../node_modules/antd/es/table/RcTable/VirtualTable.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/virtual.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"],"sourcesContent":["export var EXPAND_COLUMN = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nexport function createContext(defaultValue) {\n var Context = /*#__PURE__*/React.createContext(undefined);\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n useLayoutEffect(function () {\n unstable_batchedUpdates(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n return {\n Context: Context,\n Provider: Provider,\n defaultValue: defaultValue\n };\n}\n\n/** e.g. useSelect(userContext) => user */\n\n/** e.g. useSelect(userContext, user => user.name) => user.name */\n\n/** e.g. useSelect(userContext, ['name', 'age']) => user { name, age } */\n\n/** e.g. useSelect(userContext, 'name') => user.name */\n\nexport function useContext(holder, selector) {\n var eventSelector = useEvent(typeof selector === 'function' ? selector : function (ctx) {\n if (selector === undefined) {\n return ctx;\n }\n if (!Array.isArray(selector)) {\n return ctx[selector];\n }\n var obj = {};\n selector.forEach(function (key) {\n obj[key] = ctx[key];\n });\n return obj;\n });\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n var valueRef = React.useRef();\n valueRef.current = eventSelector(context ? getValue() : holder === null || holder === void 0 ? void 0 : holder.defaultValue);\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n forceUpdate = _React$useState4[1];\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n function trigger(nextValue) {\n var nextSelectorValue = eventSelector(nextValue);\n if (!isEqual(valueRef.current, nextSelectorValue, true)) {\n forceUpdate({});\n }\n }\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return valueRef.current;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\n/**\n * Create Immutable pair for `makeImmutable` and `responseImmutable`.\n */\nexport default function createImmutable() {\n var ImmutableContext = /*#__PURE__*/React.createContext(null);\n\n /**\n * Get render update mark by `makeImmutable` root.\n * Do not deps on the return value as render times\n * but only use for `useMemo` or `useCallback` deps.\n */\n function useImmutableMark() {\n return React.useContext(ImmutableContext);\n }\n\n /**\n * Wrapped Component will be marked as Immutable.\n * When Component parent trigger render,\n * it will notice children component (use with `responseImmutable`) node that parent has updated.\n * @param Component Passed Component\n * @param triggerRender Customize trigger `responseImmutable` children re-render logic. Default will always trigger re-render when this component re-render.\n */\n function makeImmutable(Component, shouldTriggerRender) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n var renderTimesRef = React.useRef(0);\n var prevProps = React.useRef(props);\n\n // If parent has the context, we do not wrap it\n var mark = useImmutableMark();\n if (mark !== null) {\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n }\n if (\n // Always trigger re-render if not provide `notTriggerRender`\n !shouldTriggerRender || shouldTriggerRender(prevProps.current, props)) {\n renderTimesRef.current += 1;\n }\n prevProps.current = props;\n return /*#__PURE__*/React.createElement(ImmutableContext.Provider, {\n value: renderTimesRef.current\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps)));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableRoot(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;\n }\n\n /**\n * Wrapped Component with `React.memo`.\n * But will rerender when parent with `makeImmutable` rerender.\n */\n function responseImmutable(Component, propsAreEqual) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n useImmutableMark();\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableResponse(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(ImmutableComponent), propsAreEqual) : /*#__PURE__*/React.memo(ImmutableComponent, propsAreEqual);\n }\n return {\n makeImmutable: makeImmutable,\n responseImmutable: responseImmutable,\n useImmutableMark: useImmutableMark\n };\n}","import { createContext, useContext } from \"./context\";\nimport createImmutable from \"./Immutable\";\n\n// For legacy usage, we export it directly\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { createContext, useContext, createImmutable, makeImmutable, responseImmutable, useImmutableMark };","import { createContext, createImmutable } from '@rc-component/context';\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { makeImmutable, responseImmutable, useImmutableMark };\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({}, fixedStyle), additionalProps.style), alignStyle), 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 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\";\nimport { useImmutableMark } from \"../context/TableContext\";\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 { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } 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 * as React from 'react';\n// recursion (flat tree structure)\nfunction fillRecords(list, record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n list.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 fillRecords(list, record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n }\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 list = [];\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\n // using array.push or spread operator may cause \"Maximum call stack size exceeded\" exception if array size is big enough.\n fillRecords(list, record, 0, childrenColumnName, expandedKeys, getRowKey, i);\n }\n return list;\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 && componentWidth : 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 }, 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 _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport { useEvent } from 'rc-util';\nimport classNames from 'classnames';\nexport default function useRowInfo(record, rowKey, recordIndex, indent) {\n var context = useContext(TableContext, ['prefixCls', 'fixedInfoList', 'flattenColumns', 'expandableType', 'expandRowByClick', 'onTriggerExpand', 'rowClassName', 'expandedRowClassName', 'indentSize', 'expandIcon', 'expandedRowRender', 'expandIconColumnIndex', 'expandedKeys', 'childrenColumnName', 'rowExpandable', 'onRow']);\n var flattenColumns = context.flattenColumns,\n expandableType = context.expandableType,\n expandedKeys = context.expandedKeys,\n childrenColumnName = context.childrenColumnName,\n onTriggerExpand = context.onTriggerExpand,\n rowExpandable = context.rowExpandable,\n onRow = context.onRow,\n expandRowByClick = context.expandRowByClick,\n rowClassName = context.rowClassName;\n\n // ======================= Expandable =======================\n // Only when row is not expandable and `children` exist in record\n var nestExpandable = expandableType === 'nest';\n var rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record));\n var mergedExpandable = rowSupportExpand || nestExpandable;\n var expanded = expandedKeys && expandedKeys.has(rowKey);\n var hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n var onInternalTriggerExpand = useEvent(onTriggerExpand);\n\n // ========================= onRow ==========================\n var rowProps = onRow === null || onRow === void 0 ? void 0 : onRow(record, recordIndex);\n var onRowClick = rowProps === null || rowProps === void 0 ? void 0 : rowProps.onClick;\n var onClick = function onClick(event) {\n if (expandRowByClick && mergedExpandable) {\n onTriggerExpand(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 onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick.apply(void 0, [event].concat(args));\n };\n\n // ====================== RowClassName ======================\n var computeRowClassName;\n if (typeof rowClassName === 'string') {\n computeRowClassName = rowClassName;\n } else if (typeof rowClassName === 'function') {\n computeRowClassName = rowClassName(record, recordIndex, indent);\n }\n\n // ========================= Column =========================\n var columnsKey = getColumnsKey(flattenColumns);\n return _objectSpread(_objectSpread({}, context), {}, {\n columnsKey: columnsKey,\n nestExpandable: nestExpandable,\n expanded: expanded,\n hasNestChildren: hasNestChildren,\n record: record,\n onTriggerExpand: onInternalTriggerExpand,\n rowSupportExpand: rowSupportExpand,\n expandable: mergedExpandable,\n rowProps: _objectSpread(_objectSpread({}, rowProps), {}, {\n className: classNames(computeRowClassName, rowProps === null || rowProps === void 0 ? void 0 : rowProps.className),\n onClick: onClick\n })\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport ExpandedRow from \"./ExpandedRow\";\nimport useRowInfo from \"../hooks/useRowInfo\";\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nexport function getCellProps(rowInfo, column, colIndex, indent, index) {\n var record = rowInfo.record,\n prefixCls = rowInfo.prefixCls,\n columnsKey = rowInfo.columnsKey,\n fixedInfoList = rowInfo.fixedInfoList,\n expandIconColumnIndex = rowInfo.expandIconColumnIndex,\n nestExpandable = rowInfo.nestExpandable,\n indentSize = rowInfo.indentSize,\n expandIcon = rowInfo.expandIcon,\n expanded = rowInfo.expanded,\n hasNestChildren = rowInfo.hasNestChildren,\n onTriggerExpand = rowInfo.onTriggerExpand;\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: onTriggerExpand\n }));\n }\n var additionalCellProps;\n if (column.onCell) {\n additionalCellProps = column.onCell(record, index);\n }\n return {\n key: key,\n fixedInfo: fixedInfo,\n appendCellNode: appendCellNode,\n additionalCellProps: additionalCellProps || {}\n };\n}\n\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\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 _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 var rowInfo = useRowInfo(record, rowKey, index, indent);\n var prefixCls = rowInfo.prefixCls,\n flattenColumns = rowInfo.flattenColumns,\n expandedRowClassName = rowInfo.expandedRowClassName,\n expandedRowRender = rowInfo.expandedRowRender,\n rowProps = rowInfo.rowProps,\n expanded = rowInfo.expanded,\n rowSupportExpand = rowInfo.rowSupportExpand;\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 React.useEffect(function () {\n if (expanded) {\n setExpandRended(true);\n }\n }, [expanded]);\n\n // ======================== Base tr row ========================\n var baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, {\n \"data-row-key\": rowKey,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), \"\".concat(prefixCls, \"-row-level-\").concat(indent), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className),\n style: _objectSpread(_objectSpread({}, style), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className;\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\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 }, 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 { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport TableContext, { responseImmutable } 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 measureColumnWidth = props.measureColumnWidth;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent', 'onColumnResize', 'flattenColumns', 'getRowKey', 'expandedKeys', 'childrenColumnName', 'emptyNode']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent,\n onColumnResize = _useContext.onColumnResize,\n flattenColumns = _useContext.flattenColumns,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n childrenColumnName = _useContext.childrenColumnName,\n emptyNode = _useContext.emptyNode;\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 getRowKey: getRowKey,\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;\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 { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } 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 _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction parseColWidth(totalWidth) {\n var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (typeof width === 'number') {\n return width;\n }\n if (width.endsWith('%')) {\n return totalWidth * parseFloat(width) / 100;\n }\n return null;\n}\n\n/**\n * Fill all column with width\n */\nexport default function useWidthColumns(flattenColumns, scrollWidth) {\n return React.useMemo(function () {\n // Fill width if needed\n if (scrollWidth && scrollWidth > 0) {\n var totalWidth = 0;\n var missWidthCount = 0;\n\n // collect not given width column\n flattenColumns.forEach(function (col) {\n var colWidth = parseColWidth(scrollWidth, col.width);\n if (colWidth) {\n totalWidth += colWidth;\n } else {\n missWidthCount += 1;\n }\n });\n\n // Fill width\n var restWidth = scrollWidth - totalWidth;\n var restCount = missWidthCount;\n var avgWidth = restWidth / missWidthCount;\n var realTotal = 0;\n var filledColumns = flattenColumns.map(function (col) {\n var clone = _objectSpread({}, col);\n var colWidth = parseColWidth(scrollWidth, clone.width);\n if (colWidth) {\n clone.width = colWidth;\n } else {\n var colAvgWidth = Math.floor(avgWidth);\n clone.width = restCount === 1 ? restWidth : colAvgWidth;\n restWidth -= colAvgWidth;\n restCount -= 1;\n }\n realTotal += clone.width;\n return clone;\n });\n return [filledColumns, realTotal];\n }\n return [flattenColumns, scrollWidth];\n }, [flattenColumns, scrollWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _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\";\nimport useWidthColumns from \"./useWidthColumns\";\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 var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key';\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object';\n }).reduce(function (list, column, index) {\n var fixed = column.fixed;\n // Convert `fixed='true'` to `fixed='left'` instead\n var parsedFixed = fixed === true ? 'left' : fixed;\n var mergedKey = \"\".concat(parentKey, \"-\").concat(index);\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return [].concat(_toConsumableArray(list), _toConsumableArray(flatColumns(subColumns, mergedKey).map(function (subColum) {\n return _objectSpread({\n fixed: parsedFixed\n }, subColum);\n })));\n }\n return [].concat(_toConsumableArray(list), [_objectSpread(_objectSpread({\n key: mergedKey\n }, 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 scrollWidth = _ref2.scrollWidth;\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, scrollWidth]);\n\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\n // ========================= FillWidth ========================\n var _useWidthColumns = useWidthColumns(flattenColumns, scrollWidth),\n _useWidthColumns2 = _slicedToArray(_useWidthColumns, 2),\n filledColumns = _useWidthColumns2[0],\n realScrollWidth = _useWidthColumns2[1];\n return [mergedColumns, filledColumns, realScrollWidth];\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 !== null && target !== void 0 && target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n return {\n remove: function remove() {\n if (target !== null && target !== void 0 && 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 { useContext } from '@rc-component/context';\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 { 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 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, INTERNAL_HOOKS } from \"./constant\";\nimport TableContext, { makeImmutable } 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\";\nexport var DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n return 'No Data';\n}\nfunction Table(tableProps) {\n var _classNames;\n var props = _objectSpread({\n rowKey: 'key',\n prefixCls: DEFAULT_PREFIX,\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 tailor = props.tailor,\n sticky = props.sticky;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length;\n var useInternalHooks = internalHooks === INTERNAL_HOOKS;\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 var customizeScrollBody = getComponent(['body']);\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 scrollX = scroll === null || scroll === void 0 ? void 0 : scroll.x;\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 scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null\n }), useInternalHooks ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 3),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1],\n flattenScrollX = _useColumns2[2];\n var mergedScrollX = flattenScrollX !== null && flattenScrollX !== void 0 ? flattenScrollX : scrollX;\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(mergedScrollX) || 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: mergedScrollX === true ? 'auto' : mergedScrollX,\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 var measureTarget = currentTarget || scrollHeaderRef.current;\n if (measureTarget) {\n var scrollWidth = measureTarget.scrollWidth,\n clientWidth = measureTarget.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 (!tailor || !useInternalHooks) {\n if (scrollBodyRef.current instanceof Element) {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n } else {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n }\n }\n setSupportSticky(isStyleSupport('position', 'sticky'));\n }, []);\n\n // ================== INTERNAL HOOKS ==================\n React.useEffect(function () {\n if (useInternalHooks && 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 mergedScrollX === '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 });\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 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 === flattenColumns.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 && mergedScrollX === '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 // Scroll\n scrollX: mergedScrollX,\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 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 emptyNode: emptyNode,\n // Column\n columns: columns,\n flattenColumns: flattenColumns,\n onColumnResize: onColumnResize,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover: onHover,\n rowExpandable: expandableConfig.rowExpandable,\n onRow: onRow,\n getRowKey: getRowKey,\n expandedKeys: mergedExpandedKeys,\n childrenColumnName: mergedChildrenColumnName\n };\n }, [\n // Scroll\n mergedScrollX,\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, emptyNode,\n // Column\n columns, flattenColumns, onColumnResize,\n // Row\n startRow, endRow, onHover, expandableConfig.rowExpandable, onRow, getRowKey, mergedExpandedKeys, mergedChildrenColumnName]);\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.INTERNAL_HOOKS = INTERNAL_HOOKS;\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 \"../constant\";\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 */ // 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 */ // eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\nexport default ColumnGroup;","import { createContext } from '@rc-component/context';\nexport var StaticContext = createContext(null);\nexport var GridContext = createContext(null);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { getCellProps } from \"../Body/BodyRow\";\nimport Cell from \"../Cell\";\nimport { GridContext } from \"./context\";\n/**\n * Return the width of the column by `colSpan`.\n * When `colSpan` is `0` will be trade as `1`.\n */\nexport function getColumnWidth(colIndex, colSpan, columnsOffset) {\n var mergedColSpan = colSpan || 1;\n return columnsOffset[colIndex + mergedColSpan] - (columnsOffset[colIndex] || 0);\n}\nfunction VirtualCell(props) {\n var rowInfo = props.rowInfo,\n column = props.column,\n colIndex = props.colIndex,\n indent = props.indent,\n index = props.index,\n renderIndex = props.renderIndex,\n record = props.record,\n style = props.style,\n className = props.className,\n inverse = props.inverse,\n getHeight = props.getHeight;\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className,\n colWidth = column.width;\n var _useContext = useContext(GridContext, ['columnsOffset']),\n columnsOffset = _useContext.columnsOffset;\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\n var cellStyle = additionalCellProps.style,\n _additionalCellProps$ = additionalCellProps.colSpan,\n colSpan = _additionalCellProps$ === void 0 ? 1 : _additionalCellProps$,\n _additionalCellProps$2 = additionalCellProps.rowSpan,\n rowSpan = _additionalCellProps$2 === void 0 ? 1 : _additionalCellProps$2;\n\n // ========================= ColWidth =========================\n // column width\n var startColIndex = colIndex - 1;\n var concatColWidth = getColumnWidth(startColIndex, colSpan, columnsOffset);\n\n // margin offset\n var marginOffset = colSpan > 1 ? colWidth - concatColWidth : 0;\n\n // ========================== Style ===========================\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread({}, cellStyle), style), {}, {\n flex: \"0 0 \".concat(concatColWidth, \"px\"),\n width: \"\".concat(concatColWidth, \"px\"),\n marginRight: marginOffset,\n pointerEvents: 'auto'\n });\n\n // When `colSpan` or `rowSpan` is `0`, should skip render.\n var needHide = React.useMemo(function () {\n if (inverse) {\n return rowSpan <= 1;\n } else {\n return colSpan === 0 || rowSpan === 0 || rowSpan > 1;\n }\n }, [rowSpan, colSpan, inverse]);\n\n // 0 rowSpan or colSpan should not render\n if (needHide) {\n mergedStyle.visibility = 'hidden';\n } else if (inverse) {\n mergedStyle.height = getHeight === null || getHeight === void 0 ? void 0 : getHeight(rowSpan);\n }\n var mergedRender = needHide ? function () {\n return null;\n } : render;\n\n // ========================== Render ==========================\n var cellSpan = {};\n\n // Virtual should reset `colSpan` & `rowSpan`\n if (rowSpan === 0 || colSpan === 0) {\n cellSpan.rowSpan = 1;\n cellSpan.colSpan = 1;\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: classNames(columnClassName, className),\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: \"div\",\n prefixCls: rowInfo.prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: mergedRender,\n shouldCellUpdate: column.shouldCellUpdate\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: _objectSpread(_objectSpread({}, additionalCellProps), {}, {\n style: mergedStyle\n }, cellSpan)\n }));\n}\nexport default VirtualCell;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"data\", \"index\", \"className\", \"rowKey\", \"style\", \"extra\", \"getHeight\"];\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport VirtualCell from \"./VirtualCell\";\nvar BodyLine = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n index = props.index,\n className = props.className,\n rowKey = props.rowKey,\n style = props.style,\n extra = props.extra,\n getHeight = props.getHeight,\n restProps = _objectWithoutProperties(props, _excluded);\n var record = data.record,\n indent = data.indent,\n renderIndex = data.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'flattenColumns', 'fixColumn', 'componentWidth', 'scrollX']),\n scrollX = _useContext.scrollX,\n flattenColumns = _useContext.flattenColumns,\n prefixCls = _useContext.prefixCls,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth;\n var rowInfo = useRowInfo(record, rowKey, index, indent);\n\n // ========================== Expand ==========================\n var rowSupportExpand = rowInfo.rowSupportExpand,\n expanded = rowInfo.expanded,\n rowProps = rowInfo.rowProps,\n expandedRowRender = rowInfo.expandedRowRender,\n expandedRowClassName = rowInfo.expandedRowClassName;\n var expandRowNode;\n if (rowSupportExpand && expanded) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n var computedExpandedRowClassName = expandedRowClassName === null || expandedRowClassName === void 0 ? void 0 : expandedRowClassName(record, index, indent);\n var additionalProps = {};\n if (fixColumn) {\n additionalProps = {\n style: _defineProperty({}, '--virtual-width', \"\".concat(componentWidth, \"px\"))\n };\n }\n var rowCellCls = \"\".concat(prefixCls, \"-expanded-row-cell\");\n expandRowNode = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), computedExpandedRowClassName)\n }, /*#__PURE__*/React.createElement(Cell, {\n component: \"div\",\n prefixCls: prefixCls,\n className: classNames(rowCellCls, _defineProperty({}, \"\".concat(rowCellCls, \"-fixed\"), fixColumn)),\n additionalProps: additionalProps\n }, expandContent));\n }\n\n // ========================== Render ==========================\n\n var rowStyle = _objectSpread(_objectSpread({}, style), {}, {\n width: scrollX\n });\n if (extra) {\n rowStyle.position = 'absolute';\n rowStyle.pointerEvents = 'none';\n }\n var rowNode = /*#__PURE__*/React.createElement(\"div\", _extends({}, rowProps, restProps, {\n ref: rowSupportExpand ? null : ref,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className, _defineProperty({}, \"\".concat(prefixCls, \"-row-extra\"), extra)),\n style: _objectSpread(_objectSpread({}, rowStyle), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n return /*#__PURE__*/React.createElement(VirtualCell, {\n key: colIndex,\n rowInfo: rowInfo,\n column: column,\n colIndex: colIndex,\n indent: indent,\n index: index,\n renderIndex: renderIndex,\n record: record,\n inverse: extra,\n getHeight: getHeight\n });\n }));\n if (rowSupportExpand) {\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref\n }, rowNode, expandRowNode);\n }\n return rowNode;\n});\nvar ResponseBodyLine = responseImmutable(BodyLine);\nif (process.env.NODE_ENV !== 'production') {\n ResponseBodyLine.displayName = 'BodyLine';\n}\nexport default ResponseBodyLine;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport BodyLine from \"./BodyLine\";\nimport { GridContext, StaticContext } from \"./context\";\nvar Grid = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n onScroll = props.onScroll;\n var _useContext = useContext(TableContext, ['flattenColumns', 'onColumnResize', 'getRowKey', 'prefixCls', 'expandedKeys', 'childrenColumnName', 'emptyNode', 'scrollX']),\n flattenColumns = _useContext.flattenColumns,\n onColumnResize = _useContext.onColumnResize,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n prefixCls = _useContext.prefixCls,\n childrenColumnName = _useContext.childrenColumnName,\n emptyNode = _useContext.emptyNode,\n scrollX = _useContext.scrollX;\n var _useContext2 = useContext(StaticContext),\n scrollY = _useContext2.scrollY,\n listItemHeight = _useContext2.listItemHeight;\n\n // =========================== Ref ============================\n var listRef = React.useRef();\n\n // =========================== Data ===========================\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // ========================== Column ==========================\n var columnsWidth = React.useMemo(function () {\n var total = 0;\n return flattenColumns.map(function (_ref) {\n var width = _ref.width,\n key = _ref.key;\n total += width;\n return [key, width, total];\n });\n }, [flattenColumns]);\n var columnsOffset = React.useMemo(function () {\n return columnsWidth.map(function (colWidth) {\n return colWidth[2];\n });\n }, [columnsWidth]);\n React.useEffect(function () {\n columnsWidth.forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n width = _ref3[1];\n onColumnResize(key, width);\n });\n }, [columnsWidth]);\n\n // =========================== Ref ============================\n React.useImperativeHandle(ref, function () {\n var obj = {};\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current;\n return ((_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current2;\n (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.scrollTo({\n left: value\n });\n }\n });\n return obj;\n });\n\n // ======================= Col/Row Span =======================\n var getRowSpan = function getRowSpan(column, index) {\n var _flattenData$index;\n var record = (_flattenData$index = flattenData[index]) === null || _flattenData$index === void 0 ? void 0 : _flattenData$index.record;\n var onCell = column.onCell;\n if (onCell) {\n var _cellProps$rowSpan;\n var cellProps = onCell(record, index);\n return (_cellProps$rowSpan = cellProps === null || cellProps === void 0 ? void 0 : cellProps.rowSpan) !== null && _cellProps$rowSpan !== void 0 ? _cellProps$rowSpan : 1;\n }\n return 1;\n };\n var extraRender = function extraRender(info) {\n var start = info.start,\n end = info.end,\n getSize = info.getSize,\n offsetY = info.offsetY;\n\n // Do nothing if no data\n if (end < 0) {\n return null;\n }\n\n // Find first rowSpan column\n var firstRowSpanColumns = flattenColumns.filter(\n // rowSpan is 0\n function (column) {\n return getRowSpan(column, start) === 0;\n });\n var startIndex = start;\n var _loop = function _loop(i) {\n firstRowSpanColumns = firstRowSpanColumns.filter(function (column) {\n return getRowSpan(column, i) === 0;\n });\n if (!firstRowSpanColumns.length) {\n startIndex = i;\n return \"break\";\n }\n };\n for (var i = start; i >= 0; i -= 1) {\n var _ret = _loop(i);\n if (_ret === \"break\") break;\n }\n\n // Find last rowSpan column\n var lastRowSpanColumns = flattenColumns.filter(\n // rowSpan is not 1\n function (column) {\n return getRowSpan(column, end) !== 1;\n });\n var endIndex = end;\n var _loop2 = function _loop2(_i) {\n lastRowSpanColumns = lastRowSpanColumns.filter(function (column) {\n return getRowSpan(column, _i) !== 1;\n });\n if (!lastRowSpanColumns.length) {\n endIndex = Math.max(_i - 1, end);\n return \"break\";\n }\n };\n for (var _i = end; _i < flattenData.length; _i += 1) {\n var _ret2 = _loop2(_i);\n if (_ret2 === \"break\") break;\n }\n\n // Collect the line who has rowSpan\n var spanLines = [];\n var _loop3 = function _loop3(_i2) {\n var item = flattenData[_i2];\n\n // This code will never reach, just incase\n if (!item) {\n return \"continue\";\n }\n if (flattenColumns.some(function (column) {\n return getRowSpan(column, _i2) > 1;\n })) {\n spanLines.push(_i2);\n }\n };\n for (var _i2 = startIndex; _i2 <= endIndex; _i2 += 1) {\n var _ret3 = _loop3(_i2);\n if (_ret3 === \"continue\") continue;\n }\n\n // Patch extra line on the page\n var nodes = spanLines.map(function (index) {\n var item = flattenData[index];\n var rowKey = getRowKey(item.record, index);\n var getHeight = function getHeight(rowSpan) {\n var endItemIndex = index + rowSpan - 1;\n var endItemKey = getRowKey(flattenData[endItemIndex].record, endItemIndex);\n var sizeInfo = getSize(rowKey, endItemKey);\n return sizeInfo.bottom - sizeInfo.top;\n };\n var sizeInfo = getSize(rowKey);\n return /*#__PURE__*/React.createElement(BodyLine, {\n key: index,\n data: item,\n rowKey: rowKey,\n index: index,\n style: {\n top: -offsetY + sizeInfo.top\n },\n extra: true,\n getHeight: getHeight\n });\n });\n return nodes;\n };\n\n // ========================= Context ==========================\n var gridContext = React.useMemo(function () {\n return {\n columnsOffset: columnsOffset\n };\n }, [columnsOffset]);\n\n // ========================== Render ==========================\n var tblPrefixCls = \"\".concat(prefixCls, \"-tbody\");\n var bodyContent;\n if (flattenData.length) {\n bodyContent = /*#__PURE__*/React.createElement(VirtualList, {\n fullHeight: false,\n ref: listRef,\n className: classNames(tblPrefixCls, \"\".concat(tblPrefixCls, \"-virtual\")),\n height: scrollY,\n itemHeight: listItemHeight || 24,\n data: flattenData,\n itemKey: function itemKey(item) {\n return getRowKey(item.record);\n },\n scrollWidth: scrollX,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var x = _ref4.x;\n onScroll({\n scrollLeft: x\n });\n },\n extraRender: extraRender\n }, function (item, index, itemProps) {\n var rowKey = getRowKey(item.record, index);\n return /*#__PURE__*/React.createElement(BodyLine, _extends({\n data: item,\n rowKey: rowKey,\n index: index\n }, itemProps));\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-placeholder\"))\n }, /*#__PURE__*/React.createElement(Cell, {\n component: \"div\",\n prefixCls: prefixCls\n }, emptyNode));\n }\n return /*#__PURE__*/React.createElement(GridContext.Provider, {\n value: gridContext\n }, bodyContent);\n});\nvar ResponseGrid = responseImmutable(Grid);\nif (process.env.NODE_ENV !== 'production') {\n ResponseGrid.displayName = 'ResponseGrid';\n}\nexport default ResponseGrid;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport { warning } from 'rc-util';\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../constant\";\nimport { makeImmutable } from \"../context/TableContext\";\nimport Table, { DEFAULT_PREFIX } from \"../Table\";\nimport Grid from \"./BodyGrid\";\nimport { StaticContext } from \"./context\";\nvar renderBody = function renderBody(rawData, props) {\n var ref = props.ref,\n onScroll = props.onScroll;\n return /*#__PURE__*/React.createElement(Grid, {\n ref: ref,\n data: rawData,\n onScroll: onScroll\n });\n};\nvar PRESET_COLUMN_WIDTH = 100;\nfunction VirtualTable(props) {\n var columns = props.columns,\n scroll = props.scroll,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? DEFAULT_PREFIX : _props$prefixCls,\n className = props.className,\n listItemHeight = props.listItemHeight;\n var _ref = scroll || {},\n scrollX = _ref.x,\n scrollY = _ref.y;\n\n // Fill scrollX\n if (typeof scrollX !== 'number') {\n scrollX = ((columns || []).length + 1) * PRESET_COLUMN_WIDTH;\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`scroll.x` in virtual table must be number.');\n }\n }\n\n // Fill scrollY\n if (typeof scrollY !== 'number') {\n scrollY = 500;\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`scroll.y` in virtual table must be number.');\n }\n }\n\n // ========================= Context ==========================\n var context = React.useMemo(function () {\n return {\n scrollY: scrollY,\n listItemHeight: listItemHeight\n };\n }, [scrollY, listItemHeight]);\n\n // ========================== Render ==========================\n return /*#__PURE__*/React.createElement(StaticContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Table, _extends({}, props, {\n className: classNames(className, \"\".concat(prefixCls, \"-virtual\")),\n scroll: _objectSpread(_objectSpread({}, scroll), {}, {\n x: scrollX\n }),\n components: {\n body: renderBody\n },\n columns: columns,\n internalHooks: INTERNAL_HOOKS,\n tailor: true\n })));\n}\nexport function genVirtualTable(shouldTriggerRender) {\n return makeImmutable(VirtualTable, shouldTriggerRender);\n}\nexport default genVirtualTable();","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}","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}\nexport const matchScreen = (screens, screenSizes) => {\n if (screenSizes && typeof screenSizes === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (screens[breakpoint] && screenSizes[breakpoint] !== undefined) {\n return screenSizes[breakpoint];\n }\n }\n }\n};","\"use client\";\n\nimport { useRef } from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\nimport useResponsiveObserver from '../../_util/responsiveObserver';\nfunction useBreakpoint() {\n let refreshOnChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n const screensRef = useRef({});\n const forceUpdate = useForceUpdate();\n const responsiveObserver = useResponsiveObserver();\n useLayoutEffect(() => {\n const token = responsiveObserver.subscribe(supportScreens => {\n screensRef.current = supportScreens;\n if (refreshOnChange) {\n forceUpdate();\n }\n });\n return () => responsiveObserver.unsubscribe(token);\n }, []);\n return screensRef.current;\n}\nexport default useBreakpoint;","// 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: DoubleLeftOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n DoubleLeftOutlined.displayName = 'DoubleLeftOutlined';\n}\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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: DoubleRightOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n DoubleRightOutlined.displayName = 'DoubleRightOutlined';\n}\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 popupMatchSelectWidth: 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 var pager = itemRender(page, 'page', /*#__PURE__*/React.createElement(\"a\", {\n rel: \"nofollow\"\n }, page));\n if (!pager) return null;\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 }, pager);\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\";\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\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 _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 = pickAttrs(this.props, {\n aria: true,\n data: true\n });\n var totalText = showTotal && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-total-text\")\n }, showTotal(total, [total === 0 ? 0 : (current - 1) * pageSize + 1, current * pageSize > total ? total : current * pageSize]));\n 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 var _prev = this.renderPrev(prevPage);\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, _prev ? /*#__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 }, _prev) : null, /*#__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 var jumpPrevContent = itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon(jumpPrevIcon, 'prev page'));\n var jumpNextContent = itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon(jumpNextIcon, 'next page'));\n if (showPrevNextJumpers) {\n jumpPrev = jumpPrevContent ? /*#__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 }, jumpPrevContent) : null;\n jumpNext = jumpNextContent ? /*#__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 }, jumpNextContent) : null;\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 var prev = this.renderPrev(prevPage);\n var next = this.renderNext(nextPage);\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, prev ? /*#__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 }, prev) : null, pagerList, next ? /*#__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 }, next) : null, /*#__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};","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\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 genPurePanel from '../_util/PurePanel';\nimport { getTransitionName } from '../_util/motion';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext } from '../form/context';\nimport { useCompactItemContext } from '../space/Compact';\nimport useStyle from './style';\nimport useBuiltinPlacements from './useBuiltinPlacements';\nimport useShowArrow from './useShowArrow';\nimport getIcons from './utils/iconUtil';\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nconst InternalSelect = (_a, ref) => {\n var _b;\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 builtinPlacements,\n dropdownMatchSelectWidth,\n popupMatchSelectWidth,\n direction: propDirection,\n style,\n allowClear\n } = _a,\n props = __rest(_a, [\"prefixCls\", \"bordered\", \"className\", \"rootClassName\", \"getPopupContainer\", \"popupClassName\", \"dropdownClassName\", \"listHeight\", \"placement\", \"listItemHeight\", \"size\", \"disabled\", \"notFoundContent\", \"status\", \"builtinPlacements\", \"dropdownMatchSelectWidth\", \"popupMatchSelectWidth\", \"direction\", \"style\", \"allowClear\"]);\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction: contextDirection,\n virtual,\n popupMatchSelectWidth: contextPopupMatchSelectWidth,\n popupOverflow,\n select\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const direction = propDirection !== null && propDirection !== void 0 ? propDirection : contextDirection;\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 showSuffixIcon = useShowArrow(props.suffixIcon, props.showArrow);\n const mergedPopupMatchSelectWidth = (_b = popupMatchSelectWidth !== null && popupMatchSelectWidth !== void 0 ? popupMatchSelectWidth : dropdownMatchSelectWidth) !== null && _b !== void 0 ? _b : contextPopupMatchSelectWidth;\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 showSuffixIcon,\n prefixCls,\n showArrow: props.showArrow,\n componentName: 'Select'\n }));\n const mergedAllowClear = allowClear === true ? {\n clearIcon\n } : allowClear;\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 = useSize(ctx => {\n var _a;\n return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\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, select === null || select === void 0 ? void 0 : select.className, className, rootClassName, hashId);\n // ===================== Placement =====================\n const memoPlacement = React.useMemo(() => {\n if (placement !== undefined) {\n return placement;\n }\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n }, [placement, direction]);\n const mergedBuiltinPlacements = useBuiltinPlacements(builtinPlacements, popupOverflow);\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 process.env.NODE_ENV !== \"production\" ? warning(dropdownMatchSelectWidth === undefined, 'Select', '`dropdownMatchSelectWidth` is deprecated. Please use `popupMatchSelectWidth` instead.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!('showArrow' in props), 'Select', '`showArrow` is deprecated which will be removed in next major version. It will be a default behavior, you can hide it by setting `suffixIcon` to null.') : void 0;\n }\n // ====================== Render =======================\n return wrapSSR( /*#__PURE__*/React.createElement(RcSelect, Object.assign({\n ref: ref,\n virtual: virtual,\n showSearch: select === null || select === void 0 ? void 0 : select.showSearch\n }, selectProps, {\n style: Object.assign(Object.assign({}, select === null || select === void 0 ? void 0 : select.style), style),\n dropdownMatchSelectWidth: mergedPopupMatchSelectWidth,\n builtinPlacements: mergedBuiltinPlacements,\n transitionName: getTransitionName(rootPrefixCls, 'slide-up', props.transitionName),\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n mode: mode,\n prefixCls: prefixCls,\n placement: memoPlacement,\n direction: direction,\n suffixIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n allowClear: mergedAllowClear,\n notFoundContent: mergedNotFound,\n className: mergedClassName,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: rcSelectRtlDropdownClassName,\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;\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\nexport default Select;","\"use client\";\n\nimport * as React from 'react';\nimport Select from '../select';\nconst MiniSelect = props => /*#__PURE__*/React.createElement(Select, Object.assign({}, props, {\n showSearch: true,\n size: \"small\"\n}));\nconst MiddleSelect = props => /*#__PURE__*/React.createElement(Select, Object.assign({}, props, {\n showSearch: true,\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.hoverBorderColor\n});\nexport const genActiveStyle = token => ({\n borderColor: token.activeBorderColor,\n boxShadow: token.activeShadow,\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 hoverBorderColor: token.colorBorder\n })))\n});\nconst genInputLargeStyle = token => {\n const {\n paddingBlockLG,\n fontSizeLG,\n lineHeightLG,\n borderRadiusLG,\n paddingInlineLG\n } = token;\n return {\n padding: `${paddingBlockLG}px ${paddingInlineLG}px`,\n fontSize: fontSizeLG,\n lineHeight: lineHeightLG,\n borderRadius: borderRadiusLG\n };\n};\nexport const genInputSmallStyle = token => ({\n padding: `${token.paddingBlockSM}px ${token.paddingInlineSM}px`,\n borderRadius: token.borderRadiusSM\n});\nexport const genStatusStyle = (token, parentCls) => {\n const {\n componentCls,\n colorError,\n colorWarning,\n errorActiveShadow,\n warningActiveShadow,\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 activeBorderColor: colorError,\n activeShadow: errorActiveShadow\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 activeBorderColor: colorWarning,\n activeShadow: warningActiveShadow\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.paddingBlock}px ${token.paddingInline}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.paddingInline}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.paddingBlock + 1}px -${token.paddingInline}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.paddingInline}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 [`\n & > ${componentCls}-affix-wrapper,\n & > ${componentCls}-number-affix-wrapper,\n & > ${antCls}-picker-range\n `]: {\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 '&::-ms-reveal': {\n display: 'none'\n },\n '&:focus': {\n boxShadow: 'none !important'\n }\n },\n '&::before': {\n display: 'inline-block',\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 fontSize: token.fontSizeLG\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 // Fix the issue of using icons in Space Compact mode\n // https://github.com/ant-design/ant-design/issues/42122\n [`&:not(${componentCls}-compact-first-item):not(${componentCls}-compact-last-item)${componentCls}-compact-item`]: {\n [`${componentCls}, ${componentCls}-group-addon`]: {\n borderRadius: 0\n }\n },\n [`&:not(${componentCls}-compact-last-item)${componentCls}-compact-first-item`]: {\n [`${componentCls}, ${componentCls}-group-addon`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`&:not(${componentCls}-compact-first-item)${componentCls}-compact-last-item`]: {\n [`${componentCls}, ${componentCls}-group-addon`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\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 boxShadow: 'none'\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};\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 position: 'absolute',\n bottom: -token.fontSize * token.lineHeight,\n insetInlineEnd: 0,\n color: token.colorTextDescription,\n whiteSpace: 'nowrap',\n pointerEvents: 'none'\n }\n },\n '&-allow-clear': {\n [`> ${componentCls}`]: {\n paddingInlineEnd: paddingLG\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.paddingInline,\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};\nexport function initInputToken(token) {\n return mergeToken(token, {\n inputAffixPadding: token.paddingXXS\n });\n}\nexport const initComponentToken = token => {\n const {\n controlHeight,\n fontSize,\n lineHeight,\n lineWidth,\n controlHeightSM,\n controlHeightLG,\n fontSizeLG,\n lineHeightLG,\n paddingSM,\n controlPaddingHorizontalSM,\n controlPaddingHorizontal,\n colorFillAlter,\n colorPrimaryHover,\n controlOutlineWidth,\n controlOutline,\n colorErrorOutline,\n colorWarningOutline\n } = token;\n return {\n paddingBlock: Math.max(Math.round((controlHeight - fontSize * lineHeight) / 2 * 10) / 10 - lineWidth, 3),\n paddingBlockSM: Math.max(Math.round((controlHeightSM - fontSize * lineHeight) / 2 * 10) / 10 - lineWidth, 0),\n paddingBlockLG: Math.ceil((controlHeightLG - fontSizeLG * lineHeightLG) / 2 * 10) / 10 - lineWidth,\n paddingInline: paddingSM - lineWidth,\n paddingInlineSM: controlPaddingHorizontalSM - lineWidth,\n paddingInlineLG: controlPaddingHorizontal - lineWidth,\n addonBg: colorFillAlter,\n activeBorderColor: colorPrimaryHover,\n hoverBorderColor: colorPrimaryHover,\n activeShadow: `0 0 0 ${controlOutlineWidth}px ${controlOutline}`,\n errorActiveShadow: `0 0 0 ${controlOutlineWidth}px ${colorErrorOutline}`,\n warningActiveShadow: `0 0 0 ${controlOutlineWidth}px ${colorWarningOutline}`\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Input', token => {\n const inputToken = mergeToken(token, initInputToken(token));\n return [genInputStyle(inputToken), genTextAreaStyle(inputToken), genAffixStyle(inputToken), genGroupStyle(inputToken), genSearchInputStyle(inputToken),\n // =====================================================\n // == Space Compact ==\n // =====================================================\n genCompactItemStyle(inputToken)];\n}, initComponentToken);","import { genBasicInputStyle, genInputSmallStyle, initComponentToken, initInputToken } from '../../input/style';\nimport { genFocusOutline, genFocusStyle, resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\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.itemActiveBgDisabled,\n '&:hover, &:active': {\n backgroundColor: token.itemActiveBgDisabled\n },\n a: {\n color: token.itemActiveColorDisabled\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 '&:hover, &:active': {\n backgroundColor: 'transparent'\n }\n }\n },\n [`${componentCls}-simple-pager`]: {\n color: token.colorTextDisabled\n },\n [`${componentCls}-jump-prev, ${componentCls}-jump-next`]: {\n [`${componentCls}-item-link-icon`]: {\n opacity: 0\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 1\n }\n }\n },\n [`&${componentCls}-simple`]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n [`&${componentCls}-disabled ${componentCls}-item-link`]: {\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n }\n }\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.itemSizeSM,\n lineHeight: `${token.itemSizeSM}px`\n },\n [`&${componentCls}-mini ${componentCls}-item`]: {\n minWidth: token.itemSizeSM,\n height: token.itemSizeSM,\n margin: 0,\n lineHeight: `${token.itemSizeSM - 2}px`\n },\n [`&${componentCls}-mini:not(${componentCls}-disabled) ${componentCls}-item:not(${componentCls}-item-active)`]: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n '&:hover': {\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n }\n },\n [`&${componentCls}-mini ${componentCls}-prev, &${componentCls}-mini ${componentCls}-next`]: {\n minWidth: token.itemSizeSM,\n height: token.itemSizeSM,\n margin: 0,\n lineHeight: `${token.itemSizeSM}px`\n },\n [`&${componentCls}-mini:not(${componentCls}-disabled)`]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n [`&:hover ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextHover\n },\n [`&:active ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextActive\n },\n [`&${componentCls}-disabled:hover ${componentCls}-item-link`]: {\n backgroundColor: 'transparent'\n }\n }\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.itemSizeSM,\n lineHeight: `${token.itemSizeSM}px`\n }\n },\n [`&${componentCls}-mini ${componentCls}-jump-prev, &${componentCls}-mini ${componentCls}-jump-next`]: {\n height: token.itemSizeSM,\n marginInlineEnd: 0,\n lineHeight: `${token.itemSizeSM}px`\n },\n [`&${componentCls}-mini ${componentCls}-options`]: {\n marginInlineStart: token.paginationMiniOptionsMarginInlineStart,\n [`&-size-changer`]: {\n top: token.miniOptionsSizeChangerTop\n },\n [`&-quick-jumper`]: {\n height: token.itemSizeSM,\n lineHeight: `${token.itemSizeSM}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.itemSizeSM,\n lineHeight: `${token.itemSizeSM}px`,\n verticalAlign: 'top',\n [`${componentCls}-item-link`]: {\n height: token.itemSizeSM,\n backgroundColor: 'transparent',\n border: 0,\n '&:hover': {\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n },\n '&::after': {\n height: token.itemSizeSM,\n lineHeight: `${token.itemSizeSM}px`\n }\n }\n },\n [`&${componentCls}-simple ${componentCls}-simple-pager`]: {\n display: 'inline-block',\n height: token.itemSizeSM,\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.itemInputBg,\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 },\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.itemSize,\n height: token.itemSize,\n color: token.colorText,\n fontFamily: token.fontFamily,\n lineHeight: `${token.itemSize}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: `all ${token.motionDurationMid}`\n },\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`]: {\n display: 'inline-block',\n minWidth: token.itemSize,\n height: token.itemSize,\n marginInlineEnd: token.marginXS,\n fontFamily: token.fontFamily,\n lineHeight: `${token.itemSize - 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 '&: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 '&-active': {\n fontWeight: token.fontWeightStrong,\n backgroundColor: token.itemActiveBg,\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.itemSize,\n marginInlineEnd: token.marginXS,\n lineHeight: `${token.itemSize - 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:not(${componentCls}-mini)`]: {\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.itemActiveBgDisabled\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}:not(${componentCls}-mini)`]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n '&:hover button': {\n borderColor: token.colorPrimaryHover,\n backgroundColor: token.itemBg\n },\n [`${componentCls}-item-link`]: {\n backgroundColor: token.itemLinkBg,\n borderColor: token.colorBorder\n },\n [`&:hover ${componentCls}-item-link`]: {\n borderColor: token.colorPrimary,\n backgroundColor: token.itemBg,\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.itemBg,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n [`&:hover:not(${componentCls}-item-active)`]: {\n borderColor: token.colorPrimary,\n backgroundColor: token.itemBg,\n a: {\n color: token.colorPrimary\n }\n },\n '&-active': {\n borderColor: token.colorPrimary\n }\n }\n }\n };\n};\nconst genPaginationFocusStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}:not(${componentCls}-disabled)`]: {\n [`${componentCls}-item`]: Object.assign({}, genFocusStyle(token)),\n [`${componentCls}-jump-prev, ${componentCls}-jump-next`]: {\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 [`${componentCls}-prev, ${componentCls}-next`]: {\n [`&:focus-visible ${componentCls}-item-link`]: Object.assign({}, genFocusOutline(token))\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Pagination', token => {\n const paginationToken = mergeToken(token, {\n inputOutlineOffset: 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), initComponentToken(token));\n return [genPaginationStyle(paginationToken), genPaginationFocusStyle(paginationToken), token.wireframe && genBorderedStyle(paginationToken)];\n}, token => ({\n itemBg: token.colorBgContainer,\n itemSize: token.controlHeight,\n itemSizeSM: token.controlHeightSM,\n itemActiveBg: token.colorBgContainer,\n itemLinkBg: token.colorBgContainer,\n itemActiveColorDisabled: token.colorTextDisabled,\n itemActiveBgDisabled: token.controlItemBgActiveDisabled,\n itemInputBg: token.colorBgContainer,\n miniOptionsSizeChangerTop: 0\n}));","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport 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 useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport { useLocale } from '../locale';\nimport { MiddleSelect, MiniSelect } from './Select';\nimport useStyle from './style';\nconst Pagination = props => {\n const {\n prefixCls: customizePrefixCls,\n selectPrefixCls: customizeSelectPrefixCls,\n className,\n rootClassName,\n style,\n size: customizeSize,\n locale: customLocale,\n selectComponentClass,\n responsive,\n showSizeChanger\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"selectPrefixCls\", \"className\", \"rootClassName\", \"style\", \"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 iconsProps = React.useMemo(() => {\n const ellipsis = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-item-ellipsis`\n }, \"\\u2022\\u2022\\u2022\");\n const prevIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: `${prefixCls}-item-link`,\n type: \"button\",\n tabIndex: -1\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(RightOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null));\n const nextIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: `${prefixCls}-item-link`,\n type: \"button\",\n tabIndex: -1\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null));\n const jumpPrevIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: `${prefixCls}-item-link`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-container`\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(DoubleRightOutlined, {\n className: `${prefixCls}-item-link-icon`\n }) : /*#__PURE__*/React.createElement(DoubleLeftOutlined, {\n className: `${prefixCls}-item-link-icon`\n }), ellipsis));\n const jumpNextIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: `${prefixCls}-item-link`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-container`\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(DoubleLeftOutlined, {\n className: `${prefixCls}-item-link-icon`\n }) : /*#__PURE__*/React.createElement(DoubleRightOutlined, {\n className: `${prefixCls}-item-link-icon`\n }), ellipsis));\n return {\n prevIcon,\n nextIcon,\n jumpPrevIcon,\n jumpNextIcon\n };\n }, [direction, prefixCls]);\n const [contextLocale] = useLocale('Pagination', enUS);\n const locale = Object.assign(Object.assign({}, contextLocale), customLocale);\n const mergedSize = useSize(customizeSize);\n const isSmall = mergedSize === 'small' || !!(xs && !mergedSize && responsive);\n const selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n const extendedClassName = classNames({\n [`${prefixCls}-mini`]: isSmall,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, pagination === null || pagination === void 0 ? void 0 : pagination.className, className, rootClassName, hashId);\n const mergedStyle = Object.assign(Object.assign({}, pagination === null || pagination === void 0 ? void 0 : pagination.style), style);\n return wrapSSR( /*#__PURE__*/React.createElement(RcPagination, Object.assign({}, iconsProps, restProps, {\n style: mergedStyle,\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;","\"use client\";\n\nimport 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}","\"use client\";\n\nimport { Keyframes } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\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 fontSize: 0,\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.dotSize / 2\n },\n [`${token.componentCls}-text`]: {\n position: 'absolute',\n top: '50%',\n width: '100%',\n paddingTop: (token.dotSize - token.fontSize) / 2 + 2,\n textShadow: `0 1px 2px ${token.colorBgContainer}`,\n fontSize: token.fontSize\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n marginTop: -(token.dotSize / 2) - 10\n },\n '&-sm': {\n [`${token.componentCls}-dot`]: {\n margin: -token.dotSizeSM / 2\n },\n [`${token.componentCls}-text`]: {\n paddingTop: (token.dotSizeSM - token.fontSize) / 2 + 2\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n marginTop: -(token.dotSizeSM / 2) - 10\n }\n },\n '&-lg': {\n [`${token.componentCls}-dot`]: {\n margin: -(token.dotSizeLG / 2)\n },\n [`${token.componentCls}-text`]: {\n paddingTop: (token.dotSizeLG - token.fontSize) / 2 + 2\n },\n [`&${token.componentCls}-show-text ${token.componentCls}-dot`]: {\n marginTop: -(token.dotSizeLG / 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.dotSize,\n width: '1em',\n height: '1em',\n '&-item': {\n position: 'absolute',\n display: 'block',\n width: (token.dotSize - token.marginXXS / 2) / 2,\n height: (token.dotSize - 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.dotSizeSM,\n i: {\n width: (token.dotSizeSM - token.marginXXS / 2) / 2,\n height: (token.dotSizeSM - token.marginXXS / 2) / 2\n }\n },\n // large\n [`&-lg ${token.componentCls}-dot`]: {\n fontSize: token.dotSizeLG,\n i: {\n width: (token.dotSizeLG - token.marginXXS) / 2,\n height: (token.dotSizeLG - 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 });\n return [genSpinStyle(spinToken)];\n}, token => ({\n contentHeight: 400,\n dotSize: token.controlHeightLG / 2,\n dotSizeSM: token.controlHeightLG * 0.35,\n dotSizeLG: token.controlHeight\n}));","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { debounce } from 'throttle-debounce';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\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 key: 1\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`,\n key: 2\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`,\n key: 3\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`,\n key: 4\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 if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!tip || isNestedPattern, 'Spin', '`tip` only work in nest pattern.') : void 0;\n }\n const {\n direction,\n spin\n } = React.useContext(ConfigContext);\n const spinClassName = classNames(prefixCls, spin === null || spin === void 0 ? void 0 : spin.className, {\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 mergedStyle = Object.assign(Object.assign({}, spin === null || spin === void 0 ? void 0 : spin.style), style);\n const spinElement = /*#__PURE__*/React.createElement(\"div\", Object.assign({}, divProps, {\n style: mergedStyle,\n className: spinClassName,\n \"aria-live\": \"polite\",\n \"aria-busy\": spinning\n }), renderIndicator(prefixCls, props), tip && isNestedPattern ? /*#__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 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: FilterFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n FilterFilled.displayName = 'FilterFilled';\n}\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 '&.wave-quick': {\n transition: [`box-shadow 0.3s ${token.motionEaseInOut}`, `opacity 0.35s ${token.motionEaseInOut}`].join(',')\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}","export const TARGET_CLS = 'ant-wave-target';","\"use client\";\n\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { render, unmount } from \"rc-util/es/React/render\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { getTargetWaveColor } from './util';\nimport { TARGET_CLS } from './interface';\nfunction validateNum(value) {\n return Number.isNaN(value) ? 0 : value;\n}\nconst WaveEffect = props => {\n const {\n className,\n target,\n component\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 const isSmallComponent = (component === 'Checkbox' || component === 'Radio') && (target === null || target === void 0 ? void 0 : target.classList.contains(TARGET_CLS));\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 holder === null || holder === void 0 ? void 0 : holder.remove();\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, {\n 'wave-quick': isSmallComponent\n }, motionClassName),\n style: waveStyle\n });\n });\n};\nconst showWaveEffect = (target, info) => {\n var _a;\n const {\n component\n } = info;\n // Skip for unchecked checkbox\n if (component === 'Checkbox' && !((_a = target.querySelector('input')) === null || _a === void 0 ? void 0 : _a.checked)) {\n return;\n }\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 target === null || target === void 0 ? void 0 : target.insertBefore(holder, target === null || target === void 0 ? void 0 : target.firstChild);\n render( /*#__PURE__*/React.createElement(WaveEffect, Object.assign({}, info, {\n target: target\n })), holder);\n};\nexport default showWaveEffect;","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 component\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), component);\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 (!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(e);\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;","import * as React from 'react';\nimport { useEvent } from 'rc-util';\nimport raf from \"rc-util/es/raf\";\nimport showWaveEffect from './WaveEffect';\nimport { ConfigContext } from '../../config-provider';\nimport useToken from '../../theme/useToken';\nimport { TARGET_CLS } from './interface';\nexport default function useWave(nodeRef, className, component) {\n const {\n wave\n } = React.useContext(ConfigContext);\n const [, token, hashId] = useToken();\n const showWave = useEvent(event => {\n const node = nodeRef.current;\n if ((wave === null || wave === void 0 ? void 0 : wave.disabled) || !node) {\n return;\n }\n const targetNode = node.querySelector(`.${TARGET_CLS}`) || node;\n const {\n showEffect\n } = wave || {};\n // Customize wave effect\n (showEffect || showWaveEffect)(targetNode, {\n className,\n token,\n component,\n event,\n hashId\n });\n });\n const rafId = React.useRef();\n // Merge trigger event into one for each frame\n const showDebounceWave = event => {\n raf.cancel(rafId.current);\n rafId.current = raf(() => {\n showWave(event);\n });\n };\n return showDebounceWave;\n}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { useToken } from '../theme/internal';\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;","\"use client\";\n\nimport 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 (isString(child)) {\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', 'dashed', 'link', 'text'];\nconst ButtonShapes = ['default', 'circle', 'round'];\nconst ButtonHTMLTypes = ['submit', 'button', 'reset'];","\"use client\";\n\nimport React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nconst IconWrapper = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n className,\n style,\n children,\n prefixCls\n } = props;\n const iconWrapperCls = classNames(`${prefixCls}-icon`, className);\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: ref,\n className: iconWrapperCls,\n style: style\n }, children);\n});\nexport default IconWrapper;","\"use client\";\n\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport React, { forwardRef } from 'react';\nimport IconWrapper from './IconWrapper';\nconst InnerLoadingIcon = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n prefixCls,\n className,\n style,\n iconClassName\n } = _ref;\n const mergedIconCls = classNames(`${prefixCls}-loading-icon`, className);\n return /*#__PURE__*/React.createElement(IconWrapper, {\n prefixCls: prefixCls,\n className: mergedIconCls,\n style: style,\n ref: ref\n }, /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: iconClassName\n }));\n});\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 = props => {\n const {\n prefixCls,\n loading,\n existIcon,\n className,\n style\n } = props;\n const visible = !!loading;\n if (existIcon) {\n return /*#__PURE__*/React.createElement(InnerLoadingIcon, {\n prefixCls: prefixCls,\n className: className,\n style: style\n });\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: motionCls,\n style: motionStyle\n } = _ref2;\n return /*#__PURE__*/React.createElement(InnerLoadingIcon, {\n prefixCls: prefixCls,\n className: className,\n style: Object.assign(Object.assign({}, style), motionStyle),\n ref: ref,\n iconClassName: motionCls\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 groupBorderColor,\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`, groupBorderColor), genButtonBorderStyle(`${componentCls}-danger`, colorErrorHover)]\n };\n};\nexport default genGroupStyle;","import { genFocusStyle } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genGroupStyle from './group';\n// ============================== Shared ==============================\nconst genSharedButtonStyle = token => {\n const {\n componentCls,\n iconCls,\n fontWeight\n } = token;\n return {\n [componentCls]: {\n outline: 'none',\n position: 'relative',\n display: 'inline-block',\n fontWeight,\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 '&:disabled > *': {\n pointerEvents: 'none'\n },\n '> span': {\n display: 'inline-block'\n },\n [`${componentCls}-icon`]: {\n lineHeight: 0\n },\n // Leave a space between icon and text.\n [`> ${iconCls} + span, > span + ${iconCls}`]: {\n marginInlineStart: token.marginXS\n },\n [`&:not(${componentCls}-icon-only) > ${componentCls}-icon`]: {\n [`&${componentCls}-loading-icon, &:not(:last-child)`]: {\n marginInlineEnd: token.marginXS\n }\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 = (btnCls, hoverStyle, activeStyle) => ({\n [`&:not(:disabled):not(${btnCls}-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.borderColorDisabled,\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n boxShadow: 'none'\n});\nconst genGhostButtonStyle = (btnCls, background, textColor, borderColor, textColorDisabled, borderColorDisabled, hoverStyle, activeStyle) => ({\n [`&${btnCls}-background-ghost`]: Object.assign(Object.assign({\n color: textColor || undefined,\n backgroundColor: background,\n borderColor: borderColor || undefined,\n boxShadow: 'none'\n }, genHoverActiveButtonStyle(btnCls, Object.assign({\n backgroundColor: background\n }, hoverStyle), Object.assign({\n backgroundColor: background\n }, activeStyle))), {\n '&:disabled': {\n cursor: 'not-allowed',\n color: textColorDisabled || undefined,\n borderColor: borderColorDisabled || undefined\n }\n })\n});\nconst genSolidDisabledButtonStyle = token => ({\n [`&:disabled, &${token.componentCls}-disabled`]: Object.assign({}, genDisabledStyle(token))\n});\nconst genSolidButtonStyle = token => Object.assign({}, genSolidDisabledButtonStyle(token));\nconst genPureDisabledButtonStyle = token => ({\n [`&:disabled, &${token.componentCls}-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.defaultBg,\n borderColor: token.defaultBorderColor,\n color: token.defaultColor,\n boxShadow: token.defaultShadow\n}), genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.ghostBg, token.defaultGhostColor, token.defaultGhostBorderColor, token.colorTextDisabled, token.colorBorder)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign(Object.assign({\n color: token.colorError,\n borderColor: token.colorError\n }, genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorBorderHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.ghostBg, 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.primaryColor,\n backgroundColor: token.colorPrimary,\n boxShadow: token.primaryShadow\n}), genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryHover\n}, {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.ghostBg, 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: token.dangerShadow,\n color: token.dangerColor\n }, genHoverActiveButtonStyle(token.componentCls, {\n backgroundColor: token.colorErrorHover\n }, {\n backgroundColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.ghostBg, 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(token.componentCls, {\n color: token.colorLinkHover,\n backgroundColor: token.linkHoverBg\n}, {\n color: token.colorLinkActive\n})), genPureDisabledButtonStyle(token)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign({\n color: token.colorError\n }, genHoverActiveButtonStyle(token.componentCls, {\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(token.componentCls, {\n color: token.colorText,\n backgroundColor: token.textHoverBg\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(token.componentCls, {\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }, {\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }))\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}-ghost`]: genGhostButtonStyle(token.componentCls, token.ghostBg, token.colorBgContainer, token.colorBgContainer, token.colorTextDisabled, token.colorBorder)\n };\n};\n// =============================== Size ===============================\nconst genSizeButtonStyle = function (token) {\n let sizePrefixCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const {\n componentCls,\n controlHeight,\n fontSize,\n lineHeight,\n lineWidth,\n borderRadius,\n buttonPaddingHorizontal,\n iconCls\n } = token;\n const paddingVertical = Math.max(0, (controlHeight - fontSize * lineHeight) / 2 - lineWidth);\n const iconOnlyCls = `${componentCls}-icon-only`;\n return [\n // Size\n {\n [`${componentCls}${sizePrefixCls}`]: {\n fontSize,\n height: controlHeight,\n padding: `${paddingVertical}px ${buttonPaddingHorizontal}px`,\n borderRadius,\n [`&${iconOnlyCls}`]: {\n width: controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n [`&${componentCls}-round`]: {\n width: 'auto'\n },\n [iconCls]: {\n fontSize: token.buttonIconOnlyFontSize\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 }\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(mergeToken(token, {\n fontSize: token.contentFontSize\n}));\nconst genSizeSmallButtonStyle = token => {\n const smallToken = mergeToken(token, {\n controlHeight: token.controlHeightSM,\n fontSize: token.contentFontSizeSM,\n padding: token.paddingXS,\n buttonPaddingHorizontal: token.paddingInlineSM,\n borderRadius: token.borderRadiusSM,\n buttonIconOnlyFontSize: token.onlyIconSizeSM\n });\n return genSizeButtonStyle(smallToken, `${token.componentCls}-sm`);\n};\nconst genSizeLargeButtonStyle = token => {\n const largeToken = mergeToken(token, {\n controlHeight: token.controlHeightLG,\n fontSize: token.contentFontSizeLG,\n buttonPaddingHorizontal: token.paddingInlineLG,\n borderRadius: token.borderRadiusLG,\n buttonIconOnlyFontSize: token.onlyIconSizeLG\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 const prepareToken = token => {\n const {\n paddingInline,\n onlyIconSize\n } = token;\n const buttonToken = mergeToken(token, {\n buttonPaddingHorizontal: paddingInline,\n buttonIconOnlyFontSize: onlyIconSize\n });\n return buttonToken;\n};\nexport const prepareComponentToken = token => ({\n fontWeight: 400,\n defaultShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlTmpOutline}`,\n primaryShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlOutline}`,\n dangerShadow: `0 ${token.controlOutlineWidth}px 0 ${token.colorErrorOutline}`,\n primaryColor: token.colorTextLightSolid,\n dangerColor: token.colorTextLightSolid,\n borderColorDisabled: token.colorBorder,\n defaultGhostColor: token.colorBgContainer,\n ghostBg: 'transparent',\n defaultGhostBorderColor: token.colorBgContainer,\n paddingInline: token.paddingContentHorizontal - token.lineWidth,\n paddingInlineLG: token.paddingContentHorizontal - token.lineWidth,\n paddingInlineSM: 8 - token.lineWidth,\n onlyIconSize: token.fontSizeLG,\n onlyIconSizeSM: token.fontSizeLG - 2,\n onlyIconSizeLG: token.fontSizeLG + 2,\n groupBorderColor: token.colorPrimaryHover,\n linkHoverBg: 'transparent',\n textHoverBg: token.colorBgTextHover,\n defaultColor: token.colorText,\n defaultBg: token.colorBgContainer,\n defaultBorderColor: token.colorBorder,\n defaultBorderColorDisabled: token.colorBorder,\n contentFontSize: token.fontSize,\n contentFontSizeSM: token.fontSize,\n contentFontSizeLG: token.fontSizeLG\n});\nexport default genComponentStyleHook('Button', token => {\n const buttonToken = prepareToken(token);\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, loading)\n genTypeButtonStyle(buttonToken),\n // Button Group\n genGroupStyle(buttonToken)];\n}, prepareComponentToken);","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}","// Style as inline component\nimport { prepareComponentToken, prepareToken } from '.';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genCompactItemVerticalStyle } from '../../style/compact-item-vertical';\nimport { genSubStyleComponent } from '../../theme/internal';\n// ============================== Export ==============================\nexport default genSubStyleComponent(['Button', 'compact'], token => {\n const buttonToken = prepareToken(token);\n return [\n // Space Compact\n genCompactItemStyle(buttonToken), genCompactItemVerticalStyle(buttonToken)];\n}, prepareComponentToken);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/* eslint-disable react/button-has-type */\nimport React, { Children, createRef, forwardRef, useContext, useEffect, useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport warning from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { useCompactItemContext } from '../space/Compact';\nimport Group, { GroupSizeContext } from './button-group';\nimport { isTwoCNChar, isUnBorderedButtonType, spaceChildren } from './buttonHelpers';\nimport IconWrapper from './IconWrapper';\nimport LoadingIcon from './LoadingIcon';\nimport useStyle from './style';\nimport CompactCmp from './style/compactCmp';\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 var _a, _b;\n const {\n loading = false,\n prefixCls: customizePrefixCls,\n type = 'default',\n danger,\n shape = 'default',\n size: customizeSize,\n styles,\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 classNames: customClassNames,\n style: customStyle = {}\n } = props,\n rest = __rest(props, [\"loading\", \"prefixCls\", \"type\", \"danger\", \"shape\", \"size\", \"styles\", \"disabled\", \"className\", \"rootClassName\", \"children\", \"icon\", \"ghost\", \"block\", \"htmlType\", \"classNames\", \"style\"]);\n const {\n getPrefixCls,\n autoInsertSpaceInButton,\n direction,\n button\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const disabled = useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const groupSize = useContext(GroupSizeContext);\n const loadingOrDelay = useMemo(() => getLoadingConfig(loading), [loading]);\n const [innerLoading, setLoading] = useState(loadingOrDelay.loading);\n const [hasTwoCNChar, setHasTwoCNChar] = useState(false);\n const internalRef = /*#__PURE__*/createRef();\n const buttonRef = composeRef(ref, internalRef);\n const needInserted = Children.count(children) === 1 && !icon && !isUnBorderedButtonType(type);\n useEffect(() => {\n let delayTimer = null;\n if (loadingOrDelay.delay > 0) {\n delayTimer = setTimeout(() => {\n delayTimer = null;\n setLoading(true);\n }, loadingOrDelay.delay);\n } else {\n setLoading(loadingOrDelay.loading);\n }\n function cleanupTimer() {\n if (delayTimer) {\n clearTimeout(delayTimer);\n delayTimer = null;\n }\n }\n return cleanupTimer;\n }, [loadingOrDelay]);\n useEffect(() => {\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 (needInserted && isTwoCNChar(buttonText)) {\n if (!hasTwoCNChar) {\n setHasTwoCNChar(true);\n }\n } else if (hasTwoCNChar) {\n setHasTwoCNChar(false);\n }\n }, [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 = useSize(ctxSize => {\n var _a, _b;\n return (_b = (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : groupSize) !== null && _b !== void 0 ? _b : ctxSize;\n });\n const sizeCls = sizeFullName ? sizeClassNameMap[sizeFullName] || '' : '';\n const iconType = innerLoading ? 'loading' : icon;\n const linkButtonRestProps = omit(rest, ['navigate']);\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 }, compactItemClassnames, className, rootClassName, button === null || button === void 0 ? void 0 : button.className);\n const fullStyle = Object.assign(Object.assign({}, button === null || button === void 0 ? void 0 : button.style), customStyle);\n const iconClasses = classNames(customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.icon, (_a = button === null || button === void 0 ? void 0 : button.classNames) === null || _a === void 0 ? void 0 : _a.icon);\n const iconStyle = Object.assign(Object.assign({}, (styles === null || styles === void 0 ? void 0 : styles.icon) || {}), ((_b = button === null || button === void 0 ? void 0 : button.styles) === null || _b === void 0 ? void 0 : _b.icon) || {});\n const iconNode = icon && !innerLoading ? /*#__PURE__*/React.createElement(IconWrapper, {\n prefixCls: prefixCls,\n className: iconClasses,\n style: iconStyle\n }, icon) : /*#__PURE__*/React.createElement(LoadingIcon, {\n existIcon: !!icon,\n prefixCls: prefixCls,\n loading: !!innerLoading\n });\n const kids = children || children === 0 ? spaceChildren(children, needInserted && autoInsertSpace) : null;\n if (linkButtonRestProps.href !== undefined) {\n return wrapSSR( /*#__PURE__*/React.createElement(\"a\", Object.assign({}, linkButtonRestProps, {\n className: classNames(classes, {\n [`${prefixCls}-disabled`]: mergedDisabled\n }),\n style: fullStyle,\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 style: fullStyle,\n onClick: handleClick,\n disabled: mergedDisabled,\n ref: buttonRef\n }), iconNode, kids, compactItemClassnames && /*#__PURE__*/React.createElement(CompactCmp, {\n key: \"compact\",\n prefixCls: prefixCls\n }));\n if (!isUnBorderedButtonType(type)) {\n buttonNode = /*#__PURE__*/React.createElement(Wave, {\n component: \"Button\",\n disabled: !!innerLoading\n }, buttonNode);\n }\n return wrapSSR(buttonNode);\n};\nconst Button = /*#__PURE__*/forwardRef(InternalButton);\nif (process.env.NODE_ENV !== 'production') {\n Button.displayName = 'Button';\n}\nButton.Group = Group;\nButton.__ANT_BUTTON = true;\nexport default Button;","\"use client\";\n\nimport Button from './button';\nexport * from './buttonHelpers';\nexport default Button;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"checked\", \"disabled\", \"defaultChecked\", \"type\", \"title\", \"onChange\"];\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nexport var Checkbox = /*#__PURE__*/forwardRef(function (props, ref) {\n var _classNames;\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-checkbox' : _props$prefixCls,\n className = props.className,\n style = props.style,\n checked = props.checked,\n disabled = props.disabled,\n _props$defaultChecked = props.defaultChecked,\n defaultChecked = _props$defaultChecked === void 0 ? false : _props$defaultChecked,\n _props$type = props.type,\n type = _props$type === void 0 ? 'checkbox' : _props$type,\n title = props.title,\n onChange = props.onChange,\n inputProps = _objectWithoutProperties(props, _excluded);\n var inputRef = useRef(null);\n var _useMergedState = useMergedState(defaultChecked, {\n value: checked\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n rawValue = _useMergedState2[0],\n setRawValue = _useMergedState2[1];\n useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n var _inputRef$current;\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n },\n blur: function blur() {\n var _inputRef$current2;\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.blur();\n },\n input: inputRef.current\n };\n });\n var classString = classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-checked\"), rawValue), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _classNames));\n var handleChange = function handleChange(e) {\n if (disabled) {\n return;\n }\n if (!('checked' in props)) {\n setRawValue(e.target.checked);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange({\n target: _objectSpread(_objectSpread({}, props), {}, {\n type: type,\n checked: e.target.checked\n }),\n stopPropagation: function stopPropagation() {\n e.stopPropagation();\n },\n preventDefault: function preventDefault() {\n e.preventDefault();\n },\n nativeEvent: e.nativeEvent\n });\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classString,\n title: title,\n style: style\n }, /*#__PURE__*/React.createElement(\"input\", _extends({}, inputProps, {\n className: \"\".concat(prefixCls, \"-input\"),\n ref: inputRef,\n onChange: handleChange,\n disabled: disabled,\n checked: !!rawValue,\n type: type\n })), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-inner\")\n }));\n});\nexport default Checkbox;","import React from 'react';\nconst GroupContext = /*#__PURE__*/React.createContext(null);\nexport default GroupContext;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport { FormItemInputContext } from '../form/context';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\nconst InternalCheckbox = (props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n indeterminate = false,\n style,\n onMouseEnter,\n onMouseLeave,\n skipGroup = false,\n disabled\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"indeterminate\", \"style\", \"onMouseEnter\", \"onMouseLeave\", \"skipGroup\", \"disabled\"]);\n const {\n getPrefixCls,\n direction,\n checkbox\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 = (_a = (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.disabled) || disabled) !== null && _a !== void 0 ? _a : 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(`${prefixCls}-wrapper`, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-checked`]: checkboxProps.checked,\n [`${prefixCls}-wrapper-disabled`]: mergedDisabled,\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, checkbox === null || checkbox === void 0 ? void 0 : checkbox.className, className, rootClassName, hashId);\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate\n }, TARGET_CLS, hashId);\n const ariaChecked = indeterminate ? 'mixed' : undefined;\n return wrapSSR( /*#__PURE__*/React.createElement(Wave, {\n component: \"Checkbox\",\n disabled: mergedDisabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: classString,\n style: Object.assign(Object.assign({}, checkbox === null || checkbox === void 0 ? void 0 : checkbox.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;","\"use client\";\n\nimport _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 GroupContext from './GroupContext';\nimport useStyle from './style';\nconst InternalGroup = (props, ref) => {\n const {\n defaultValue,\n children,\n options = [],\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n onChange\n } = props,\n restProps = __rest(props, [\"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 memoOptions = React.useMemo(() => 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 }), [options]);\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 onChange === null || onChange === void 0 ? void 0 : onChange(newValue.filter(val => registeredValues.includes(val)).sort((a, b) => {\n const indexA = memoOptions.findIndex(opt => opt.value === a);\n const indexB = memoOptions.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 const childrenNode = options.length ? memoOptions.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 title: option.title\n }, option.label)) : children;\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 }, childrenNode)));\n};\nexport { GroupContext };\nconst CheckboxGroup = /*#__PURE__*/React.forwardRef(InternalGroup);\nexport default /*#__PURE__*/React.memo(CheckboxGroup);","\"use client\";\n\nimport 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 KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from \"react\";\nvar ESC = KeyCode.ESC,\n TAB = KeyCode.TAB;\nexport default function useAccessibility(_ref) {\n var visible = _ref.visible,\n triggerRef = _ref.triggerRef,\n onVisibleChange = _ref.onVisibleChange,\n autoFocus = _ref.autoFocus,\n overlayRef = _ref.overlayRef;\n var focusMenuRef = React.useRef(false);\n var handleCloseMenuAndReturnFocus = function handleCloseMenuAndReturnFocus() {\n if (visible) {\n var _triggerRef$current, _triggerRef$current$f;\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$f = _triggerRef$current.focus) === null || _triggerRef$current$f === void 0 ? void 0 : _triggerRef$current$f.call(_triggerRef$current);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(false);\n }\n };\n var focusMenu = function focusMenu() {\n var _overlayRef$current;\n if ((_overlayRef$current = overlayRef.current) !== null && _overlayRef$current !== void 0 && _overlayRef$current.focus) {\n overlayRef.current.focus();\n focusMenuRef.current = true;\n return true;\n }\n return false;\n };\n var handleKeyDown = function handleKeyDown(event) {\n switch (event.keyCode) {\n case ESC:\n handleCloseMenuAndReturnFocus();\n break;\n case TAB:\n {\n var focusResult = false;\n if (!focusMenuRef.current) {\n focusResult = focusMenu();\n }\n if (focusResult) {\n event.preventDefault();\n } else {\n handleCloseMenuAndReturnFocus();\n }\n break;\n }\n }\n };\n React.useEffect(function () {\n if (visible) {\n window.addEventListener(\"keydown\", handleKeyDown);\n if (autoFocus) {\n // FIXME: hack with raf\n raf(focusMenu, 3);\n }\n return function () {\n window.removeEventListener(\"keydown\", handleKeyDown);\n focusMenuRef.current = false;\n };\n }\n return function () {\n focusMenuRef.current = false;\n };\n }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps\n}","import React, { forwardRef, useMemo } from 'react';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nvar Overlay = /*#__PURE__*/forwardRef(function (props, ref) {\n var overlay = props.overlay,\n arrow = props.arrow,\n prefixCls = props.prefixCls;\n var overlayNode = useMemo(function () {\n var overlayElement;\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n return overlayElement;\n }, [overlay]);\n var composedRef = composeRef(ref, overlayNode === null || overlayNode === void 0 ? void 0 : overlayNode.ref);\n return /*#__PURE__*/React.createElement(React.Fragment, null, arrow && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), /*#__PURE__*/React.cloneElement(overlayNode, {\n ref: supportRef(overlayNode) ? composedRef : undefined\n }));\n});\nexport default Overlay;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\", \"autoFocus\", \"overlay\", \"children\", \"onVisibleChange\"];\nimport Trigger from '@rc-component/trigger';\nimport classNames from 'classnames';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport React from 'react';\nimport useAccessibility from \"./hooks/useAccessibility\";\nimport Overlay from \"./Overlay\";\nimport Placements from \"./placements\";\nfunction Dropdown(props, ref) {\n var _children$props;\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n autoFocus = props.autoFocus,\n overlay = props.overlay,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n otherProps = _objectWithoutProperties(props, _excluded);\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n var overlayRef = React.useRef(null);\n var childRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n var handleVisibleChange = function handleVisibleChange(newVisible) {\n setTriggerVisible(newVisible);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(newVisible);\n };\n useAccessibility({\n visible: mergedVisible,\n triggerRef: childRef,\n onVisibleChange: handleVisibleChange,\n autoFocus: autoFocus,\n overlayRef: overlayRef\n });\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n setTriggerVisible(false);\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n };\n var getMenuElement = function getMenuElement() {\n return /*#__PURE__*/React.createElement(Overlay, {\n ref: overlayRef,\n overlay: overlay,\n prefixCls: prefixCls,\n arrow: arrow\n });\n };\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n return getMenuElement();\n };\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n return !alignPoint;\n };\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n if (openClassName !== undefined) {\n return openClassName;\n }\n return \"\".concat(prefixCls, \"-open\");\n };\n var childrenNode = /*#__PURE__*/React.cloneElement(children, {\n className: classNames((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.className, mergedVisible && getOpenClassName()),\n ref: supportRef(children) ? composeRef(childRef, children.ref) : undefined\n });\n var triggerHideAction = hideAction;\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n builtinPlacements: placements\n }, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction,\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: handleVisibleChange,\n onPopupClick: onClick,\n getPopupContainer: getPopupContainer\n }), childrenNode);\n}\nexport default /*#__PURE__*/React.forwardRef(Dropdown);","import Dropdown from \"./Dropdown\";\nexport default Dropdown;","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 const polygonOffset = outerRadius * (Math.sqrt(2) - 1);\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: {\n _multi_value_: true,\n value: [`polygon(${polygonOffset}px 100%, 50% ${polygonOffset}px, ${2 * unitWidth - polygonOffset}px 100%, ${polygonOffset}px 100%)`, `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 },\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 visibleFirst\n } = config;\n const halfArrowWidth = arrowWidth / 2;\n const placementMap = {};\n Object.keys(PlacementAlignMap).forEach(key => {\n const template = arrowPointAtCenter && ArrowCenterPlacementAlignMap[key] || PlacementAlignMap[key];\n const placementInfo = Object.assign(Object.assign({}, template), {\n offset: [0, 0]\n });\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 // VisibleFirst\n if (visibleFirst) {\n placementInfo.htmlRegion = 'visibleFirst';\n }\n });\n return placementMap;\n}","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 _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 _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 * 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 _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 (icon === null || icon === false) {\n return null;\n }\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, props));\n } else if (typeof icon !== \"boolean\") {\n // Compatible for origin definition\n iconNode = icon;\n }\n return iconNode || children || null;\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 _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 classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport omit from \"rc-util/es/omit\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { useMenuId } from \"./context/IdContext\";\nimport { MenuContext } from \"./context/MenuContext\";\nimport { useFullPath, useMeasure } from \"./context/PathContext\";\nimport PrivateContext from \"./context/PrivateContext\";\nimport useActive from \"./hooks/useActive\";\nimport useDirectionStyle from \"./hooks/useDirectionStyle\";\nimport Icon from \"./Icon\";\nimport { warnItemProp } from \"./utils/warnUtil\";\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\n // Here the props are eventually passed to the DOM element.\n // React does not recognize non-standard attributes.\n // Therefore, remove the props that is not used here.\n // ref: https://github.com/ant-design/ant-design/issues/41395\n var passedProps = omit(restProps, ['eventKey', 'popupClassName', 'popupOffset', 'onTitleClick']);\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 = /*#__PURE__*/React.forwardRef(function (props, ref) {\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 mergedEleRef = useComposeRef(ref, elementRef);\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: mergedEleRef,\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, ref) {\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, _extends({}, props, {\n ref: ref\n }));\n}\nexport default /*#__PURE__*/React.forwardRef(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 _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\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}","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nexport var placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow\n }\n};\nexport var placementsRtl = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow\n },\n rightTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow\n },\n rightBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow\n },\n leftTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow\n },\n leftBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow\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-component/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 popupStyle = _ref.popupStyle,\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 popupStyle: popupStyle,\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\", \"popupStyle\", \"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/commonUtil\";\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 popupStyle = props.popupStyle,\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 !== null && itemIcon !== void 0 ? itemIcon : contextItemIcon;\n var mergedExpandIcon = expandIcon !== null && expandIcon !== void 0 ? 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 : undefined,\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 popupStyle: popupStyle,\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 _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/commonUtil\";\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 role: \"separator\",\n className: classNames(\"\".concat(prefixCls, \"-item-divider\"), className),\n style: style\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"label\", \"children\", \"key\", \"type\"];\nimport * as React from 'react';\nimport MenuItemGroup from \"../MenuItemGroup\";\nimport SubMenu from \"../SubMenu\";\nimport Divider from \"../Divider\";\nimport MenuItem from \"../MenuItem\";\nimport { parseChildren } from \"./commonUtil\";\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}","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\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: getPopupContainer\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 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;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport 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 isNumeric from '../_util/isNumeric';\nimport { ConfigContext } from '../config-provider';\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((props, ref) => {\n const {\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 } = props,\n otherProps = __rest(props, [\"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(otherProps, ['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;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport { 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 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;","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};","export const PresetColors = ['blue', 'purple', 'cyan', 'green', 'magenta', 'pink', 'red', 'orange', 'yellow', 'volcano', 'geekblue', 'lime', 'gold'];","import { PresetColors } from '../interface';\nexport default function genPresetColor(token, genCss) {\n return PresetColors.reduce((prev, colorKey) => {\n const lightColor = token[`${colorKey}1`];\n const lightBorderColor = token[`${colorKey}3`];\n const darkColor = token[`${colorKey}6`];\n const textColor = token[`${colorKey}7`];\n return Object.assign(Object.assign({}, prev), genCss(colorKey, {\n lightColor,\n lightBorderColor,\n darkColor,\n textColor\n }));\n }, {});\n}","import { resetComponent } from '../../style';\nimport { initZoomMotion } from '../../style/motion';\nimport getArrowStyle, { MAX_VERTICAL_CONTENT_RADIUS } from '../../style/placementArrow';\nimport { genComponentStyleHook, genPresetColor, 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 transformOrigin: `var(--arrow-x, 50%) var(--arrow-y, 50%)`,\n '&-hidden': {\n display: 'none'\n },\n '--antd-arrow-background-color': tooltipBg,\n // Wrapper for the tooltip content\n [`${componentCls}-inner`]: {\n minWidth: controlHeight,\n minHeight: controlHeight,\n padding: `${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 boxSizing: 'border-box'\n },\n // Limit left and right placement radius\n [[`&-placement-left`, `&-placement-leftTop`, `&-placement-leftBottom`, `&-placement-right`, `&-placement-rightTop`, `&-placement-rightBottom`].join(',')]: {\n [`${componentCls}-inner`]: {\n borderRadius: 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 resetStyle: false\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}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcTooltip from 'rc-tooltip';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport { getTransitionName } from '../_util/motion';\nimport getPlacements from '../_util/placements';\nimport { cloneElement, isFragment, isValidElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { NoCompactStyle } from '../space/Compact';\nimport { useToken } from '../theme/internal';\nimport PurePanel from './PurePanel';\nimport useStyle from './style';\nimport { parseColor } from './util';\nconst 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 title,\n overlay,\n builtinPlacements,\n arrowPointAtCenter = false,\n autoAdjustOverflow = true\n } = props;\n const mergedShowArrow = !!arrow;\n const [, token] = useToken();\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n // ============================== Ref ===============================\n const 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={{ pointAtCenter: true }}']].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 noTitle = !title && !overlay && title !== 0; // overlay for old version compatibility\n const onOpenChange = vis => {\n var _a, _b;\n setOpen(noTitle ? false : vis);\n if (!noTitle) {\n (_a = props.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(props, vis);\n (_b = props.onVisibleChange) === null || _b === void 0 ? void 0 : _b.call(props, vis);\n }\n };\n const tooltipPlacements = React.useMemo(() => {\n var _a, _b;\n let mergedArrowPointAtCenter = arrowPointAtCenter;\n if (typeof arrow === 'object') {\n mergedArrowPointAtCenter = (_b = (_a = arrow.pointAtCenter) !== null && _a !== void 0 ? _a : arrow.arrowPointAtCenter) !== null && _b !== void 0 ? _b : arrowPointAtCenter;\n }\n return builtinPlacements || getPlacements({\n arrowPointAtCenter: mergedArrowPointAtCenter,\n autoAdjustOverflow,\n arrowWidth: mergedShowArrow ? token.sizePopupArrow : 0,\n borderRadius: token.borderRadius,\n offset: token.marginXXS,\n visibleFirst: true\n });\n }, [arrowPointAtCenter, arrow, builtinPlacements, token]);\n const memoOverlay = React.useMemo(() => {\n if (title === 0) {\n return title;\n }\n return overlay || title || '';\n }, [overlay, title]);\n const memoOverlayWrapper = /*#__PURE__*/React.createElement(NoCompactStyle, null, typeof memoOverlay === 'function' ? memoOverlay() : memoOverlay);\n const {\n getPopupContainer,\n placement = 'top',\n mouseEnterDelay = 0.1,\n mouseLeaveDelay = 0.1,\n overlayStyle,\n rootClassName\n } = props,\n otherProps = __rest(props, [\"getPopupContainer\", \"placement\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"rootClassName\"]);\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const injectFromPopover = props['data-popover-inject'];\n let tempOpen = open;\n // Hide tooltip when there is no title\n if (!('open' in props) && !('visible' in props) && noTitle) {\n tempOpen = false;\n }\n // ============================= Render =============================\n const child = 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, openClassName || `${prefixCls}-open`) : childProps.className;\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls, !injectFromPopover);\n // Color\n const colorInfo = parseColor(prefixCls, color);\n const arrowContentStyle = colorInfo.arrowStyle;\n const formattedOverlayInnerStyle = Object.assign(Object.assign({}, overlayInnerStyle), colorInfo.overlayStyle);\n const customOverlayClassName = classNames(overlayClassName, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, colorInfo.className, rootClassName, hashId);\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: tooltipPlacements,\n overlay: memoOverlayWrapper,\n visible: tempOpen,\n onVisibleChange: onOpenChange,\n afterVisibleChange: afterOpenChange !== null && afterOpenChange !== void 0 ? afterOpenChange : afterVisibleChange,\n overlayInnerStyle: formattedOverlayInnerStyle,\n arrowContent: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-arrow-content`\n }),\n motion: {\n motionName: getTransitionName(rootPrefixCls, 'zoom-big-fast', props.transitionName),\n motionDeadline: 1000\n },\n destroyTooltipOnHide: !!destroyTooltipOnHide\n }), tempOpen ? cloneElement(child, {\n className: childCls\n }) : child));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tooltip.displayName = 'Tooltip';\n}\nTooltip._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Tooltip;","\"use client\";\n\nimport classNames from 'classnames';\nimport { Popup } from 'rc-tooltip';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport { parseColor } from './util';\n/** @private Internal Component. Do not use in your production. */\nconst PurePanel = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n placement = 'top',\n title,\n color,\n overlayInnerStyle\n } = props;\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls, true);\n // Color\n const colorInfo = parseColor(prefixCls, color);\n const arrowContentStyle = colorInfo.arrowStyle;\n const formattedOverlayInnerStyle = Object.assign(Object.assign({}, overlayInnerStyle), colorInfo.overlayStyle);\n const cls = classNames(hashId, prefixCls, `${prefixCls}-pure`, `${prefixCls}-placement-${placement}`, className, colorInfo.className);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: arrowContentStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-arrow`\n }), /*#__PURE__*/React.createElement(Popup, Object.assign({}, props, {\n className: hashId,\n prefixCls: prefixCls,\n overlayInnerStyle: formattedOverlayInnerStyle\n }), title)));\n};\nexport default PurePanel;","\"use client\";\n\nimport { createContext } from 'react';\nconst MenuContext = /*#__PURE__*/createContext({\n prefixCls: '',\n firstLevel: true,\n inlineCollapsed: false\n});\nexport default MenuContext;","\"use client\";\n\nimport 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;","\"use client\";\n\nimport 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 } = 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 return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(RcSubMenu, Object.assign({}, omit(props, ['icon']), {\n title: titleNode,\n popupClassName: classNames(prefixCls, popupClassName, `${prefixCls}-${customTheme || contextTheme}`)\n })));\n};\nexport default SubMenu;","// 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: EllipsisOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n EllipsisOutlined.displayName = 'EllipsisOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(EllipsisOutlined);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { NoCompactStyle } from '../space/Compact';\nimport { supportNodeRef } from 'rc-util';\nconst OverrideContext = /*#__PURE__*/React.createContext(null);\n/** @internal Only used for Dropdown component. Do not use this in your production. */\nexport const OverrideProvider = /*#__PURE__*/React.forwardRef((props, ref) => {\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 }, /*#__PURE__*/React.createElement(NoCompactStyle, null, supportNodeRef(children) ? /*#__PURE__*/React.cloneElement(children, {\n ref\n }) : children));\n});\n/** @internal Only used for Dropdown component. Do not use this in your production. */\nexport default OverrideContext;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { 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}","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;","\"use client\";\n\nconst getHorizontalStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n horizontalLineHeight,\n colorSplit,\n lineWidth,\n lineType,\n itemPaddingInline\n } = token;\n return {\n [`${componentCls}-horizontal`]: {\n lineHeight: horizontalLineHeight,\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: itemPaddingInline\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;","\"use client\";\n\nconst 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;","\"use client\";\n\nimport { genFocusOutline } from '../../style';\nconst accessibilityFocus = token => Object.assign({}, genFocusOutline(token));\nconst getThemeStyle = (token, themeSuffix) => {\n const {\n componentCls,\n itemColor,\n itemSelectedColor,\n groupTitleColor,\n itemBg,\n subMenuItemBg,\n itemSelectedBg,\n activeBarHeight,\n activeBarWidth,\n activeBarBorderWidth,\n motionDurationSlow,\n motionEaseInOut,\n motionEaseOut,\n itemPaddingInline,\n motionDurationMid,\n itemHoverColor,\n lineType,\n colorSplit,\n // Disabled\n itemDisabledColor,\n // Danger\n dangerItemColor,\n dangerItemHoverColor,\n dangerItemSelectedColor,\n dangerItemActiveBg,\n dangerItemSelectedBg,\n itemHoverBg,\n itemActiveBg,\n menuSubMenuBg,\n // Horizontal\n horizontalItemSelectedColor,\n horizontalItemSelectedBg,\n horizontalItemBorderRadius,\n horizontalItemHoverBg,\n popupBg\n } = token;\n return {\n [`${componentCls}-${themeSuffix}, ${componentCls}-${themeSuffix} > ${componentCls}`]: {\n color: itemColor,\n background: itemBg,\n [`&${componentCls}-root:focus-visible`]: Object.assign({}, accessibilityFocus(token)),\n // ======================== Item ========================\n [`${componentCls}-item-group-title`]: {\n color: groupTitleColor\n },\n [`${componentCls}-submenu-selected`]: {\n [`> ${componentCls}-submenu-title`]: {\n color: itemSelectedColor\n }\n },\n // Disabled\n [`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {\n color: `${itemDisabledColor} !important`\n },\n // Hover\n [`${componentCls}-item:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n [`&:hover, > ${componentCls}-submenu-title:hover`]: {\n color: itemHoverColor\n }\n },\n [`&:not(${componentCls}-horizontal)`]: {\n [`${componentCls}-item:not(${componentCls}-item-selected)`]: {\n '&:hover': {\n backgroundColor: itemHoverBg\n },\n '&:active': {\n backgroundColor: itemActiveBg\n }\n },\n [`${componentCls}-submenu-title`]: {\n '&:hover': {\n backgroundColor: itemHoverBg\n },\n '&:active': {\n backgroundColor: itemActiveBg\n }\n }\n },\n // Danger - only Item has\n [`${componentCls}-item-danger`]: {\n color: dangerItemColor,\n [`&${componentCls}-item:hover`]: {\n [`&:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n color: dangerItemHoverColor\n }\n },\n [`&${componentCls}-item:active`]: {\n background: dangerItemActiveBg\n }\n },\n [`${componentCls}-item a`]: {\n '&, &:hover': {\n color: 'inherit'\n }\n },\n [`${componentCls}-item-selected`]: {\n color: itemSelectedColor,\n // Danger\n [`&${componentCls}-item-danger`]: {\n color: dangerItemSelectedColor\n },\n [`a, a:hover`]: {\n color: 'inherit'\n }\n },\n [`& ${componentCls}-item-selected`]: {\n backgroundColor: itemSelectedBg,\n // Danger\n [`&${componentCls}-item-danger`]: {\n backgroundColor: dangerItemSelectedBg\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: popupBg\n },\n // ====================== Horizontal ======================\n [`&${componentCls}-horizontal`]: Object.assign(Object.assign({}, themeSuffix === 'dark' ? {\n borderBottom: 0\n } : {}), {\n [`> ${componentCls}-item, > ${componentCls}-submenu`]: {\n top: activeBarBorderWidth,\n marginTop: -activeBarBorderWidth,\n marginBottom: 0,\n borderRadius: horizontalItemBorderRadius,\n '&::after': {\n position: 'absolute',\n insetInline: itemPaddingInline,\n bottom: 0,\n borderBottom: `${activeBarHeight}px solid transparent`,\n transition: `border-color ${motionDurationSlow} ${motionEaseInOut}`,\n content: '\"\"'\n },\n [`&:hover, &-active, &-open`]: {\n background: horizontalItemHoverBg,\n '&::after': {\n borderBottomWidth: activeBarHeight,\n borderBottomColor: horizontalItemSelectedColor\n }\n },\n [`&-selected`]: {\n color: horizontalItemSelectedColor,\n backgroundColor: horizontalItemSelectedBg,\n '&:hover': {\n backgroundColor: horizontalItemSelectedBg\n },\n '&::after': {\n borderBottomWidth: activeBarHeight,\n borderBottomColor: horizontalItemSelectedColor\n }\n }\n }\n }),\n // ================== Inline & Vertical ===================\n //\n [`&${componentCls}-root`]: {\n [`&${componentCls}-inline, &${componentCls}-vertical`]: {\n borderInlineEnd: `${activeBarBorderWidth}px ${lineType} ${colorSplit}`\n }\n },\n // ======================== Inline ========================\n [`&${componentCls}-inline`]: {\n // Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n background: subMenuItemBg\n },\n // Item\n [`${componentCls}-item, ${componentCls}-submenu-title`]: activeBarBorderWidth && activeBarWidth ? {\n width: `calc(100% + ${activeBarBorderWidth}px)`\n } : {},\n [`${componentCls}-item`]: {\n position: 'relative',\n '&::after': {\n position: 'absolute',\n insetBlock: 0,\n insetInlineEnd: 0,\n borderInlineEnd: `${activeBarWidth}px solid ${itemSelectedColor}`,\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: dangerItemSelectedColor\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;","\"use client\";\n\nimport { textEllipsis } from '../../style';\nconst getVerticalInlineStyle = token => {\n const {\n componentCls,\n itemHeight,\n itemMarginInline,\n padding,\n menuArrowSize,\n marginXS,\n itemMarginBlock\n } = token;\n const paddingWithArrow = padding + menuArrowSize + marginXS;\n return {\n [`${componentCls}-item`]: {\n position: 'relative',\n overflow: 'hidden'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n height: itemHeight,\n lineHeight: `${itemHeight}px`,\n paddingInline: padding,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginInline: itemMarginInline,\n marginBlock: itemMarginBlock,\n width: `calc(100% - ${itemMarginInline * 2}px)`\n },\n [`> ${componentCls}-item,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n height: itemHeight,\n lineHeight: `${itemHeight}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 itemHeight,\n colorTextLightSolid,\n dropdownWidth,\n controlHeightLG,\n motionDurationMid,\n motionEaseOut,\n paddingXL,\n itemMarginInline,\n fontSizeLG,\n motionDurationSlow,\n paddingXS,\n boxShadowSecondary,\n collapsedWidth,\n collapsedIconSize\n } = token;\n const inlineItemStyle = {\n height: itemHeight,\n lineHeight: `${itemHeight}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: collapsedWidth,\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% - ${fontSizeLG / 2}px - ${itemMarginInline}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: collapsedIconSize,\n lineHeight: `${itemHeight}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;","\"use client\";\n\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { clearFix, resetComponent, resetIcon } from '../../style';\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';\nconst genMenuItemStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n motionEaseOut,\n iconCls,\n iconSize,\n iconMarginInlineEnd\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: iconSize,\n fontSize: iconSize,\n transition: [`font-size ${motionDurationMid} ${motionEaseOut}`, `margin ${motionDurationSlow} ${motionEaseInOut}`, `color ${motionDurationSlow}`].join(','),\n '+ span': {\n marginInlineStart: iconMarginInlineEnd,\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 paddingXS,\n padding,\n colorSplit,\n lineWidth,\n zIndexPopup,\n borderRadiusLG,\n subMenuItemBorderRadius,\n menuArrowSize,\n menuArrowOffset,\n lineType,\n menuPanelMaskInset,\n groupTitleLineHeight,\n groupTitleFontSize\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 // Magic cubic here but smooth transition\n transition: `width ${motionDurationSlow} cubic-bezier(0.2, 0, 0, 1) 0s`,\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.itemBorderRadius\n },\n [`${componentCls}-item-group-title`]: {\n padding: `${paddingXS}px ${padding}px`,\n fontSize: groupTitleFontSize,\n lineHeight: groupTitleLineHeight,\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 borderRadius: borderRadiusLG,\n boxShadow: 'none',\n transformOrigin: '0 0',\n [`&${componentCls}-submenu`]: {\n background: 'transparent'\n },\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 [`\n &-placement-leftTop,\n &-placement-bottomRight,\n `]: {\n transformOrigin: '100% 0'\n },\n [`\n &-placement-leftBottom,\n &-placement-topRight,\n `]: {\n transformOrigin: '100% 100%'\n },\n [`\n &-placement-rightBottom,\n &-placement-topLeft,\n `]: {\n transformOrigin: '0 100%'\n },\n [`\n &-placement-bottomLeft,\n &-placement-rightTop,\n `]: {\n transformOrigin: '0 0'\n },\n [`\n &-placement-leftTop,\n &-placement-leftBottom\n `]: {\n paddingInlineEnd: token.paddingXS\n },\n [`\n &-placement-rightTop,\n &-placement-rightBottom\n `]: {\n paddingInlineStart: token.paddingXS\n },\n [`\n &-placement-topRight,\n &-placement-topLeft\n `]: {\n paddingBottom: token.paddingXS\n },\n [`\n &-placement-bottomRight,\n &-placement-bottomLeft\n `]: {\n paddingTop: token.paddingXS\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: subMenuItemBorderRadius\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 => {\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 colorTextLightSolid,\n controlHeightLG,\n fontSize,\n darkItemColor,\n darkDangerItemColor,\n darkItemBg,\n darkSubMenuItemBg,\n darkItemSelectedColor,\n darkItemSelectedBg,\n darkDangerItemSelectedBg,\n darkItemHoverBg,\n darkGroupTitleColor,\n darkItemHoverColor,\n darkItemDisabledColor,\n darkDangerItemHoverColor,\n darkDangerItemSelectedColor,\n darkDangerItemActiveBg\n } = token;\n const menuArrowSize = fontSize / 7 * 5;\n // Menu Token\n const menuToken = mergeToken(token, {\n menuArrowSize,\n menuHorizontalHeight: controlHeightLG * 1.15,\n menuArrowOffset: `${menuArrowSize * 0.25}px`,\n menuPanelMaskInset: -7,\n menuSubMenuBg: colorBgElevated\n });\n const menuDarkToken = mergeToken(menuToken, {\n itemColor: darkItemColor,\n itemHoverColor: darkItemHoverColor,\n groupTitleColor: darkGroupTitleColor,\n itemSelectedColor: darkItemSelectedColor,\n itemBg: darkItemBg,\n popupBg: darkItemBg,\n subMenuItemBg: darkSubMenuItemBg,\n itemActiveBg: 'transparent',\n itemSelectedBg: darkItemSelectedBg,\n activeBarHeight: 0,\n activeBarBorderWidth: 0,\n itemHoverBg: darkItemHoverBg,\n // Disabled\n itemDisabledColor: darkItemDisabledColor,\n // Danger\n dangerItemColor: darkDangerItemColor,\n dangerItemHoverColor: darkDangerItemHoverColor,\n dangerItemSelectedColor: darkDangerItemSelectedColor,\n dangerItemActiveBg: darkDangerItemActiveBg,\n dangerItemSelectedBg: darkDangerItemSelectedBg,\n menuSubMenuBg: darkSubMenuItemBg,\n // Horizontal\n horizontalItemSelectedColor: colorTextLightSolid,\n horizontalItemSelectedBg: colorPrimary\n });\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 controlHeightLG,\n lineHeight,\n colorBgElevated,\n marginXXS,\n padding,\n fontSize,\n controlHeightSM,\n fontSizeLG,\n colorTextLightSolid,\n colorErrorHover\n } = token;\n const colorTextDark = new TinyColor(colorTextLightSolid).setAlpha(0.65).toRgbString();\n return {\n dropdownWidth: 160,\n zIndexPopup: token.zIndexPopupBase + 50,\n radiusItem: token.borderRadiusLG,\n itemBorderRadius: token.borderRadiusLG,\n radiusSubMenuItem: token.borderRadiusSM,\n subMenuItemBorderRadius: token.borderRadiusSM,\n colorItemText: colorText,\n itemColor: colorText,\n colorItemTextHover: colorText,\n itemHoverColor: colorText,\n colorItemTextHoverHorizontal: colorPrimary,\n horizontalItemHoverColor: colorPrimary,\n colorGroupTitle: colorTextDescription,\n groupTitleColor: colorTextDescription,\n colorItemTextSelected: colorPrimary,\n itemSelectedColor: colorPrimary,\n colorItemTextSelectedHorizontal: colorPrimary,\n horizontalItemSelectedColor: colorPrimary,\n colorItemBg: colorBgContainer,\n itemBg: colorBgContainer,\n colorItemBgHover: colorBgTextHover,\n itemHoverBg: colorBgTextHover,\n colorItemBgActive: colorFillContent,\n itemActiveBg: controlItemBgActive,\n colorSubItemBg: colorFillAlter,\n subMenuItemBg: colorFillAlter,\n colorItemBgSelected: controlItemBgActive,\n itemSelectedBg: controlItemBgActive,\n colorItemBgSelectedHorizontal: 'transparent',\n horizontalItemSelectedBg: 'transparent',\n colorActiveBarWidth: 0,\n activeBarWidth: 0,\n colorActiveBarHeight: lineWidthBold,\n activeBarHeight: lineWidthBold,\n colorActiveBarBorderSize: lineWidth,\n activeBarBorderWidth: lineWidth,\n // Disabled\n colorItemTextDisabled: colorTextDisabled,\n itemDisabledColor: colorTextDisabled,\n // Danger\n colorDangerItemText: colorError,\n dangerItemColor: colorError,\n colorDangerItemTextHover: colorError,\n dangerItemHoverColor: colorError,\n colorDangerItemTextSelected: colorError,\n dangerItemSelectedColor: colorError,\n colorDangerItemBgActive: colorErrorBg,\n dangerItemActiveBg: colorErrorBg,\n colorDangerItemBgSelected: colorErrorBg,\n dangerItemSelectedBg: colorErrorBg,\n itemMarginInline: token.marginXXS,\n horizontalItemBorderRadius: 0,\n horizontalItemHoverBg: 'transparent',\n itemHeight: controlHeightLG,\n groupTitleLineHeight: lineHeight,\n collapsedWidth: controlHeightLG * 2,\n popupBg: colorBgElevated,\n itemMarginBlock: marginXXS,\n itemPaddingInline: padding,\n horizontalLineHeight: `${controlHeightLG * 1.15}px`,\n iconSize: fontSize,\n iconMarginInlineEnd: controlHeightSM - fontSize,\n collapsedIconSize: fontSizeLG,\n groupTitleFontSize: fontSize,\n // Disabled\n darkItemDisabledColor: new TinyColor(colorTextLightSolid).setAlpha(0.25).toRgbString(),\n // Dark\n darkItemColor: colorTextDark,\n darkDangerItemColor: colorError,\n darkItemBg: '#001529',\n darkSubMenuItemBg: '#000c17',\n darkItemSelectedColor: colorTextLightSolid,\n darkItemSelectedBg: colorPrimary,\n darkDangerItemSelectedBg: colorError,\n darkItemHoverBg: 'transparent',\n darkGroupTitleColor: colorTextDark,\n darkItemHoverColor: colorTextLightSolid,\n darkDangerItemHoverColor: colorErrorHover,\n darkDangerItemSelectedColor: colorTextLightSolid,\n darkDangerItemActiveBg: colorError\n };\n }, {\n deprecatedTokens: [['colorGroupTitle', 'groupTitleColor'], ['radiusItem', 'itemBorderRadius'], ['radiusSubMenuItem', 'subMenuItemBorderRadius'], ['colorItemText', 'itemColor'], ['colorItemTextHover', 'itemHoverColor'], ['colorItemTextHoverHorizontal', 'horizontalItemHoverColor'], ['colorItemTextSelected', 'itemSelectedColor'], ['colorItemTextSelectedHorizontal', 'horizontalItemSelectedColor'], ['colorItemTextDisabled', 'itemDisabledColor'], ['colorDangerItemText', 'dangerItemColor'], ['colorDangerItemTextHover', 'dangerItemHoverColor'], ['colorDangerItemTextSelected', 'dangerItemSelectedColor'], ['colorDangerItemBgActive', 'dangerItemActiveBg'], ['colorDangerItemBgSelected', 'dangerItemSelectedBg'], ['colorItemBg', 'itemBg'], ['colorItemBgHover', 'itemHoverBg'], ['colorSubItemBg', 'subMenuItemBg'], ['colorItemBgActive', 'itemActiveBg'], ['colorItemBgSelectedHorizontal', 'horizontalItemSelectedBg'], ['colorActiveBarWidth', 'activeBarWidth'], ['colorActiveBarHeight', 'activeBarHeight'], ['colorActiveBarBorderSize', 'activeBarBorderWidth'], ['colorItemBgSelected', 'itemSelectedBg']]\n });\n return useOriginHook(prefixCls);\n});","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport classNames from 'classnames';\nimport RcMenu from 'rc-menu';\nimport { useEvent } from 'rc-util';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport initCollapseMotion from '../_util/motion';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport MenuContext from './MenuContext';\nimport OverrideContext from './OverrideContext';\nimport useItems from './hooks/useItems';\nimport useStyle from './style';\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 menu\n } = React.useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n theme = 'light',\n expandIcon,\n _internalDisableMenuItemTitleTooltip,\n inlineCollapsed,\n siderCollapsed,\n items,\n children,\n rootClassName,\n mode,\n selectable,\n onClick,\n overflowedIndicatorPopupClassName\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"style\", \"theme\", \"expandIcon\", \"_internalDisableMenuItemTitleTooltip\", \"inlineCollapsed\", \"siderCollapsed\", \"items\", \"children\", \"rootClassName\", \"mode\", \"selectable\", \"onClick\", \"overflowedIndicatorPopupClassName\"]);\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}`, menu === null || menu === void 0 ? void 0 : menu.className, className);\n // ====================== Expand Icon ========================\n let mergedExpandIcon;\n if (typeof expandIcon === 'function') {\n mergedExpandIcon = expandIcon;\n } else if (expandIcon === null || expandIcon === false) {\n mergedExpandIcon = null;\n } else if (overrideObj.expandIcon === null || overrideObj.expandIcon === false) {\n mergedExpandIcon = null;\n } else {\n const beClone = expandIcon !== null && expandIcon !== void 0 ? expandIcon : overrideObj.expandIcon;\n mergedExpandIcon = cloneElement(beClone, {\n className: classNames(`${prefixCls}-submenu-expand-icon`, isValidElement(beClone) ? (_b = 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: classNames(prefixCls, `${prefixCls}-${theme}`, overflowedIndicatorPopupClassName),\n mode: mergedMode,\n selectable: mergedSelectable,\n onClick: onItemClick\n }, passedProps, {\n inlineCollapsed: mergedInlineCollapsed,\n style: Object.assign(Object.assign({}, menu === null || menu === void 0 ? void 0 : menu.style), style),\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;","\"use client\";\n\nimport { ItemGroup } from 'rc-menu';\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { SiderContext } from '../layout/Sider';\nimport MenuDivider from './MenuDivider';\nimport Item from './MenuItem';\nimport SubMenu from './SubMenu';\nimport InternalMenu from './menu';\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;","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 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 [`&-trigger${antCls}-btn`]: {\n [`& > ${iconCls}-down, & > ${antCls}-btn-icon > ${iconCls}-down`]: {\n fontSize: fontSizeIcon\n }\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), genStatusStyle(dropdownToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 50\n}));","\"use client\";\n\nimport * as React from 'react';\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcDropdown from 'rc-dropdown';\nimport { useEvent } from 'rc-util';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport getPlacements from '../_util/placements';\nimport genPurePanel from '../_util/PurePanel';\nimport { cloneElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport Menu from '../menu';\nimport { OverrideProvider } from '../menu/OverrideContext';\nimport { useToken } from '../theme/internal';\nimport useStyle from './style';\nconst Placements = ['topLeft', 'topCenter', 'topRight', 'bottomLeft', 'bottomCenter', 'bottomRight', 'top', 'bottom'];\nconst Dropdown = props => {\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 placement = '',\n overlay,\n transitionName\n } = 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 memoTransitionName = React.useMemo(() => {\n const rootPrefixCls = getPrefixCls();\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 }, [getPrefixCls, placement, transitionName]);\n const memoPlacement = React.useMemo(() => {\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 }, [placement, direction]);\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 [, token] = 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 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 }, 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: memoTransitionName,\n trigger: triggerActions,\n overlay: renderOverlay,\n placement: memoPlacement,\n onVisibleChange: onInnerOpenChange\n }), dropdownTrigger));\n};\nfunction postPureProps(props) {\n return Object.assign(Object.assign({}, props), {\n align: {\n overflow: {\n adjustX: false,\n adjustY: false\n }\n }\n });\n}\n// We don't care debug panel\nconst PurePanel = genPurePanel(Dropdown, 'dropdown', prefixCls => prefixCls, postPureProps);\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 React from 'react';\nexport const SpaceContext = /*#__PURE__*/React.createContext({\n latestIndex: 0\n});\nexport const SpaceContextProvider = SpaceContext.Provider;","\"use client\";\n\nimport * as React from 'react';\nimport { SpaceContext } from './context';\nconst Item = _ref => {\n let {\n className,\n index,\n children,\n split,\n style\n } = _ref;\n const {\n latestIndex\n } = React.useContext(SpaceContext);\n if (children === null || children === undefined) {\n return null;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, children), index < latestIndex && split && /*#__PURE__*/React.createElement(\"span\", {\n className: `${className}-split`\n }, split));\n};\nexport default Item;","export function isPresetSize(size) {\n return ['small', 'middle', 'large'].includes(size);\n}\nexport function isValidGapNumber(size) {\n if (!size) {\n // The case of size = 0 is deliberately excluded here, because the default value of the gap attribute in CSS is 0, so if the user passes 0 in, we can directly ignore it.\n return false;\n }\n return typeof size === 'number' && !Number.isNaN(size);\n}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { ConfigContext } from '../config-provider';\nimport Compact from './Compact';\nimport { SpaceContextProvider } from './context';\nimport Item from './Item';\nimport useStyle from './style';\nimport { isPresetSize, isValidGapNumber } from './utils';\nexport { SpaceContext } from './context';\nconst Space = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b;\n const {\n getPrefixCls,\n space,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size = (space === null || space === void 0 ? void 0 : space.size) || 'small',\n align,\n className,\n rootClassName,\n children,\n direction = 'horizontal',\n prefixCls: customizePrefixCls,\n split,\n style,\n wrap = false,\n classNames: customClassNames,\n styles\n } = props,\n otherProps = __rest(props, [\"size\", \"align\", \"className\", \"rootClassName\", \"children\", \"direction\", \"prefixCls\", \"split\", \"style\", \"wrap\", \"classNames\", \"styles\"]);\n const [horizontalSize, verticalSize] = Array.isArray(size) ? size : [size, size];\n const isPresetVerticalSize = isPresetSize(verticalSize);\n const isPresetHorizontalSize = isPresetSize(horizontalSize);\n const isValidVerticalSize = isValidGapNumber(verticalSize);\n const isValidHorizontalSize = isValidGapNumber(horizontalSize);\n const childNodes = toArray(children, {\n keepEmpty: true\n });\n const mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align;\n const prefixCls = getPrefixCls('space', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cls = classNames(prefixCls, space === null || space === void 0 ? void 0 : space.className, hashId, `${prefixCls}-${direction}`, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-align-${mergedAlign}`]: mergedAlign,\n [`${prefixCls}-gap-row-${verticalSize}`]: isPresetVerticalSize,\n [`${prefixCls}-gap-col-${horizontalSize}`]: isPresetHorizontalSize\n }, className, rootClassName);\n const itemClassName = classNames(`${prefixCls}-item`, (_a = customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.item) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.classNames) === null || _b === void 0 ? void 0 : _b.item);\n // Calculate latest one\n let latestIndex = 0;\n const nodes = childNodes.map((child, i) => {\n var _a, _b;\n if (child !== null && child !== undefined) {\n latestIndex = i;\n }\n const key = child && child.key || `${itemClassName}-${i}`;\n return /*#__PURE__*/React.createElement(Item, {\n className: itemClassName,\n key: key,\n index: i,\n split: split,\n style: (_a = styles === null || styles === void 0 ? void 0 : styles.item) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.styles) === null || _b === void 0 ? void 0 : _b.item\n }, child);\n });\n const spaceContext = React.useMemo(() => ({\n latestIndex\n }), [latestIndex]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n const gapStyle = {};\n if (wrap) {\n gapStyle.flexWrap = 'wrap';\n }\n if (!isPresetHorizontalSize && isValidHorizontalSize) {\n gapStyle.columnGap = horizontalSize;\n }\n if (!isPresetVerticalSize && isValidVerticalSize) {\n gapStyle.rowGap = verticalSize;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref,\n className: cls,\n style: Object.assign(Object.assign(Object.assign({}, gapStyle), space === null || space === void 0 ? void 0 : space.style), style)\n }, otherProps), /*#__PURE__*/React.createElement(SpaceContextProvider, {\n value: spaceContext\n }, nodes)));\n});\nif (process.env.NODE_ENV !== 'production') {\n Space.displayName = 'Space';\n}\nconst CompoundedSpace = Space;\nCompoundedSpace.Compact = Compact;\nexport default CompoundedSpace;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * 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;","\"use client\";\n\nimport InternalDropdown from './dropdown';\nimport DropdownButton from './dropdown-button';\nconst Dropdown = InternalDropdown;\nDropdown.Button = DropdownButton;\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;","\"use client\";\n\nimport { genFocusOutline, resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\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 wrapperMarginInlineEnd,\n colorPrimary,\n radioSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOutCirc,\n colorBgContainer,\n colorBorder,\n lineWidth,\n dotSize,\n colorBgContainerDisabled,\n colorTextDisabled,\n paddingXS,\n dotColorDisabled,\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 display: 'inline-flex',\n alignItems: 'baseline',\n marginInlineStart: 0,\n marginInlineEnd: wrapperMarginInlineEnd,\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} ${colorPrimary}`,\n borderRadius: '50%',\n visibility: 'hidden',\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 borderRadius: '50%'\n }),\n [`${componentCls}-wrapper:hover &,\n &:hover ${radioInnerPrefixCls}`]: {\n borderColor: colorPrimary\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 ? colorPrimary : 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: colorBgContainer,\n borderColor: colorBorder,\n borderStyle: 'solid',\n borderWidth: lineWidth,\n borderRadius: '50%',\n transition: `all ${motionDurationMid}`\n },\n [`${componentCls}-input`]: {\n position: 'absolute',\n inset: 0,\n zIndex: 1,\n cursor: 'pointer',\n opacity: 0\n },\n // 选中状态\n [`${componentCls}-checked`]: {\n [radioInnerPrefixCls]: {\n borderColor: colorPrimary,\n backgroundColor: wireframe ? colorBgContainer : colorPrimary,\n '&::after': {\n transform: `scale(${dotSize / 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: dotColorDisabled\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 buttonColor,\n controlHeight,\n componentCls,\n lineWidth,\n lineType,\n colorBorder,\n motionDurationSlow,\n motionDurationMid,\n buttonPaddingInline,\n fontSize,\n buttonBg,\n fontSizeLG,\n controlHeightLG,\n controlHeightSM,\n paddingXS,\n borderRadius,\n borderRadiusSM,\n borderRadiusLG,\n buttonCheckedBg,\n buttonSolidCheckedColor,\n colorTextDisabled,\n colorBgContainerDisabled,\n buttonCheckedBgDisabled,\n buttonCheckedColorDisabled,\n colorPrimary,\n colorPrimaryHover,\n colorPrimaryActive,\n buttonSolidCheckedBg,\n buttonSolidCheckedHoverBg,\n buttonSolidCheckedActiveBg\n } = token;\n return {\n [`${componentCls}-button-wrapper`]: {\n position: 'relative',\n display: 'inline-block',\n height: controlHeight,\n margin: 0,\n paddingInline: buttonPaddingInline,\n paddingBlock: 0,\n color: buttonColor,\n fontSize,\n lineHeight: `${controlHeight - lineWidth * 2}px`,\n background: buttonBg,\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}`, `box-shadow ${motionDurationMid}`].join(','),\n a: {\n color: buttonColor\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: colorPrimary\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: colorPrimary,\n background: buttonCheckedBg,\n borderColor: colorPrimary,\n '&::before': {\n backgroundColor: colorPrimary\n },\n '&:first-child': {\n borderColor: colorPrimary\n },\n '&:hover': {\n color: colorPrimaryHover,\n borderColor: colorPrimaryHover,\n '&::before': {\n backgroundColor: colorPrimaryHover\n }\n },\n '&:active': {\n color: colorPrimaryActive,\n borderColor: colorPrimaryActive,\n '&::before': {\n backgroundColor: colorPrimaryActive\n }\n }\n },\n [`${componentCls}-group-solid &-checked:not(${componentCls}-button-wrapper-disabled)`]: {\n color: buttonSolidCheckedColor,\n background: buttonSolidCheckedBg,\n borderColor: buttonSolidCheckedBg,\n '&:hover': {\n color: buttonSolidCheckedColor,\n background: buttonSolidCheckedHoverBg,\n borderColor: buttonSolidCheckedHoverBg\n },\n '&:active': {\n color: buttonSolidCheckedColor,\n background: buttonSolidCheckedActiveBg,\n borderColor: buttonSolidCheckedActiveBg\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: buttonCheckedColorDisabled,\n backgroundColor: buttonCheckedBgDisabled,\n borderColor: colorBorder,\n boxShadow: 'none'\n }\n }\n };\n};\nconst getDotSize = radioSize => {\n const dotPadding = 4; // Fixed Value\n return radioSize - dotPadding * 2;\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Radio', token => {\n const {\n controlOutline,\n controlOutlineWidth,\n radioSize\n } = token;\n const radioFocusShadow = `0 0 0 ${controlOutlineWidth}px ${controlOutline}`;\n const radioButtonFocusShadow = radioFocusShadow;\n const radioDotDisabledSize = getDotSize(radioSize);\n const radioToken = mergeToken(token, {\n radioDotDisabledSize,\n radioFocusShadow,\n radioButtonFocusShadow\n });\n return [getGroupRadioStyle(radioToken), getRadioBasicStyle(radioToken), getRadioButtonStyle(radioToken)];\n}, token => {\n const {\n wireframe,\n padding,\n marginXS,\n lineWidth,\n fontSizeLG,\n colorText,\n colorBgContainer,\n colorTextDisabled,\n controlItemBgActiveDisabled,\n colorTextLightSolid,\n colorPrimary,\n colorPrimaryHover,\n colorPrimaryActive\n } = token;\n const dotPadding = 4; // Fixed value\n const radioSize = fontSizeLG;\n const radioDotSize = wireframe ? getDotSize(radioSize) : radioSize - (dotPadding + lineWidth) * 2;\n return {\n // Radio\n radioSize,\n dotSize: radioDotSize,\n dotColorDisabled: colorTextDisabled,\n // Radio buttons\n buttonSolidCheckedColor: colorTextLightSolid,\n buttonSolidCheckedBg: colorPrimary,\n buttonSolidCheckedHoverBg: colorPrimaryHover,\n buttonSolidCheckedActiveBg: colorPrimaryActive,\n buttonBg: colorBgContainer,\n buttonCheckedBg: colorBgContainer,\n buttonColor: colorText,\n buttonCheckedBgDisabled: controlItemBgActiveDisabled,\n buttonCheckedColorDisabled: colorTextDisabled,\n buttonPaddingInline: padding - lineWidth,\n wrapperMarginInlineEnd: marginXS\n };\n});","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport { FormItemInputContext } from '../form/context';\nimport RadioGroupContext, { RadioOptionTypeContext } from './context';\nimport useStyle from './style';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\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 radio\n } = React.useContext(ConfigContext);\n const innerRef = React.useRef(null);\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 isButtonType = ((groupContext === null || groupContext === void 0 ? void 0 : groupContext.optionType) || radioOptionTypeContext) === 'button';\n const prefixCls = isButtonType ? `${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 }, radio === null || radio === void 0 ? void 0 : radio.className, className, rootClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(Wave, {\n component: \"Radio\",\n disabled: radioProps.disabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: wrapperClassString,\n style: Object.assign(Object.assign({}, radio === null || radio === void 0 ? void 0 : radio.style), style),\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, radioProps, {\n className: classNames(radioProps.className, !isButtonType && TARGET_CLS),\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;","\"use client\";\n\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\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 [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 title: option.title,\n style: option.style\n }, option.label);\n });\n }\n const mergedSize = useSize(customizeSize);\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({}, pickAttrs(props, {\n aria: true,\n data: true\n }), {\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);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { 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);","\"use client\";\n\nimport 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;","/**\n * Webpack has bug for import loop, which is not the same behavior as ES module.\n * When util.js imports the TreeNode for tree generate will cause treeContextTypes be empty.\n */\nimport * as React from 'react';\nexport var TreeContext = /*#__PURE__*/React.createContext(null);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nvar Indent = function Indent(_ref) {\n var prefixCls = _ref.prefixCls,\n level = _ref.level,\n isStart = _ref.isStart,\n isEnd = _ref.isEnd;\n var baseClassName = \"\".concat(prefixCls, \"-indent-unit\");\n var list = [];\n for (var i = 0; i < level; i += 1) {\n var _classNames;\n list.push( /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: classNames(baseClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(baseClassName, \"-start\"), isStart[i]), _defineProperty(_classNames, \"\".concat(baseClassName, \"-end\"), isEnd[i]), _classNames))\n }));\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-indent\")\n }, list);\n};\nexport default /*#__PURE__*/React.memo(Indent);","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 _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"eventKey\", \"className\", \"style\", \"dragOver\", \"dragOverGapTop\", \"dragOverGapBottom\", \"isLeaf\", \"isStart\", \"isEnd\", \"expanded\", \"selected\", \"checked\", \"halfChecked\", \"loading\", \"domRef\", \"active\", \"data\", \"onMouseMove\", \"selectable\"];\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\n// @ts-ignore\nimport { TreeContext } from './contextTypes';\nimport Indent from './Indent';\nimport { convertNodePropsToEventData } from './utils/treeUtil';\nvar ICON_OPEN = 'open';\nvar ICON_CLOSE = 'close';\nvar defaultTitle = '---';\nvar InternalTreeNode = /*#__PURE__*/function (_React$Component) {\n _inherits(InternalTreeNode, _React$Component);\n var _super = _createSuper(InternalTreeNode);\n function InternalTreeNode() {\n var _this;\n _classCallCheck(this, InternalTreeNode);\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 dragNodeHighlight: false\n };\n _this.selectHandle = void 0;\n _this.cacheIndent = void 0;\n _this.onSelectorClick = function (e) {\n // Click trigger before select/check operation\n var onNodeClick = _this.props.context.onNodeClick;\n onNodeClick(e, convertNodePropsToEventData(_this.props));\n if (_this.isSelectable()) {\n _this.onSelect(e);\n } else {\n _this.onCheck(e);\n }\n };\n _this.onSelectorDoubleClick = function (e) {\n var onNodeDoubleClick = _this.props.context.onNodeDoubleClick;\n onNodeDoubleClick(e, convertNodePropsToEventData(_this.props));\n };\n _this.onSelect = function (e) {\n if (_this.isDisabled()) return;\n var onNodeSelect = _this.props.context.onNodeSelect;\n onNodeSelect(e, convertNodePropsToEventData(_this.props));\n };\n _this.onCheck = function (e) {\n if (_this.isDisabled()) return;\n var _this$props = _this.props,\n disableCheckbox = _this$props.disableCheckbox,\n checked = _this$props.checked;\n var onNodeCheck = _this.props.context.onNodeCheck;\n if (!_this.isCheckable() || disableCheckbox) return;\n var targetChecked = !checked;\n onNodeCheck(e, convertNodePropsToEventData(_this.props), targetChecked);\n };\n _this.onMouseEnter = function (e) {\n var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;\n onNodeMouseEnter(e, convertNodePropsToEventData(_this.props));\n };\n _this.onMouseLeave = function (e) {\n var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;\n onNodeMouseLeave(e, convertNodePropsToEventData(_this.props));\n };\n _this.onContextMenu = function (e) {\n var onNodeContextMenu = _this.props.context.onNodeContextMenu;\n onNodeContextMenu(e, convertNodePropsToEventData(_this.props));\n };\n _this.onDragStart = function (e) {\n var onNodeDragStart = _this.props.context.onNodeDragStart;\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: true\n });\n onNodeDragStart(e, _assertThisInitialized(_this));\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } catch (error) {\n // empty\n }\n };\n _this.onDragEnter = function (e) {\n var onNodeDragEnter = _this.props.context.onNodeDragEnter;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, _assertThisInitialized(_this));\n };\n _this.onDragOver = function (e) {\n var onNodeDragOver = _this.props.context.onNodeDragOver;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, _assertThisInitialized(_this));\n };\n _this.onDragLeave = function (e) {\n var onNodeDragLeave = _this.props.context.onNodeDragLeave;\n e.stopPropagation();\n onNodeDragLeave(e, _assertThisInitialized(_this));\n };\n _this.onDragEnd = function (e) {\n var onNodeDragEnd = _this.props.context.onNodeDragEnd;\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: false\n });\n onNodeDragEnd(e, _assertThisInitialized(_this));\n };\n _this.onDrop = function (e) {\n var onNodeDrop = _this.props.context.onNodeDrop;\n e.preventDefault();\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: false\n });\n onNodeDrop(e, _assertThisInitialized(_this));\n };\n // Disabled item still can be switch\n _this.onExpand = function (e) {\n var _this$props2 = _this.props,\n loading = _this$props2.loading,\n onNodeExpand = _this$props2.context.onNodeExpand;\n if (loading) return;\n onNodeExpand(e, convertNodePropsToEventData(_this.props));\n };\n // Drag usage\n _this.setSelectHandle = function (node) {\n _this.selectHandle = node;\n };\n _this.getNodeState = function () {\n var expanded = _this.props.expanded;\n if (_this.isLeaf()) {\n return null;\n }\n return expanded ? ICON_OPEN : ICON_CLOSE;\n };\n _this.hasChildren = function () {\n var eventKey = _this.props.eventKey;\n var keyEntities = _this.props.context.keyEntities;\n var _ref = keyEntities[eventKey] || {},\n children = _ref.children;\n return !!(children || []).length;\n };\n _this.isLeaf = function () {\n var _this$props3 = _this.props,\n isLeaf = _this$props3.isLeaf,\n loaded = _this$props3.loaded;\n var loadData = _this.props.context.loadData;\n var hasChildren = _this.hasChildren();\n if (isLeaf === false) {\n return false;\n }\n return isLeaf || !loadData && !hasChildren || loadData && loaded && !hasChildren;\n };\n _this.isDisabled = function () {\n var disabled = _this.props.disabled;\n var treeDisabled = _this.props.context.disabled;\n return !!(treeDisabled || disabled);\n };\n _this.isCheckable = function () {\n var checkable = _this.props.checkable;\n var treeCheckable = _this.props.context.checkable;\n // Return false if tree or treeNode is not checkable\n if (!treeCheckable || checkable === false) return false;\n return treeCheckable;\n };\n // Load data to avoid default expanded tree without data\n _this.syncLoadData = function (props) {\n var expanded = props.expanded,\n loading = props.loading,\n loaded = props.loaded;\n var _this$props$context = _this.props.context,\n loadData = _this$props$context.loadData,\n onNodeLoad = _this$props$context.onNodeLoad;\n if (loading) {\n return;\n }\n // read from state to avoid loadData at same time\n if (loadData && expanded && !_this.isLeaf()) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n if (!_this.hasChildren() && !loaded) {\n onNodeLoad(convertNodePropsToEventData(_this.props));\n }\n }\n };\n _this.isDraggable = function () {\n var _this$props4 = _this.props,\n data = _this$props4.data,\n draggable = _this$props4.context.draggable;\n return !!(draggable && (!draggable.nodeDraggable || draggable.nodeDraggable(data)));\n };\n // ==================== Render: Drag Handler ====================\n _this.renderDragHandler = function () {\n var _this$props$context2 = _this.props.context,\n draggable = _this$props$context2.draggable,\n prefixCls = _this$props$context2.prefixCls;\n return (draggable === null || draggable === void 0 ? void 0 : draggable.icon) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-draggable-icon\")\n }, draggable.icon) : null;\n };\n // ====================== Render: Switcher ======================\n _this.renderSwitcherIconDom = function (isLeaf) {\n var switcherIconFromProps = _this.props.switcherIcon;\n var switcherIconFromCtx = _this.props.context.switcherIcon;\n var switcherIcon = switcherIconFromProps || switcherIconFromCtx;\n // if switcherIconDom is null, no render switcher span\n if (typeof switcherIcon === 'function') {\n return switcherIcon(_objectSpread(_objectSpread({}, _this.props), {}, {\n isLeaf: isLeaf\n }));\n }\n return switcherIcon;\n };\n // Switcher\n _this.renderSwitcher = function () {\n var expanded = _this.props.expanded;\n var prefixCls = _this.props.context.prefixCls;\n if (_this.isLeaf()) {\n // if switcherIconDom is null, no render switcher span\n var _switcherIconDom = _this.renderSwitcherIconDom(true);\n return _switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher-noop\"))\n }, _switcherIconDom) : null;\n }\n var switcherCls = classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher_\").concat(expanded ? ICON_OPEN : ICON_CLOSE));\n var switcherIconDom = _this.renderSwitcherIconDom(false);\n return switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n onClick: _this.onExpand,\n className: switcherCls\n }, switcherIconDom) : null;\n };\n // ====================== Render: Checkbox ======================\n // Checkbox\n _this.renderCheckbox = function () {\n var _this$props5 = _this.props,\n checked = _this$props5.checked,\n halfChecked = _this$props5.halfChecked,\n disableCheckbox = _this$props5.disableCheckbox;\n var prefixCls = _this.props.context.prefixCls;\n var disabled = _this.isDisabled();\n var checkable = _this.isCheckable();\n if (!checkable) return null;\n // [Legacy] Custom element should be separate with `checkable` in future\n var $custom = typeof checkable !== 'boolean' ? checkable : null;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-checkbox\"), checked && \"\".concat(prefixCls, \"-checkbox-checked\"), !checked && halfChecked && \"\".concat(prefixCls, \"-checkbox-indeterminate\"), (disabled || disableCheckbox) && \"\".concat(prefixCls, \"-checkbox-disabled\")),\n onClick: _this.onCheck\n }, $custom);\n };\n // ==================== Render: Title + Icon ====================\n _this.renderIcon = function () {\n var loading = _this.props.loading;\n var prefixCls = _this.props.context.prefixCls;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__\").concat(_this.getNodeState() || 'docu'), loading && \"\".concat(prefixCls, \"-icon_loading\"))\n });\n };\n // Icon + Title\n _this.renderSelector = function () {\n var dragNodeHighlight = _this.state.dragNodeHighlight;\n var _this$props6 = _this.props,\n _this$props6$title = _this$props6.title,\n title = _this$props6$title === void 0 ? defaultTitle : _this$props6$title,\n selected = _this$props6.selected,\n icon = _this$props6.icon,\n loading = _this$props6.loading,\n data = _this$props6.data;\n var _this$props$context3 = _this.props.context,\n prefixCls = _this$props$context3.prefixCls,\n showIcon = _this$props$context3.showIcon,\n treeIcon = _this$props$context3.icon,\n loadData = _this$props$context3.loadData,\n titleRender = _this$props$context3.titleRender;\n var disabled = _this.isDisabled();\n var wrapClass = \"\".concat(prefixCls, \"-node-content-wrapper\");\n // Icon - Still show loading icon when loading without showIcon\n var $icon;\n if (showIcon) {\n var currentIcon = icon || treeIcon;\n $icon = currentIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__customize\"))\n }, typeof currentIcon === 'function' ? currentIcon(_this.props) : currentIcon) : _this.renderIcon();\n } else if (loadData && loading) {\n $icon = _this.renderIcon();\n }\n // Title\n var titleNode;\n if (typeof title === 'function') {\n titleNode = title(data);\n } else if (titleRender) {\n titleNode = titleRender(data);\n } else {\n titleNode = title;\n }\n var $title = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-title\")\n }, titleNode);\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: _this.setSelectHandle,\n title: typeof title === 'string' ? title : '',\n className: classNames(\"\".concat(wrapClass), \"\".concat(wrapClass, \"-\").concat(_this.getNodeState() || 'normal'), !disabled && (selected || dragNodeHighlight) && \"\".concat(prefixCls, \"-node-selected\")),\n onMouseEnter: _this.onMouseEnter,\n onMouseLeave: _this.onMouseLeave,\n onContextMenu: _this.onContextMenu,\n onClick: _this.onSelectorClick,\n onDoubleClick: _this.onSelectorDoubleClick\n }, $icon, $title, _this.renderDropIndicator());\n };\n // =================== Render: Drop Indicator ===================\n _this.renderDropIndicator = function () {\n var _this$props7 = _this.props,\n disabled = _this$props7.disabled,\n eventKey = _this$props7.eventKey;\n var _this$props$context4 = _this.props.context,\n draggable = _this$props$context4.draggable,\n dropLevelOffset = _this$props$context4.dropLevelOffset,\n dropPosition = _this$props$context4.dropPosition,\n prefixCls = _this$props$context4.prefixCls,\n indent = _this$props$context4.indent,\n dropIndicatorRender = _this$props$context4.dropIndicatorRender,\n dragOverNodeKey = _this$props$context4.dragOverNodeKey,\n direction = _this$props$context4.direction;\n var rootDraggable = !!draggable;\n // allowDrop is calculated in Tree.tsx, there is no need for calc it here\n var showIndicator = !disabled && rootDraggable && dragOverNodeKey === eventKey;\n // This is a hot fix which is already fixed in\n // https://github.com/react-component/tree/pull/743/files\n // But some case need break point so we hack on this\n // ref https://github.com/ant-design/ant-design/issues/43493\n var mergedIndent = indent !== null && indent !== void 0 ? indent : _this.cacheIndent;\n _this.cacheIndent = indent;\n return showIndicator ? dropIndicatorRender({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n indent: mergedIndent,\n prefixCls: prefixCls,\n direction: direction\n }) : null;\n };\n return _this;\n }\n _createClass(InternalTreeNode, [{\n key: \"componentDidMount\",\n value:\n // Isomorphic needn't load data in server side\n function componentDidMount() {\n this.syncLoadData(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.syncLoadData(this.props);\n }\n }, {\n key: \"isSelectable\",\n value: function isSelectable() {\n var selectable = this.props.selectable;\n var treeSelectable = this.props.context.selectable;\n // Ignore when selectable is undefined or null\n if (typeof selectable === 'boolean') {\n return selectable;\n }\n return treeSelectable;\n }\n }, {\n key: \"render\",\n value:\n // =========================== Render ===========================\n function render() {\n var _classNames;\n var _this$props8 = this.props,\n eventKey = _this$props8.eventKey,\n className = _this$props8.className,\n style = _this$props8.style,\n dragOver = _this$props8.dragOver,\n dragOverGapTop = _this$props8.dragOverGapTop,\n dragOverGapBottom = _this$props8.dragOverGapBottom,\n isLeaf = _this$props8.isLeaf,\n isStart = _this$props8.isStart,\n isEnd = _this$props8.isEnd,\n expanded = _this$props8.expanded,\n selected = _this$props8.selected,\n checked = _this$props8.checked,\n halfChecked = _this$props8.halfChecked,\n loading = _this$props8.loading,\n domRef = _this$props8.domRef,\n active = _this$props8.active,\n data = _this$props8.data,\n onMouseMove = _this$props8.onMouseMove,\n selectable = _this$props8.selectable,\n otherProps = _objectWithoutProperties(_this$props8, _excluded);\n var _this$props$context5 = this.props.context,\n prefixCls = _this$props$context5.prefixCls,\n filterTreeNode = _this$props$context5.filterTreeNode,\n keyEntities = _this$props$context5.keyEntities,\n dropContainerKey = _this$props$context5.dropContainerKey,\n dropTargetKey = _this$props$context5.dropTargetKey,\n draggingNodeKey = _this$props$context5.draggingNodeKey;\n var disabled = this.isDisabled();\n var dataOrAriaAttributeProps = pickAttrs(otherProps, {\n aria: true,\n data: true\n });\n var _ref2 = keyEntities[eventKey] || {},\n level = _ref2.level;\n var isEndNode = isEnd[isEnd.length - 1];\n var mergedDraggable = this.isDraggable();\n var draggableWithoutDisabled = !disabled && mergedDraggable;\n var dragging = draggingNodeKey === eventKey;\n var ariaSelected = selectable !== undefined ? {\n 'aria-selected': !!selectable\n } : undefined;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: domRef,\n className: classNames(className, \"\".concat(prefixCls, \"-treenode\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-checked\"), checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-selected\"), selected), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-loading\"), loading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-leaf-last\"), isEndNode), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-draggable\"), mergedDraggable), _defineProperty(_classNames, \"dragging\", dragging), _defineProperty(_classNames, 'drop-target', dropTargetKey === eventKey), _defineProperty(_classNames, 'drop-container', dropContainerKey === eventKey), _defineProperty(_classNames, 'drag-over', !disabled && dragOver), _defineProperty(_classNames, 'drag-over-gap-top', !disabled && dragOverGapTop), _defineProperty(_classNames, 'drag-over-gap-bottom', !disabled && dragOverGapBottom), _defineProperty(_classNames, 'filter-node', filterTreeNode && filterTreeNode(convertNodePropsToEventData(this.props))), _classNames)),\n style: style\n // Draggable config\n ,\n draggable: draggableWithoutDisabled,\n \"aria-grabbed\": dragging,\n onDragStart: draggableWithoutDisabled ? this.onDragStart : undefined\n // Drop config\n ,\n onDragEnter: mergedDraggable ? this.onDragEnter : undefined,\n onDragOver: mergedDraggable ? this.onDragOver : undefined,\n onDragLeave: mergedDraggable ? this.onDragLeave : undefined,\n onDrop: mergedDraggable ? this.onDrop : undefined,\n onDragEnd: mergedDraggable ? this.onDragEnd : undefined,\n onMouseMove: onMouseMove\n }, ariaSelected, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(Indent, {\n prefixCls: prefixCls,\n level: level,\n isStart: isStart,\n isEnd: isEnd\n }), this.renderDragHandler(), this.renderSwitcher(), this.renderCheckbox(), this.renderSelector());\n }\n }]);\n return InternalTreeNode;\n}(React.Component);\nvar ContextTreeNode = function ContextTreeNode(props) {\n return /*#__PURE__*/React.createElement(TreeContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(InternalTreeNode, _extends({}, props, {\n context: context\n }));\n });\n};\nContextTreeNode.displayName = 'TreeNode';\nContextTreeNode.isTreeNode = 1;\nexport default ContextTreeNode;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\n/* eslint-disable no-lonely-if */\n/**\n * Legacy code. Should avoid to use if you are new to import these code.\n */\nimport React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport TreeNode from './TreeNode';\nexport { getPosition, isTreeNode } from './utils/treeUtil';\nexport function arrDel(list, value) {\n if (!list) return [];\n var clone = list.slice();\n var index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\nexport function arrAdd(list, value) {\n var clone = (list || []).slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\nexport function posToArr(pos) {\n return pos.split('-');\n}\nexport function getDragChildrenKeys(dragNodeKey, keyEntities) {\n // not contains self\n // self for left or right drag\n var dragChildrenKeys = [];\n var entity = keyEntities[dragNodeKey];\n function dig() {\n var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n list.forEach(function (_ref) {\n var key = _ref.key,\n children = _ref.children;\n dragChildrenKeys.push(key);\n dig(children);\n });\n }\n dig(entity.children);\n return dragChildrenKeys;\n}\nexport function isLastChild(treeNodeEntity) {\n if (treeNodeEntity.parent) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === treeNodeEntity.parent.children.length - 1;\n }\n return false;\n}\nexport function isFirstChild(treeNodeEntity) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === 0;\n}\n// Only used when drag, not affect SSR.\nexport function calcDropPosition(event, dragNode, targetNode, indent, startMousePosition, allowDrop, flattenedNodes, keyEntities, expandKeys, direction) {\n var _abstractDropNodeEnti;\n var clientX = event.clientX,\n clientY = event.clientY;\n var _event$target$getBoun = event.target.getBoundingClientRect(),\n top = _event$target$getBoun.top,\n height = _event$target$getBoun.height;\n // optional chain for testing\n var horizontalMouseOffset = (direction === 'rtl' ? -1 : 1) * (((startMousePosition === null || startMousePosition === void 0 ? void 0 : startMousePosition.x) || 0) - clientX);\n var rawDropLevelOffset = (horizontalMouseOffset - 12) / indent;\n // find abstract drop node by horizontal offset\n var abstractDropNodeEntity = keyEntities[targetNode.props.eventKey];\n if (clientY < top + height / 2) {\n // first half, set abstract drop node to previous node\n var nodeIndex = flattenedNodes.findIndex(function (flattenedNode) {\n return flattenedNode.key === abstractDropNodeEntity.key;\n });\n var prevNodeIndex = nodeIndex <= 0 ? 0 : nodeIndex - 1;\n var prevNodeKey = flattenedNodes[prevNodeIndex].key;\n abstractDropNodeEntity = keyEntities[prevNodeKey];\n }\n var initialAbstractDropNodeKey = abstractDropNodeEntity.key;\n var abstractDragOverEntity = abstractDropNodeEntity;\n var dragOverNodeKey = abstractDropNodeEntity.key;\n var dropPosition = 0;\n var dropLevelOffset = 0;\n // Only allow cross level drop when dragging on a non-expanded node\n if (!expandKeys.includes(initialAbstractDropNodeKey)) {\n for (var i = 0; i < rawDropLevelOffset; i += 1) {\n if (isLastChild(abstractDropNodeEntity)) {\n abstractDropNodeEntity = abstractDropNodeEntity.parent;\n dropLevelOffset += 1;\n } else {\n break;\n }\n }\n }\n var abstractDragDataNode = dragNode.props.data;\n var abstractDropDataNode = abstractDropNodeEntity.node;\n var dropAllowed = true;\n if (isFirstChild(abstractDropNodeEntity) && abstractDropNodeEntity.level === 0 && clientY < top + height / 2 && allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: -1\n }) && abstractDropNodeEntity.key === targetNode.props.eventKey) {\n // first half of first node in first level\n dropPosition = -1;\n } else if ((abstractDragOverEntity.children || []).length && expandKeys.includes(dragOverNodeKey)) {\n // drop on expanded node\n // only allow drop inside\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else {\n dropAllowed = false;\n }\n } else if (dropLevelOffset === 0) {\n if (rawDropLevelOffset > -1.5) {\n // | Node | <- abstractDropNode\n // | -^-===== | <- mousePosition\n // 1. try drop after\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n } else {\n // | Node | <- abstractDropNode\n // | ---==^== | <- mousePosition\n // whether it has children or doesn't has children\n // always\n // 1. try drop inside\n // 2. try drop after\n // 3. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n } else {\n // | Node1 | <- abstractDropNode\n // | Node2 |\n // --^--|----=====| <- mousePosition\n // 1. try insert after Node1\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n return {\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: abstractDropNodeEntity.key,\n dropTargetPos: abstractDropNodeEntity.pos,\n dragOverNodeKey: dragOverNodeKey,\n dropContainerKey: dropPosition === 0 ? null : ((_abstractDropNodeEnti = abstractDropNodeEntity.parent) === null || _abstractDropNodeEnti === void 0 ? void 0 : _abstractDropNodeEnti.key) || null,\n dropAllowed: dropAllowed\n };\n}\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) return undefined;\n var multiple = props.multiple;\n if (multiple) {\n return selectedKeys.slice();\n }\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\nvar internalProcessProps = function internalProcessProps(props) {\n return props;\n};\nexport function convertDataToTree(treeData, processor) {\n if (!treeData) return [];\n var _ref2 = processor || {},\n _ref2$processProps = _ref2.processProps,\n processProps = _ref2$processProps === void 0 ? internalProcessProps : _ref2$processProps;\n var list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(function (_ref3) {\n var children = _ref3.children,\n props = _objectWithoutProperties(_ref3, _excluded);\n var childrenNodes = convertDataToTree(children, processor);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n key: props.key\n }, processProps(props)), childrenNodes);\n });\n}\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n // Convert keys to object format\n var keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined\n };\n } else if (_typeof(keys) === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n return keyProps;\n}\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n var expandedKeys = new Set();\n function conductUp(key) {\n if (expandedKeys.has(key)) return;\n var entity = keyEntities[key];\n if (!entity) return;\n expandedKeys.add(key);\n var parent = entity.parent,\n node = entity.node;\n if (node.disabled) return;\n if (parent) {\n conductUp(parent.key);\n }\n }\n (keyList || []).forEach(function (key) {\n conductUp(key);\n });\n return _toConsumableArray(expandedKeys);\n}","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 classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { TreeContext } from './contextTypes';\nimport TreeNode from './TreeNode';\nimport useUnmount from './useUnmount';\nimport { getTreeNodeProps } from './utils/treeUtil';\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 // Calculate target visible here.\n // And apply in effect to make `leave` motion work.\n var targetVisible = motionNodes && motionType !== 'hide';\n useLayoutEffect(function () {\n if (motionNodes) {\n if (targetVisible !== visible) {\n setVisible(targetVisible);\n }\n }\n }, [motionNodes]);\n var triggerMotionStart = function triggerMotionStart() {\n if (motionNodes) {\n onOriginMotionStart();\n }\n };\n // Should only trigger once\n var triggerMotionEndRef = React.useRef(false);\n var triggerMotionEnd = function triggerMotionEnd() {\n if (motionNodes && !triggerMotionEndRef.current) {\n triggerMotionEndRef.current = true;\n onOriginMotionEnd();\n }\n };\n // Effect if unmount\n useUnmount(triggerMotionStart, triggerMotionEnd);\n // Motion end event\n var onVisibleChanged = function onVisibleChanged(nextVisible) {\n if (targetVisible === nextVisible) {\n triggerMotionEnd();\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 onVisibleChanged: onVisibleChanged\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;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Trigger only when component unmount\n */\nexport default function useUnmount(triggerStart, triggerEnd) {\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n firstMount = _React$useState2[0],\n setFirstMount = _React$useState2[1];\n React.useLayoutEffect(function () {\n if (firstMount) {\n triggerStart();\n return function () {\n triggerEnd();\n };\n }\n }, [firstMount]);\n React.useLayoutEffect(function () {\n setFirstMount(true);\n return function () {\n setFirstMount(false);\n };\n }, []);\n}","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 useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport MotionTreeNode from './MotionTreeNode';\nimport { findExpandedKeys, getExpandRange } from './utils/diffUtil';\nimport { getKey, getTreeNodeProps } 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 // layoutEffect here to avoid blink of node removing\n useLayoutEffect(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 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: FileOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n FileOutlined.displayName = 'FileOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(FileOutlined);","// 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: FolderOpenOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n FolderOpenOutlined.displayName = 'FolderOpenOutlined';\n}\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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: FolderOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n FolderOutlined.displayName = 'FolderOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(FolderOutlined);","// 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: HolderOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n HolderOutlined.displayName = 'HolderOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(HolderOutlined);","import { Keyframes } from '@ant-design/cssinjs';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\nimport { genFocusOutline, resetComponent } from '../../style';\nimport { genCollapseMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\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 titleHeight,\n nodeSelectedBg,\n nodeHoverBg\n } = token;\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 // https://github.com/ant-design/ant-design/issues/41915\n flexShrink: 0,\n width: titleHeight,\n lineHeight: `${titleHeight}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: titleHeight\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: titleHeight,\n margin: 0,\n lineHeight: `${titleHeight}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: titleHeight / 2,\n bottom: -treeNodePadding,\n marginInlineStart: -1,\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&:after': {\n position: 'absolute',\n width: titleHeight / 2 * 0.8,\n height: titleHeight / 2,\n borderBottom: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n }\n }\n }),\n // >>> Checkbox\n [`${treeCls}-checkbox`]: {\n top: 'initial',\n marginInlineEnd: treeCheckBoxMarginHorizontal\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: titleHeight,\n margin: 0,\n padding: `0 ${token.paddingXS / 2}px`,\n color: 'inherit',\n lineHeight: `${titleHeight}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: nodeHoverBg\n },\n [`&${treeCls}-node-selected`]: {\n backgroundColor: nodeSelectedBg\n },\n // Icon\n [`${treeCls}-iconEle`]: {\n display: 'inline-block',\n width: titleHeight,\n height: titleHeight,\n lineHeight: `${titleHeight}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: `${titleHeight}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: titleHeight / 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: `${titleHeight / 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 directoryNodeSelectedBg,\n directoryNodeSelectedColor\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: directoryNodeSelectedColor,\n background: 'transparent'\n }\n },\n // ============= Selected =============\n '&-selected': {\n [`\n &:hover::before,\n &::before\n `]: {\n background: directoryNodeSelectedBg\n },\n // >>> Switcher\n [`${treeCls}-switcher`]: {\n color: directoryNodeSelectedColor\n },\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n color: directoryNodeSelectedColor,\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 treeToken = mergeToken(token, {\n treeCls,\n treeNodeCls,\n treeNodePadding\n });\n return [\n // Basic\n genBaseStyle(prefixCls, treeToken),\n // Directory\n genDirectoryStyle(treeToken)];\n};\nexport const initComponentToken = token => {\n const {\n controlHeightSM\n } = token;\n return {\n titleHeight: controlHeightSM,\n nodeHoverBg: token.controlItemBgHover,\n nodeSelectedBg: token.controlItemBgActive\n };\n};\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}, token => {\n const {\n colorTextLightSolid,\n colorPrimary\n } = token;\n return Object.assign(Object.assign({}, initComponentToken(token)), {\n directoryNodeSelectedColor: colorTextLightSolid,\n directoryNodeSelectedBg: colorPrimary\n });\n});","\"use client\";\n\nimport 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: CaretDownFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CaretDownFilled.displayName = 'CaretDownFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(CaretDownFilled);","// 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: MinusSquareOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n MinusSquareOutlined.displayName = 'MinusSquareOutlined';\n}\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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: PlusSquareOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n PlusSquareOutlined.displayName = 'PlusSquareOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(PlusSquareOutlined);","\"use client\";\n\nimport 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';\nconst SwitcherIconCom = props => {\n const {\n prefixCls,\n switcherIcon,\n treeNodeProps,\n showLine\n } = props;\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 !== undefined) {\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};\nexport default SwitcherIconCom;","\"use client\";\n\nimport React from 'react';\nimport HolderOutlined from \"@ant-design/icons/es/icons/HolderOutlined\";\nimport classNames from 'classnames';\nimport RcTree from 'rc-tree';\nimport initCollapseMotion from '../_util/motion';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport dropIndicatorRender from './utils/dropIndicator';\nimport SwitcherIconCom from './utils/iconUtil';\nconst Tree = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction,\n virtual,\n tree\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 style\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 const renderSwitcherIcon = nodeProps => /*#__PURE__*/React.createElement(SwitcherIconCom, {\n prefixCls: prefixCls,\n switcherIcon: switcherIcon,\n treeNodeProps: nodeProps,\n showLine: showLine\n });\n return wrapSSR( /*#__PURE__*/React.createElement(RcTree, Object.assign({\n itemHeight: 20,\n ref: ref,\n virtual: virtual\n }, newProps, {\n // newProps may contain style so declare style below it\n style: Object.assign(Object.assign({}, tree === null || tree === void 0 ? void 0 : tree.style), style),\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 }, tree === null || tree === void 0 ? void 0 : tree.className, className, hashId),\n direction: direction,\n checkable: checkable ? /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-checkbox-inner`\n }) : checkable,\n selectable: selectable,\n switcherIcon: renderSwitcherIcon,\n draggable: draggableConfig\n }), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tree.displayName = 'Tree';\n}\nexport default Tree;","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}","\"use client\";\n\nimport _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;","\"use client\";\n\nimport { TreeNode } from 'rc-tree';\nimport DirectoryTree from './DirectoryTree';\nimport TreePure from './Tree';\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 var event = e;\n if (e.type === 'click') {\n // Clone a new target for event.\n // Avoid the following usage, the setQuery method gets the original value.\n //\n // const [query, setQuery] = React.useState('');\n // <Input\n // allowClear\n // value={query}\n // onChange={(e)=> {\n // setQuery((prevStatus) => e.target.value);\n // }}\n // />\n\n var currentTarget = target.cloneNode(true);\n\n // click clear icon\n event = Object.create(e, {\n target: {\n value: currentTarget\n },\n currentTarget: {\n value: currentTarget\n }\n });\n currentTarget.value = '';\n onChange(event);\n return;\n }\n\n // Trigger by composition event, this means we need force change the input value\n if (targetValue !== undefined) {\n 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 onChange(event);\n}\nexport function triggerFocus(element, option) {\n if (!element) return;\n element.focus(option);\n\n // Selection content\n var _ref = option || {},\n cursor = _ref.cursor;\n if (cursor) {\n var len = element.value.length;\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n case 'end':\n element.setSelectionRange(len, len);\n break;\n default:\n element.setSelectionRange(0, len);\n }\n }\n}\nexport function fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n return String(value);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport clsx from 'classnames';\nimport React, { cloneElement, useRef } from 'react';\nimport { hasAddon, hasPrefixSuffix } from \"./utils/commonUtils\";\nvar BaseInput = function BaseInput(props) {\n var _inputElement$props, _inputElement$props2;\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n prefix = props.prefix,\n suffix = props.suffix,\n addonBefore = props.addonBefore,\n addonAfter = props.addonAfter,\n className = props.className,\n style = props.style,\n disabled = props.disabled,\n readOnly = props.readOnly,\n focused = props.focused,\n triggerFocus = props.triggerFocus,\n allowClear = props.allowClear,\n value = props.value,\n handleReset = props.handleReset,\n hidden = props.hidden,\n classes = props.classes,\n classNames = props.classNames,\n dataAttrs = props.dataAttrs,\n styles = props.styles,\n components = props.components;\n var AffixWrapperComponent = (components === null || components === void 0 ? void 0 : components.affixWrapper) || 'span';\n var GroupWrapperComponent = (components === null || components === void 0 ? void 0 : components.groupWrapper) || 'span';\n var WrapperComponent = (components === null || components === void 0 ? void 0 : components.wrapper) || 'span';\n var GroupAddonComponent = (components === null || components === void 0 ? void 0 : components.groupAddon) || 'span';\n var containerRef = useRef(null);\n var onInputClick = function onInputClick(e) {\n var _containerRef$current;\n if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(e.target)) {\n triggerFocus === null || triggerFocus === void 0 ? void 0 : triggerFocus();\n }\n };\n\n // ================== Clear Icon ================== //\n var getClearIcon = function getClearIcon() {\n var _clsx;\n if (!allowClear) {\n return null;\n }\n var needClear = !disabled && !readOnly && value;\n var clearIconCls = \"\".concat(prefixCls, \"-clear-icon\");\n var iconNode = _typeof(allowClear) === 'object' && allowClear !== null && allowClear !== void 0 && allowClear.clearIcon ? allowClear.clearIcon : '✖';\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: handleReset\n // Do not trigger onBlur when clear input\n // https://github.com/ant-design/ant-design/issues/31200\n ,\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n },\n className: clsx(clearIconCls, (_clsx = {}, _defineProperty(_clsx, \"\".concat(clearIconCls, \"-hidden\"), !needClear), _defineProperty(_clsx, \"\".concat(clearIconCls, \"-has-suffix\"), !!suffix), _clsx)),\n role: \"button\",\n tabIndex: -1\n }, iconNode);\n };\n var element = /*#__PURE__*/cloneElement(inputElement, {\n value: value,\n hidden: hidden,\n className: clsx((_inputElement$props = inputElement.props) === null || _inputElement$props === void 0 ? void 0 : _inputElement$props.className, !hasPrefixSuffix(props) && !hasAddon(props) && className) || null,\n style: _objectSpread(_objectSpread({}, (_inputElement$props2 = inputElement.props) === null || _inputElement$props2 === void 0 ? void 0 : _inputElement$props2.style), !hasPrefixSuffix(props) && !hasAddon(props) ? style : {})\n });\n\n // ================== Prefix & Suffix ================== //\n if (hasPrefixSuffix(props)) {\n var _clsx2;\n var affixWrapperPrefixCls = \"\".concat(prefixCls, \"-affix-wrapper\");\n var affixWrapperCls = clsx(affixWrapperPrefixCls, (_clsx2 = {}, _defineProperty(_clsx2, \"\".concat(affixWrapperPrefixCls, \"-disabled\"), disabled), _defineProperty(_clsx2, \"\".concat(affixWrapperPrefixCls, \"-focused\"), focused), _defineProperty(_clsx2, \"\".concat(affixWrapperPrefixCls, \"-readonly\"), readOnly), _defineProperty(_clsx2, \"\".concat(affixWrapperPrefixCls, \"-input-with-clear-btn\"), suffix && allowClear && value), _clsx2), !hasAddon(props) && className, classes === null || classes === void 0 ? void 0 : classes.affixWrapper, classNames === null || classNames === void 0 ? void 0 : classNames.affixWrapper);\n var suffixNode = (suffix || allowClear) && /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-suffix\"), classNames === null || classNames === void 0 ? void 0 : classNames.suffix),\n style: styles === null || styles === void 0 ? void 0 : styles.suffix\n }, getClearIcon(), suffix);\n element = /*#__PURE__*/React.createElement(AffixWrapperComponent, _extends({\n className: affixWrapperCls,\n style: _objectSpread(_objectSpread({}, !hasAddon(props) ? style : undefined), styles === null || styles === void 0 ? void 0 : styles.affixWrapper),\n hidden: !hasAddon(props) && hidden,\n onClick: onInputClick\n }, dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.affixWrapper, {\n ref: containerRef\n }), prefix && /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-prefix\"), classNames === null || classNames === void 0 ? void 0 : classNames.prefix),\n style: styles === null || styles === void 0 ? void 0 : styles.prefix\n }, prefix), /*#__PURE__*/cloneElement(inputElement, {\n value: value,\n hidden: null\n }), suffixNode);\n }\n\n // ================== Addon ================== //\n if (hasAddon(props)) {\n var wrapperCls = \"\".concat(prefixCls, \"-group\");\n var addonCls = \"\".concat(wrapperCls, \"-addon\");\n var mergedWrapperClassName = clsx(\"\".concat(prefixCls, \"-wrapper\"), wrapperCls, classes === null || classes === void 0 ? void 0 : classes.wrapper);\n var mergedGroupClassName = clsx(\"\".concat(prefixCls, \"-group-wrapper\"), className, classes === null || classes === void 0 ? void 0 : classes.group);\n\n // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n return /*#__PURE__*/React.createElement(GroupWrapperComponent, {\n className: mergedGroupClassName,\n style: style,\n hidden: hidden\n }, /*#__PURE__*/React.createElement(WrapperComponent, {\n className: mergedWrapperClassName\n }, addonBefore && /*#__PURE__*/React.createElement(GroupAddonComponent, {\n className: addonCls\n }, addonBefore), /*#__PURE__*/cloneElement(element, {\n hidden: null\n }), addonAfter && /*#__PURE__*/React.createElement(GroupAddonComponent, {\n className: addonCls\n }, addonAfter)));\n }\n return element;\n};\nexport default BaseInput;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _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\", \"classes\", \"classNames\", \"styles\"];\nimport clsx from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport React, { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport BaseInput from \"./BaseInput\";\nimport { fixControlledValue, resolveOnChange, triggerFocus } from \"./utils/commonUtils\";\nvar Input = /*#__PURE__*/forwardRef(function (props, ref) {\n var autoComplete = props.autoComplete,\n onChange = props.onChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onPressEnter = props.onPressEnter,\n onKeyDown = props.onKeyDown,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-input' : _props$prefixCls,\n disabled = props.disabled,\n htmlSize = props.htmlSize,\n className = props.className,\n maxLength = props.maxLength,\n suffix = props.suffix,\n showCount = props.showCount,\n _props$type = props.type,\n type = _props$type === void 0 ? 'text' : _props$type,\n classes = props.classes,\n classNames = props.classNames,\n styles = props.styles,\n rest = _objectWithoutProperties(props, _excluded);\n var _useMergedState = useMergedState(props.defaultValue, {\n value: props.value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n focused = _useState2[0],\n setFocused = _useState2[1];\n var inputRef = useRef(null);\n var focus = function focus(option) {\n if (inputRef.current) {\n triggerFocus(inputRef.current, option);\n }\n };\n useImperativeHandle(ref, function () {\n return {\n focus: focus,\n blur: function blur() {\n var _inputRef$current;\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();\n },\n setSelectionRange: function setSelectionRange(start, end, direction) {\n var _inputRef$current2;\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.setSelectionRange(start, end, direction);\n },\n select: function select() {\n var _inputRef$current3;\n (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.select();\n },\n input: inputRef.current\n };\n });\n useEffect(function () {\n setFocused(function (prev) {\n return prev && disabled ? false : prev;\n });\n }, [disabled]);\n var handleChange = function handleChange(e) {\n if (props.value === undefined) {\n setValue(e.target.value);\n }\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange);\n }\n };\n var handleKeyDown = function handleKeyDown(e) {\n if (onPressEnter && e.key === 'Enter') {\n onPressEnter(e);\n }\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n };\n var handleFocus = function handleFocus(e) {\n setFocused(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n var handleBlur = function handleBlur(e) {\n setFocused(false);\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n var handleReset = function handleReset(e) {\n setValue('');\n focus();\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange);\n }\n };\n var getInputElement = function getInputElement() {\n // Fix https://fb.me/react-unknown-prop\n var otherProps = omit(props, ['prefixCls', 'onPressEnter', 'addonBefore', 'addonAfter', 'prefix', 'suffix', 'allowClear',\n // Input elements must be either controlled or uncontrolled,\n // specify either the value prop, or the defaultValue prop, but not both.\n 'defaultValue', 'showCount', 'classes', 'htmlSize', 'styles', 'classNames']);\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: clsx(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), classNames === null || classNames === void 0 ? void 0 : classNames.input),\n style: styles === null || styles === void 0 ? void 0 : styles.input,\n ref: inputRef,\n size: htmlSize,\n type: type\n }));\n };\n var getSuffix = function getSuffix() {\n // Max length value\n var hasMaxLength = Number(maxLength) > 0;\n if (suffix || showCount) {\n var val = fixControlledValue(value);\n var valueLength = _toConsumableArray(val).length;\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: clsx(\"\".concat(prefixCls, \"-show-count-suffix\"), _defineProperty({}, \"\".concat(prefixCls, \"-show-count-has-suffix\"), !!suffix), classNames === null || classNames === void 0 ? void 0 : classNames.count),\n style: _objectSpread({}, styles === null || styles === void 0 ? void 0 : styles.count)\n }, dataCount), suffix);\n }\n return null;\n };\n 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 classNames: classNames,\n styles: styles\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}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport 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 { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext, NoFormStyle } from '../form/context';\nimport { NoCompactStyle, useCompactItemContext } from '../space/Compact';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport useStyle from './style';\nimport { hasPrefixSuffix } from './utils';\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 var _a;\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 style,\n styles,\n rootClassName,\n onChange,\n classNames: classes\n } = props,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"status\", \"size\", \"disabled\", \"onBlur\", \"onFocus\", \"suffix\", \"allowClear\", \"addonAfter\", \"addonBefore\", \"className\", \"style\", \"styles\", \"rootClassName\", \"onChange\", \"classNames\"]);\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 mergedSize = useSize(ctx => {\n var _a;\n return (_a = customSize !== null && customSize !== void 0 ? customSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\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 style: Object.assign(Object.assign({}, input === null || input === void 0 ? void 0 : input.style), style),\n styles: Object.assign(Object.assign({}, input === null || input === void 0 ? void 0 : input.styles), styles),\n suffix: suffixNode,\n allowClear: mergedAllowClear,\n className: classNames(className, rootClassName, compactItemClassnames, input === null || input === void 0 ? void 0 : input.className),\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 classNames: Object.assign(Object.assign(Object.assign({}, classes), input === null || input === void 0 ? void 0 : input.classNames), {\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), classes === null || classes === void 0 ? void 0 : classes.input, (_a = input === null || input === void 0 ? void 0 : input.classNames) === null || _a === void 0 ? void 0 : _a.input, hashId)\n }),\n classes: {\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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: EyeInvisibleOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n EyeInvisibleOutlined.displayName = 'EyeInvisibleOutlined';\n}\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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: EyeOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n EyeOutlined.displayName = 'EyeOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(EyeOutlined);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport 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;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport 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 { cloneElement } from '../_util/reactNode';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport { useCompactItemContext } from '../space/Compact';\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 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 = useSize(ctx => {\n var _a;\n return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\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 source: 'clear'\n });\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 source: 'input'\n });\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 */\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 if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\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 if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\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 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 }\n\n // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n sizingStyle = _calculateNodeStyling.sizingStyle;\n\n // 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 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 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 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 if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n var style = {\n height: height,\n overflowY: overflowY,\n resize: 'none'\n };\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\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);\n\n // =============================== Value ================================\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 var onInternalChange = function onInternalChange(event) {\n setMergedValue(event.target.value);\n onChange === null || onChange === void 0 ? void 0 : onChange(event);\n };\n\n // ================================ Ref =================================\n var textareaRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n textArea: textareaRef.current\n };\n });\n\n // ============================== AutoSize ==============================\n var _React$useMemo = React.useMemo(function () {\n if (autoSize && _typeof(autoSize) === 'object') {\n return [autoSize.minRows, autoSize.maxRows];\n }\n return [];\n }, [autoSize]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n minRows = _React$useMemo2[0],\n maxRows = _React$useMemo2[1];\n var needAutoSize = !!autoSize;\n\n // =============================== Scroll ===============================\n // https://github.com/ant-design/ant-design/issues/21870\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;\n\n // 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) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n };\n\n // =============================== Resize ===============================\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 var _React$useState3 = React.useState(),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n autoSizeStyle = _React$useState4[0],\n setAutoSizeStyle = _React$useState4[1];\n var startResize = function startResize() {\n setResizeState(RESIZE_START);\n if (process.env.NODE_ENV === 'test') {\n onInternalAutoSize === null || onInternalAutoSize === void 0 ? void 0 : onInternalAutoSize();\n }\n };\n\n // Change to trigger resize measure\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);\n\n // 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\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]);\n\n // We lock resize trigger by raf to avoid Safari warning\n var resizeRafRef = React.useRef();\n var cleanRaf = function cleanRaf() {\n raf.cancel(resizeRafRef.current);\n };\n var onInternalResize = function onInternalResize(size) {\n if (resizeState === RESIZE_STABLE) {\n onResize === null || onResize === void 0 ? void 0 : onResize(size);\n if (autoSize) {\n cleanRaf();\n resizeRafRef.current = raf(function () {\n startResize();\n });\n }\n }\n };\n React.useEffect(function () {\n return cleanRaf;\n }, []);\n\n // =============================== Render ===============================\n var mergedAutoSizeStyle = needAutoSize ? autoSizeStyle : null;\n var mergedStyle = _objectSpread(_objectSpread({}, style), mergedAutoSizeStyle);\n if (resizeState === RESIZE_START || resizeState === RESIZE_MEASURING) {\n mergedStyle.overflowY = 'hidden';\n mergedStyle.overflowX = 'hidden';\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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _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\", \"hidden\", \"classNames\", \"styles\", \"onResize\"];\nimport clsx 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\";\nfunction fixEmojiLength(value, maxLength) {\n return _toConsumableArray(value || '').slice(0, maxLength).join('');\n}\nfunction setTriggerValue(isCursorInEnd, preValue, triggerValue, maxLength) {\n var newTriggerValue = triggerValue;\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 return newTriggerValue;\n}\nvar TextArea = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _clsx;\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 hidden = _ref.hidden,\n classNames = _ref.classNames,\n styles = _ref.styles,\n onResize = _ref.onResize,\n rest = _objectWithoutProperties(_ref, _excluded);\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 var resizableTextAreaRef = useRef(null);\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 var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n compositing = _React$useState4[0],\n setCompositing = _React$useState4[1];\n var oldCompositionValueRef = React.useRef();\n var oldSelectionStartRef = React.useRef(0);\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n textareaResized = _React$useState6[0],\n setTextareaResized = _React$useState6[1];\n var focus = function focus() {\n var _resizableTextAreaRef;\n (_resizableTextAreaRef = resizableTextAreaRef.current) === null || _resizableTextAreaRef === void 0 ? void 0 : _resizableTextAreaRef.textArea.focus();\n };\n useImperativeHandle(ref, function () {\n return {\n resizableTextArea: resizableTextAreaRef.current,\n focus: focus,\n blur: function blur() {\n var _resizableTextAreaRef2;\n (_resizableTextAreaRef2 = resizableTextAreaRef.current) === null || _resizableTextAreaRef2 === void 0 ? void 0 : _resizableTextAreaRef2.textArea.blur();\n }\n };\n });\n useEffect(function () {\n setFocused(function (prev) {\n return !disabled && prev;\n });\n }, [disabled]);\n\n // =========================== Value Update ===========================\n // Max length value\n var hasMaxLength = Number(maxLength) > 0;\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 var onInternalCompositionEnd = function onInternalCompositionEnd(e) {\n setCompositing(false);\n var triggerValue = e.currentTarget.value;\n if (hasMaxLength) {\n var _oldCompositionValueR;\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 }\n // Patch composition onChange when value changed\n if (triggerValue !== value) {\n setValue(triggerValue);\n resolveOnChange(e.currentTarget, e, onChange, triggerValue);\n }\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n var handleChange = function handleChange(e) {\n var triggerValue = e.target.value;\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 setValue(triggerValue);\n resolveOnChange(e.currentTarget, e, onChange, triggerValue);\n };\n var handleKeyDown = function handleKeyDown(e) {\n var onPressEnter = rest.onPressEnter,\n onKeyDown = rest.onKeyDown;\n if (e.key === 'Enter' && onPressEnter) {\n onPressEnter(e);\n }\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n };\n var handleFocus = function handleFocus(e) {\n setFocused(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n var handleBlur = function handleBlur(e) {\n setFocused(false);\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n\n // ============================== Reset ===============================\n var handleReset = function handleReset(e) {\n var _resizableTextAreaRef3;\n setValue('');\n focus();\n resolveOnChange((_resizableTextAreaRef3 = resizableTextAreaRef.current) === null || _resizableTextAreaRef3 === void 0 ? void 0 : _resizableTextAreaRef3.textArea, e, onChange);\n };\n var val = fixControlledValue(value);\n if (!compositing && hasMaxLength && (customValue === null || customValue === undefined)) {\n // fix #27612 将value转为数组进行截取,解决 '😂'.length === 2 等emoji表情导致的截取乱码的问题\n val = fixEmojiLength(val, maxLength);\n }\n var suffixNode = suffix;\n var dataCount;\n if (showCount) {\n var valueLength = _toConsumableArray(val).length;\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 suffixNode = /*#__PURE__*/React.createElement(React.Fragment, null, suffixNode, /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-data-count\"), classNames === null || classNames === void 0 ? void 0 : classNames.count),\n style: styles === null || styles === void 0 ? void 0 : styles.count\n }, dataCount));\n }\n var handleResize = function handleResize(size) {\n var _resizableTextAreaRef4;\n onResize === null || onResize === void 0 ? void 0 : onResize(size);\n if ((_resizableTextAreaRef4 = resizableTextAreaRef.current) !== null && _resizableTextAreaRef4 !== void 0 && _resizableTextAreaRef4.textArea.style.height) {\n setTextareaResized(true);\n }\n };\n var isPureTextArea = !rest.autoSize && !showCount && !allowClear;\n var textarea = /*#__PURE__*/React.createElement(BaseInput, {\n value: val,\n allowClear: allowClear,\n handleReset: handleReset,\n suffix: suffixNode,\n prefixCls: prefixCls,\n classes: {\n affixWrapper: clsx(classes === null || classes === void 0 ? void 0 : classes.affixWrapper, (_clsx = {}, _defineProperty(_clsx, \"\".concat(prefixCls, \"-show-count\"), showCount), _defineProperty(_clsx, \"\".concat(prefixCls, \"-textarea-allow-clear\"), allowClear), _clsx))\n },\n disabled: disabled,\n focused: focused,\n className: className,\n style: _objectSpread(_objectSpread({}, style), textareaResized && !isPureTextArea ? {\n height: 'auto'\n } : {}),\n dataAttrs: {\n affixWrapper: {\n 'data-count': typeof dataCount === 'string' ? dataCount : undefined\n }\n },\n hidden: hidden,\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 === null || classNames === void 0 ? void 0 : classNames.textarea,\n style: _objectSpread(_objectSpread({}, styles === null || styles === void 0 ? void 0 : styles.textarea), {}, {\n resize: style === null || style === void 0 ? void 0 : style.resize\n }),\n disabled: disabled,\n prefixCls: prefixCls,\n onResize: handleResize,\n ref: resizableTextAreaRef\n }))\n });\n return textarea;\n});\nexport default TextArea;","import TextArea from \"./TextArea\";\nexport { default as ResizableTextArea } from \"./ResizableTextArea\";\nexport default TextArea;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport classNames from 'classnames';\nimport RcTextArea from 'rc-textarea';\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext } from '../form/context';\nimport { triggerFocus } from './Input';\nimport useStyle from './style';\nconst TextArea = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n bordered = true,\n size: customizeSize,\n disabled: customDisabled,\n status: customStatus,\n allowClear,\n showCount,\n classNames: classes,\n rootClassName,\n className\n } = props,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"size\", \"disabled\", \"status\", \"allowClear\", \"showCount\", \"classNames\", \"rootClassName\", \"className\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n // ===================== Size =====================\n const mergedSize = useSize(customizeSize);\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 className: classNames(className, rootClassName),\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 [`${prefixCls}-textarea-show-count`]: showCount\n }, getStatusClassNames(`${prefixCls}-affix-wrapper`, mergedStatus), hashId)\n },\n classNames: Object.assign(Object.assign({}, classes), {\n textarea: classNames({\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-lg`]: mergedSize === 'large'\n }, getStatusClassNames(prefixCls, mergedStatus), hashId, classes === null || classes === void 0 ? void 0 : classes.textarea)\n }),\n prefixCls: prefixCls,\n suffix: hasFeedback && /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-textarea-suffix`\n }, feedbackIcon),\n showCount: showCount,\n ref: innerRef\n })));\n});\nexport default TextArea;","\"use client\";\n\nimport 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;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { FormItemInputContext } from '../form/context';\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;","\"use client\";\n\nimport 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;","\"use client\";\n\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nconst onKeyDown = event => {\n const {\n keyCode\n } = event;\n if (keyCode === KeyCode.ENTER) {\n event.stopPropagation();\n }\n};\nconst FilterDropdownMenuWrapper = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(\"div\", {\n className: props.className,\n onClick: e => e.stopPropagation(),\n onKeyDown: onKeyDown,\n ref: ref\n}, props.children));\nif (process.env.NODE_ENV !== 'production') {\n FilterDropdownMenuWrapper.displayName = 'FilterDropdownMenuWrapper';\n}\nexport default FilterDropdownMenuWrapper;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport 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 useSyncState from '../../../_util/hooks/useSyncState';\nimport warning from '../../../_util/warning';\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 FilterSearch from './FilterSearch';\nimport FilterDropdownMenuWrapper from './FilterWrapper';\nexport function flattenKeys(filters) {\n let keys = [];\n (filters || []).forEach(_ref => {\n let {\n value,\n children\n } = _ref;\n keys.push(value);\n if (children) {\n keys = [].concat(_toConsumableArray(keys), _toConsumableArray(flattenKeys(children)));\n }\n });\n return keys;\n}\nfunction hasSubMenu(filters) {\n return filters.some(_ref2 => {\n let {\n children\n } = _ref2;\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(_ref3) {\n let {\n filters,\n prefixCls,\n filteredKeys,\n filterMultiple,\n searchValue,\n filterSearch\n } = _ref3;\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(_ref4 => {\n let [deprecatedName, newName, prop] = _ref4;\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 = _ref5 => {\n let {\n selectedKeys\n } = _ref5;\n setFilteredKeysSync(selectedKeys);\n };\n const onCheck = (keys, _ref6) => {\n let {\n node,\n checked\n } = _ref6;\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 = _ref7 => {\n let {\n filters\n } = _ref7;\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}","\"use client\";\n\nimport _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, { flattenKeys } 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}\nfunction generateFilterInfo(filterStates) {\n const currentFilters = {};\n filterStates.forEach(_ref2 => {\n let {\n key,\n filteredKeys,\n column\n } = _ref2;\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(_ref3) {\n let {\n prefixCls,\n dropdownPrefixCls,\n mergedColumns: rawMergedColumns,\n onFilterChange,\n getPopupContainer,\n locale: tableLocale\n } = _ref3;\n const mergedColumns = React.useMemo(() => getMergedColumns(rawMergedColumns || []), [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(_ref4 => {\n let {\n filteredKeys\n } = _ref4;\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(_ref5 => {\n let {\n key\n } = _ref5;\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(_ref6 => {\n let {\n key\n } = _ref6;\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 { flattenKeys };\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;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport classNames from 'classnames';\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 warning from '../../_util/warning';\nimport Checkbox from '../../checkbox';\nimport Dropdown from '../../dropdown';\nimport Radio from '../../radio';\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 = [];\nconst 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};\nconst 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(() => {\n if (checkStrictly) {\n return {\n keyEntities: null\n };\n }\n let convertData = data;\n if (preserveSelectedRowKeys) {\n const keysSet = new Set(data.map((record, index) => getRowKey(record, index)));\n // remove preserveRecords that duplicate data\n const preserveRecords = Array.from(preserveRecordsRef.current).reduce((total, _ref) => {\n let [key, value] = _ref;\n return keysSet.has(key) ? total : total.concat(value);\n }, []);\n convertData = [].concat(_toConsumableArray(convertData), _toConsumableArray(preserveRecords));\n }\n return convertDataToEntities(convertData, {\n externalGetKey: getRowKey,\n childrenPropName: childrenColumnName\n });\n }, [data, getRowKey, checkStrictly, childrenColumnName, preserveSelectedRowKeys]);\n // Get flatten data\n const flattedData = useMemo(() => flattenData(childrenColumnName, pageData), [childrenColumnName, pageData]);\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 !== null && key !== void 0 ? 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(_ref2 => {\n let {\n disabled\n } = _ref2;\n return disabled;\n });\n const allDisabled = !!allDisabledData.length && allDisabledData.length === flattedData.length;\n const allDisabledAndChecked = allDisabled && allDisabledData.every(_ref3 => {\n let {\n checked\n } = _ref3;\n return checked;\n });\n const allDisabledSomeChecked = allDisabled && allDisabledData.some(_ref4 => {\n let {\n checked\n } = _ref4;\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: _ref5 => {\n let {\n nativeEvent\n } = _ref5;\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 const columnCls = classNames(`${prefixCls}-selection-col`, {\n [`${prefixCls}-selection-col-with-dropdown`]: selections && selectionType === 'checkbox'\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 onCell: rowSelection.onCell,\n [INTERNAL_COL_DEFINE]: {\n className: columnCls\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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretDownOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretDownOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretDownOutlined = function CaretDownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretDownOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CaretDownOutlined.displayName = 'CaretDownOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(CaretDownOutlined);","// This icon file is generated automatically.\nvar 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport 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, _extends({}, props, {\n ref: ref,\n icon: CaretUpOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CaretUpOutlined.displayName = 'CaretUpOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(CaretUpOutlined);","\"use client\";\n\nimport _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 sortOrder = sorterState ? sorterState.sortOrder : null;\n const nextSortOrder = nextSortDirection(sortDirections, sortOrder);\n let sorter;\n if (column.sortIcon) {\n sorter = column.sortIcon({\n sortOrder\n });\n } else {\n const upNode = sortDirections.includes(ASCEND) && /*#__PURE__*/React.createElement(CaretUpOutlined, {\n className: classNames(`${prefixCls}-column-sorter-up`, {\n active: sortOrder === ASCEND\n })\n });\n const downNode = sortDirections.includes(DESCEND) && /*#__PURE__*/React.createElement(CaretDownOutlined, {\n className: classNames(`${prefixCls}-column-sorter-down`, {\n active: sortOrder === DESCEND\n })\n });\n sorter = /*#__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 }\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`]: sortOrder\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)), sorter);\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 (sortOrder) {\n cell['aria-sort'] = sortOrder === '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}","\"use client\";\n\nimport { 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});","\"use client\";\n\nimport { genVirtualTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nexport default genVirtualTable((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 borderTop: 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 > thead > tr > td,\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 // ============================ 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 [`${componentCls}-bordered ${componentCls}-cell-scrollbar`]: {\n borderInlineEnd: tableBorder\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 filterDropdownMenuBg\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 overflow: 'hidden',\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 borderRadius: 'unset',\n backgroundColor: filterDropdownMenuBg,\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 // https://github.com/ant-design/ant-design/issues/41975\n [`${componentCls}-header, table`]: {\n borderRadius: 0\n },\n 'table > thead > tr:first-child': {\n 'th:first-child, th:last-child, td:first-child, td:last-child': {\n borderRadius: 0\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 float: 'right',\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 [`${componentCls}-row-indent`]: {\n float: 'right'\n }\n }\n }\n };\n};\nexport default genStyle;","const genSelectionStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n fontSizeIcon,\n padding,\n paddingXS,\n tableHeaderIconColor,\n tableHeaderIconColorHover,\n tableSelectionColumnWidth\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Selections ==========================\n [`${componentCls}-selection-col`]: {\n width: tableSelectionColumnWidth,\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: tableSelectionColumnWidth + fontSizeIcon + padding / 4\n }\n },\n [`${componentCls}-bordered ${componentCls}-selection-col`]: {\n width: tableSelectionColumnWidth + paddingXS * 2,\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: tableSelectionColumnWidth + fontSizeIcon + padding / 4 + paddingXS * 2\n }\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}-cell,\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 stickyScrollBarBorderRadius\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: stickyScrollBarBorderRadius,\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;","const genVirtualStyle = token => {\n const {\n componentCls\n } = token;\n const tableBorder = `${token.lineWidth}px ${token.lineType} ${token.tableBorderColor}`;\n const rowCellCls = `${componentCls}-expanded-row-cell`;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Row ==========================\n [`${componentCls}-tbody-virtual`]: {\n [`${componentCls}-row`]: {\n display: 'flex',\n boxSizing: 'border-box',\n width: '100%'\n },\n [`${componentCls}-cell`]: {\n borderBottom: tableBorder\n },\n [`${componentCls}-expanded-row`]: {\n [`${rowCellCls}${rowCellCls}-fixed`]: {\n position: 'sticky',\n insetInlineStart: 0,\n overflow: 'hidden',\n width: `calc(var(--virtual-width) - ${token.lineWidth}px)`,\n borderInlineEnd: 'none'\n }\n }\n },\n // ======================== Border =========================\n [`${componentCls}-bordered`]: {\n [`${componentCls}-tbody-virtual`]: {\n '&:after': {\n content: '\"\"',\n insetInline: 0,\n bottom: 0,\n borderBottom: tableBorder,\n position: 'absolute'\n },\n [`${componentCls}-cell`]: {\n borderInlineEnd: tableBorder,\n [`&${componentCls}-cell-fix-right-first:before`]: {\n content: '\"\"',\n position: 'absolute',\n insetBlock: 0,\n insetInlineStart: -token.lineWidth,\n borderInlineStart: tableBorder\n }\n }\n }\n }\n }\n };\n};\nexport default genVirtualStyle;","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';\nimport genVirtualStyle from './virtual';\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}-cell,\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 colorTextHeading,\n colorSplit,\n colorIcon,\n colorIconHover,\n opacityLoading,\n colorBgContainer,\n controlInteractiveSize: checkboxSize,\n headerBg,\n headerColor,\n headerSortActiveBg,\n headerSortHoverBg,\n bodySortBg,\n rowHoverBg,\n rowSelectedBg,\n rowSelectedHoverBg,\n rowExpandedBg,\n cellPaddingBlock,\n cellPaddingInline,\n cellPaddingBlockMD,\n cellPaddingInlineMD,\n cellPaddingBlockSM,\n cellPaddingInlineSM,\n borderColor,\n footerBg,\n footerColor,\n headerBorderRadius,\n cellFontSize,\n cellFontSizeMD,\n cellFontSizeSM,\n headerSplitColor,\n fixedHeaderSortActiveBg,\n headerFilterHoverBg,\n filterDropdownBg,\n expandIconBg,\n selectionColumnWidth,\n stickyScrollBarBg\n } = token;\n const baseColorAction = new TinyColor(colorIcon);\n const baseColorActionHover = new TinyColor(colorIconHover);\n const zIndexTableFixed = 2;\n const tableToken = mergeToken(token, {\n tableFontSize: cellFontSize,\n tableBg: colorBgContainer,\n tableRadius: headerBorderRadius,\n tablePaddingVertical: cellPaddingBlock,\n tablePaddingHorizontal: cellPaddingInline,\n tablePaddingVerticalMiddle: cellPaddingBlockMD,\n tablePaddingHorizontalMiddle: cellPaddingInlineMD,\n tablePaddingVerticalSmall: cellPaddingBlockSM,\n tablePaddingHorizontalSmall: cellPaddingInlineSM,\n tableBorderColor: borderColor,\n tableHeaderTextColor: headerColor,\n tableHeaderBg: headerBg,\n tableFooterTextColor: footerColor,\n tableFooterBg: footerBg,\n tableHeaderCellSplitColor: headerSplitColor,\n tableHeaderSortBg: headerSortActiveBg,\n tableHeaderSortHoverBg: headerSortHoverBg,\n tableHeaderIconColor: baseColorAction.clone().setAlpha(baseColorAction.getAlpha() * opacityLoading).toRgbString(),\n tableHeaderIconColorHover: baseColorActionHover.clone().setAlpha(baseColorActionHover.getAlpha() * opacityLoading).toRgbString(),\n tableBodySortBg: bodySortBg,\n tableFixedHeaderSortActiveBg: fixedHeaderSortActiveBg,\n tableHeaderFilterActiveBg: headerFilterHoverBg,\n tableFilterDropdownBg: filterDropdownBg,\n tableRowHoverBg: rowHoverBg,\n tableSelectedRowBg: rowSelectedBg,\n tableSelectedRowHoverBg: rowSelectedHoverBg,\n zIndexTableFixed,\n zIndexTableSticky: zIndexTableFixed + 1,\n tableFontSizeMiddle: cellFontSizeMD,\n tableFontSizeSmall: cellFontSizeSM,\n tableSelectionColumnWidth: selectionColumnWidth,\n tableExpandIconBg: expandIconBg,\n tableExpandColumnWidth: checkboxSize + 2 * token.padding,\n tableExpandedRowBg: rowExpandedBg,\n // Dropdown\n tableFilterDropdownWidth: 120,\n tableFilterDropdownHeight: 264,\n tableFilterDropdownSearchWidth: 140,\n // Virtual Scroll Bar\n tableScrollThumbSize: 8,\n tableScrollThumbBg: stickyScrollBarBg,\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), genVirtualStyle(tableToken)];\n}, token => {\n const {\n colorFillAlter,\n colorBgContainer,\n colorTextHeading,\n colorFillSecondary,\n colorFillContent,\n controlItemBgActive,\n controlItemBgActiveHover,\n padding,\n paddingSM,\n paddingXS,\n colorBorderSecondary,\n borderRadiusLG,\n fontSize,\n controlHeight,\n colorTextPlaceholder\n } = token;\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 return {\n headerBg: colorFillAlterSolid,\n headerColor: colorTextHeading,\n headerSortActiveBg: colorFillSecondarySolid,\n headerSortHoverBg: colorFillContentSolid,\n bodySortBg: colorFillAlterSolid,\n rowHoverBg: colorFillAlterSolid,\n rowSelectedBg: controlItemBgActive,\n rowSelectedHoverBg: controlItemBgActiveHover,\n rowExpandedBg: colorFillAlter,\n cellPaddingBlock: padding,\n cellPaddingInline: padding,\n cellPaddingBlockMD: paddingSM,\n cellPaddingInlineMD: paddingXS,\n cellPaddingBlockSM: paddingXS,\n cellPaddingInlineSM: paddingXS,\n borderColor: colorBorderSecondary,\n headerBorderRadius: borderRadiusLG,\n footerBg: colorFillAlterSolid,\n footerColor: colorTextHeading,\n cellFontSize: fontSize,\n cellFontSizeMD: fontSize,\n cellFontSizeSM: fontSize,\n headerSplitColor: colorBorderSecondary,\n fixedHeaderSortActiveBg: colorFillSecondarySolid,\n headerFilterHoverBg: colorFillContent,\n filterDropdownMenuBg: colorBgContainer,\n filterDropdownBg: colorBgContainer,\n expandIconBg: colorBgContainer,\n selectionColumnWidth: controlHeight,\n stickyScrollBarBg: colorTextPlaceholder,\n stickyScrollBarBorderRadius: 100\n };\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { INTERNAL_HOOKS } from 'rc-table';\nimport { convertChildrenToColumns } from \"rc-table/es/hooks/useColumns\";\nimport omit from \"rc-util/es/omit\";\nimport scrollTo from '../_util/scrollTo';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider/context';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport defaultLocale from '../locale/en_US';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport { useToken } from '../theme/internal';\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 RcVirtualTable from './RcTable/VirtualTable';\nimport useStyle from './style';\nconst EMPTY_LIST = [];\nconst InternalTable = (props, ref) => {\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 virtual\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 {\n locale: contextLocale = defaultLocale,\n direction,\n table,\n renderEmpty,\n getPrefixCls,\n getPopupContainer: getContextPopupContainer\n } = React.useContext(ConfigContext);\n const mergedSize = useSize(customizeSize);\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 var _a, _b, _c;\n const changeInfo = Object.assign(Object.assign({}, changeEventInfo), info);\n if (reset) {\n (_a = changeEventInfo.resetPagination) === null || _a === void 0 ? void 0 : _a.call(changeEventInfo);\n // Reset event param\n if ((_b = changeInfo.pagination) === null || _b === void 0 ? void 0 : _b.current) {\n changeInfo.pagination.current = 1;\n }\n // Trigger pagination events\n if (pagination && pagination.onChange) {\n pagination.onChange(1, (_c = changeInfo.pagination) === null || _c === void 0 ? void 0 : _c.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 [, token] = useToken();\n const wrapperClassNames = classNames(`${prefixCls}-wrapper`, table === null || table === void 0 ? void 0 : table.className, {\n [`${prefixCls}-wrapper-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n const mergedStyle = Object.assign(Object.assign({}, table === null || table === void 0 ? void 0 : table.style), style);\n const emptyText = locale && locale.emptyText || (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"Table\"\n });\n // ========================== Render ==========================\n const TableComponent = virtual ? RcVirtualTable : RcTable;\n // >>> Virtual Table props. We set height here since it will affect height collection\n const virtualProps = {};\n const listItemHeight = React.useMemo(() => {\n const {\n fontSize,\n lineHeight,\n padding,\n paddingXS,\n paddingSM\n } = token;\n const fontHeight = Math.floor(fontSize * lineHeight);\n switch (mergedSize) {\n case 'large':\n return padding * 2 + fontHeight;\n case 'small':\n return paddingXS * 2 + fontHeight;\n default:\n return paddingSM * 2 + fontHeight;\n }\n }, [token, mergedSize]);\n if (virtual) {\n virtualProps.listItemHeight = listItemHeight;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: wrapperClassNames,\n style: mergedStyle\n }, /*#__PURE__*/React.createElement(Spin, Object.assign({\n spinning: false\n }, spinProps), topPaginationNode, /*#__PURE__*/React.createElement(TableComponent, Object.assign({}, virtualProps, 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}","\"use client\";\n\nimport 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;","\"use client\";\n\nimport { EXPAND_COLUMN, Summary } from 'rc-table';\nimport * as React from 'react';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport InternalTable from './InternalTable';\nimport { SELECTION_ALL, SELECTION_COLUMN, SELECTION_INVERT, SELECTION_NONE } from './hooks/useSelection';\nconst 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;\nif (process.env.NODE_ENV !== 'production') {\n ForwardTable.displayName = 'Table';\n}\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;","\"use client\";\n\nimport Table from './Table';\nexport default Table;"],"names":["EXPAND_COLUMN","INTERNAL_HOOKS","createContext","defaultValue","Context","undefined","Provider","_ref","value","children","valueRef","current","_React$useState","getValue","listeners","Set","context","useLayoutEffect","unstable_batchedUpdates","forEach","listener","holder","selector","eventSelector","useEvent","ctx","Array","isArray","obj","key","_ref2","_React$useState3","forceUpdate","add","trigger","delete","nextValue","nextSelectorValue","isEqual","createImmutable","ImmutableContext","useImmutableMark","makeImmutable","Component","shouldTriggerRender","refAble","ImmutableComponent","props","ref","refProps","renderTimesRef","prevProps","responseImmutable","propsAreEqual","_createImmutable","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","c","window","document","documentElement","styleNameList","some","name","isStyleValueSupport","ele","createElement","origin","fillRecords","list","indent","childrenColumnName","expandedKeys","getRowKey","expanded","has","i","useFlattenRecords","size","item","cellComponent","isEmpty","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","width","overflow","display","useRowInfo","rowKey","recordIndex","computeRowClassName","expandableType","onTriggerExpand","rowExpandable","onRow","expandRowByClick","rowClassName","nestExpandable","rowSupportExpand","mergedExpandable","hasNestChildren","onInternalTriggerExpand","rowProps","onRowClick","onClick","columnsKey","expandable","_len","arguments","args","_key","apply","getCellProps","rowInfo","colIndex","appendCellNode","additionalCellProps","fixedInfoList","expandIconColumnIndex","indentSize","expandIcon","paddingLeft","onExpand","onCell","BodyRow","_props$indent","RowComponent","rowComponent","scopeCellComponent","expandedRowClassName","expandedRowRender","_React$useState2","expandRended","setExpandRended","expandRowNode","baseRowNode","columnClassName","_getCellProps","rowScope","expandContent","computedExpandedRowClassName","MeasureCell","columnKey","onColumnResize","cellRef","offsetWidth","padding","border","height","MeasureRow","fontSize","Collection","onBatchResize","infoList","Body","rows","measureColumnWidth","getComponent","emptyNode","flattenData","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","cells","CellComponent","tdCellComponent","onHeaderRow","cell","cellIndex","rootColumns","fillRowCells","currentColIndex","filter","Boolean","subColumns","reduce","total","count","hasSubColumns","rowCount","_loop","parseHeaderRows","row","parseColWidth","totalWidth","endsWith","parseFloat","_excluded2","convertChildrenToColumns","node","nodeChildren","flatColumns","parentKey","parsedFixed","subColum","transformColumns","columnTitle","columnWidth","scrollWidth","baseColumns","withExpandColumns","_expandColumn","slice","includes","expandColIndex","splice","expandColumnIndex","indexOf","fixedColumn","expandColumn","_","recordExpandable","icon","stopPropagation","col","mergedColumns","finalColumns","revertForRtl","_useWidthColumns","missWidthCount","colWidth","restWidth","restCount","avgWidth","realTotal","clone","colAvgWidth","Math","floor","useWidthColumns","_useWidthColumns2","filledColumns","realScrollWidth","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","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","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","tableProps","scrollXStyle","scrollYStyle","scrollTableStyle","emptyText","scroll","footer","summary","caption","id","showHeader","components","internalHooks","internalRefs","tailor","sticky","mergedData","hasData","useInternalHooks","defaultComponent","customizeScrollBody","_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","scrollX","setComponentWidth","_useColumns","_useColumns2","flattenScrollX","mergedScrollX","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","measureTarget","triggerOnScroll","mounted","_React$useState7","_React$useState8","setScrollbarSize","_React$useState9","_React$useState10","setSupportSticky","styleValue","Element","groupTableNode","renderFixedHeaderTable","fixedHolderPassProps","renderFixedFooterTable","TableComponent","mergedTableLayout","headerProps","bodyTable","bodyColGroup","captionElement","dataProps","pickAttrs","ariaProps","aria","bodyContent","_ref6","Number","isNaN","fixedHolderProps","fullTable","onResize","useFixedInfo","TableContextValue","genTable","ImmutableTable","Column","ColumnGroup","StaticContext","GridContext","inverse","getHeight","columnsOffset","cellStyle","_additionalCellProps$","_additionalCellProps$2","concatColWidth","getColumnWidth","marginOffset","flex","marginRight","pointerEvents","needHide","mergedRender","cellSpan","BodyLine","extra","rowCellCls","rowStyle","rowNode","Grid","_useContext2","scrollY","listItemHeight","listRef","columnsWidth","defineProperty","_listRef$current","getScrollInfo","_listRef$current2","scrollTo","getRowSpan","_flattenData$index","_cellProps$rowSpan","cellProps","gridContext","tblPrefixCls","fullHeight","itemHeight","itemKey","onVirtualScroll","extraRender","info","getSize","offsetY","firstRowSpanColumns","startIndex","lastRowSpanColumns","endIndex","_loop2","_i","max","spanLines","_loop3","_i2","sizeInfo","endItemIndex","endItemKey","itemProps","renderBody","rawData","PRESET_COLUMN_WIDTH","VirtualTable","_props$prefixCls","genVirtualTable","isWindow","useForceUpdate","responsiveArray","refreshOnChange","screensRef","responsiveObserver","token","useToken","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","popupMatchSelectWidth","onChange","getPopupContainer","triggerNode","parentNode","page_size","defaultOpen","onKeyUp","jump_to_confirm","jump_to","onBlur","page","defaultProps","active","onKeyPress","itemRender","cls","pager","rel","tabIndex","noop","isInteger","v","isFinite","calculatePage","p","Pagination","paginationNode","getJumpPrevPage","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","totalText","_prev","prev_page","onKeyDown","next_page","pagerProps","prevItemTitle","prev_3","prev_5","nextItemTitle","next_3","next_5","jumpPrevContent","jumpNextContent","last","_active","prevDisabled","nextDisabled","getShowSizeChanger","SECRET_COMBOBOX_MODE_DO_NOT_USE","InternalSelect","_a","_b","customizePrefixCls","bordered","rootClassName","popupClassName","dropdownClassName","listHeight","placement","customizeSize","customDisabled","notFoundContent","status","customStatus","builtinPlacements","dropdownMatchSelectWidth","propDirection","allowClear","s","t","prototype","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","__rest","getContextPopupContainer","getPrefixCls","renderEmpty","contextDirection","virtual","contextPopupMatchSelectWidth","popupOverflow","select","compactSize","compactItemClassnames","wrapSSR","hashId","mode","m","isMultiple","showSuffixIcon","useShowArrow","suffixIcon","showArrow","mergedPopupMatchSelectWidth","contextStatus","hasFeedback","isFormItemInput","feedbackIcon","mergedStatus","mergedNotFound","componentName","itemIcon","removeIcon","clearIcon","multiple","mergedAllowClear","selectProps","rcSelectRtlDropdownClassName","mergedSize","useSize","DisabledContext","mergedDisabled","memoPlacement","mergedBuiltinPlacements","useBuiltinPlacements","transitionName","menuItemSelectedIcon","OptGroup","_InternalPanelDoNotUseOrYouWillBeFired","MiniSelect","MiddleSelect","genHoverStyle","borderColor","hoverBorderColor","genActiveStyle","activeBorderColor","boxShadow","activeShadow","outline","genDisabledStyle","color","colorTextDisabled","backgroundColor","colorBgContainerDisabled","colorBorder","cursor","opacity","genInputLargeStyle","paddingBlockLG","fontSizeLG","lineHeightLG","borderRadiusLG","paddingInlineLG","lineHeight","borderRadius","genInputSmallStyle","paddingBlockSM","paddingInlineSM","borderRadiusSM","genStatusStyle","parentCls","componentCls","colorError","colorWarning","errorActiveShadow","warningActiveShadow","colorErrorBorderHover","colorWarningBorderHover","genBasicInputStyle","paddingBlock","paddingInline","colorText","colorBgContainer","backgroundImage","borderWidth","lineWidth","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","borderInlineEndWidth","borderStartEndRadius","borderEndEndRadius","borderStartStartRadius","borderEndStartRadius","float","marginInlineEnd","marginInlineStart","genInputStyle","colorSmallPadding","paddingTop","paddingBottom","genAllowClearStyle","colorTextQuaternary","fontSizeIcon","colorTextTertiary","inputAffixPadding","genAffixStyle","colorTextDescription","colorIcon","colorIconHover","iconCls","background","content","alignItems","paddingXXS","genGroupStyle","genSearchInputStyle","searchPrefixCls","colorPrimaryHover","borderInlineStartColor","insetInlineStart","colorPrimaryActive","insetInlineEnd","insetBlockStart","insetBlockEnd","genTextAreaStyle","paddingLG","textareaPrefixCls","marginInline","initInputToken","initComponentToken","paddingSM","controlPaddingHorizontalSM","controlPaddingHorizontal","controlOutlineWidth","controlOutline","colorErrorOutline","colorWarningOutline","round","ceil","addonBg","genComponentStyleHook","inputToken","genPaginationDisabledStyle","itemActiveBgDisabled","itemActiveColorDisabled","genPaginationMiniStyle","itemSizeSM","colorBgTextHover","colorBgTextActive","paginationMiniOptionsMarginInlineStart","miniOptionsSizeChangerTop","input","paginationMiniQuickJumperInputWidth","genPaginationSimpleStyle","marginXS","boxSizing","paginationItemPaddingInline","itemInputBg","inputOutlineOffset","genPaginationJumpStyle","fontSizeSM","fontFamily","letterSpacing","paginationEllipsisLetterSpacing","textIndent","paginationEllipsisTextIndent","itemSize","listStyle","button","paginationSlashMarginInlineEnd","paginationSlashMarginInlineStart","genPaginationItemStyle","textDecoration","fontWeightStrong","itemActiveBg","genPaginationStyle","genBorderedStyle","itemBg","itemLinkBg","genPaginationFocusStyle","paginationToken","marginXXS","marginSM","wireframe","controlItemBgActiveDisabled","customizeSelectPrefixCls","customLocale","responsive","pagination","mergedShowSizeChanger","iconsProps","contextLocale","useLocale","isSmall","extendedClassName","isFragment","child","replacement","replaceElement","antSpinMove","to","antRotate","genSpinStyle","motionEaseInOutCirc","contentHeight","dotSize","textShadow","marginTop","dotSizeSM","dotSizeLG","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","spin","spinClassName","containerClassName","divProps","spinElement","indicator","dotClassName","renderIndicator","SpinFC","spinClassProps","setDefaultIndicator","getColumnKey","defaultKey","getColumnPos","pos","renderColumnTitle","genWaveStyle","motionEaseOutCirc","motionEaseInOut","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","TARGET_CLS","validateNum","WaveEffect","divRef","setWaveColor","setBorderRadius","setLeft","setTop","setWidth","setHeight","enabled","setEnabled","waveStyle","radius","syncPos","nodeStyle","getComputedStyle","borderTopColor","getTargetWaveColor","isStatic","borderLeftWidth","borderTopWidth","offsetLeft","offsetTop","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","raf","resizeObserver","ResizeObserver","observe","disconnect","isSmallComponent","classList","contains","visible","motionAppear","motionName","motionDeadline","onAppearEnd","deadline","propertyName","parentElement","_x2","motionClassName","checked","insertBefore","firstChild","root","modernRender","legacyRender","useContext","containerRef","showWave","nodeRef","wave","targetNode","showEffect","rafId","useWave","nodeType","getAttribute","GroupSizeContext","rxTwoCNChar","isTwoCNChar","bind","isString","str","isUnBorderedButtonType","IconWrapper","forwardRef","iconWrapperCls","InnerLoadingIcon","iconClassName","mergedIconCls","LoadingOutlined","getCollapsedWidth","getRealWidth","loading","existIcon","removeOnLeave","onAppearStart","onAppearActive","onEnterStart","onEnterActive","onLeaveStart","onLeaveActive","motionCls","motionStyle","genButtonBorderStyle","buttonTypeCls","borderInlineEndColor","groupBorderColor","colorErrorHover","genSharedButtonStyle","touchAction","genHoverActiveButtonStyle","btnCls","hoverStyle","activeStyle","genCircleButtonStyle","paddingInlineStart","genRoundButtonStyle","borderColorDisabled","genGhostButtonStyle","textColor","textColorDisabled","genSolidDisabledButtonStyle","genSolidButtonStyle","genPureDisabledButtonStyle","genDefaultButtonStyle","defaultBg","defaultBorderColor","defaultColor","defaultShadow","ghostBg","defaultGhostColor","defaultGhostBorderColor","colorErrorActive","genPrimaryButtonStyle","primaryColor","primaryShadow","colorTextLightSolid","dangerShadow","dangerColor","genDashedButtonStyle","genLinkButtonStyle","colorLink","colorLinkHover","linkHoverBg","colorLinkActive","genTextButtonStyle","textHoverBg","colorErrorBg","genTypeButtonStyle","genSizeButtonStyle","sizePrefixCls","buttonPaddingHorizontal","buttonIconOnlyFontSize","opacityLoading","genSizeBaseButtonStyle","contentFontSize","genSizeSmallButtonStyle","smallToken","contentFontSizeSM","onlyIconSizeSM","genSizeLargeButtonStyle","largeToken","contentFontSizeLG","onlyIconSizeLG","genBlockButtonStyle","prepareToken","onlyIconSize","prepareComponentToken","controlTmpOutline","paddingContentHorizontal","defaultBorderColorDisabled","buttonToken","compactItemVerticalBorder","genCompactItemVerticalStyle","compactCls","InternalButton","danger","shape","styles","ghost","block","htmlType","classNames","customClassNames","customStyle","rest","autoInsertSpaceInButton","groupSize","loadingOrDelay","getLoadingConfig","innerLoading","setLoading","hasTwoCNChar","setHasTwoCNChar","internalRef","createRef","buttonRef","needInserted","Children","delayTimer","buttonText","textContent","handleClick","autoInsertSpace","sizeFullName","ctxSize","sizeCls","large","small","middle","iconType","linkButtonRestProps","classes","fullStyle","iconClasses","iconStyle","kids","isPrevChildPure","childList","isCurrentChildPure","lastIndex","lastChild","SPACE","splitCNCharsBySpace","spaceChildren","href","buttonNode","Button","Group","others","__ANT_BUTTON","Checkbox","_props$defaultChecked","defaultChecked","_props$type","inputProps","inputRef","_useMergedState","useMergedState","_useMergedState2","rawValue","setRawValue","useImperativeHandle","focus","_inputRef$current","_inputRef$current2","classString","nativeEvent","InternalCheckbox","indeterminate","skipGroup","checkbox","checkboxGroup","contextDisabled","prevValue","registerValue","cancelValue","checkboxProps","toggleOption","checkboxClass","ariaChecked","InternalGroup","setValue","registeredValues","setRegisteredValues","memoOptions","groupPrefixCls","domProps","childrenNode","optionIndex","newValue","findIndex","prevValues","CheckboxGroup","__ANT_CHECKBOX","ESC","TAB","overlay","arrow","overlayNode","composedRef","autoAdjustOverflow","adjustX","adjustY","targetOffset","topLeft","points","offset","topRight","bottomLeft","bottomRight","Dropdown","_children$props","_props$arrow","animation","_props$placement","_props$placements","placements","showAction","hideAction","overlayClassName","overlayStyle","_props$trigger","autoFocus","onVisibleChange","otherProps","triggerVisible","setTriggerVisible","mergedVisible","triggerRef","overlayRef","childRef","handleVisibleChange","newVisible","focusMenuRef","handleCloseMenuAndReturnFocus","_triggerRef$current","_triggerRef$current$f","focusMenu","_overlayRef$current","focusResult","useAccessibility","openClassName","minOverlayWidthMatchTrigger","alignPoint","getMenuElement","triggerHideAction","popupStyle","action","popupPlacement","popupAlign","popupTransitionName","popupAnimation","popupVisible","stretch","popup","onPopupVisibleChange","onPopupClick","onOverlayClick","roundedArrow","innerRadius","outerRadius","bgColor","unitWidth","ay","bx","sqrt","by","cx","cy","dx","dy","ex","ey","fx","fy","shadowWidth","polygonOffset","clipPath","_multi_value_","insetInline","_skip_check_","MAX_VERTICAL_CONTENT_RADIUS","getArrowOffset","maxVerticalContentRadius","contentRadius","limitVerticalRadius","dropdownArrowOffset","dropdownArrowOffsetVertical","isInject","valid","code","getArrowStyle","sizePopupArrow","borderRadiusXS","borderRadiusOuter","boxShadowPopoverArrow","colorBg","arrowDistance","arrowPlacement","PlacementAlignMap","leftTop","rightTop","rightBottom","leftBottom","ArrowCenterPlacementAlignMap","DisableAutoArrowList","getPlacements","arrowWidth","arrowPointAtCenter","visibleFirst","halfArrowWidth","placementMap","template","placementInfo","autoArrow","arrowOffset","baseOverflow","shiftX","shiftY","mergedOverflow","getOverflowOptions","htmlRegion","IdContext","getMenuId","uuid","eventKey","useMenuId","MenuContext","InheritableContextProvider","locked","inheritableContext","EmptyList","PathRegisterContext","useMeasure","PathTrackerContext","useFullPath","parentKeyPath","PathUserContext","focusable","includePositive","nodeName","toLowerCase","isFocusableElement","isContentEditable","tabIndexAttr","tabIndexNum","LEFT","RIGHT","UP","DOWN","ENTER","HOME","END","ArrowKeys","getFocusableElements","elements","res","querySelectorAll","getFocusNodeList","getNextFocusElement","parentQueryContainer","focusMenuElement","sameLevelFocusableMenuElementList","focusIndex","PATH_SPLIT","getPathStr","keyPath","OVERFLOW_KEY","useMemoCallback","funRef","_funRef$current","uniquePrefix","random","toFixed","internalId","useActive","activeKey","onActive","onInactive","ret","domEvent","useDirectionStyle","level","rtl","inlineIndent","paddingRight","Icon","warnItemProp","restInfo","_excluded3","LegacyMenuItem","attribute","elementRef","passedProps","Item","InternalMenuItem","warnKey","role","onFocus","domDataId","onItemClick","overflowDisabled","contextItemIcon","selectedKeys","_internalRenderMenuItem","itemCls","legacyMenuItemRef","mergedEleRef","connectedKeys","getEventInfo","mergedItemIcon","_useActive","activeProps","selected","directionStyle","optionRoleProps","renderNode","which","isSelected","MenuItem","measure","connectedKeyPath","registerPath","unregisterPath","InternalSubMenuList","SubMenuList","parseChildren","_eventKey","_child$props","cloneProps","placementsRtl","getMotion","motion","defaultMotions","other","popupPlacementMap","horizontal","vertical","PopupTrigger","popupOffset","subMenuOpenDelay","subMenuCloseDelay","triggerSubMenuAction","forceSubMenuRender","innerVisible","setInnerVisible","targetMotion","targetMotionRef","mergedMotion","leavedClassName","visibleRef","mouseEnterDelay","mouseLeaveDelay","forceRender","popupMotion","InlineSubMenuList","open","fixedMode","sameModeRef","destroy","setDestroy","mergedOpen","originOnVisibleChanged","onVisibleChanged","InternalSubMenu","internalPopupClose","onTitleClick","onTitleMouseEnter","onTitleMouseLeave","openKeys","contextExpandIcon","onOpenChange","_internalRenderSubMenuItem","isSubPathKey","connectedPath","subMenuPrefixCls","popupRef","originOpen","childrenSelected","childrenActive","setChildrenActive","triggerChildrenActive","newActive","mergedActive","onMergedItemClick","popupId","titleNode","isOpen","isSubMenu","triggerModeRef","triggerMode","listNode","SubMenu","InternalMenuItemGroup","MenuItemGroup","Divider","convertItemsToNodes","parseItems","items","childNodes","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","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$current","_containerRef$current2","_containerRef$current3","shouldFocusKey","find","_useMergedState5","_useMergedState6","mergedSelectKeys","setMergedSelectKeys","onInternalClick","newSelectKeys","targetKey","exist","selectInfo","triggerSelection","onInternalOpenChange","newOpenKeys","k","subPathKeys","onInternalKeyDown","triggerActiveKey","triggerAccessibilityOpen","originOnKeyDown","rafRef","activeRef","cleanRaf","key2element","element2key","refreshElements","getFocusElement","focusMenuKey","offsetObj","isRootLevel","_inline","_horizontal","_vertical","_offsets","parent","inlineTrigger","inline","inlineSub","horizontalSub","verticalSub","sibling","tryFocus","menuElement","focusTargetElement","link","targetElement","focusableElements","findContainerUL","controlId","getElementById","parentMenuElement","nextOpen","privateContext","wrappedChildList","itemComponent","dir","renderRawItem","renderRawRest","omitItems","len","originOmitItems","maxCount","INVALIDATE","RESPONSIVE","ssr","newLastIndex","ExportMenu","ItemGroup","SiderContext","dashed","autoAdjustOverflowTopBottom","autoAdjustOverflowLeftRight","Popup","overlayInnerStyle","Tooltip","_props$mouseEnterDela","_props$mouseLeaveDela","afterVisibleChange","_props$align","_props$destroyTooltip","destroyTooltipOnHide","defaultVisible","getTooltipContainer","arrowContent","_props$showArrow","extraProps","afterPopupVisibleChange","defaultPopupVisible","autoDestroy","zoomIn","zoomOut","zoomBigIn","zoomBigOut","zoomUpIn","zoomUpOut","zoomMotion","zoom","inKeyframes","outKeyframes","initZoomMotion","motionDurationFast","PresetColors","genPresetColor","genCss","colorKey","lightColor","lightBorderColor","darkColor","genTooltipStyle","tooltipMaxWidth","tooltipColor","tooltipBg","tooltipBorderRadius","zIndexPopup","boxShadowSecondary","tooltipRadiusOuter","wordWrap","injectStyle","colorBgDefault","TooltipToken","zIndexPopupBase","colorBgSpotlight","resetStyle","useOriginHook","inverseColors","parseColor","isInternalColor","isPresetColor","arrowStyle","afterOpenChange","mergedShowArrow","tooltipRef","forceAlign","forcePopupAlign","setOpen","noTitle","tooltipPlacements","mergedArrowPointAtCenter","pointAtCenter","memoOverlay","memoOverlayWrapper","injectFromPopover","tempOpen","elementType","__ANT_SWITCH","__ANT_RADIO","picked","omitted","splitObject","spanStyle","getDisabledCompatibleChildren","childProps","childCls","colorInfo","arrowContentStyle","formattedOverlayInnerStyle","customOverlayClassName","vis","firstLevel","disableMenuItemTitleTooltip","isInlineCollapsed","siderCollapsed","tooltipTitle","tooltipProps","childrenLength","returnNode","wrapNode","charAt","renderItemChildren","theme","customTheme","contextTheme","parentPath","titleIsSpan","contextValue","OverrideContext","OverrideProvider","override","useItems","horizontalLineHeight","colorSplit","itemPaddingInline","borderBottom","menuArrowOffset","accessibilityFocus","themeSuffix","itemColor","itemSelectedColor","groupTitleColor","subMenuItemBg","itemSelectedBg","activeBarHeight","activeBarWidth","activeBarBorderWidth","motionEaseOut","itemHoverColor","itemDisabledColor","dangerItemColor","dangerItemHoverColor","dangerItemSelectedColor","dangerItemActiveBg","dangerItemSelectedBg","itemHoverBg","menuSubMenuBg","horizontalItemSelectedColor","horizontalItemSelectedBg","horizontalItemBorderRadius","horizontalItemHoverBg","popupBg","borderBottomWidth","borderBottomColor","insetBlock","getVerticalInlineStyle","itemMarginInline","menuArrowSize","itemMarginBlock","marginBlock","dropdownWidth","paddingXL","collapsedWidth","collapsedIconSize","inlineItemStyle","listStylePosition","listStyleType","genMenuItemStyle","iconSize","iconMarginInlineEnd","genSubMenuArrowStyle","getBaseStyle","subMenuItemBorderRadius","menuPanelMaskInset","groupTitleLineHeight","groupTitleFontSize","itemBorderRadius","inset","colorBgElevated","darkItemColor","darkDangerItemColor","darkItemBg","darkSubMenuItemBg","darkItemSelectedColor","darkItemSelectedBg","darkDangerItemSelectedBg","darkItemHoverBg","darkGroupTitleColor","darkItemHoverColor","darkItemDisabledColor","darkDangerItemHoverColor","darkDangerItemSelectedColor","darkDangerItemActiveBg","menuToken","menuHorizontalHeight","menuDarkToken","colorFillContent","lineWidthBold","controlItemBgActive","colorTextDark","setAlpha","toRgbString","radiusItem","radiusSubMenuItem","colorItemText","colorItemTextHover","colorItemTextHoverHorizontal","horizontalItemHoverColor","colorGroupTitle","colorItemTextSelected","colorItemTextSelectedHorizontal","colorItemBg","colorItemBgHover","colorItemBgActive","colorSubItemBg","colorItemBgSelected","colorItemBgSelectedHorizontal","colorActiveBarWidth","colorActiveBarHeight","colorActiveBarBorderSize","colorItemTextDisabled","colorDangerItemText","colorDangerItemTextHover","colorDangerItemTextSelected","colorDangerItemBgActive","colorDangerItemBgSelected","deprecatedTokens","InternalMenu","overrideObj","menu","_internalDisableMenuItemTitleTooltip","mergedChildren","validator","mergedSelectable","menuClassName","beClone","menuRef","menuCls","genBaseStyle","dropdownArrowDistance","dropdownPaddingVertical","dropdownEdgeChildPadding","slide","backgroundClip","controlItemBgHover","controlItemBgActiveHover","fontStyle","dropdownToken","dropdownRender","memoTransitionName","only","dropdownTrigger","triggerActions","onInnerOpenChange","overlayClassNameCustomized","onMenuClick","SpaceContext","latestIndex","SpaceContextProvider","isPresetSize","isValidGapNumber","Space","space","directionConfig","horizontalSize","verticalSize","isPresetVerticalSize","isPresetHorizontalSize","isValidVerticalSize","isValidHorizontalSize","keepEmpty","mergedAlign","itemClassName","nodes","spaceContext","gapStyle","flexWrap","columnGap","rowGap","CompoundedSpace","Compact","DropdownButton","buttonsRender","destroyPopupOnHide","buttonPrefixCls","dropdownProps","leftButton","rightButton","leftButtonToRender","rightButtonToRender","RadioGroupContext","RadioGroupContextProvider","RadioOptionTypeContext","RadioOptionTypeContextProvider","getGroupRadioStyle","getRadioBasicStyle","wrapperMarginInlineEnd","radioSize","dotColorDisabled","radioDotDisabledSize","colorWhite","radioInnerPrefixCls","alignSelf","marginBlockStart","borderBlockStart","getRadioButtonStyle","buttonColor","buttonPaddingInline","buttonBg","buttonCheckedBg","buttonSolidCheckedColor","buttonCheckedBgDisabled","buttonCheckedColorDisabled","buttonSolidCheckedBg","buttonSolidCheckedHoverBg","buttonSolidCheckedActiveBg","borderBlockStartWidth","borderInlineStartWidth","getDotSize","dotPadding","radioFocusShadow","radioButtonFocusShadow","radioToken","InternalRadio","groupContext","radioOptionTypeContext","radio","innerRef","mergedRef","radioPrefixCls","isButtonType","optionType","radioProps","wrapperClassString","RadioGroup","buttonStyle","childrenToRender","ev","lastValue","RadioButton","TreeContext","Indent","isStart","isEnd","baseClassName","ICON_OPEN","ICON_CLOSE","InternalTreeNode","dragNodeHighlight","selectHandle","cacheIndent","onSelectorClick","onNodeClick","isSelectable","onCheck","onSelectorDoubleClick","onNodeDoubleClick","isDisabled","onNodeSelect","disableCheckbox","onNodeCheck","isCheckable","targetChecked","onNodeMouseEnter","onNodeMouseLeave","onContextMenu","onNodeContextMenu","onDragStart","onNodeDragStart","dataTransfer","setData","error","onDragEnter","onNodeDragEnter","onDragOver","onNodeDragOver","onDragLeave","onNodeDragLeave","onDragEnd","onNodeDragEnd","onDrop","onNodeDrop","onNodeExpand","setSelectHandle","getNodeState","isLeaf","hasChildren","keyEntities","loaded","loadData","checkable","treeCheckable","syncLoadData","_this$props$context","onNodeLoad","isDraggable","draggable","nodeDraggable","renderDragHandler","_this$props$context2","renderSwitcherIconDom","switcherIconFromProps","switcherIcon","switcherIconFromCtx","renderSwitcher","_switcherIconDom","switcherCls","switcherIconDom","renderCheckbox","halfChecked","$custom","renderIcon","renderSelector","$icon","_this$props6$title","_this$props$context3","showIcon","treeIcon","titleRender","wrapClass","currentIcon","$title","onDoubleClick","renderDropIndicator","_this$props7","_this$props$context4","dropLevelOffset","dropPosition","dropIndicatorRender","dragOverNodeKey","showIndicator","mergedIndent","treeSelectable","_this$props8","dragOver","dragOverGapTop","dragOverGapBottom","domRef","_this$props$context5","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","isEndNode","mergedDraggable","draggableWithoutDisabled","dragging","ariaSelected","ContextTreeNode","Consumer","isTreeNode","arrDel","arrAdd","posToArr","getDragChildrenKeys","dragNodeKey","dragChildrenKeys","isLastChild","treeNodeEntity","posArr","calcDropPosition","dragNode","startMousePosition","allowDrop","flattenedNodes","expandKeys","_abstractDropNodeEnti","clientX","clientY","_event$target$getBoun","rawDropLevelOffset","abstractDropNodeEntity","nodeIndex","flattenedNode","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","abstractDragDataNode","abstractDropDataNode","dropAllowed","dropNode","dropTargetPos","calcSelectedKeys","parseCheckedKeys","keyProps","checkedKeys","halfCheckedKeys","conductExpandParent","keyList","conductUp","entity","_objectDestructuringEmpty","TypeError","MotionTreeNode","motionNodes","motionType","onOriginMotionStart","onMotionStart","onOriginMotionEnd","onMotionEnd","treeNodeRequiredProps","setVisible","targetVisible","triggerMotionEndRef","triggerMotionEnd","triggerStart","triggerEnd","firstMount","setFirstMount","useUnmount","nextVisible","motionRef","treeNode","treeNodeProps","getExpandRange","shorter","longer","shorterStartIndex","shorterEndNode","longerStartIndex","longerEndIndex","HIDDEN_STYLE","MOTION_KEY","MotionNode","MotionEntity","MotionFlattenData","getMinimumRangeTransitionRange","NodeList","loadedKeys","loadingKeys","activeItem","focused","onActiveChange","onListChangeStart","onListChangeEnd","indentMeasurerRef","getIndentWidth","prevExpandedKeys","setPrevExpandedKeys","prevData","setPrevData","transitionData","setTransitionData","transitionRange","setTransitionRange","setMotionType","dataRef","latestData","diffExpanded","prevLen","nextLen","abs","cache","findExpandedKeys","keyIndex","rangeNodes","newTransitionData","_keyIndex","_rangeNodes","_newTransitionData","String","getAccessibilityPath","originList","fullList","originSet","Tree","_args","destroyed","delayedDragEnterLogic","loadingRetryTimes","treeData","flattenNodes","listChanging","fieldNames","dragStartMousePosition","currentMouseOverDroppableNodeKey","setExpandedKeys","onWindowDragEnd","_node$props","_calcDropPosition","resetDragState","_this$state3","_calcDropPosition2","cleanDragState","_this$getActiveItem","outsideTree","_this$state4","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropToChild","dropResult","dragNodesKeys","dropToGap","triggerExpandActionExpand","_this$state5","shiftKey","metaKey","ctrlKey","nodeItem","eventNode","expandAction","_this$state6","targetSelected","selectedNodes","selectedKey","setUncontrolledState","checkedObj","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","checkStrictly","eventObj","checkedNodes","checkedKey","_conductCheck","_checkedKeys","_halfCheckedKeys","keySet","_conductCheck2","from","checkedNodesPositions","loadPromise","reject","_ref$loadedKeys","_ref$loadingKeys","onLoad","newLoadedKeys","catch","currentLoadedKeys","onRightClick","_len2","_key2","_len3","_key3","_this$state8","_this$state9","_this$state10","targetExpanded","newFlattenTreeData","expandedKeysToRestore","newActiveKey","_this$state11","offsetActiveKey","_this$state12","_this$state13","_this$props9","atomic","forceState","needSync","allPassed","onUpdated","draggableConfig","_this$state14","_this$props10","showLine","_this$props10$tabInde","rootStyle","entitiesMap","checkedKeyEntity","autoExpandParent","defaultExpandParent","defaultExpandAll","cloneKeyEntities","defaultExpandedKeys","defaultCheckedKeys","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","TreeNode","treeNodeFX","getSwitchStyle","svg","getDropIndicatorStyle","treeCls","treeNodeCls","treeNodePadding","titleHeight","nodeSelectedBg","nodeHoverBg","treeCheckBoxMarginHorizontal","animationPlayState","animationFillMode","flexShrink","genDirectoryStyle","directoryNodeSelectedBg","directoryNodeSelectedColor","genTreeStyle","treeToken","startPosition","showLeafIcon","leafIcon","leafCls","switcher","tree","blockNode","customMotion","newProps","nodeProps","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","resolveOnChange","targetValue","cloneNode","create","fixControlledValue","_inputElement$props","_inputElement$props2","inputElement","readOnly","triggerFocus","handleReset","hidden","dataAttrs","AffixWrapperComponent","affixWrapper","GroupWrapperComponent","groupWrapper","GroupAddonComponent","groupAddon","_clsx2","affixWrapperPrefixCls","affixWrapperCls","suffixNode","_clsx","needClear","clearIconCls","getClearIcon","wrapperCls","addonCls","mergedWrapperClassName","mergedGroupClassName","group","Input","autoComplete","onPressEnter","htmlSize","maxLength","showCount","_useState2","setFocused","setSelectionRange","_inputRef$current3","hasMaxLength","valueLength","dataCount","formatter","getSuffix","useRemovePasswordTimeout","triggerOnMount","removePasswordTimeoutRef","removePasswordTimeout","_c","_d","hasAttribute","removeAttribute","timer","customSize","inputHasPrefixSuffix","prevHasPrefixSuffix","CloseCircleFilled","defaultIconRender","ActionMap","click","hover","Password","visibilityToggle","visibilityControlled","inputPrefixCls","customizeInputPrefixCls","iconRender","iconTrigger","iconProps","inputClassName","omittedProps","Search","enterButton","onSearch","customOnSearch","customOnChange","onCompositionStart","onCompositionEnd","source","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","appendChild","_calculateNodeStyling","getPropertyValue","paddingSize","borderSize","nodeInfo","sizingStyle","calculateNodeStyling","placeholder","scrollHeight","singleRowHeight","calculateAutoSizeStyle","_textareaRef$current","selectionStart","selectionEnd","fixFirefoxAutoScroll","resizeRafRef","mergedAutoSizeStyle","fixEmojiLength","setTriggerValue","isCursorInEnd","preValue","triggerValue","newTriggerValue","TextArea","customValue","resizableTextAreaRef","compositing","setCompositing","oldCompositionValueRef","oldSelectionStartRef","textareaResized","setTextareaResized","_resizableTextAreaRef","resizableTextArea","_resizableTextAreaRef2","isPureTextArea","textarea","_resizableTextAreaRef3","_oldCompositionValueR","_resizableTextAreaRef4","compact","formItemContext","groupFormItemContext","filterSearch","tablePrefixCls","filterSearchPlaceholder","flattenKeys","filters","searchValueMatched","searchValue","text","trim","renderFilterItems","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","_ref7","getFilterData","dropdownContent","filterIcon","filterDropdown","clearFilters","close","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","newFilterStates","innerColumns","DEFAULT_PAGE_SIZE","paginationTotal","paginationObj","innerPagination","setInnerPagination","mergedPagination","result","maxPage","refreshPagination","SELECTION_COLUMN","SELECTION_ALL","SELECTION_INVERT","SELECTION_NONE","ASCEND","DESCEND","getMultiplePriority","sorter","getSortFunction","compare","collectSortStates","sortStates","pushState","multiplePriority","sortOrder","defaultSortOrder","injectSorter","sorterStates","triggerSorter","defaultSortDirections","tableShowSorterTooltip","sortDirections","showSorterTooltip","sorterState","nextSortOrder","nextSortDirection","sortIcon","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","borderTop","tablePaddingVertical","tablePaddingHorizontal","tablePaddingVerticalMiddle","tablePaddingHorizontalMiddle","tablePaddingVerticalSmall","tablePaddingHorizontalSmall","tableHeaderBg","wordBreak","operationUnit","controlInteractiveSize","checkboxSize","tableExpandIconBg","tableExpandColumnWidth","tableExpandedRowBg","halfInnerSize","expandIconSize","expandIconLineOffset","table","tableFilterDropdownWidth","tableFilterDropdownSearchWidth","tableHeaderIconColor","tableHeaderFilterActiveBg","tableFilterDropdownBg","tableFilterDropdownHeight","filterDropdownMenuBg","tableFilterDropdownPrefixCls","treePrefixCls","justifyContent","zIndexTableFixed","tableBg","zIndexTableSticky","tableRadius","tableHeaderIconColorHover","tableSelectionColumnWidth","flexDirection","getSizeStyle","tableFontSizeMiddle","tableFontSizeSmall","tableHeaderSortHoverBg","tableFixedHeaderSortActiveBg","tableHeaderSortBg","tableBodySortBg","tableScrollThumbBg","tableScrollThumbBgHover","tableScrollThumbSize","tableScrollBg","stickyScrollBarBorderRadius","genTableStyle","tableFontSize","tableHeaderTextColor","tableHeaderCellSplitColor","tableRowHoverBg","tableSelectedRowBg","tableSelectedRowHoverBg","tableFooterTextColor","tableFooterBg","paddingContentVerticalLG","overflowWrap","colorTextHeading","headerBg","headerColor","headerSortActiveBg","headerSortHoverBg","bodySortBg","rowHoverBg","rowSelectedBg","rowSelectedHoverBg","rowExpandedBg","cellPaddingBlock","cellPaddingInline","cellPaddingBlockMD","cellPaddingInlineMD","cellPaddingBlockSM","cellPaddingInlineSM","footerBg","footerColor","headerBorderRadius","cellFontSize","cellFontSizeMD","cellFontSizeSM","headerSplitColor","fixedHeaderSortActiveBg","headerFilterHoverBg","filterDropdownBg","expandIconBg","selectionColumnWidth","stickyScrollBarBg","baseColorAction","baseColorActionHover","tableToken","getAlpha","colorFillSecondary","colorBorderSecondary","colorFillSecondarySolid","onBackground","toHexShortString","colorFillContentSolid","colorFillAlterSolid","InternalTable","customizeDropdownPrefixCls","dataSource","rowSelection","legacyChildrenColumnName","needResponsive","matched","r","Table","expandType","getRecordByKey","mapCacheRef","kvMap","records","useLazyKVMap","changeEventInfo","triggerOnChange","reset","changeInfo","resetPagination","scrollToFirstRowOnChange","duration","method","Document","HTMLElement","ownerDocument","startTime","frameFunc","time","nextScrollTop","d","cc","easeInOutCubic","constructor","currentDataSource","transformSorterColumns","sorterTitleProps","getSorters","onSorterChange","setSortStates","mergedSorterStates","validate","validateStates","patchStates","multipleMode","columnTitleSorterProps","sortColumns","sortColumn","sortState","newSorterStates","sortedData","transformFilterColumns","mergedFilters","filterKey","transformTitleColumns","param","pageProp","getPaginationParam","pageData","transformSelectionColumns","selectedKeySet","preserveSelectedRowKeys","selectedRowKeys","defaultSelectedRowKeys","getCheckboxProps","onSelectionChange","onSelectAll","onSelectInvert","onSelectNone","onSelectMultiple","selectionColWidth","selectionType","selections","renderCell","customizeRenderCell","hideSelectAll","mergedSelectedKeys","setMergedSelectedKeys","preserveRecordsRef","updatePreserveRecordsCache","newCache","convertData","keysSet","preserveRecords","externalGetKey","childrenPropName","flattedData","checkboxPropsMap","isCheckboxDisabled","derivedSelectedKeys","derivedHalfSelectedKeys","derivedSelectedKeySet","derivedHalfSelectedKeySet","setLastSelectedKey","availableKeys","triggerSingleSelection","mergedSelections","selection","selectionAll","checkProps","selectInvert","selectNone","_a2","recordKeys","checkedCurrentAll","checkedCurrentSome","onSelectAllChange","changeKeys","customizeSelections","onSelectionClick","DownOutlined","allDisabledData","allDisabled","allDisabledAndChecked","allDisabledSomeChecked","mergedIndeterminate","pointKeys","recordKey","rangeKeys","changedKeys","originCheckedKeys","nextCheckedKeys","tempKeySet","restColumns","selectionColumnIndex","prevCol","nextCol","mergedFixed","columnCls","selectionColumn","iconPrefix","collapse","expand","topPaginationNode","bottomPaginationNode","spinProps","paginationSize","renderPagination","defaultPosition","topPos","bottomPos","isDisable","replace","wrapperClassNames","RcTable","virtualProps","fontHeight","mergedRowClassName","ForwardTable"],"sourceRoot":""}
|