@next-bricks/advanced 0.18.5 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/1377.1c9abda3.js +2 -0
- package/dist/chunks/1377.1c9abda3.js.map +1 -0
- package/dist/chunks/{1646.a5933f88.js → 1646.8c3dd424.js} +2 -2
- package/dist/chunks/{1646.a5933f88.js.map → 1646.8c3dd424.js.map} +1 -1
- package/dist/chunks/1950.12123f86.js +2 -0
- package/dist/chunks/1950.12123f86.js.map +1 -0
- package/dist/chunks/2504.c7e70700.js +2 -0
- package/dist/chunks/2504.c7e70700.js.map +1 -0
- package/dist/chunks/3948.299cb781.js +2 -0
- package/dist/chunks/3948.299cb781.js.map +1 -0
- package/dist/chunks/4717.a6076baa.js +2 -0
- package/dist/chunks/4717.a6076baa.js.map +1 -0
- package/dist/chunks/5381.7e6e3941.js +2 -0
- package/dist/chunks/5381.7e6e3941.js.map +1 -0
- package/dist/chunks/6660.dcac84fe.js +2 -0
- package/dist/chunks/6660.dcac84fe.js.map +1 -0
- package/dist/chunks/7090.b0ba739c.js +2 -0
- package/dist/chunks/7090.b0ba739c.js.map +1 -0
- package/dist/chunks/{7746.7c81d05e.js → 7746.0acc362a.js} +2 -2
- package/dist/chunks/{7746.7c81d05e.js.map → 7746.0acc362a.js.map} +1 -1
- package/dist/chunks/9549.f2e1edf3.js +2 -0
- package/dist/chunks/9549.f2e1edf3.js.map +1 -0
- package/dist/chunks/{7089.b4f733fa.js → 9704.b9d0b71b.js} +2 -2
- package/dist/chunks/9704.b9d0b71b.js.map +1 -0
- package/dist/chunks/eo-cascader.4f9db741.js +2 -0
- package/dist/chunks/eo-cascader.4f9db741.js.map +1 -0
- package/dist/chunks/eo-next-table.cc98ca35.js +2 -0
- package/dist/chunks/eo-next-table.cc98ca35.js.map +1 -0
- package/dist/chunks/eo-table.ee2c7f14.js +2 -0
- package/dist/chunks/{eo-table.b810ea31.js.map → eo-table.ee2c7f14.js.map} +1 -1
- package/dist/chunks/eo-workbench-layout.e29d9b3c.js +2 -0
- package/dist/chunks/eo-workbench-layout.e29d9b3c.js.map +1 -0
- package/dist/chunks/main.384dfc53.js +2 -0
- package/dist/chunks/{main.aeb5e534.js.map → main.384dfc53.js.map} +1 -1
- package/dist/examples.json +2 -2
- package/dist/index.5ebbef3e.js +2 -0
- package/dist/{index.89733142.js.map → index.5ebbef3e.js.map} +1 -1
- package/dist-types/next-table/Table.d.ts +1 -0
- package/dist-types/next-table/index.d.ts +5 -0
- package/docs/eo-cascader.md +25 -0
- package/docs/eo-next-table.md +80 -16
- package/package.json +2 -2
- package/dist/chunks/1377.5fabb666.js +0 -2
- package/dist/chunks/1377.5fabb666.js.map +0 -1
- package/dist/chunks/4643.00d74679.js +0 -2
- package/dist/chunks/4643.00d74679.js.map +0 -1
- package/dist/chunks/4682.c5a92f86.js +0 -2
- package/dist/chunks/4682.c5a92f86.js.map +0 -1
- package/dist/chunks/4717.8e7ea2bc.js +0 -2
- package/dist/chunks/4717.8e7ea2bc.js.map +0 -1
- package/dist/chunks/5381.1ff1bd5c.js +0 -2
- package/dist/chunks/5381.1ff1bd5c.js.map +0 -1
- package/dist/chunks/6660.9313b5e0.js +0 -2
- package/dist/chunks/6660.9313b5e0.js.map +0 -1
- package/dist/chunks/7089.b4f733fa.js.map +0 -1
- package/dist/chunks/7128.5381b26d.js +0 -2
- package/dist/chunks/7128.5381b26d.js.map +0 -1
- package/dist/chunks/8172.6422041f.js +0 -2
- package/dist/chunks/8172.6422041f.js.map +0 -1
- package/dist/chunks/9549.f00f5b6b.js +0 -2
- package/dist/chunks/9549.f00f5b6b.js.map +0 -1
- package/dist/chunks/eo-cascader.51547051.js +0 -2
- package/dist/chunks/eo-cascader.51547051.js.map +0 -1
- package/dist/chunks/eo-next-table.d0218c7c.js +0 -2
- package/dist/chunks/eo-next-table.d0218c7c.js.map +0 -1
- package/dist/chunks/eo-table.b810ea31.js +0 -2
- package/dist/chunks/eo-workbench-layout.fb89d943.js +0 -2
- package/dist/chunks/eo-workbench-layout.fb89d943.js.map +0 -1
- package/dist/chunks/main.aeb5e534.js +0 -2
- package/dist/index.89733142.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/2504.c7e70700.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","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","c","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":""}
|