{"version":3,"file":"js/8509-246e8a9449aff5cd28d7.chunk.js","mappings":"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","sources":["webpack://lionwheel/./node_modules/antd/es/dropdown/style/status.js","webpack://lionwheel/./node_modules/antd/es/dropdown/style/index.js","webpack://lionwheel/./node_modules/antd/es/dropdown/dropdown.js","webpack://lionwheel/./node_modules/antd/es/dropdown/dropdown-button.js","webpack://lionwheel/./node_modules/antd/es/dropdown/index.js","webpack://lionwheel/./node_modules/antd/es/menu/OverrideContext.js","webpack://lionwheel/./node_modules/antd/es/layout/Sider.js","webpack://lionwheel/./node_modules/antd/es/menu/MenuContext.js","webpack://lionwheel/./node_modules/antd/es/menu/MenuDivider.js","webpack://lionwheel/./node_modules/antd/es/menu/MenuItem.js","webpack://lionwheel/./node_modules/antd/es/menu/style/horizontal.js","webpack://lionwheel/./node_modules/antd/es/menu/style/rtl.js","webpack://lionwheel/./node_modules/antd/es/menu/style/theme.js","webpack://lionwheel/./node_modules/antd/es/menu/style/vertical.js","webpack://lionwheel/./node_modules/antd/es/menu/style/index.js","webpack://lionwheel/./node_modules/antd/es/menu/SubMenu.js","webpack://lionwheel/./node_modules/antd/es/menu/menu.js","webpack://lionwheel/./node_modules/antd/es/menu/index.js","webpack://lionwheel/./node_modules/antd/es/style/operationUnit.js","webpack://lionwheel/./node_modules/rc-table/es/constant.js","webpack://lionwheel/./node_modules/@rc-component/context/es/context.js","webpack://lionwheel/./node_modules/@rc-component/context/es/Immutable.js","webpack://lionwheel/./node_modules/@rc-component/context/es/index.js","webpack://lionwheel/./node_modules/rc-table/es/context/TableContext.js","webpack://lionwheel/./node_modules/rc-table/es/context/PerfContext.js","webpack://lionwheel/./node_modules/rc-table/es/utils/valueUtil.js","webpack://lionwheel/./node_modules/rc-table/es/Cell/useCellRender.js","webpack://lionwheel/./node_modules/rc-table/es/Cell/index.js","webpack://lionwheel/./node_modules/rc-table/es/Cell/useHoverState.js","webpack://lionwheel/./node_modules/rc-table/es/utils/fixUtil.js","webpack://lionwheel/./node_modules/rc-table/es/Footer/SummaryContext.js","webpack://lionwheel/./node_modules/rc-table/es/Footer/Row.js","webpack://lionwheel/./node_modules/rc-table/es/Footer/Summary.js","webpack://lionwheel/./node_modules/rc-table/es/Footer/Cell.js","webpack://lionwheel/./node_modules/rc-table/es/Footer/index.js","webpack://lionwheel/./node_modules/rc-util/es/Dom/styleChecker.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useFlattenRecords.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useRowInfo.js","webpack://lionwheel/./node_modules/rc-table/es/Body/ExpandedRow.js","webpack://lionwheel/./node_modules/rc-table/es/Body/BodyRow.js","webpack://lionwheel/./node_modules/rc-table/es/Body/MeasureCell.js","webpack://lionwheel/./node_modules/rc-table/es/Body/MeasureRow.js","webpack://lionwheel/./node_modules/rc-table/es/Body/index.js","webpack://lionwheel/./node_modules/rc-table/es/utils/legacyUtil.js","webpack://lionwheel/./node_modules/rc-table/es/ColGroup.js","webpack://lionwheel/./node_modules/rc-table/es/FixedHolder/index.js","webpack://lionwheel/./node_modules/rc-table/es/Header/HeaderRow.js","webpack://lionwheel/./node_modules/rc-table/es/Header/Header.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useColumns/useWidthColumns.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useColumns/index.js","webpack://lionwheel/./node_modules/rc-table/es/utils/expandUtil.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useExpand.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useFrame.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useSticky.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useStickyOffsets.js","webpack://lionwheel/./node_modules/rc-table/es/Panel/index.js","webpack://lionwheel/./node_modules/rc-util/es/Dom/addEventListener.js","webpack://lionwheel/./node_modules/rc-util/es/Dom/css.js","webpack://lionwheel/./node_modules/rc-table/es/stickyScrollBar.js","webpack://lionwheel/./node_modules/rc-table/es/sugar/Column.js","webpack://lionwheel/./node_modules/rc-table/es/sugar/ColumnGroup.js","webpack://lionwheel/./node_modules/rc-table/es/Table.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useHover.js","webpack://lionwheel/./node_modules/rc-table/es/hooks/useFixedInfo.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/Filler.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/Item.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/hooks/useDiffItem.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/utils/algorithmUtil.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/utils/isFirefox.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/utils/CacheMap.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/hooks/useScrollTo.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/ScrollBar.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/utils/scrollbarUtil.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/List.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/hooks/useHeights.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/hooks/useGetSize.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/hooks/useChildren.js","webpack://lionwheel/./node_modules/rc-table/node_modules/rc-virtual-list/es/index.js","webpack://lionwheel/./node_modules/rc-table/es/VirtualTable/context.js","webpack://lionwheel/./node_modules/rc-table/es/VirtualTable/VirtualCell.js","webpack://lionwheel/./node_modules/rc-table/es/VirtualTable/BodyLine.js","webpack://lionwheel/./node_modules/rc-table/es/VirtualTable/BodyGrid.js","webpack://lionwheel/./node_modules/rc-table/es/VirtualTable/index.js","webpack://lionwheel/./node_modules/antd/es/table/Column.js","webpack://lionwheel/./node_modules/antd/es/table/ColumnGroup.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/warning.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/pickAttrs.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/contextTypes.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/Indent.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/utils/keyUtil.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/Children/toArray.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/utils/treeUtil.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/omit.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/TreeNode.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/util.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/utils/conductUtil.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/useSelection.js","webpack://lionwheel/./node_modules/antd/es/_util/hooks/useMultipleSelect.js","webpack://lionwheel/./node_modules/antd/es/_util/hooks/useProxyImperativeHandle.js","webpack://lionwheel/./node_modules/antd/es/_util/getScroll.js","webpack://lionwheel/./node_modules/antd/es/grid/hooks/useBreakpoint.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/DoubleLeftOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/DoubleLeftOutlined.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/DoubleRightOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/DoubleRightOutlined.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/LeftOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/LeftOutlined.js","webpack://lionwheel/./node_modules/rc-pagination/es/locale/zh_CN.js","webpack://lionwheel/./node_modules/rc-pagination/es/Options.js","webpack://lionwheel/./node_modules/rc-pagination/es/Pager.js","webpack://lionwheel/./node_modules/rc-pagination/es/Pagination.js","webpack://lionwheel/./node_modules/antd/es/pagination/Select.js","webpack://lionwheel/./node_modules/antd/es/pagination/style/index.js","webpack://lionwheel/./node_modules/antd/es/pagination/style/bordered.js","webpack://lionwheel/./node_modules/antd/es/pagination/Pagination.js","webpack://lionwheel/./node_modules/antd/es/pagination/index.js","webpack://lionwheel/./node_modules/antd/es/table/ExpandIcon.js","webpack://lionwheel/./node_modules/antd/es/table/util.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/FilterFilled.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/KeyCode.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/Dom/canUseDom.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/hooks/useLayoutEffect.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/Dom/findDOMNode.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/ref.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/context.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/DomWrapper.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/hooks/useState.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/interface.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/util/motion.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-util/es/raf.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/hooks/useStepQueue.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/hooks/useNextFrame.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/CSSMotion.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/hooks/useStatus.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/util/diff.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/CSSMotionList.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/node_modules/rc-motion/es/index.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/MotionTreeNode.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/useUnmount.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/utils/diffUtil.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/NodeList.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/Tree.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/DropIndicator.js","webpack://lionwheel/./node_modules/antd/node_modules/rc-tree/es/index.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/FileOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/FileOutlined.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/FolderOpenOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/FolderOpenOutlined.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/FolderOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/FolderOutlined.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/HolderOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/HolderOutlined.js","webpack://lionwheel/./node_modules/antd/es/tree/style/index.js","webpack://lionwheel/./node_modules/antd/es/tree/utils/dropIndicator.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/CaretDownFilled.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/CaretDownFilled.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/MinusSquareOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/MinusSquareOutlined.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/PlusSquareOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/PlusSquareOutlined.js","webpack://lionwheel/./node_modules/antd/es/tree/utils/iconUtil.js","webpack://lionwheel/./node_modules/antd/es/tree/Tree.js","webpack://lionwheel/./node_modules/antd/es/tree/utils/dictUtil.js","webpack://lionwheel/./node_modules/antd/es/tree/DirectoryTree.js","webpack://lionwheel/./node_modules/antd/es/tree/index.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","webpack://lionwheel/./node_modules/antd/es/_util/hooks/useSyncState.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/useFilter/index.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/useLazyKVMap.js","webpack://lionwheel/./node_modules/antd/es/_util/extendsObject.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/usePagination.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/useSorter.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/useTitleColumns.js","webpack://lionwheel/./node_modules/antd/es/table/RcTable/index.js","webpack://lionwheel/./node_modules/antd/es/table/RcTable/VirtualTable.js","webpack://lionwheel/./node_modules/antd/es/table/style/bordered.js","webpack://lionwheel/./node_modules/antd/es/table/style/ellipsis.js","webpack://lionwheel/./node_modules/antd/es/table/style/empty.js","webpack://lionwheel/./node_modules/antd/es/table/style/expand.js","webpack://lionwheel/./node_modules/antd/es/table/style/filter.js","webpack://lionwheel/./node_modules/antd/es/table/style/fixed.js","webpack://lionwheel/./node_modules/antd/es/table/style/pagination.js","webpack://lionwheel/./node_modules/antd/es/table/style/radius.js","webpack://lionwheel/./node_modules/antd/es/table/style/rtl.js","webpack://lionwheel/./node_modules/antd/es/table/style/selection.js","webpack://lionwheel/./node_modules/antd/es/table/style/size.js","webpack://lionwheel/./node_modules/antd/es/table/style/sorter.js","webpack://lionwheel/./node_modules/antd/es/table/style/sticky.js","webpack://lionwheel/./node_modules/antd/es/table/style/summary.js","webpack://lionwheel/./node_modules/antd/es/table/style/virtual.js","webpack://lionwheel/./node_modules/antd/es/table/style/index.js","webpack://lionwheel/./node_modules/antd/es/table/InternalTable.js","webpack://lionwheel/./node_modules/antd/es/table/hooks/useContainerWidth.js","webpack://lionwheel/./node_modules/antd/es/_util/scrollTo.js","webpack://lionwheel/./node_modules/antd/es/_util/easings.js","webpack://lionwheel/./node_modules/antd/es/table/Table.js","webpack://lionwheel/./node_modules/antd/es/table/index.js","webpack://lionwheel/./node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","webpack://lionwheel/./node_modules/antd/node_modules/@ant-design/icons/es/icons/RightOutlined.js"],"sourcesContent":["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 { unit } from '@ant-design/cssinjs';\nimport { genFocusStyle, resetComponent } from '../../style';\nimport { initMoveMotion, initSlideMotion, initZoomMotion, slideDownIn, slideDownOut, slideUpIn, slideUpOut } from '../../style/motion';\nimport getArrowStyle, { getArrowOffsetToken } from '../../style/placementArrow';\nimport { getArrowToken } from '../../style/roundedArrow';\nimport { genStyleHooks, 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 paddingBlock,\n fontSize,\n dropdownEdgeChildPadding,\n colorTextDisabled,\n fontSizeIcon,\n controlPaddingHorizontal,\n colorBgElevated\n } = token;\n return [{\n [componentCls]: {\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: token.calc(sizePopupArrow).div(2).sub(dropdownArrowDistance).equal(),\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, colorBgElevated, {\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`]: Object.assign(Object.assign({}, resetComponent(token)), {\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 '&:empty': {\n padding: 0,\n boxShadow: 'none'\n },\n [`${menuCls}-item-group-title`]: {\n padding: `${unit(paddingBlock)} ${unit(controlPaddingHorizontal)}`,\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 whiteSpace: 'nowrap'\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: `${unit(paddingBlock)} ${unit(controlPaddingHorizontal)}`,\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 // By design\n margin: `${unit(token.marginXXS)} 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 ${unit(token.marginXS)}`,\n padding: 0,\n listStyle: 'none'\n },\n [`${menuCls}-submenu-title`]: {\n paddingInlineEnd: token.calc(controlPaddingHorizontal).add(token.fontSizeSM).equal()\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 const prepareComponentToken = token => Object.assign(Object.assign({\n zIndexPopup: token.zIndexPopupBase + 50,\n paddingBlock: (token.controlHeight - token.fontSize * token.lineHeight) / 2\n}, getArrowOffsetToken({\n contentRadius: token.borderRadiusLG,\n limitVerticalRadius: true\n})), getArrowToken(token));\nexport default genStyleHooks('Dropdown', token => {\n const {\n marginXXS,\n sizePopupArrow,\n paddingXXS,\n componentCls\n } = token;\n const dropdownToken = mergeToken(token, {\n menuCls: `${componentCls}-menu`,\n dropdownArrowDistance: token.calc(sizePopupArrow).div(2).add(marginXXS).equal(),\n dropdownEdgeChildPadding: paddingXXS\n });\n return [genBaseStyle(dropdownToken), genStatusStyle(dropdownToken)];\n}, prepareComponentToken, {\n resetStyle: false\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 { useZIndex } from '../_util/hooks/useZIndex';\nimport getPlacements from '../_util/placements';\nimport genPurePanel from '../_util/PurePanel';\nimport { cloneElement } from '../_util/reactNode';\nimport { devUseWarning } from '../_util/warning';\nimport zIndexContext from '../_util/zindexContext';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport Menu from '../menu';\nimport { OverrideProvider } from '../menu/OverrideContext';\nimport { useToken } from '../theme/internal';\nimport useStyle from './style';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst Placements = ['topLeft', 'topCenter', 'topRight', 'bottomLeft', 'bottomCenter', 'bottomRight', 'top', 'bottom'];\nconst Dropdown = props => {\n var _a;\n const {\n menu,\n arrow,\n prefixCls: customizePrefixCls,\n children,\n trigger,\n disabled,\n dropdownRender,\n getPopupContainer,\n overlayClassName,\n rootClassName,\n overlayStyle,\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 dropdown\n } = React.useContext(ConfigContext);\n // Warning for deprecated usage\n const warning = devUseWarning('Dropdown');\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n warning.deprecated(!(deprecatedName in props), deprecatedName, newName);\n });\n warning.deprecated(!('overlay' in props), 'overlay', 'menu');\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 return placement.slice(0, placement.indexOf('Center'));\n }\n return placement;\n }, [placement, direction]);\n if (process.env.NODE_ENV !== 'production') {\n if (placement.includes('Center')) {\n const newPlacement = placement.slice(0, placement.indexOf('Center'));\n process.env.NODE_ENV !== \"production\" ? warning(!placement.includes('Center'), 'deprecated', `You are using '${placement}' placement in Dropdown, which is deprecated. Try to use '${newPlacement}' instead.`) : void 0;\n }\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange']].forEach(_ref2 => {\n let [deprecatedName, newName] = _ref2;\n warning.deprecated(!(deprecatedName in props), deprecatedName, newName);\n });\n }\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\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: (_a = child.props.disabled) !== null && _a !== void 0 ? _a : disabled\n });\n const triggerActions = disabled ? [] : trigger;\n const alignPoint = !!(triggerActions === null || triggerActions === void 0 ? void 0 : triggerActions.includes('contextMenu'));\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 source: 'trigger'\n });\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(nextOpen);\n setOpen(nextOpen);\n });\n // =========================== Overlay ============================\n const overlayClassNameCustomized = classNames(overlayClassName, rootClassName, hashId, cssVarCls, rootCls, dropdown === null || dropdown === void 0 ? void 0 : dropdown.className, {\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 if ((menu === null || menu === void 0 ? void 0 : menu.selectable) && (menu === null || menu === void 0 ? void 0 : menu.multiple)) {\n return;\n }\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false, {\n source: 'menu'\n });\n setOpen(false);\n }, [menu === null || menu === void 0 ? void 0 : menu.selectable, menu === null || menu === void 0 ? void 0 : menu.multiple]);\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 rootClassName: classNames(cssVarCls, rootCls),\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', 'usage', `mode=\"${mode}\" is not supported for Dropdown's Menu.`) : void 0;\n }\n }, overlayNode);\n };\n // =========================== zIndex ============================\n const [zIndex, contextZIndex] = useZIndex('Dropdown', overlayStyle === null || overlayStyle === void 0 ? void 0 : overlayStyle.zIndex);\n // ============================ Render ============================\n let renderNode = /*#__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 overlayStyle: Object.assign(Object.assign(Object.assign({}, dropdown === null || dropdown === void 0 ? void 0 : dropdown.style), overlayStyle), {\n zIndex\n })\n }), dropdownTrigger);\n if (zIndex) {\n renderNode = /*#__PURE__*/React.createElement(zIndexContext.Provider, {\n value: contextZIndex\n }, renderNode);\n }\n return wrapCSSVar(renderNode);\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;","\"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 EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport classNames from 'classnames';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport Space from '../space';\nimport { useCompactItemContext } from '../space/Compact';\nimport Dropdown from './dropdown';\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 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);\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 /*#__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;","\"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 { supportNodeRef, useComposeRef } from 'rc-util';\nimport ContextIsolator from '../_util/ContextIsolator';\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, restProps.rootClassName\n // restProps.validator, Not mark as deps since this is a function\n ]);\n const canRef = supportNodeRef(children);\n const mergedRef = useComposeRef(ref, canRef ? children.ref : null);\n return /*#__PURE__*/React.createElement(OverrideContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(ContextIsolator, {\n space: true\n }, canRef ? /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\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 * as React from 'react';\nimport { useContext, useEffect, useRef, useState } from 'react';\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 isNumeric from '../_util/isNumeric';\nimport { ConfigContext } from '../config-provider';\nimport { LayoutContext } from './context';\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(`screen and (max-width: ${dimensionMaxMap[breakpoint]})`);\n try {\n mql.addEventListener('change', responsiveHandler);\n } catch (_a) {\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 (_a) {\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\nimport { createContext } from 'react';\nconst MenuContext = /*#__PURE__*/createContext({\n prefixCls: '',\n firstLevel: true,\n inlineCollapsed: false\n});\nexport default MenuContext;","\"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 { Divider } from 'rc-menu';\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;","\"use client\";\n\nimport * as React from 'react';\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 { cloneElement } from '../_util/reactNode';\nimport { SiderContext } from '../layout/Sider';\nimport Tooltip from '../tooltip';\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 || /*#__PURE__*/React.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( /*#__PURE__*/React.isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', `${prefixCls}-item-icon`)\n }), renderItemChildren(isInlineCollapsed));\n if (!disableMenuItemTitleTooltip) {\n returnNode = /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps, {\n placement: direction === 'rtl' ? 'left' : 'right',\n overlayClassName: `${prefixCls}-inline-collapsed-tooltip`\n }), returnNode);\n }\n return returnNode;\n};\nexport default MenuItem;","import { unit } from '@ant-design/cssinjs';\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: `${unit(lineWidth)} ${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;","import { unit } from '@ant-design/cssinjs';\nconst getRTLStyle = _ref => {\n let {\n componentCls,\n menuArrowOffset,\n calc\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(${unit(calc(menuArrowOffset).mul(-1).equal())})`\n },\n '&::after': {\n transform: `rotate(45deg) translateY(${unit(menuArrowOffset)})`\n }\n }\n }\n };\n};\nexport default getRTLStyle;","import { unit } from '@ant-design/cssinjs';\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 // Bg\n popupBg,\n itemHoverBg,\n itemActiveBg,\n menuSubMenuBg,\n // Horizontal\n horizontalItemSelectedColor,\n horizontalItemSelectedBg,\n horizontalItemBorderRadius,\n horizontalItemHoverBg\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 [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n color: itemColor,\n [`&:not(${componentCls}-item-disabled):focus-visible`]: Object.assign({}, accessibilityFocus(token))\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}-submenu > ${componentCls}`]: {\n backgroundColor: menuSubMenuBg\n },\n // ===== 设置浮层的颜色 =======\n // !dark 模式会被popupBg 会被rest 为 darkPopupBg\n [`&${componentCls}-popup > ${componentCls}`]: {\n backgroundColor: popupBg\n },\n [`&${componentCls}-submenu-popup > ${componentCls}`]: {\n backgroundColor: popupBg\n },\n // ===== 设置浮层的颜色 end =======\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: token.calc(activeBarBorderWidth).mul(-1).equal(),\n marginBottom: 0,\n borderRadius: horizontalItemBorderRadius,\n '&::after': {\n position: 'absolute',\n insetInline: itemPaddingInline,\n bottom: 0,\n borderBottom: `${unit(activeBarHeight)} 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: `${unit(activeBarBorderWidth)} ${lineType} ${colorSplit}`\n }\n },\n // ======================== Inline ========================\n [`&${componentCls}-inline`]: {\n // Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n background: subMenuItemBg\n },\n [`${componentCls}-item`]: {\n position: 'relative',\n '&::after': {\n position: 'absolute',\n insetBlock: 0,\n insetInlineEnd: 0,\n borderInlineEnd: `${unit(activeBarWidth)} 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;","import { unit } from '@ant-design/cssinjs';\nimport { textEllipsis } from '../../style';\nconst getVerticalInlineStyle = token => {\n const {\n componentCls,\n itemHeight,\n itemMarginInline,\n padding,\n menuArrowSize,\n marginXS,\n itemMarginBlock,\n itemWidth\n } = token;\n const paddingWithArrow = token.calc(menuArrowSize).add(padding).add(marginXS).equal();\n return {\n [`${componentCls}-item`]: {\n position: 'relative',\n overflow: 'hidden'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n height: itemHeight,\n lineHeight: unit(itemHeight),\n paddingInline: padding,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginInline: itemMarginInline,\n marginBlock: itemMarginBlock,\n width: itemWidth\n },\n [`> ${componentCls}-item,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n height: itemHeight,\n lineHeight: unit(itemHeight)\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: unit(itemHeight),\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 - ${unit(token.calc(controlHeightLG).mul(2.5).equal())})`,\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}`, `padding-inline calc(50% - ${unit(token.calc(fontSizeLG).div(2).equal())} - ${unit(itemMarginInline)})`].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% - ${unit(token.calc(fontSizeLG).div(2).equal())} - ${unit(itemMarginInline)})`,\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: unit(itemHeight),\n '+ span': {\n display: 'inline-block',\n opacity: 0\n }\n }\n },\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'inline-block'\n },\n '&-tooltip': {\n pointerEvents: 'none',\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'none'\n },\n 'a, a:hover': {\n color: colorTextLightSolid\n }\n },\n [`${componentCls}-item-group-title`]: Object.assign(Object.assign({}, textEllipsis), {\n paddingInline: paddingXS\n })\n }\n }];\n};\nexport default getVerticalStyle;","import { unit } from '@ant-design/cssinjs';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { clearFix, resetComponent, resetIcon } from '../../style';\nimport { genCollapseMotion, initSlideMotion, initZoomMotion } from '../../style/motion';\nimport { genStyleHooks, 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: token.calc(menuArrowSize).mul(0.6).equal(),\n height: token.calc(menuArrowSize).mul(0.15).equal(),\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(${unit(token.calc(menuArrowOffset).mul(-1).equal())})`\n },\n '&::after': {\n transform: `rotate(-45deg) translateY(${unit(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 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: `${unit(paddingXS)} ${unit(padding)}`,\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 // https://github.com/ant-design/ant-design/issues/41143\n [`> ${antCls}-typography-ellipsis-single-line`]: {\n display: 'inline',\n verticalAlign: 'unset'\n }\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: `${unit(token.calc(fontSize).mul(2).equal())} ${unit(padding)}`\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: 0,\n zIndex: -1,\n width: '100%',\n height: '100%',\n opacity: 0,\n content: '\"\"'\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 [`\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 }\n }), genSubMenuArrowStyle(token)), {\n [`&-inline-collapsed ${componentCls}-submenu-arrow,\n &-inline ${componentCls}-submenu-arrow`]: {\n // ↓\n '&::before': {\n transform: `rotate(-45deg) translateX(${unit(menuArrowOffset)})`\n },\n '&::after': {\n transform: `rotate(45deg) translateX(${unit(token.calc(menuArrowOffset).mul(-1).equal())})`\n }\n },\n [`${componentCls}-submenu-open${componentCls}-submenu-inline > ${componentCls}-submenu-title > ${componentCls}-submenu-arrow`]: {\n // ↑\n transform: `translateY(${unit(token.calc(menuArrowSize).mul(0.2).mul(-1).equal())})`,\n '&::after': {\n transform: `rotate(-45deg) translateX(${unit(token.calc(menuArrowOffset).mul(-1).equal())})`\n },\n '&::before': {\n transform: `rotate(45deg) translateX(${unit(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};\nexport const prepareComponentToken = token => {\n var _a, _b, _c;\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 activeBarWidth = (_a = token.activeBarWidth) !== null && _a !== void 0 ? _a : 0;\n const activeBarBorderWidth = (_b = token.activeBarBorderWidth) !== null && _b !== void 0 ? _b : lineWidth;\n const itemMarginInline = (_c = token.itemMarginInline) !== null && _c !== void 0 ? _c : token.marginXXS;\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,\n colorActiveBarHeight: lineWidthBold,\n activeBarHeight: lineWidthBold,\n colorActiveBarBorderSize: lineWidth,\n activeBarBorderWidth,\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,\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 darkPopupBg: '#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 // internal\n itemWidth: activeBarWidth ? `calc(100% + ${activeBarBorderWidth}px)` : `calc(100% - ${itemMarginInline * 2}px)`\n };\n};\n// ============================== Export ==============================\nexport default (function (prefixCls) {\n let rootCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prefixCls;\n let injectStyle = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n const useStyle = genStyleHooks('Menu', token => {\n const {\n colorBgElevated,\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 popupBg,\n darkPopupBg\n } = token;\n const menuArrowSize = token.calc(fontSize).div(7).mul(5).equal();\n // Menu Token\n const menuToken = mergeToken(token, {\n menuArrowSize,\n menuHorizontalHeight: token.calc(controlHeightLG).mul(1.15).equal(),\n menuArrowOffset: token.calc(menuArrowSize).mul(0.25).equal(),\n menuSubMenuBg: colorBgElevated,\n calc: token.calc,\n popupBg\n });\n const menuDarkToken = mergeToken(menuToken, {\n itemColor: darkItemColor,\n itemHoverColor: darkItemHoverColor,\n groupTitleColor: darkGroupTitleColor,\n itemSelectedColor: darkItemSelectedColor,\n itemBg: darkItemBg,\n popupBg: darkPopupBg,\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: darkItemSelectedColor,\n horizontalItemSelectedBg: darkItemSelectedBg\n });\n return [\n // Basic\n getBaseStyle(menuToken),\n // Horizontal\n getHorizontalStyle(menuToken),\n // Hard code for some light style\n // Vertical\n getVerticalStyle(menuToken),\n // Hard code for some light style\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 }, prepareComponentToken, {\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 // Dropdown will handle menu style self. We do not need to handle this.\n injectStyle,\n unitless: {\n groupTitleLineHeight: true\n }\n });\n return useStyle(prefixCls, rootCls);\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { SubMenu as RcSubMenu, useFullPath } from 'rc-menu';\nimport omit from \"rc-util/es/omit\";\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport { cloneElement } 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 = /*#__PURE__*/React.isValidElement(title) && title.type === 'span';\n titleNode = /*#__PURE__*/React.createElement(React.Fragment, null, cloneElement(icon, {\n className: classNames( /*#__PURE__*/React.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 // ============================ zIndex ============================\n const [zIndex] = useZIndex('Menu');\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 popupStyle: {\n zIndex\n }\n })));\n};\nexport default SubMenu;","\"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 { forwardRef } from 'react';\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 initCollapseMotion from '../_util/motion';\nimport { cloneElement } from '../_util/reactNode';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport MenuContext from './MenuContext';\nimport Divider from './MenuDivider';\nimport MenuItem from './MenuItem';\nimport OverrideContext from './OverrideContext';\nimport useStyle from './style';\nimport SubMenu from './SubMenu';\nfunction isEmptyIcon(icon) {\n return icon === null || icon === false;\n}\nconst MENU_COMPONENTS = {\n item: MenuItem,\n submenu: SubMenu,\n divider: Divider\n};\nconst InternalMenu = /*#__PURE__*/forwardRef((props, ref) => {\n var _a;\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 rootClassName,\n mode,\n selectable,\n onClick,\n overflowedIndicatorPopupClassName\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"style\", \"theme\", \"expandIcon\", \"_internalDisableMenuItemTitleTooltip\", \"inlineCollapsed\", \"siderCollapsed\", \"rootClassName\", \"mode\", \"selectable\", \"onClick\", \"overflowedIndicatorPopupClassName\"]);\n const passedProps = omit(restProps, ['collapsedWidth']);\n // ======================== Warning ==========================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Menu');\n process.env.NODE_ENV !== \"production\" ? warning(!('inlineCollapsed' in props && mode !== 'inline'), 'usage', '`inlineCollapsed` should only be used when `mode` is inline.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(props.siderCollapsed !== undefined && 'inlineCollapsed' in props), 'usage', '`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.') : void 0;\n warning.deprecated('items' in props && !props.children, 'children', 'items');\n }\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 rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls, !override);\n const menuClassName = classNames(`${prefixCls}-${theme}`, menu === null || menu === void 0 ? void 0 : menu.className, className);\n // ====================== ExpandIcon ========================\n const mergedExpandIcon = React.useMemo(() => {\n var _a, _b;\n if (typeof expandIcon === 'function' || isEmptyIcon(expandIcon)) {\n return expandIcon || null;\n }\n if (typeof overrideObj.expandIcon === 'function' || isEmptyIcon(overrideObj.expandIcon)) {\n return overrideObj.expandIcon || null;\n }\n if (typeof (menu === null || menu === void 0 ? void 0 : menu.expandIcon) === 'function' || isEmptyIcon(menu === null || menu === void 0 ? void 0 : menu.expandIcon)) {\n return (menu === null || menu === void 0 ? void 0 : menu.expandIcon) || null;\n }\n const mergedIcon = (_a = expandIcon !== null && expandIcon !== void 0 ? expandIcon : overrideObj === null || overrideObj === void 0 ? void 0 : overrideObj.expandIcon) !== null && _a !== void 0 ? _a : menu === null || menu === void 0 ? void 0 : menu.expandIcon;\n return cloneElement(mergedIcon, {\n className: classNames(`${prefixCls}-submenu-expand-icon`, /*#__PURE__*/React.isValidElement(mergedIcon) ? (_b = mergedIcon.props) === null || _b === void 0 ? void 0 : _b.className : undefined)\n });\n }, [expandIcon, overrideObj === null || overrideObj === void 0 ? void 0 : overrideObj.expandIcon, menu === null || menu === void 0 ? void 0 : menu.expandIcon, prefixCls]);\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 wrapCSSVar( /*#__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, overrideObj.rootClassName, cssVarCls, rootCls),\n _internalComponents: MENU_COMPONENTS\n })))));\n});\nexport default InternalMenu;","\"use client\";\n\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { ItemGroup } from 'rc-menu';\nimport { SiderContext } from '../layout/Sider';\nimport InternalMenu from './menu';\nimport MenuDivider from './MenuDivider';\nimport Item from './MenuItem';\nimport SubMenu from './SubMenu';\nconst Menu = /*#__PURE__*/forwardRef((props, ref) => {\n const menuRef = useRef(null);\n const context = React.useContext(SiderContext);\n useImperativeHandle(ref, () => ({\n menu: menuRef.current,\n focus: options => {\n var _a;\n (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.focus(options);\n }\n }));\n return /*#__PURE__*/React.createElement(InternalMenu, Object.assign({\n ref: menuRef\n }, props, context));\n});\nMenu.Item = Item;\nMenu.SubMenu = SubMenu;\nMenu.Divider = MenuDivider;\nMenu.ItemGroup = ItemGroup;\nif (process.env.NODE_ENV !== 'production') {\n Menu.displayName = 'Menu';\n}\nexport default Menu;","// 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});","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;","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 _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 _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\";\nimport { useEvent } from 'rc-util';\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', 'rowHoverable']),\n supportSticky = _useContext.supportSticky,\n allColumnsFixedLeft = _useContext.allColumnsFixedLeft,\n rowHoverable = _useContext.rowHoverable;\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 = useEvent(function (event) {\n var _additionalProps$onMo;\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 || _additionalProps$onMo.call(additionalProps, event);\n });\n var onMouseLeave = useEvent(function (event) {\n var _additionalProps$onMo2;\n if (record) {\n onHover(-1, -1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === 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: rowHoverable ? onMouseEnter : undefined,\n onMouseLeave: rowHoverable ? onMouseLeave : undefined\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 { 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) {\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 // need show shadow only when canLastFix is true\n var canLastFix = nextColumn && !nextColumn.fixed || prevColumn && !prevColumn.fixed || columns.every(function (col) {\n return col.fixed === 'left';\n });\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 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);\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 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 };\n }, [scrollColumn, flattenColumns, lastColumnIndex, stickyOffsets]);\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} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey} 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 _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 || 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 { 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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport ExpandedRow from \"./ExpandedRow\";\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\n // Force render expand row if expanded before\n var expandedRef = React.useRef(false);\n expandedRef.current || (expandedRef.current = expanded);\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n // 若没有 expandedRowRender 参数, 将使用 baseRowNode 渲染 Children\n // 此时如果 level > 1 则说明是 expandedRow, 一样需要附加 computedExpandedRowClassName\n var computedExpandedRowClassName = expandedRowClassName && expandedRowClassName(record, index, indent);\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, indent >= 1 ? computedExpandedRowClassName : ''),\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 && (expandedRef.current || expanded)) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\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}\nif (process.env.NODE_ENV !== 'production') {\n BodyRow.displayName = 'BodyRow';\n}\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}\nif (process.env.NODE_ENV !== 'production') {\n Body.displayName = 'Body';\n}\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', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n scrollbarSize = _useContext.scrollbarSize,\n isSticky = _useContext.isSticky,\n getComponent = _useContext.getComponent;\n var TableComponent = getComponent(['header', 'table'], 'table');\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 || _scrollRef$current.addEventListener('wheel', onWheel, {\n passive: false\n });\n return function () {\n var _scrollRef$current2;\n (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === 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(TableComponent, {\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});\nif (process.env.NODE_ENV !== 'production') {\n FixedHolder.displayName = 'FixedHolder';\n}\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\";\nvar HeaderRow = function HeaderRow(props) {\n var cells = props.cells,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns,\n RowComponent = props.rowComponent,\n CellComponent = props.cellComponent,\n onHeaderRow = props.onHeaderRow,\n index = props.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);\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: CellComponent,\n prefixCls: prefixCls,\n key: columnsKey[cellIndex]\n }, fixedInfo, {\n additionalProps: additionalProps,\n rowType: \"header\"\n }));\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n HeaderRow.displayName = 'HeaderRow';\n}\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}\nvar Header = function 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 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 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, clientWidth) {\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 maxFitWidth = Math.max(scrollWidth, clientWidth);\n var restWidth = Math.max(maxFitWidth - totalWidth, missWidthCount);\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\n // If realTotal is less than clientWidth,\n // We need extend column width\n if (realTotal < maxFitWidth) {\n var scale = maxFitWidth / realTotal;\n restWidth = maxFitWidth;\n filledColumns.forEach(function (col, index) {\n var colWidth = Math.floor(col.width * scale);\n col.width = index === filledColumns.length - 1 ? restWidth : colWidth;\n restWidth -= colWidth;\n });\n }\n return [filledColumns, Math.max(realTotal, maxFitWidth)];\n }\n return [flattenColumns, scrollWidth];\n }, [flattenColumns, scrollWidth, clientWidth]);\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 filterHiddenColumns(columns) {\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object' && !column.hidden;\n }).map(function (column) {\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return _objectSpread(_objectSpread({}, column), {}, {\n children: filterHiddenColumns(subColumns)\n });\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 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 clientWidth = _ref2.clientWidth;\n var baseColumns = React.useMemo(function () {\n var newColumns = columns || convertChildrenToColumns(children) || [];\n return filterHiddenColumns(newColumns.slice());\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 // ========================= Gap Fixed ========================\n var hasGapFixed = React.useMemo(function () {\n // Fixed: left, since old browser not support `findLastIndex`, we should use reverse loop\n var lastLeftIndex = -1;\n for (var i = flattenColumns.length - 1; i >= 0; i -= 1) {\n var colFixed = flattenColumns[i].fixed;\n if (colFixed === 'left' || colFixed === true) {\n lastLeftIndex = i;\n break;\n }\n }\n if (lastLeftIndex >= 0) {\n for (var _i = 0; _i <= lastLeftIndex; _i += 1) {\n var _colFixed = flattenColumns[_i].fixed;\n if (_colFixed !== 'left' && _colFixed !== true) {\n return true;\n }\n }\n }\n\n // Fixed: right\n var firstRightIndex = flattenColumns.findIndex(function (_ref3) {\n var colFixed = _ref3.fixed;\n return colFixed === 'right';\n });\n if (firstRightIndex >= 0) {\n for (var _i2 = firstRightIndex; _i2 < flattenColumns.length; _i2 += 1) {\n var _colFixed2 = flattenColumns[_i2].fixed;\n if (_colFixed2 !== 'right') {\n return true;\n }\n }\n }\n return false;\n }, [flattenColumns]);\n\n // ========================= FillWidth ========================\n var _useWidthColumns = useWidthColumns(flattenColumns, scrollWidth, clientWidth),\n _useWidthColumns2 = _slicedToArray(_useWidthColumns, 2),\n filledColumns = _useWidthColumns2[0],\n realScrollWidth = _useWidthColumns2[1];\n return [mergedColumns, filledColumns, realScrollWidth, hasGapFixed];\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 _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 _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, flattenColumns, direction) {\n var stickyOffsets = useMemo(function () {\n var columnCount = flattenColumns.length;\n var getOffsets = function getOffsets(startIndex, endIndex, offset) {\n var offsets = [];\n var total = 0;\n for (var i = startIndex; i !== endIndex; i += offset) {\n offsets.push(total);\n if (flattenColumns[i].fixed) {\n total += colWidths[i] || 0;\n }\n }\n return offsets;\n };\n var startOffsets = getOffsets(0, columnCount, 1);\n var endOffsets = getOffsets(columnCount - 1, -1, -1).reverse();\n return direction === 'rtl' ? {\n left: endOffsets,\n right: startOffsets\n } : {\n left: startOffsets,\n right: endOffsets\n };\n }, [colWidths, flattenColumns, 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\";\nimport raf from \"rc-util/es/raf\";\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 rafRef = React.useRef(null);\n React.useEffect(function () {\n return function () {\n raf.cancel(rafRef.current);\n };\n }, []);\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 checkScrollBarVisible = function checkScrollBarVisible() {\n rafRef.current = raf(function () {\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 };\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 checkScrollBarVisible: checkScrollBarVisible\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 checkScrollBarVisible();\n return function () {\n onMouseUpListener.remove();\n onMouseMoveListener.remove();\n };\n }, [scrollBarWidth, isActive]);\n React.useEffect(function () {\n var onScrollListener = addEventListener(container, 'scroll', checkScrollBarVisible, false);\n var onResizeListener = addEventListener(window, 'resize', checkScrollBarVisible, 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);","/* 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 _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, ref) {\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 onScroll = props.onScroll,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n tailor = props.tailor,\n getContainerWidth = props.getContainerWidth,\n sticky = props.sticky,\n _props$rowHoverable = props.rowHoverable,\n rowHoverable = _props$rowHoverable === void 0 ? true : _props$rowHoverable;\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 clientWidth: componentWidth\n }), useInternalHooks ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 4),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1],\n flattenScrollX = _useColumns2[2],\n hasGapFixed = _useColumns2[3];\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 // ======================= Refs =======================\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: fullTableRef.current,\n scrollTo: function scrollTo(config) {\n var _scrollBodyRef$curren3;\n if (scrollBodyRef.current instanceof HTMLElement) {\n // Native scroll\n var index = config.index,\n top = config.top,\n key = config.key;\n if (top) {\n var _scrollBodyRef$curren;\n (_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 || _scrollBodyRef$curren.scrollTo({\n top: top\n });\n } else {\n var _scrollBodyRef$curren2;\n var mergedKey = key !== null && key !== void 0 ? key : getRowKey(mergedData[index]);\n (_scrollBodyRef$curren2 = scrollBodyRef.current.querySelector(\"[data-row-key=\\\"\".concat(mergedKey, \"\\\"]\"))) === null || _scrollBodyRef$curren2 === void 0 || _scrollBodyRef$curren2.scrollIntoView();\n }\n } else if ((_scrollBodyRef$curren3 = scrollBodyRef.current) !== null && _scrollBodyRef$curren3 !== void 0 && _scrollBodyRef$curren3.scrollTo) {\n // Pass to proxy\n scrollBodyRef.current.scrollTo(config);\n }\n }\n };\n });\n\n // ====================== Scroll ======================\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, 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 onInternalScroll = 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 onBodyScroll = useEvent(function (e) {\n onInternalScroll(e);\n onScroll === null || onScroll === void 0 || onScroll(e);\n });\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n onInternalScroll({\n currentTarget: scrollBodyRef.current\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n var onFullTableResize = function onFullTableResize(_ref3) {\n var _stickyRef$current2;\n var width = _ref3.width;\n (_stickyRef$current2 = stickyRef.current) === null || _stickyRef$current2 === void 0 || _stickyRef$current2.checkScrollBarVisible();\n var mergedWidth = fullTableRef.current ? fullTableRef.current.offsetWidth : width;\n if (useInternalHooks && getContainerWidth && fullTableRef.current) {\n mergedWidth = getContainerWidth(fullTableRef.current, mergedWidth) || mergedWidth;\n }\n if (mergedWidth !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(mergedWidth);\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: onInternalScroll\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: onBodyScroll,\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 }, 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: onInternalScroll\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 && scrollBodyRef.current && scrollBodyRef.current instanceof Element && /*#__PURE__*/React.createElement(StickyScrollBar, {\n ref: stickyRef,\n offsetScroll: offsetScroll,\n scrollBodyRef: scrollBodyRef,\n onScroll: onInternalScroll,\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: onInternalScroll,\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 }, 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, \"-fixed-column-gapped\"), fixColumn && hasGapFixed), _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);\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 rowHoverable: rowHoverable\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, rowHoverable]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, fullTable);\n}\nvar RefTable = /*#__PURE__*/React.forwardRef(Table);\nif (process.env.NODE_ENV !== 'production') {\n RefTable.displayName = 'Table';\n}\nexport function genTable(shouldTriggerRender) {\n return makeImmutable(RefTable, 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 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) {\n var fixedInfoList = flattenColumns.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets, direction);\n });\n return useMemo(function () {\n return fixedInfoList;\n }, [fixedInfoList], function (prev, next) {\n return !isEqual(prev, next);\n });\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 * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport classNames from 'classnames';\n/**\n * Fill component to provided the scroll content real height.\n */\nvar Filler = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var height = _ref.height,\n offsetY = _ref.offsetY,\n offsetX = _ref.offsetX,\n children = _ref.children,\n prefixCls = _ref.prefixCls,\n onInnerResize = _ref.onInnerResize,\n innerProps = _ref.innerProps,\n rtl = _ref.rtl,\n extra = _ref.extra;\n var outerStyle = {};\n var innerStyle = {\n display: 'flex',\n flexDirection: 'column'\n };\n if (offsetY !== undefined) {\n // Not set `width` since this will break `sticky: right`\n outerStyle = {\n height: height,\n position: 'relative',\n overflow: 'hidden'\n };\n innerStyle = _objectSpread(_objectSpread({}, innerStyle), {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({\n transform: \"translateY(\".concat(offsetY, \"px)\")\n }, rtl ? 'marginRight' : 'marginLeft', -offsetX), \"position\", 'absolute'), \"left\", 0), \"right\", 0), \"top\", 0));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: outerStyle\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize(_ref2) {\n var offsetHeight = _ref2.offsetHeight;\n if (offsetHeight && onInnerResize) {\n onInnerResize();\n }\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n style: innerStyle,\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-holder-inner\"), prefixCls)),\n ref: ref\n }, innerProps), children, extra)));\n});\nFiller.displayName = 'Filler';\nexport default Filler;","import * as React from 'react';\nexport function Item(_ref) {\n var children = _ref.children,\n setRef = _ref.setRef;\n var refFunc = React.useCallback(function (node) {\n setRef(node);\n }, []);\n return /*#__PURE__*/React.cloneElement(children, {\n ref: refFunc\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { findListDiffIndex } from \"../utils/algorithmUtil\";\nexport default function useDiffItem(data, getKey, onDiff) {\n var _React$useState = React.useState(data),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevData = _React$useState2[0],\n setPrevData = _React$useState2[1];\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n diffItem = _React$useState4[0],\n setDiffItem = _React$useState4[1];\n React.useEffect(function () {\n var diff = findListDiffIndex(prevData || [], data || [], getKey);\n if ((diff === null || diff === void 0 ? void 0 : diff.index) !== undefined) {\n onDiff === null || onDiff === void 0 || onDiff(diff.index);\n setDiffItem(data[diff.index]);\n }\n setPrevData(data);\n }, [data]);\n return [diffItem];\n}","/**\n * Get index with specific start index one by one. e.g.\n * min: 3, max: 9, start: 6\n *\n * Return index is:\n * [0]: 6\n * [1]: 7\n * [2]: 5\n * [3]: 8\n * [4]: 4\n * [5]: 9\n * [6]: 3\n */\nexport function getIndexByStartLoc(min, max, start, index) {\n var beforeCount = start - min;\n var afterCount = max - start;\n var balanceCount = Math.min(beforeCount, afterCount) * 2;\n\n // Balance\n if (index <= balanceCount) {\n var stepIndex = Math.floor(index / 2);\n if (index % 2) {\n return start + stepIndex + 1;\n }\n return start - stepIndex;\n }\n\n // One is out of range\n if (beforeCount > afterCount) {\n return start - (index - afterCount);\n }\n return start + (index - beforeCount);\n}\n\n/**\n * We assume that 2 list has only 1 item diff and others keeping the order.\n * So we can use dichotomy algorithm to find changed one.\n */\nexport function findListDiffIndex(originList, targetList, getKey) {\n var originLen = originList.length;\n var targetLen = targetList.length;\n var shortList;\n var longList;\n if (originLen === 0 && targetLen === 0) {\n return null;\n }\n if (originLen < targetLen) {\n shortList = originList;\n longList = targetList;\n } else {\n shortList = targetList;\n longList = originList;\n }\n var notExistKey = {\n __EMPTY_ITEM__: true\n };\n function getItemKey(item) {\n if (item !== undefined) {\n return getKey(item);\n }\n return notExistKey;\n }\n\n // Loop to find diff one\n var diffIndex = null;\n var multiple = Math.abs(originLen - targetLen) !== 1;\n for (var i = 0; i < longList.length; i += 1) {\n var shortKey = getItemKey(shortList[i]);\n var longKey = getItemKey(longList[i]);\n if (shortKey !== longKey) {\n diffIndex = i;\n multiple = multiple || shortKey !== getItemKey(longList[i + 1]);\n break;\n }\n }\n return diffIndex === null ? null : {\n index: diffIndex,\n multiple: multiple\n };\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar isFF = (typeof navigator === \"undefined\" ? \"undefined\" : _typeof(navigator)) === 'object' && /Firefox/i.test(navigator.userAgent);\nexport default isFF;","import { useRef } from 'react';\nexport default (function (isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight) {\n // Do lock for a wheel when scrolling\n var lockRef = useRef(false);\n var lockTimeoutRef = useRef(null);\n function lockScroll() {\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = true;\n lockTimeoutRef.current = setTimeout(function () {\n lockRef.current = false;\n }, 50);\n }\n\n // Pass to ref since global add is in closure\n var scrollPingRef = useRef({\n top: isScrollAtTop,\n bottom: isScrollAtBottom,\n left: isScrollAtLeft,\n right: isScrollAtRight\n });\n scrollPingRef.current.top = isScrollAtTop;\n scrollPingRef.current.bottom = isScrollAtBottom;\n scrollPingRef.current.left = isScrollAtLeft;\n scrollPingRef.current.right = isScrollAtRight;\n return function (isHorizontal, delta) {\n var smoothOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var originScroll = isHorizontal ?\n // Pass origin wheel when on the left\n delta < 0 && scrollPingRef.current.left ||\n // Pass origin wheel when on the right\n delta > 0 && scrollPingRef.current.right // Pass origin wheel when on the top\n : delta < 0 && scrollPingRef.current.top ||\n // Pass origin wheel when on the bottom\n delta > 0 && scrollPingRef.current.bottom;\n if (smoothOffset && originScroll) {\n // No need lock anymore when it's smooth offset from touchMove interval\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = false;\n } else if (!originScroll || lockRef.current) {\n lockScroll();\n }\n return !lockRef.current && originScroll;\n };\n});","import raf from \"rc-util/es/raf\";\nimport { useRef } from 'react';\nimport isFF from \"../utils/isFirefox\";\nimport useOriginScroll from \"./useOriginScroll\";\nexport default function useFrameWheel(inVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, horizontalScroll,\n/***\n * Return `true` when you need to prevent default event\n */\nonWheelDelta) {\n var offsetRef = useRef(0);\n var nextFrameRef = useRef(null);\n\n // Firefox patch\n var wheelValueRef = useRef(null);\n var isMouseScrollRef = useRef(false);\n\n // Scroll status sync\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight);\n function onWheelY(event, deltaY) {\n raf.cancel(nextFrameRef.current);\n offsetRef.current += deltaY;\n wheelValueRef.current = deltaY;\n\n // Do nothing when scroll at the edge, Skip check when is in scroll\n if (originScroll(false, deltaY)) return;\n\n // Proxy of scroll events\n if (!isFF) {\n event.preventDefault();\n }\n nextFrameRef.current = raf(function () {\n // Patch a multiple for Firefox to fix wheel number too small\n // ref: https://github.com/ant-design/ant-design/issues/26372#issuecomment-679460266\n var patchMultiple = isMouseScrollRef.current ? 10 : 1;\n onWheelDelta(offsetRef.current * patchMultiple);\n offsetRef.current = 0;\n });\n }\n function onWheelX(event, deltaX) {\n onWheelDelta(deltaX, true);\n if (!isFF) {\n event.preventDefault();\n }\n }\n\n // Check for which direction does wheel do. `sx` means `shift + wheel`\n var wheelDirectionRef = useRef(null);\n var wheelDirectionCleanRef = useRef(null);\n function onWheel(event) {\n if (!inVirtual) return;\n\n // Wait for 2 frame to clean direction\n raf.cancel(wheelDirectionCleanRef.current);\n wheelDirectionCleanRef.current = raf(function () {\n wheelDirectionRef.current = null;\n }, 2);\n var deltaX = event.deltaX,\n deltaY = event.deltaY,\n shiftKey = event.shiftKey;\n var mergedDeltaX = deltaX;\n var mergedDeltaY = deltaY;\n if (wheelDirectionRef.current === 'sx' || !wheelDirectionRef.current && (shiftKey || false) && deltaY && !deltaX) {\n mergedDeltaX = deltaY;\n mergedDeltaY = 0;\n wheelDirectionRef.current = 'sx';\n }\n var absX = Math.abs(mergedDeltaX);\n var absY = Math.abs(mergedDeltaY);\n if (wheelDirectionRef.current === null) {\n wheelDirectionRef.current = horizontalScroll && absX > absY ? 'x' : 'y';\n }\n if (wheelDirectionRef.current === 'y') {\n onWheelY(event, mergedDeltaY);\n } else {\n onWheelX(event, mergedDeltaX);\n }\n }\n\n // A patch for firefox\n function onFireFoxScroll(event) {\n if (!inVirtual) return;\n isMouseScrollRef.current = event.detail === wheelValueRef.current;\n }\n return [onWheel, onFireFoxScroll];\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// Firefox has low performance of map.\nvar CacheMap = /*#__PURE__*/function () {\n function CacheMap() {\n _classCallCheck(this, CacheMap);\n _defineProperty(this, \"maps\", void 0);\n // Used for cache key\n // `useMemo` no need to update if `id` not change\n _defineProperty(this, \"id\", 0);\n this.maps = Object.create(null);\n }\n _createClass(CacheMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.maps[key] = value;\n this.id += 1;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.maps[key];\n }\n }]);\n return CacheMap;\n}();\nexport default CacheMap;","import useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useRef } from 'react';\nvar SMOOTH_PTG = 14 / 15;\nexport default function useMobileTouchMove(inVirtual, listRef, callback) {\n var touchedRef = useRef(false);\n var touchXRef = useRef(0);\n var touchYRef = useRef(0);\n var elementRef = useRef(null);\n\n // Smooth scroll\n var intervalRef = useRef(null);\n\n /* eslint-disable prefer-const */\n var cleanUpEvents;\n var onTouchMove = function onTouchMove(e) {\n if (touchedRef.current) {\n var currentX = Math.ceil(e.touches[0].pageX);\n var currentY = Math.ceil(e.touches[0].pageY);\n var offsetX = touchXRef.current - currentX;\n var offsetY = touchYRef.current - currentY;\n var _isHorizontal = Math.abs(offsetX) > Math.abs(offsetY);\n if (_isHorizontal) {\n touchXRef.current = currentX;\n } else {\n touchYRef.current = currentY;\n }\n if (callback(_isHorizontal, _isHorizontal ? offsetX : offsetY)) {\n e.preventDefault();\n }\n // Smooth interval\n clearInterval(intervalRef.current);\n intervalRef.current = setInterval(function () {\n if (_isHorizontal) {\n offsetX *= SMOOTH_PTG;\n } else {\n offsetY *= SMOOTH_PTG;\n }\n var offset = Math.floor(_isHorizontal ? offsetX : offsetY);\n if (!callback(_isHorizontal, offset, true) || Math.abs(offset) <= 0.1) {\n clearInterval(intervalRef.current);\n }\n }, 16);\n }\n };\n var onTouchEnd = function onTouchEnd() {\n touchedRef.current = false;\n cleanUpEvents();\n };\n var onTouchStart = function onTouchStart(e) {\n cleanUpEvents();\n if (e.touches.length === 1 && !touchedRef.current) {\n touchedRef.current = true;\n touchXRef.current = Math.ceil(e.touches[0].pageX);\n touchYRef.current = Math.ceil(e.touches[0].pageY);\n elementRef.current = e.target;\n elementRef.current.addEventListener('touchmove', onTouchMove, {\n passive: false\n });\n elementRef.current.addEventListener('touchend', onTouchEnd, {\n passive: true\n });\n }\n };\n cleanUpEvents = function cleanUpEvents() {\n if (elementRef.current) {\n elementRef.current.removeEventListener('touchmove', onTouchMove);\n elementRef.current.removeEventListener('touchend', onTouchEnd);\n }\n };\n useLayoutEffect(function () {\n if (inVirtual) {\n listRef.current.addEventListener('touchstart', onTouchStart, {\n passive: true\n });\n }\n return function () {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.removeEventListener('touchstart', onTouchStart);\n cleanUpEvents();\n clearInterval(intervalRef.current);\n };\n }, [inVirtual]);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/* eslint-disable no-param-reassign */\nimport * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { warning } from 'rc-util';\nvar MAX_TIMES = 10;\nexport default function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHeight, syncScrollTop, triggerFlash) {\n var scrollRef = React.useRef();\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n syncState = _React$useState2[0],\n setSyncState = _React$useState2[1];\n\n // ========================== Sync Scroll ==========================\n useLayoutEffect(function () {\n if (syncState && syncState.times < MAX_TIMES) {\n // Never reach\n if (!containerRef.current) {\n setSyncState(function (ori) {\n return _objectSpread({}, ori);\n });\n return;\n }\n collectHeight();\n var targetAlign = syncState.targetAlign,\n originAlign = syncState.originAlign,\n index = syncState.index,\n offset = syncState.offset;\n var height = containerRef.current.clientHeight;\n var needCollectHeight = false;\n var newTargetAlign = targetAlign;\n var targetTop = null;\n\n // Go to next frame if height not exist\n if (height) {\n var mergedAlign = targetAlign || originAlign;\n\n // Get top & bottom\n var stackTop = 0;\n var itemTop = 0;\n var itemBottom = 0;\n var maxLen = Math.min(data.length - 1, index);\n for (var i = 0; i <= maxLen; i += 1) {\n var key = getKey(data[i]);\n itemTop = stackTop;\n var cacheHeight = heights.get(key);\n itemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n stackTop = itemBottom;\n }\n\n // Check if need sync height (visible range has item not record height)\n var leftHeight = mergedAlign === 'top' ? offset : height - offset;\n for (var _i = maxLen; _i >= 0; _i -= 1) {\n var _key = getKey(data[_i]);\n var _cacheHeight = heights.get(_key);\n if (_cacheHeight === undefined) {\n needCollectHeight = true;\n break;\n }\n leftHeight -= _cacheHeight;\n if (leftHeight <= 0) {\n break;\n }\n }\n\n // Scroll to\n switch (mergedAlign) {\n case 'top':\n targetTop = itemTop - offset;\n break;\n case 'bottom':\n targetTop = itemBottom - height + offset;\n break;\n default:\n {\n var scrollTop = containerRef.current.scrollTop;\n var scrollBottom = scrollTop + height;\n if (itemTop < scrollTop) {\n newTargetAlign = 'top';\n } else if (itemBottom > scrollBottom) {\n newTargetAlign = 'bottom';\n }\n }\n }\n if (targetTop !== null) {\n syncScrollTop(targetTop);\n }\n\n // One more time for sync\n if (targetTop !== syncState.lastTop) {\n needCollectHeight = true;\n }\n }\n\n // Trigger next effect\n if (needCollectHeight) {\n setSyncState(_objectSpread(_objectSpread({}, syncState), {}, {\n times: syncState.times + 1,\n targetAlign: newTargetAlign,\n lastTop: targetTop\n }));\n }\n } else if (process.env.NODE_ENV !== 'production' && (syncState === null || syncState === void 0 ? void 0 : syncState.times) === MAX_TIMES) {\n warning(false, 'Seems `scrollTo` with `rc-virtual-list` reach the max limitation. Please fire issue for us. Thanks.');\n }\n }, [syncState, containerRef.current]);\n\n // =========================== Scroll To ===========================\n return function (arg) {\n // When not argument provided, we think dev may want to show the scrollbar\n if (arg === null || arg === undefined) {\n triggerFlash();\n return;\n }\n\n // Normal scroll logic\n raf.cancel(scrollRef.current);\n if (typeof arg === 'number') {\n syncScrollTop(arg);\n } else if (arg && _typeof(arg) === 'object') {\n var index;\n var align = arg.align;\n if ('index' in arg) {\n index = arg.index;\n } else {\n index = data.findIndex(function (item) {\n return getKey(item) === arg.key;\n });\n }\n var _arg$offset = arg.offset,\n offset = _arg$offset === void 0 ? 0 : _arg$offset;\n setSyncState({\n times: 0,\n index: index,\n offset: offset,\n originAlign: align\n });\n }\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nfunction getPageXY(e, horizontal) {\n var obj = 'touches' in e ? e.touches[0] : e;\n return obj[horizontal ? 'pageX' : 'pageY'];\n}\nvar ScrollBar = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n rtl = props.rtl,\n scrollOffset = props.scrollOffset,\n scrollRange = props.scrollRange,\n onStartMove = props.onStartMove,\n onStopMove = props.onStopMove,\n onScroll = props.onScroll,\n horizontal = props.horizontal,\n spinSize = props.spinSize,\n containerSize = props.containerSize,\n style = props.style,\n propsThumbStyle = props.thumbStyle;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n dragging = _React$useState2[0],\n setDragging = _React$useState2[1];\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pageXY = _React$useState4[0],\n setPageXY = _React$useState4[1];\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n startTop = _React$useState6[0],\n setStartTop = _React$useState6[1];\n var isLTR = !rtl;\n\n // ========================= Refs =========================\n var scrollbarRef = React.useRef();\n var thumbRef = React.useRef();\n\n // ======================= Visible ========================\n var _React$useState7 = React.useState(false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n visible = _React$useState8[0],\n setVisible = _React$useState8[1];\n var visibleTimeoutRef = React.useRef();\n var delayHidden = function delayHidden() {\n clearTimeout(visibleTimeoutRef.current);\n setVisible(true);\n visibleTimeoutRef.current = setTimeout(function () {\n setVisible(false);\n }, 3000);\n };\n\n // ======================== Range =========================\n var enableScrollRange = scrollRange - containerSize || 0;\n var enableOffsetRange = containerSize - spinSize || 0;\n\n // ========================= Top ==========================\n var top = React.useMemo(function () {\n if (scrollOffset === 0 || enableScrollRange === 0) {\n return 0;\n }\n var ptg = scrollOffset / enableScrollRange;\n return ptg * enableOffsetRange;\n }, [scrollOffset, enableScrollRange, enableOffsetRange]);\n\n // ====================== Container =======================\n var onContainerMouseDown = function onContainerMouseDown(e) {\n e.stopPropagation();\n e.preventDefault();\n };\n\n // ======================== Thumb =========================\n var stateRef = React.useRef({\n top: top,\n dragging: dragging,\n pageY: pageXY,\n startTop: startTop\n });\n stateRef.current = {\n top: top,\n dragging: dragging,\n pageY: pageXY,\n startTop: startTop\n };\n var onThumbMouseDown = function onThumbMouseDown(e) {\n setDragging(true);\n setPageXY(getPageXY(e, horizontal));\n setStartTop(stateRef.current.top);\n onStartMove();\n e.stopPropagation();\n e.preventDefault();\n };\n\n // ======================== Effect ========================\n\n // React make event as passive, but we need to preventDefault\n // Add event on dom directly instead.\n // ref: https://github.com/facebook/react/issues/9809\n React.useEffect(function () {\n var onScrollbarTouchStart = function onScrollbarTouchStart(e) {\n e.preventDefault();\n };\n var scrollbarEle = scrollbarRef.current;\n var thumbEle = thumbRef.current;\n scrollbarEle.addEventListener('touchstart', onScrollbarTouchStart, {\n passive: false\n });\n thumbEle.addEventListener('touchstart', onThumbMouseDown, {\n passive: false\n });\n return function () {\n scrollbarEle.removeEventListener('touchstart', onScrollbarTouchStart);\n thumbEle.removeEventListener('touchstart', onThumbMouseDown);\n };\n }, []);\n\n // Pass to effect\n var enableScrollRangeRef = React.useRef();\n enableScrollRangeRef.current = enableScrollRange;\n var enableOffsetRangeRef = React.useRef();\n enableOffsetRangeRef.current = enableOffsetRange;\n React.useEffect(function () {\n if (dragging) {\n var moveRafId;\n var onMouseMove = function onMouseMove(e) {\n var _stateRef$current = stateRef.current,\n stateDragging = _stateRef$current.dragging,\n statePageY = _stateRef$current.pageY,\n stateStartTop = _stateRef$current.startTop;\n raf.cancel(moveRafId);\n var rect = scrollbarRef.current.getBoundingClientRect();\n var scale = containerSize / (horizontal ? rect.width : rect.height);\n if (stateDragging) {\n var offset = (getPageXY(e, horizontal) - statePageY) * scale;\n var newTop = stateStartTop;\n if (!isLTR && horizontal) {\n newTop -= offset;\n } else {\n newTop += offset;\n }\n var tmpEnableScrollRange = enableScrollRangeRef.current;\n var tmpEnableOffsetRange = enableOffsetRangeRef.current;\n var ptg = tmpEnableOffsetRange ? newTop / tmpEnableOffsetRange : 0;\n var newScrollTop = Math.ceil(ptg * tmpEnableScrollRange);\n newScrollTop = Math.max(newScrollTop, 0);\n newScrollTop = Math.min(newScrollTop, tmpEnableScrollRange);\n moveRafId = raf(function () {\n onScroll(newScrollTop, horizontal);\n });\n }\n };\n var onMouseUp = function onMouseUp() {\n setDragging(false);\n onStopMove();\n };\n window.addEventListener('mousemove', onMouseMove, {\n passive: true\n });\n window.addEventListener('touchmove', onMouseMove, {\n passive: true\n });\n window.addEventListener('mouseup', onMouseUp, {\n passive: true\n });\n window.addEventListener('touchend', onMouseUp, {\n passive: true\n });\n return function () {\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('touchmove', onMouseMove);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('touchend', onMouseUp);\n raf.cancel(moveRafId);\n };\n }\n }, [dragging]);\n React.useEffect(function () {\n delayHidden();\n return function () {\n clearTimeout(visibleTimeoutRef.current);\n };\n }, [scrollOffset]);\n\n // ====================== Imperative ======================\n React.useImperativeHandle(ref, function () {\n return {\n delayHidden: delayHidden\n };\n });\n\n // ======================== Render ========================\n var scrollbarPrefixCls = \"\".concat(prefixCls, \"-scrollbar\");\n var containerStyle = {\n position: 'absolute',\n visibility: visible ? null : 'hidden'\n };\n var thumbStyle = {\n position: 'absolute',\n background: 'rgba(0, 0, 0, 0.5)',\n borderRadius: 99,\n cursor: 'pointer',\n userSelect: 'none'\n };\n if (horizontal) {\n // Container\n containerStyle.height = 8;\n containerStyle.left = 0;\n containerStyle.right = 0;\n containerStyle.bottom = 0;\n\n // Thumb\n thumbStyle.height = '100%';\n thumbStyle.width = spinSize;\n if (isLTR) {\n thumbStyle.left = top;\n } else {\n thumbStyle.right = top;\n }\n } else {\n // Container\n containerStyle.width = 8;\n containerStyle.top = 0;\n containerStyle.bottom = 0;\n if (isLTR) {\n containerStyle.right = 0;\n } else {\n containerStyle.left = 0;\n }\n\n // Thumb\n thumbStyle.width = '100%';\n thumbStyle.height = spinSize;\n thumbStyle.top = top;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarRef,\n className: classNames(scrollbarPrefixCls, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(scrollbarPrefixCls, \"-horizontal\"), horizontal), \"\".concat(scrollbarPrefixCls, \"-vertical\"), !horizontal), \"\".concat(scrollbarPrefixCls, \"-visible\"), visible)),\n style: _objectSpread(_objectSpread({}, containerStyle), style),\n onMouseDown: onContainerMouseDown,\n onMouseMove: delayHidden\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: thumbRef,\n className: classNames(\"\".concat(scrollbarPrefixCls, \"-thumb\"), _defineProperty({}, \"\".concat(scrollbarPrefixCls, \"-thumb-moving\"), dragging)),\n style: _objectSpread(_objectSpread({}, thumbStyle), propsThumbStyle),\n onMouseDown: onThumbMouseDown\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n ScrollBar.displayName = 'ScrollBar';\n}\nexport default ScrollBar;","var MIN_SIZE = 20;\nexport function getSpinSize() {\n var containerSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var scrollRange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var baseSize = containerSize / scrollRange * containerSize;\n if (isNaN(baseSize)) {\n baseSize = 0;\n }\n baseSize = Math.max(baseSize, MIN_SIZE);\n return Math.floor(baseSize);\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 _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"height\", \"itemHeight\", \"fullHeight\", \"style\", \"data\", \"children\", \"itemKey\", \"virtual\", \"direction\", \"scrollWidth\", \"component\", \"onScroll\", \"onVirtualScroll\", \"onVisibleChange\", \"innerProps\", \"extraRender\", \"styles\"];\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport { useEvent } from 'rc-util';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport Filler from \"./Filler\";\nimport useChildren from \"./hooks/useChildren\";\nimport useDiffItem from \"./hooks/useDiffItem\";\nimport useFrameWheel from \"./hooks/useFrameWheel\";\nimport { useGetSize } from \"./hooks/useGetSize\";\nimport useHeights from \"./hooks/useHeights\";\nimport useMobileTouchMove from \"./hooks/useMobileTouchMove\";\nimport useOriginScroll from \"./hooks/useOriginScroll\";\nimport useScrollTo from \"./hooks/useScrollTo\";\nimport ScrollBar from \"./ScrollBar\";\nimport { getSpinSize } from \"./utils/scrollbarUtil\";\nvar EMPTY_DATA = [];\nvar ScrollStyle = {\n overflowY: 'auto',\n overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-virtual-list' : _props$prefixCls,\n className = props.className,\n height = props.height,\n itemHeight = props.itemHeight,\n _props$fullHeight = props.fullHeight,\n fullHeight = _props$fullHeight === void 0 ? true : _props$fullHeight,\n style = props.style,\n data = props.data,\n children = props.children,\n itemKey = props.itemKey,\n virtual = props.virtual,\n direction = props.direction,\n scrollWidth = props.scrollWidth,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n onScroll = props.onScroll,\n onVirtualScroll = props.onVirtualScroll,\n onVisibleChange = props.onVisibleChange,\n innerProps = props.innerProps,\n extraRender = props.extraRender,\n styles = props.styles,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // =============================== Item Key ===============================\n var getKey = React.useCallback(function (item) {\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n return item === null || item === void 0 ? void 0 : item[itemKey];\n }, [itemKey]);\n\n // ================================ Height ================================\n var _useHeights = useHeights(getKey, null, null),\n _useHeights2 = _slicedToArray(_useHeights, 4),\n setInstanceRef = _useHeights2[0],\n collectHeight = _useHeights2[1],\n heights = _useHeights2[2],\n heightUpdatedMark = _useHeights2[3];\n\n // ================================= MISC =================================\n var useVirtual = !!(virtual !== false && height && itemHeight);\n var containerHeight = React.useMemo(function () {\n return Object.values(heights.maps).reduce(function (total, curr) {\n return total + curr;\n }, 0);\n }, [heights.id, heights.maps]);\n var inVirtual = useVirtual && data && (Math.max(itemHeight * data.length, containerHeight) > height || !!scrollWidth);\n var isRTL = direction === 'rtl';\n var mergedClassName = classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), isRTL), className);\n var mergedData = data || EMPTY_DATA;\n var componentRef = useRef();\n var fillerInnerRef = useRef();\n var containerRef = useRef();\n\n // =============================== Item Key ===============================\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n offsetTop = _useState2[0],\n setOffsetTop = _useState2[1];\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n offsetLeft = _useState4[0],\n setOffsetLeft = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n scrollMoving = _useState6[0],\n setScrollMoving = _useState6[1];\n var onScrollbarStartMove = function onScrollbarStartMove() {\n setScrollMoving(true);\n };\n var onScrollbarStopMove = function onScrollbarStopMove() {\n setScrollMoving(false);\n };\n var sharedConfig = {\n getKey: getKey\n };\n\n // ================================ Scroll ================================\n function syncScrollTop(newTop) {\n setOffsetTop(function (origin) {\n var value;\n if (typeof newTop === 'function') {\n value = newTop(origin);\n } else {\n value = newTop;\n }\n var alignedTop = keepInRange(value);\n componentRef.current.scrollTop = alignedTop;\n return alignedTop;\n });\n }\n\n // ================================ Legacy ================================\n // Put ref here since the range is generate by follow\n var rangeRef = useRef({\n start: 0,\n end: mergedData.length\n });\n var diffItemRef = useRef();\n var _useDiffItem = useDiffItem(mergedData, getKey),\n _useDiffItem2 = _slicedToArray(_useDiffItem, 1),\n diffItem = _useDiffItem2[0];\n diffItemRef.current = diffItem;\n\n // ========================== Visible Calculation =========================\n var _React$useMemo = React.useMemo(function () {\n if (!useVirtual) {\n return {\n scrollHeight: undefined,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n\n // Always use virtual scroll bar in avoid shaking\n if (!inVirtual) {\n var _fillerInnerRef$curre;\n return {\n scrollHeight: ((_fillerInnerRef$curre = fillerInnerRef.current) === null || _fillerInnerRef$curre === void 0 ? void 0 : _fillerInnerRef$curre.offsetHeight) || 0,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n var itemTop = 0;\n var startIndex;\n var startOffset;\n var endIndex;\n var dataLen = mergedData.length;\n for (var i = 0; i < dataLen; i += 1) {\n var _item = mergedData[i];\n var key = getKey(_item);\n var cacheHeight = heights.get(key);\n var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n\n // Check item top in the range\n if (currentItemBottom >= offsetTop && startIndex === undefined) {\n startIndex = i;\n startOffset = itemTop;\n }\n\n // Check item bottom in the range. We will render additional one item for motion usage\n if (currentItemBottom > offsetTop + height && endIndex === undefined) {\n endIndex = i;\n }\n itemTop = currentItemBottom;\n }\n\n // When scrollTop at the end but data cut to small count will reach this\n if (startIndex === undefined) {\n startIndex = 0;\n startOffset = 0;\n endIndex = Math.ceil(height / itemHeight);\n }\n if (endIndex === undefined) {\n endIndex = mergedData.length - 1;\n }\n\n // Give cache to improve scroll experience\n endIndex = Math.min(endIndex + 1, mergedData.length - 1);\n return {\n scrollHeight: itemTop,\n start: startIndex,\n end: endIndex,\n offset: startOffset\n };\n }, [inVirtual, useVirtual, offsetTop, mergedData, heightUpdatedMark, height]),\n scrollHeight = _React$useMemo.scrollHeight,\n start = _React$useMemo.start,\n end = _React$useMemo.end,\n fillerOffset = _React$useMemo.offset;\n rangeRef.current.start = start;\n rangeRef.current.end = end;\n\n // ================================= Size =================================\n var _React$useState = React.useState({\n width: 0,\n height: height\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n size = _React$useState2[0],\n setSize = _React$useState2[1];\n var onHolderResize = function onHolderResize(sizeInfo) {\n setSize({\n width: sizeInfo.offsetWidth,\n height: sizeInfo.offsetHeight\n });\n };\n\n // Hack on scrollbar to enable flash call\n var verticalScrollBarRef = useRef();\n var horizontalScrollBarRef = useRef();\n var horizontalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.width, scrollWidth);\n }, [size.width, scrollWidth]);\n var verticalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.height, scrollHeight);\n }, [size.height, scrollHeight]);\n\n // =============================== In Range ===============================\n var maxScrollHeight = scrollHeight - height;\n var maxScrollHeightRef = useRef(maxScrollHeight);\n maxScrollHeightRef.current = maxScrollHeight;\n function keepInRange(newScrollTop) {\n var newTop = newScrollTop;\n if (!Number.isNaN(maxScrollHeightRef.current)) {\n newTop = Math.min(newTop, maxScrollHeightRef.current);\n }\n newTop = Math.max(newTop, 0);\n return newTop;\n }\n var isScrollAtTop = offsetTop <= 0;\n var isScrollAtBottom = offsetTop >= maxScrollHeight;\n var isScrollAtLeft = offsetLeft <= 0;\n var isScrollAtRight = offsetLeft >= scrollWidth;\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight);\n\n // ================================ Scroll ================================\n var getVirtualScrollInfo = function getVirtualScrollInfo() {\n return {\n x: isRTL ? -offsetLeft : offsetLeft,\n y: offsetTop\n };\n };\n var lastVirtualScrollInfoRef = useRef(getVirtualScrollInfo());\n var triggerScroll = useEvent(function (params) {\n if (onVirtualScroll) {\n var nextInfo = _objectSpread(_objectSpread({}, getVirtualScrollInfo()), params);\n\n // Trigger when offset changed\n if (lastVirtualScrollInfoRef.current.x !== nextInfo.x || lastVirtualScrollInfoRef.current.y !== nextInfo.y) {\n onVirtualScroll(nextInfo);\n lastVirtualScrollInfoRef.current = nextInfo;\n }\n }\n });\n function onScrollBar(newScrollOffset, horizontal) {\n var newOffset = newScrollOffset;\n if (horizontal) {\n flushSync(function () {\n setOffsetLeft(newOffset);\n });\n triggerScroll();\n } else {\n syncScrollTop(newOffset);\n }\n }\n\n // When data size reduce. It may trigger native scroll event back to fit scroll position\n function onFallbackScroll(e) {\n var newScrollTop = e.currentTarget.scrollTop;\n if (newScrollTop !== offsetTop) {\n syncScrollTop(newScrollTop);\n }\n\n // Trigger origin onScroll\n onScroll === null || onScroll === void 0 || onScroll(e);\n triggerScroll();\n }\n var keepInHorizontalRange = function keepInHorizontalRange(nextOffsetLeft) {\n var tmpOffsetLeft = nextOffsetLeft;\n var max = !!scrollWidth ? scrollWidth - size.width : 0;\n tmpOffsetLeft = Math.max(tmpOffsetLeft, 0);\n tmpOffsetLeft = Math.min(tmpOffsetLeft, max);\n return tmpOffsetLeft;\n };\n var onWheelDelta = useEvent(function (offsetXY, fromHorizontal) {\n if (fromHorizontal) {\n // Horizontal scroll no need sync virtual position\n\n flushSync(function () {\n setOffsetLeft(function (left) {\n var nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);\n return keepInHorizontalRange(nextOffsetLeft);\n });\n });\n triggerScroll();\n } else {\n syncScrollTop(function (top) {\n var newTop = top + offsetXY;\n return newTop;\n });\n }\n });\n\n // Since this added in global,should use ref to keep update\n var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, !!scrollWidth, onWheelDelta),\n _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n onRawWheel = _useFrameWheel2[0],\n onFireFoxScroll = _useFrameWheel2[1];\n\n // Mobile touch move\n useMobileTouchMove(useVirtual, componentRef, function (isHorizontal, delta, smoothOffset) {\n if (originScroll(isHorizontal, delta, smoothOffset)) {\n return false;\n }\n onRawWheel({\n preventDefault: function preventDefault() {},\n deltaX: isHorizontal ? delta : 0,\n deltaY: isHorizontal ? 0 : delta\n });\n return true;\n });\n useLayoutEffect(function () {\n // Firefox only\n function onMozMousePixelScroll(e) {\n if (useVirtual) {\n e.preventDefault();\n }\n }\n var componentEle = componentRef.current;\n componentEle.addEventListener('wheel', onRawWheel, {\n passive: false\n });\n componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll, {\n passive: true\n });\n componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll, {\n passive: false\n });\n return function () {\n componentEle.removeEventListener('wheel', onRawWheel);\n componentEle.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n };\n }, [useVirtual]);\n\n // Sync scroll left\n useLayoutEffect(function () {\n if (scrollWidth) {\n var newOffsetLeft = keepInHorizontalRange(offsetLeft);\n setOffsetLeft(newOffsetLeft);\n triggerScroll({\n x: newOffsetLeft\n });\n }\n }, [size.width, scrollWidth]);\n\n // ================================= Ref ==================================\n var delayHideScrollBar = function delayHideScrollBar() {\n var _verticalScrollBarRef, _horizontalScrollBarR;\n (_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0 || _verticalScrollBarRef.delayHidden();\n (_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0 || _horizontalScrollBarR.delayHidden();\n };\n var _scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, function () {\n return collectHeight(true);\n }, syncScrollTop, delayHideScrollBar);\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: containerRef.current,\n getScrollInfo: getVirtualScrollInfo,\n scrollTo: function scrollTo(config) {\n function isPosScroll(arg) {\n return arg && _typeof(arg) === 'object' && ('left' in arg || 'top' in arg);\n }\n if (isPosScroll(config)) {\n // Scroll X\n if (config.left !== undefined) {\n setOffsetLeft(keepInHorizontalRange(config.left));\n }\n\n // Scroll Y\n _scrollTo(config.top);\n } else {\n _scrollTo(config);\n }\n }\n };\n });\n\n // ================================ Effect ================================\n /** We need told outside that some list not rendered */\n useLayoutEffect(function () {\n if (onVisibleChange) {\n var renderList = mergedData.slice(start, end + 1);\n onVisibleChange(renderList, mergedData);\n }\n }, [start, end, mergedData]);\n\n // ================================ Extra =================================\n var getSize = useGetSize(mergedData, getKey, heights, itemHeight);\n var extraContent = extraRender === null || extraRender === void 0 ? void 0 : extraRender({\n start: start,\n end: end,\n virtual: inVirtual,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n rtl: isRTL,\n getSize: getSize\n });\n\n // ================================ Render ================================\n var listChildren = useChildren(mergedData, start, end, scrollWidth, offsetLeft, setInstanceRef, children, sharedConfig);\n var componentStyle = null;\n if (height) {\n componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n if (useVirtual) {\n componentStyle.overflowY = 'hidden';\n if (scrollWidth) {\n componentStyle.overflowX = 'hidden';\n }\n if (scrollMoving) {\n componentStyle.pointerEvents = 'none';\n }\n }\n }\n var containerProps = {};\n if (isRTL) {\n containerProps.dir = 'rtl';\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: containerRef,\n style: _objectSpread(_objectSpread({}, style), {}, {\n position: 'relative'\n }),\n className: mergedClassName\n }, containerProps, restProps), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onHolderResize\n }, /*#__PURE__*/React.createElement(Component, {\n className: \"\".concat(prefixCls, \"-holder\"),\n style: componentStyle,\n ref: componentRef,\n onScroll: onFallbackScroll,\n onMouseEnter: delayHideScrollBar\n }, /*#__PURE__*/React.createElement(Filler, {\n prefixCls: prefixCls,\n height: scrollHeight,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n scrollWidth: scrollWidth,\n onInnerResize: collectHeight,\n ref: fillerInnerRef,\n innerProps: innerProps,\n rtl: isRTL,\n extra: extraContent\n }, listChildren))), inVirtual && scrollHeight > height && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: verticalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetTop,\n scrollRange: scrollHeight,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: verticalScrollBarSpinSize,\n containerSize: size.height,\n style: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBarThumb\n }), inVirtual && scrollWidth > size.width && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: horizontalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetLeft,\n scrollRange: scrollWidth,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: horizontalScrollBarSpinSize,\n containerSize: size.width,\n horizontal: true,\n style: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBarThumb\n }));\n}\nvar List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport raf from \"rc-util/es/raf\";\nimport CacheMap from \"../utils/CacheMap\";\nexport default function useHeights(getKey, onItemAdd, onItemRemove) {\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n updatedMark = _React$useState2[0],\n setUpdatedMark = _React$useState2[1];\n var instanceRef = useRef(new Map());\n var heightsRef = useRef(new CacheMap());\n var collectRafRef = useRef();\n function cancelRaf() {\n raf.cancel(collectRafRef.current);\n }\n function collectHeight() {\n var sync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n cancelRaf();\n var doCollect = function doCollect() {\n instanceRef.current.forEach(function (element, key) {\n if (element && element.offsetParent) {\n var htmlElement = findDOMNode(element);\n var offsetHeight = htmlElement.offsetHeight;\n if (heightsRef.current.get(key) !== offsetHeight) {\n heightsRef.current.set(key, htmlElement.offsetHeight);\n }\n }\n });\n\n // Always trigger update mark to tell parent that should re-calculate heights when resized\n setUpdatedMark(function (c) {\n return c + 1;\n });\n };\n if (sync) {\n doCollect();\n } else {\n collectRafRef.current = raf(doCollect);\n }\n }\n function setInstanceRef(item, instance) {\n var key = getKey(item);\n var origin = instanceRef.current.get(key);\n if (instance) {\n instanceRef.current.set(key, instance);\n collectHeight();\n } else {\n instanceRef.current.delete(key);\n }\n\n // Instance changed\n if (!origin !== !instance) {\n if (instance) {\n onItemAdd === null || onItemAdd === void 0 || onItemAdd(item);\n } else {\n onItemRemove === null || onItemRemove === void 0 || onItemRemove(item);\n }\n }\n }\n useEffect(function () {\n return cancelRaf;\n }, []);\n return [setInstanceRef, collectHeight, heightsRef.current, updatedMark];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n\n/**\n * Size info need loop query for the `heights` which will has the perf issue.\n * Let cache result for each render phase.\n */\nexport function useGetSize(mergedData, getKey, heights, itemHeight) {\n var _React$useMemo = React.useMemo(function () {\n return [new Map(), []];\n }, [mergedData, heights.id, itemHeight]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n key2Index = _React$useMemo2[0],\n bottomList = _React$useMemo2[1];\n var getSize = function getSize(startKey) {\n var endKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : startKey;\n // Get from cache first\n var startIndex = key2Index.get(startKey);\n var endIndex = key2Index.get(endKey);\n\n // Loop to fill the cache\n if (startIndex === undefined || endIndex === undefined) {\n var dataLen = mergedData.length;\n for (var i = bottomList.length; i < dataLen; i += 1) {\n var _heights$get;\n var item = mergedData[i];\n var key = getKey(item);\n key2Index.set(key, i);\n var cacheHeight = (_heights$get = heights.get(key)) !== null && _heights$get !== void 0 ? _heights$get : itemHeight;\n bottomList[i] = (bottomList[i - 1] || 0) + cacheHeight;\n if (key === startKey) {\n startIndex = i;\n }\n if (key === endKey) {\n endIndex = i;\n }\n if (startIndex !== undefined && endIndex !== undefined) {\n break;\n }\n }\n }\n return {\n top: bottomList[startIndex - 1] || 0,\n bottom: bottomList[endIndex]\n };\n };\n return getSize;\n}","import * as React from 'react';\nimport { Item } from \"../Item\";\nexport default function useChildren(list, startIndex, endIndex, scrollWidth, offsetX, setNodeRef, renderFunc, _ref) {\n var getKey = _ref.getKey;\n return list.slice(startIndex, endIndex + 1).map(function (item, index) {\n var eleIndex = startIndex + index;\n var node = renderFunc(item, eleIndex, {\n style: {\n width: scrollWidth\n },\n offsetX: offsetX\n });\n var key = getKey(item);\n return /*#__PURE__*/React.createElement(Item, {\n key: key,\n setRef: function setRef(ele) {\n return setNodeRef(item, ele);\n }\n }, node);\n });\n}","import List from \"./List\";\nexport default List;","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 component = props.component,\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: component,\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\";\nimport { StaticContext } from \"./context\";\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 _useContext2 = useContext(StaticContext, ['getComponent']),\n getComponent = _useContext2.getComponent;\n var rowInfo = useRowInfo(record, rowKey, index, indent);\n var RowComponent = getComponent(['body', 'row'], 'div');\n var cellComponent = getComponent(['body', 'cell'], 'div');\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(RowComponent, {\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), computedExpandedRowClassName)\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n className: classNames(rowCellCls, _defineProperty({}, \"\".concat(rowCellCls, \"-fixed\"), fixColumn)),\n additionalProps: additionalProps\n }, expandContent));\n }\n\n // ========================== Render ==========================\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(RowComponent, _extends({}, rowProps, restProps, {\n \"data-row-key\": rowKey,\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 component: cellComponent,\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 _typeof from \"@babel/runtime/helpers/esm/typeof\";\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 sticky = _useContext2.sticky,\n scrollY = _useContext2.scrollY,\n listItemHeight = _useContext2.listItemHeight,\n getComponent = _useContext2.getComponent,\n onTablePropScroll = _useContext2.onScroll;\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 scrollTo: function scrollTo(config) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(config);\n }\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current2;\n return ((_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.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 1; // break\n }\n };\n for (var i = start; i >= 0; i -= 1) {\n if (_loop(i)) 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 1; // break\n }\n };\n for (var _i = end; _i < flattenData.length; _i += 1) {\n if (_loop2(_i)) 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 1; // 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 if (_loop3(_i2)) 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\n // default 'div' in rc-virtual-list\n var wrapperComponent = getComponent(['body', 'wrapper']);\n var RowComponent = getComponent(['body', 'row'], 'div');\n var cellComponent = getComponent(['body', 'cell'], 'div');\n var bodyContent;\n if (flattenData.length) {\n // ========================== Sticky Scroll Bar ==========================\n var horizontalScrollBarStyle = {};\n if (sticky) {\n horizontalScrollBarStyle.position = 'sticky';\n horizontalScrollBarStyle.bottom = 0;\n if (_typeof(sticky) === 'object' && sticky.offsetScroll) {\n horizontalScrollBarStyle.bottom = sticky.offsetScroll;\n }\n }\n bodyContent = /*#__PURE__*/React.createElement(VirtualList, {\n fullHeight: false,\n ref: listRef,\n prefixCls: \"\".concat(tblPrefixCls, \"-virtual\"),\n styles: {\n horizontalScrollBar: horizontalScrollBarStyle\n },\n className: tblPrefixCls,\n height: scrollY,\n itemHeight: listItemHeight || 24,\n data: flattenData,\n itemKey: function itemKey(item) {\n return getRowKey(item.record);\n },\n component: wrapperComponent,\n scrollWidth: scrollX,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var x = _ref4.x;\n onScroll({\n scrollLeft: x\n });\n },\n onScroll: onTablePropScroll,\n extraRender: extraRender\n }, function (item, index, itemProps) {\n var rowKey = getRowKey(item.record, index);\n return /*#__PURE__*/React.createElement(BodyLine, {\n data: item,\n rowKey: rowKey,\n index: index,\n style: itemProps.style\n });\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(RowComponent, {\n className: classNames(\"\".concat(prefixCls, \"-placeholder\"))\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\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 { useEvent, 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\";\nimport getValue from \"rc-util/es/utils/get\";\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};\nfunction VirtualTable(props, ref) {\n var columns = props.columns,\n scroll = props.scroll,\n sticky = props.sticky,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? DEFAULT_PREFIX : _props$prefixCls,\n className = props.className,\n listItemHeight = props.listItemHeight,\n components = props.components,\n onScroll = props.onScroll;\n var _ref = scroll || {},\n scrollX = _ref.x,\n scrollY = _ref.y;\n\n // Fill scrollX\n if (typeof scrollX !== 'number') {\n if (process.env.NODE_ENV !== 'production') {\n warning(!scrollX, '`scroll.x` in virtual table must be number.');\n }\n scrollX = 1;\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 var getComponent = useEvent(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n });\n\n // Memo this\n var onInternalScroll = useEvent(onScroll);\n\n // ========================= Context ==========================\n var context = React.useMemo(function () {\n return {\n sticky: sticky,\n scrollY: scrollY,\n listItemHeight: listItemHeight,\n getComponent: getComponent,\n onScroll: onInternalScroll\n };\n }, [sticky, scrollY, listItemHeight, getComponent, onInternalScroll]);\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: _objectSpread(_objectSpread({}, components), {}, {\n body: renderBody\n }),\n columns: columns,\n internalHooks: INTERNAL_HOOKS,\n tailor: true,\n ref: ref\n })));\n}\nvar RefVirtualTable = /*#__PURE__*/React.forwardRef(VirtualTable);\nif (process.env.NODE_ENV !== 'production') {\n RefVirtualTable.displayName = 'VirtualTable';\n}\nexport function genVirtualTable(shouldTriggerRender) {\n return makeImmutable(RefVirtualTable, shouldTriggerRender);\n}\nexport default genVirtualTable();","/* 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\nconst Column = _ => null;\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\nconst ColumnGroup = _ => null;\nexport default ColumnGroup;","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport var preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nexport function warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nexport function note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n\n/* eslint-enable max-len */\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = _objectSpread({}, ariaOnly);\n }\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if (\n // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) ||\n // Data\n mergedConfig.data && match(key, dataPrefix) ||\n // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","/**\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 classNames from 'classnames';\nimport * as React from 'react';\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 list.push( /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: classNames(baseClassName, _defineProperty(_defineProperty({}, \"\".concat(baseClassName, \"-start\"), isStart[i]), \"\".concat(baseClassName, \"-end\"), isEnd[i]))\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);","export default function getEntity(keyEntities, key) {\n return keyEntities[key];\n}","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport toArray from \"rc-util/es/Children/toArray\";\nimport omit from \"rc-util/es/omit\";\nimport warning from \"rc-util/es/warning\";\nimport getEntity from \"./keyUtil\";\nexport function getPosition(level, index) {\n return \"\".concat(level, \"-\").concat(index);\n}\nexport function isTreeNode(node) {\n return node && node.type && node.type.isTreeNode;\n}\nexport function getKey(key, pos) {\n if (key !== null && key !== undefined) {\n return key;\n }\n return pos;\n}\nexport function fillFieldNames(fieldNames) {\n var _ref = fieldNames || {},\n title = _ref.title,\n _title = _ref._title,\n key = _ref.key,\n children = _ref.children;\n var mergedTitle = title || 'title';\n return {\n title: mergedTitle,\n _title: _title || [mergedTitle],\n key: key || 'key',\n children: children || 'children'\n };\n}\n\n/**\n * Warning if TreeNode do not provides key\n */\nexport function warningWithoutKey(treeData, fieldNames) {\n var keys = new Map();\n function dig(list) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (list || []).forEach(function (treeNode) {\n var key = treeNode[fieldNames.key];\n var children = treeNode[fieldNames.children];\n warning(key !== null && key !== undefined, \"Tree node must have a certain key: [\".concat(path).concat(key, \"]\"));\n var recordKey = String(key);\n warning(!keys.has(recordKey) || key === null || key === undefined, \"Same 'key' exist in the Tree: \".concat(recordKey));\n keys.set(recordKey, true);\n dig(children, \"\".concat(path).concat(recordKey, \" > \"));\n });\n }\n dig(treeData);\n}\n\n/**\n * Convert `children` of Tree into `treeData` structure.\n */\nexport function convertTreeToData(rootNodes) {\n function dig(node) {\n var treeNodes = toArray(node);\n return treeNodes.map(function (treeNode) {\n // Filter invalidate node\n if (!isTreeNode(treeNode)) {\n warning(!treeNode, 'Tree/TreeNode can only accept TreeNode as children.');\n return null;\n }\n var key = treeNode.key;\n var _treeNode$props = treeNode.props,\n children = _treeNode$props.children,\n rest = _objectWithoutProperties(_treeNode$props, _excluded);\n var dataNode = _objectSpread({\n key: key\n }, rest);\n var parsedChildren = dig(children);\n if (parsedChildren.length) {\n dataNode.children = parsedChildren;\n }\n return dataNode;\n }).filter(function (dataNode) {\n return dataNode;\n });\n }\n return dig(rootNodes);\n}\n\n/**\n * Flat nest tree data into flatten list. This is used for virtual list render.\n * @param treeNodeList Origin data node list\n * @param expandedKeys\n * need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).\n */\nexport function flattenTreeData(treeNodeList, expandedKeys, fieldNames) {\n var _fillFieldNames = fillFieldNames(fieldNames),\n fieldTitles = _fillFieldNames._title,\n fieldKey = _fillFieldNames.key,\n fieldChildren = _fillFieldNames.children;\n var expandedKeySet = new Set(expandedKeys === true ? [] : expandedKeys);\n var flattenList = [];\n function dig(list) {\n var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return list.map(function (treeNode, index) {\n var pos = getPosition(parent ? parent.pos : '0', index);\n var mergedKey = getKey(treeNode[fieldKey], pos);\n\n // Pick matched title in field title list\n var mergedTitle;\n for (var i = 0; i < fieldTitles.length; i += 1) {\n var fieldTitle = fieldTitles[i];\n if (treeNode[fieldTitle] !== undefined) {\n mergedTitle = treeNode[fieldTitle];\n break;\n }\n }\n\n // Add FlattenDataNode into list\n // We use `Object.assign` here to save perf since babel's `objectSpread` has perf issue\n var flattenNode = Object.assign(omit(treeNode, [].concat(_toConsumableArray(fieldTitles), [fieldKey, fieldChildren])), {\n title: mergedTitle,\n key: mergedKey,\n parent: parent,\n pos: pos,\n children: null,\n data: treeNode,\n isStart: [].concat(_toConsumableArray(parent ? parent.isStart : []), [index === 0]),\n isEnd: [].concat(_toConsumableArray(parent ? parent.isEnd : []), [index === list.length - 1])\n });\n flattenList.push(flattenNode);\n\n // Loop treeNode children\n if (expandedKeys === true || expandedKeySet.has(mergedKey)) {\n flattenNode.children = dig(treeNode[fieldChildren] || [], flattenNode);\n } else {\n flattenNode.children = [];\n }\n return flattenNode;\n });\n }\n dig(treeNodeList);\n return flattenList;\n}\n/**\n * Traverse all the data by `treeData`.\n * Please not use it out of the `rc-tree` since we may refactor this code.\n */\nexport function traverseDataNodes(dataNodes, callback,\n// To avoid too many params, let use config instead of origin param\nconfig) {\n var mergedConfig = {};\n if (_typeof(config) === 'object') {\n mergedConfig = config;\n } else {\n mergedConfig = {\n externalGetKey: config\n };\n }\n mergedConfig = mergedConfig || {};\n\n // Init config\n var _mergedConfig = mergedConfig,\n childrenPropName = _mergedConfig.childrenPropName,\n externalGetKey = _mergedConfig.externalGetKey,\n fieldNames = _mergedConfig.fieldNames;\n var _fillFieldNames2 = fillFieldNames(fieldNames),\n fieldKey = _fillFieldNames2.key,\n fieldChildren = _fillFieldNames2.children;\n var mergeChildrenPropName = childrenPropName || fieldChildren;\n\n // Get keys\n var syntheticGetKey;\n if (externalGetKey) {\n if (typeof externalGetKey === 'string') {\n syntheticGetKey = function syntheticGetKey(node) {\n return node[externalGetKey];\n };\n } else if (typeof externalGetKey === 'function') {\n syntheticGetKey = function syntheticGetKey(node) {\n return externalGetKey(node);\n };\n }\n } else {\n syntheticGetKey = function syntheticGetKey(node, pos) {\n return getKey(node[fieldKey], pos);\n };\n }\n\n // Process\n function processNode(node, index, parent, pathNodes) {\n var children = node ? node[mergeChildrenPropName] : dataNodes;\n var pos = node ? getPosition(parent.pos, index) : '0';\n var connectNodes = node ? [].concat(_toConsumableArray(pathNodes), [node]) : [];\n\n // Process node if is not root\n if (node) {\n var key = syntheticGetKey(node, pos);\n var _data = {\n node: node,\n index: index,\n pos: pos,\n key: key,\n parentPos: parent.node ? parent.pos : null,\n level: parent.level + 1,\n nodes: connectNodes\n };\n callback(_data);\n }\n\n // Process children node\n if (children) {\n children.forEach(function (subNode, subIndex) {\n processNode(subNode, subIndex, {\n node: node,\n pos: pos,\n level: parent ? parent.level + 1 : -1\n }, connectNodes);\n });\n }\n }\n processNode(null);\n}\n/**\n * Convert `treeData` into entity records.\n */\nexport function convertDataToEntities(dataNodes) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n initWrapper = _ref2.initWrapper,\n processEntity = _ref2.processEntity,\n onProcessFinished = _ref2.onProcessFinished,\n externalGetKey = _ref2.externalGetKey,\n childrenPropName = _ref2.childrenPropName,\n fieldNames = _ref2.fieldNames;\n var /** @deprecated Use `config.externalGetKey` instead */\n legacyExternalGetKey = arguments.length > 2 ? arguments[2] : undefined;\n // Init config\n var mergedExternalGetKey = externalGetKey || legacyExternalGetKey;\n var posEntities = {};\n var keyEntities = {};\n var wrapper = {\n posEntities: posEntities,\n keyEntities: keyEntities\n };\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n traverseDataNodes(dataNodes, function (item) {\n var node = item.node,\n index = item.index,\n pos = item.pos,\n key = item.key,\n parentPos = item.parentPos,\n level = item.level,\n nodes = item.nodes;\n var entity = {\n node: node,\n nodes: nodes,\n index: index,\n key: key,\n pos: pos,\n level: level\n };\n var mergedKey = getKey(key, pos);\n posEntities[pos] = entity;\n keyEntities[mergedKey] = entity;\n\n // Fill children\n entity.parent = posEntities[parentPos];\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n }, {\n externalGetKey: mergedExternalGetKey,\n childrenPropName: childrenPropName,\n fieldNames: fieldNames\n });\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n return wrapper;\n}\n/**\n * Get TreeNode props with Tree props.\n */\nexport function getTreeNodeProps(key, _ref3) {\n var expandedKeys = _ref3.expandedKeys,\n selectedKeys = _ref3.selectedKeys,\n loadedKeys = _ref3.loadedKeys,\n loadingKeys = _ref3.loadingKeys,\n checkedKeys = _ref3.checkedKeys,\n halfCheckedKeys = _ref3.halfCheckedKeys,\n dragOverNodeKey = _ref3.dragOverNodeKey,\n dropPosition = _ref3.dropPosition,\n keyEntities = _ref3.keyEntities;\n var entity = getEntity(keyEntities, key);\n var treeNodeProps = {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.indexOf(key) !== -1,\n checked: checkedKeys.indexOf(key) !== -1,\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos: String(entity ? entity.pos : ''),\n // [Legacy] Drag props\n // Since the interaction of drag is changed, the semantic of the props are\n // not accuracy, I think it should be finally removed\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1\n };\n return treeNodeProps;\n}\nexport function convertNodePropsToEventData(props) {\n var data = props.data,\n expanded = props.expanded,\n selected = props.selected,\n checked = props.checked,\n loaded = props.loaded,\n loading = props.loading,\n halfChecked = props.halfChecked,\n dragOver = props.dragOver,\n dragOverGapTop = props.dragOverGapTop,\n dragOverGapBottom = props.dragOverGapBottom,\n pos = props.pos,\n active = props.active,\n eventKey = props.eventKey;\n var eventData = _objectSpread(_objectSpread({}, data), {}, {\n expanded: expanded,\n selected: selected,\n checked: checked,\n loaded: loaded,\n loading: loading,\n halfChecked: halfChecked,\n dragOver: dragOver,\n dragOverGapTop: dragOverGapTop,\n dragOverGapBottom: dragOverGapBottom,\n pos: pos,\n active: active,\n key: eventKey\n });\n if (!('props' in eventData)) {\n Object.defineProperty(eventData, 'props', {\n get: function get() {\n warning(false, 'Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`.');\n return props;\n }\n });\n }\n return eventData;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nexport default function omit(obj, fields) {\n var clone = _objectSpread({}, obj);\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n return clone;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"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 getEntity from \"./utils/keyUtil\";\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 _defineProperty(_assertThisInitialized(_this), \"state\", {\n dragNodeHighlight: false\n });\n _defineProperty(_assertThisInitialized(_this), \"selectHandle\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"cacheIndent\", void 0);\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"onSelectorDoubleClick\", function (e) {\n var onNodeDoubleClick = _this.props.context.onNodeDoubleClick;\n onNodeDoubleClick(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onSelect\", function (e) {\n if (_this.isDisabled()) return;\n var onNodeSelect = _this.props.context.onNodeSelect;\n onNodeSelect(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"onMouseEnter\", function (e) {\n var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;\n onNodeMouseEnter(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onMouseLeave\", function (e) {\n var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;\n onNodeMouseLeave(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onContextMenu\", function (e) {\n var onNodeContextMenu = _this.props.context.onNodeContextMenu;\n onNodeContextMenu(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", function (e) {\n var onNodeDragEnter = _this.props.context.onNodeDragEnter;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_this), \"onDragOver\", function (e) {\n var onNodeDragOver = _this.props.context.onNodeDragOver;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", function (e) {\n var onNodeDragLeave = _this.props.context.onNodeDragLeave;\n e.stopPropagation();\n onNodeDragLeave(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"setSelectHandle\", function (node) {\n _this.selectHandle = node;\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"hasChildren\", function () {\n var eventKey = _this.props.eventKey;\n var keyEntities = _this.props.context.keyEntities;\n var _ref = getEntity(keyEntities, eventKey) || {},\n children = _ref.children;\n return !!(children || []).length;\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"isDisabled\", function () {\n var disabled = _this.props.disabled;\n var treeDisabled = _this.props.context.disabled;\n return !!(treeDisabled || disabled);\n });\n _defineProperty(_assertThisInitialized(_this), \"isCheckable\", function () {\n var checkable = _this.props.checkable;\n var treeCheckable = _this.props.context.checkable;\n\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 _defineProperty(_assertThisInitialized(_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\n // read from state to avoid loadData at same time\n if (loadData && expanded && !_this.isLeaf() && !loaded) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n onNodeLoad(convertNodePropsToEventData(_this.props));\n }\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 && draggable.icon ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-draggable-icon\")\n }, draggable.icon) : null;\n });\n // ====================== Render: Switcher ======================\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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\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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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\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\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 _defineProperty(_assertThisInitialized(_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\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\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 = getEntity(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(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-disabled\"), disabled), \"\".concat(prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), \"\".concat(prefixCls, \"-treenode-checkbox-checked\"), checked), \"\".concat(prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), \"\".concat(prefixCls, \"-treenode-selected\"), selected), \"\".concat(prefixCls, \"-treenode-loading\"), loading), \"\".concat(prefixCls, \"-treenode-active\"), active), \"\".concat(prefixCls, \"-treenode-leaf-last\"), isEndNode), \"\".concat(prefixCls, \"-treenode-draggable\"), mergedDraggable), \"dragging\", dragging), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, 'drop-target', dropTargetKey === eventKey), 'drop-container', dropContainerKey === eventKey), 'drag-over', !disabled && dragOver), 'drag-over-gap-top', !disabled && dragOverGapTop), 'drag-over-gap-bottom', !disabled && dragOverGapBottom), 'filter-node', filterTreeNode && filterTreeNode(convertNodePropsToEventData(this.props))))),\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 */\n\nimport warning from \"rc-util/es/warning\";\nimport React from 'react';\nimport TreeNode from \"./TreeNode\";\nimport getEntity from \"./utils/keyUtil\";\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 = getEntity(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\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 _getBoundingClientRec = event.target.getBoundingClientRect(),\n top = _getBoundingClientRec.top,\n height = _getBoundingClientRec.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\n // Filter the expanded keys to exclude the node that not has children currently (like async nodes).\n var filteredExpandKeys = expandKeys.filter(function (key) {\n var _keyEntities$key;\n return (_keyEntities$key = keyEntities[key]) === null || _keyEntities$key === void 0 || (_keyEntities$key = _keyEntities$key.children) === null || _keyEntities$key === void 0 ? void 0 : _keyEntities$key.length;\n });\n\n // find abstract drop node by horizontal offset\n var abstractDropNodeEntity = getEntity(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 = getEntity(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\n // Only allow cross level drop when dragging on a non-expanded node\n if (!filteredExpandKeys.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 && filteredExpandKeys.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/**\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/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\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/**\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 = getEntity(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}","import warning from \"rc-util/es/warning\";\nimport getEntity from \"./keyUtil\";\nfunction removeFromCheckedKeys(halfCheckedKeys, checkedKeys) {\n var filteredKeys = new Set();\n halfCheckedKeys.forEach(function (key) {\n if (!checkedKeys.has(key)) {\n filteredKeys.add(key);\n }\n });\n return filteredKeys;\n}\nexport function isCheckDisabled(node) {\n var _ref = node || {},\n disabled = _ref.disabled,\n disableCheckbox = _ref.disableCheckbox,\n checkable = _ref.checkable;\n return !!(disabled || disableCheckbox) || checkable === false;\n}\n\n// Fill miss keys\nfunction fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set();\n\n // Add checked keys top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children = entity.children,\n children = _entity$children === void 0 ? [] : _entity$children;\n if (checkedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.add(childEntity.key);\n });\n }\n });\n }\n\n // Add checked keys from bottom to top\n var visitedKeys = new Set();\n for (var _level = maxLevel; _level >= 0; _level -= 1) {\n var _entities = levelEntities.get(_level) || new Set();\n _entities.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref2) {\n var key = _ref2.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (allChecked) {\n checkedKeys.add(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n\n// Remove useless key\nfunction cleanConductCheck(keys, halfKeys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set(halfKeys);\n\n // Remove checked keys from top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children2 = entity.children,\n children = _entity$children2 === void 0 ? [] : _entity$children2;\n if (!checkedKeys.has(key) && !halfCheckedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.delete(childEntity.key);\n });\n }\n });\n }\n\n // Remove checked keys form bottom to top\n halfCheckedKeys = new Set();\n var visitedKeys = new Set();\n for (var _level2 = maxLevel; _level2 >= 0; _level2 -= 1) {\n var _entities2 = levelEntities.get(_level2) || new Set();\n _entities2.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref3) {\n var key = _ref3.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (!allChecked) {\n checkedKeys.delete(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n\n/**\n * Conduct with keys.\n * @param keyList current key list\n * @param keyEntities key - dataEntity map\n * @param mode `fill` to fill missing key, `clean` to remove useless key\n */\nexport function conductCheck(keyList, checked, keyEntities, getCheckDisabled) {\n var warningMissKeys = [];\n var syntheticGetCheckDisabled;\n if (getCheckDisabled) {\n syntheticGetCheckDisabled = getCheckDisabled;\n } else {\n syntheticGetCheckDisabled = isCheckDisabled;\n }\n\n // We only handle exist keys\n var keys = new Set(keyList.filter(function (key) {\n var hasEntity = !!getEntity(keyEntities, key);\n if (!hasEntity) {\n warningMissKeys.push(key);\n }\n return hasEntity;\n }));\n var levelEntities = new Map();\n var maxLevel = 0;\n\n // Convert entities by level for calculation\n Object.keys(keyEntities).forEach(function (key) {\n var entity = keyEntities[key];\n var level = entity.level;\n var levelSet = levelEntities.get(level);\n if (!levelSet) {\n levelSet = new Set();\n levelEntities.set(level, levelSet);\n }\n levelSet.add(entity);\n maxLevel = Math.max(maxLevel, level);\n });\n warning(!warningMissKeys.length, \"Tree missing follow keys: \".concat(warningMissKeys.slice(0, 100).map(function (key) {\n return \"'\".concat(key, \"'\");\n }).join(', ')));\n var result;\n if (checked === true) {\n result = fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n } else {\n result = cleanConductCheck(keys, checked.halfCheckedKeys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n }\n return result;\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { useCallback, useMemo } from 'react';\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 useMultipleSelect from '../../_util/hooks/useMultipleSelect';\nimport { devUseWarning } 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 const warning = devUseWarning('Table');\n // ========================= MultipleSelect =========================\n const [multipleSelect, updatePrevSelectedIndex] = useMultipleSelect(item => item);\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), 'usage', '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 // 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 warning.deprecated(false, 'onSelectInvert', 'onChange');\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 updatePrevSelectedIndex(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), 'usage', '`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 updatePrevSelectedIndex(null);\n };\n // ===================== Render =====================\n // Title Cell\n let title;\n let columnTitleCheckbox;\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 columnTitleCheckbox = /*#__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 });\n title = !hideSelectAll && ( /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-selection`\n }, columnTitleCheckbox, 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', 'usage', '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 const currentSelectedIndex = recordKeys.findIndex(item => item === key);\n const isMultiple = derivedSelectedKeys.some(item => recordKeys.includes(item));\n if (shiftKey && checkStrictly && isMultiple) {\n const changedKeys = multipleSelect(currentSelectedIndex, recordKeys, keySet);\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 updatePrevSelectedIndex(null);\n } else {\n updatePrevSelectedIndex(currentSelectedIndex);\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, 'usage', '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 const renderColumnTitle = () => {\n if (!(rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.columnTitle)) {\n return title;\n }\n if (typeof rowSelection.columnTitle === 'function') {\n return rowSelection.columnTitle(columnTitleCheckbox);\n }\n return rowSelection.columnTitle;\n };\n // Replace with real selection column\n const selectionColumn = {\n fixed: mergedFixed,\n width: selectionColWidth,\n className: `${prefixCls}-selection-column`,\n title: renderColumnTitle(),\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, checkboxPropsMap, onSelectMultiple, triggerSingleSelection, isCheckboxDisabled]);\n return [transformColumns, derivedSelectedKeySet];\n};\nexport default useSelection;","import { useCallback, useState } from 'react';\n/**\n * @title multipleSelect hooks\n * @description multipleSelect by hold down shift key\n */\nexport default function useMultipleSelect(getKey) {\n const [prevSelectedIndex, setPrevSelectedIndex] = useState(null);\n const multipleSelect = useCallback((currentSelectedIndex, data, selectedKeys) => {\n const configPrevSelectedIndex = prevSelectedIndex !== null && prevSelectedIndex !== void 0 ? prevSelectedIndex : currentSelectedIndex;\n // add/delete the selected range\n const startIndex = Math.min(configPrevSelectedIndex || 0, currentSelectedIndex);\n const endIndex = Math.max(configPrevSelectedIndex || 0, currentSelectedIndex);\n const rangeKeys = data.slice(startIndex, endIndex + 1).map(item => getKey(item));\n const shouldSelected = rangeKeys.some(rangeKey => !selectedKeys.has(rangeKey));\n const changedKeys = [];\n rangeKeys.forEach(item => {\n if (shouldSelected) {\n if (!selectedKeys.has(item)) {\n changedKeys.push(item);\n }\n selectedKeys.add(item);\n } else {\n selectedKeys.delete(item);\n changedKeys.push(item);\n }\n });\n setPrevSelectedIndex(shouldSelected ? endIndex : null);\n return changedKeys;\n }, [prevSelectedIndex]);\n const updatePrevSelectedIndex = val => {\n setPrevSelectedIndex(val);\n };\n return [multipleSelect, updatePrevSelectedIndex];\n}","// Proxy the dom ref with `{ nativeElement, otherFn }` type\n// ref: https://github.com/ant-design/ant-design/discussions/45242\nimport { useImperativeHandle } from 'react';\nfunction fillProxy(element, handler) {\n element._antProxy = element._antProxy || {};\n Object.keys(handler).forEach(key => {\n if (!(key in element._antProxy)) {\n const ori = element[key];\n element._antProxy[key] = ori;\n element[key] = handler[key];\n }\n });\n return element;\n}\nexport default function useProxyImperativeHandle(ref, init) {\n return useImperativeHandle(ref, () => {\n const refObj = init();\n const {\n nativeElement\n } = refObj;\n if (typeof Proxy !== 'undefined') {\n return new Proxy(nativeElement, {\n get(obj, prop) {\n if (refObj[prop]) {\n return refObj[prop];\n }\n return Reflect.get(obj, prop);\n }\n });\n }\n // Fallback of IE\n return fillProxy(nativeElement, refObj);\n });\n}","export function isWindow(obj) {\n return obj !== null && obj !== undefined && obj === obj.window;\n}\nconst getScroll = target => {\n var _a, _b;\n if (typeof window === 'undefined') {\n return 0;\n }\n let result = 0;\n if (isWindow(target)) {\n result = target.pageYOffset;\n } else if (target instanceof Document) {\n result = target.documentElement.scrollTop;\n } else if (target instanceof HTMLElement) {\n result = target.scrollTop;\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 /* biome-ignore lint/complexity/useLiteralKeys: target is a never type */ /* eslint-disable-next-line dot-notation */\n result = target['scrollTop'];\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.scrollTop;\n }\n return result;\n};\nexport default getScroll;","\"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};\n\n/**![double-left](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI3Mi45IDUxMmwyNjUuNC0zMzkuMWM0LjEtNS4yLjQtMTIuOS02LjMtMTIuOWgtNzcuM2MtNC45IDAtOS42IDIuMy0xMi42IDYuMUwxODYuOCA0OTIuM2EzMS45OSAzMS45OSAwIDAwMCAzOS41bDI1NS4zIDMyNi4xYzMgMy45IDcuNyA2LjEgMTIuNiA2LjFINTMyYzYuNyAwIDEwLjQtNy43IDYuMy0xMi45TDI3Mi45IDUxMnptMzA0IDBsMjY1LjQtMzM5LjFjNC4xLTUuMi40LTEyLjktNi4zLTEyLjloLTc3LjNjLTQuOSAwLTkuNiAyLjMtMTIuNiA2LjFMNDkwLjggNDkyLjNhMzEuOTkgMzEuOTkgMCAwMDAgMzkuNWwyNTUuMyAzMjYuMWMzIDMuOSA3LjcgNi4xIDEyLjYgNi4xSDgzNmM2LjcgMCAxMC40LTcuNyA2LjMtMTIuOUw1NzYuOSA1MTJ6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(DoubleLeftOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'DoubleLeftOutlined';\n}\nexport default RefIcon;","// 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};\n\n/**![double-right](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUzMy4yIDQ5Mi4zTDI3Ny45IDE2Ni4xYy0zLTMuOS03LjctNi4xLTEyLjYtNi4xSDE4OGMtNi43IDAtMTAuNCA3LjctNi4zIDEyLjlMNDQ3LjEgNTEyIDE4MS43IDg1MS4xQTcuOTggNy45OCAwIDAwMTg4IDg2NGg3Ny4zYzQuOSAwIDkuNi0yLjMgMTIuNi02LjFsMjU1LjMtMzI2LjFjOS4xLTExLjcgOS4xLTI3LjkgMC0zOS41em0zMDQgMEw1ODEuOSAxNjYuMWMtMy0zLjktNy43LTYuMS0xMi42LTYuMUg0OTJjLTYuNyAwLTEwLjQgNy43LTYuMyAxMi45TDc1MS4xIDUxMiA0ODUuNyA4NTEuMUE3Ljk4IDcuOTggMCAwMDQ5MiA4NjRoNzcuM2M0LjkgMCA5LjYtMi4zIDEyLjYtNi4xbDI1NS4zLTMyNi4xYzkuMS0xMS43IDkuMS0yNy45IDAtMzkuNXoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(DoubleRightOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'DoubleRightOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar LeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z\" } }] }, \"name\": \"left\", \"theme\": \"outlined\" };\nexport default LeftOutlined;\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 LeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/LeftOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar LeftOutlined = function LeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: LeftOutlinedSvg\n }));\n};\n\n/**![left](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcyNCAyMTguM1YxNDFjMC02LjctNy43LTEwLjQtMTIuOS02LjNMMjYwLjMgNDg2LjhhMzEuODYgMzEuODYgMCAwMDAgNTAuM2w0NTAuOCAzNTIuMWM1LjMgNC4xIDEyLjkuNCAxMi45LTYuM3YtNzcuM2MwLTQuOS0yLjMtOS42LTYuMS0xMi42bC0zNjAtMjgxIDM2MC0yODEuMWMzLjgtMyA2LjEtNy43IDYuMS0xMi42eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(LeftOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'LeftOutlined';\n}\nexport default RefIcon;","var locale = {\n // Options\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n // Pagination\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页',\n page_size: '页码'\n};\nexport default locale;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport KEYCODE from \"rc-util/es/KeyCode\";\nimport React from 'react';\nvar defaultPageSizeOptions = ['10', '20', '50', '100'];\nvar Options = function Options(props) {\n var _props$pageSizeOption = props.pageSizeOptions,\n pageSizeOptions = _props$pageSizeOption === void 0 ? defaultPageSizeOptions : _props$pageSizeOption,\n locale = props.locale,\n changeSize = props.changeSize,\n pageSize = props.pageSize,\n goButton = props.goButton,\n quickGo = props.quickGo,\n rootPrefixCls = props.rootPrefixCls,\n Select = props.selectComponentClass,\n selectPrefixCls = props.selectPrefixCls,\n disabled = props.disabled,\n buildOptionText = props.buildOptionText;\n var _React$useState = React.useState(''),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n goInputText = _React$useState2[0],\n setGoInputText = _React$useState2[1];\n var getValidValue = function getValidValue() {\n return !goInputText || Number.isNaN(goInputText) ? undefined : Number(goInputText);\n };\n var mergeBuildOptionText = typeof buildOptionText === 'function' ? buildOptionText : function (value) {\n return \"\".concat(value, \" \").concat(locale.items_per_page);\n };\n var changeSizeHandle = function changeSizeHandle(value) {\n changeSize === null || changeSize === void 0 || changeSize(Number(value));\n };\n var handleChange = function handleChange(e) {\n setGoInputText(e.target.value);\n };\n var handleBlur = function handleBlur(e) {\n if (goButton || goInputText === '') {\n return;\n }\n setGoInputText('');\n if (e.relatedTarget && (e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item-link\")) >= 0 || e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item\")) >= 0)) {\n return;\n }\n quickGo === null || quickGo === void 0 || quickGo(getValidValue());\n };\n var go = function go(e) {\n if (goInputText === '') {\n return;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n setGoInputText('');\n quickGo === null || quickGo === void 0 || quickGo(getValidValue());\n }\n };\n var getPageSizeOptions = function getPageSizeOptions() {\n if (pageSizeOptions.some(function (option) {\n return option.toString() === pageSize.toString();\n })) {\n return pageSizeOptions;\n }\n return pageSizeOptions.concat([pageSize.toString()]).sort(function (a, b) {\n var numberA = Number.isNaN(Number(a)) ? 0 : Number(a);\n var numberB = Number.isNaN(Number(b)) ? 0 : Number(b);\n return numberA - numberB;\n });\n };\n // ============== cls ==============\n var prefixCls = \"\".concat(rootPrefixCls, \"-options\");\n\n // ============== render ==============\n\n if (!changeSize && !quickGo) {\n return null;\n }\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n if (changeSize && Select) {\n var options = getPageSizeOptions().map(function (opt, i) {\n return /*#__PURE__*/React.createElement(Select.Option, {\n key: i,\n value: opt.toString()\n }, mergeBuildOptionText(opt));\n });\n changeSelect = /*#__PURE__*/React.createElement(Select, {\n disabled: disabled,\n prefixCls: selectPrefixCls,\n showSearch: false,\n className: \"\".concat(prefixCls, \"-size-changer\"),\n optionLabelProp: \"children\",\n popupMatchSelectWidth: false,\n value: (pageSize || pageSizeOptions[0]).toString(),\n onChange: changeSizeHandle,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n },\n \"aria-label\": locale.page_size,\n defaultOpen: false\n }, options);\n }\n if (quickGo) {\n if (goButton) {\n gotoButton = typeof goButton === 'boolean' ? /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: go,\n onKeyUp: go,\n disabled: disabled,\n className: \"\".concat(prefixCls, \"-quick-jumper-button\")\n }, locale.jump_to_confirm) : /*#__PURE__*/React.createElement(\"span\", {\n onClick: go,\n onKeyUp: go\n }, goButton);\n }\n goInput = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-quick-jumper\")\n }, locale.jump_to, /*#__PURE__*/React.createElement(\"input\", {\n disabled: disabled,\n type: \"text\",\n value: goInputText,\n onChange: handleChange,\n onKeyUp: go,\n onBlur: handleBlur,\n \"aria-label\": locale.page\n }), locale.page, gotoButton);\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n className: prefixCls\n }, changeSelect, goInput);\n};\nif (process.env.NODE_ENV !== 'production') {\n Options.displayName = 'Options';\n}\nexport default Options;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint react/prop-types: 0 */\nimport classNames from 'classnames';\nimport React from 'react';\nvar Pager = function Pager(props) {\n var _classNames;\n var rootPrefixCls = props.rootPrefixCls,\n page = props.page,\n active = props.active,\n className = props.className,\n showTitle = props.showTitle,\n onClick = props.onClick,\n onKeyPress = props.onKeyPress,\n itemRender = props.itemRender;\n var prefixCls = \"\".concat(rootPrefixCls, \"-item\");\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(page), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), !page), _classNames), className);\n var handleClick = function handleClick() {\n onClick(page);\n };\n var handleKeyPress = function handleKeyPress(e) {\n onKeyPress(e, onClick, page);\n };\n var pager = itemRender(page, 'page', /*#__PURE__*/React.createElement(\"a\", {\n rel: \"nofollow\"\n }, page));\n return pager ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? String(page) : null,\n className: cls,\n onClick: handleClick,\n onKeyDown: handleKeyPress,\n tabIndex: 0\n }, pager) : null;\n};\nif (process.env.NODE_ENV !== 'production') {\n Pager.displayName = 'Pager';\n}\nexport default Pager;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport warning from \"rc-util/es/warning\";\nimport React, { useEffect } from 'react';\nimport zhCN from \"./locale/zh_CN\";\nimport Options from \"./Options\";\nimport Pager from \"./Pager\";\nvar defaultItemRender = function defaultItemRender(page, type, element) {\n return element;\n};\nfunction noop() {}\nfunction isInteger(v) {\n var value = Number(v);\n return typeof value === 'number' && !Number.isNaN(value) && isFinite(value) && Math.floor(value) === value;\n}\nfunction calculatePage(p, pageSize, total) {\n var _pageSize = typeof p === 'undefined' ? pageSize : p;\n return Math.floor((total - 1) / _pageSize) + 1;\n}\nvar Pagination = function Pagination(props) {\n var _classNames5;\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-pagination' : _props$prefixCls,\n _props$selectPrefixCl = props.selectPrefixCls,\n selectPrefixCls = _props$selectPrefixCl === void 0 ? 'rc-select' : _props$selectPrefixCl,\n className = props.className,\n selectComponentClass = props.selectComponentClass,\n currentProp = props.current,\n _props$defaultCurrent = props.defaultCurrent,\n defaultCurrent = _props$defaultCurrent === void 0 ? 1 : _props$defaultCurrent,\n _props$total = props.total,\n total = _props$total === void 0 ? 0 : _props$total,\n pageSizeProp = props.pageSize,\n _props$defaultPageSiz = props.defaultPageSize,\n defaultPageSize = _props$defaultPageSiz === void 0 ? 10 : _props$defaultPageSiz,\n _props$onChange = props.onChange,\n onChange = _props$onChange === void 0 ? noop : _props$onChange,\n hideOnSinglePage = props.hideOnSinglePage,\n align = props.align,\n _props$showPrevNextJu = props.showPrevNextJumpers,\n showPrevNextJumpers = _props$showPrevNextJu === void 0 ? true : _props$showPrevNextJu,\n showQuickJumper = props.showQuickJumper,\n showLessItems = props.showLessItems,\n _props$showTitle = props.showTitle,\n showTitle = _props$showTitle === void 0 ? true : _props$showTitle,\n _props$onShowSizeChan = props.onShowSizeChange,\n onShowSizeChange = _props$onShowSizeChan === void 0 ? noop : _props$onShowSizeChan,\n _props$locale = props.locale,\n locale = _props$locale === void 0 ? zhCN : _props$locale,\n style = props.style,\n _props$totalBoundaryS = props.totalBoundaryShowSizeChanger,\n totalBoundaryShowSizeChanger = _props$totalBoundaryS === void 0 ? 50 : _props$totalBoundaryS,\n disabled = props.disabled,\n simple = props.simple,\n showTotal = props.showTotal,\n showSizeChangerProp = props.showSizeChanger,\n pageSizeOptions = props.pageSizeOptions,\n _props$itemRender = props.itemRender,\n itemRender = _props$itemRender === void 0 ? defaultItemRender : _props$itemRender,\n jumpPrevIcon = props.jumpPrevIcon,\n jumpNextIcon = props.jumpNextIcon,\n prevIcon = props.prevIcon,\n nextIcon = props.nextIcon;\n var paginationRef = React.useRef(null);\n var _useMergedState = useMergedState(10, {\n value: pageSizeProp,\n defaultValue: defaultPageSize\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n pageSize = _useMergedState2[0],\n setPageSize = _useMergedState2[1];\n var _useMergedState3 = useMergedState(1, {\n value: currentProp,\n defaultValue: defaultCurrent,\n postState: function postState(c) {\n return Math.max(1, Math.min(c, calculatePage(undefined, pageSize, total)));\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n current = _useMergedState4[0],\n setCurrent = _useMergedState4[1];\n var _React$useState = React.useState(current),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n internalInputVal = _React$useState2[0],\n setInternalInputVal = _React$useState2[1];\n useEffect(function () {\n setInternalInputVal(current);\n }, [current]);\n var hasOnChange = onChange !== noop;\n var hasCurrent = ('current' in props);\n if (process.env.NODE_ENV !== 'production') {\n warning(hasCurrent ? hasOnChange : true, 'You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.');\n }\n var jumpPrevPage = Math.max(1, current - (showLessItems ? 3 : 5));\n var jumpNextPage = Math.min(calculatePage(undefined, pageSize, total), current + (showLessItems ? 3 : 5));\n function getItemIcon(icon, label) {\n var iconNode = icon || /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: \"\".concat(prefixCls, \"-item-link\")\n });\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, props));\n }\n return iconNode;\n }\n function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, pageSize, total);\n var value;\n if (inputValue === '') {\n value = inputValue;\n } else if (Number.isNaN(Number(inputValue))) {\n value = internalInputVal;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n return value;\n }\n function isValid(page) {\n return isInteger(page) && page !== current && isInteger(total) && total > 0;\n }\n var shouldDisplayQuickJumper = total > pageSize ? showQuickJumper : false;\n\n /**\n * prevent \"up arrow\" key reseting cursor position within textbox\n * @see https://stackoverflow.com/a/1081114\n */\n function handleKeyDown(event) {\n if (event.keyCode === KeyCode.UP || event.keyCode === KeyCode.DOWN) {\n event.preventDefault();\n }\n }\n function handleKeyUp(event) {\n var value = getValidValue(event);\n if (value !== internalInputVal) {\n setInternalInputVal(value);\n }\n switch (event.keyCode) {\n case KeyCode.ENTER:\n handleChange(value);\n break;\n case KeyCode.UP:\n handleChange(value - 1);\n break;\n case KeyCode.DOWN:\n handleChange(value + 1);\n break;\n default:\n break;\n }\n }\n function handleBlur(event) {\n handleChange(getValidValue(event));\n }\n function changePageSize(size) {\n var newCurrent = calculatePage(size, pageSize, total);\n var nextCurrent = current > newCurrent && newCurrent !== 0 ? newCurrent : current;\n setPageSize(size);\n setInternalInputVal(nextCurrent);\n onShowSizeChange === null || onShowSizeChange === void 0 || onShowSizeChange(current, size);\n setCurrent(nextCurrent);\n onChange === null || onChange === void 0 || onChange(nextCurrent, size);\n }\n function handleChange(page) {\n if (isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, pageSize, total);\n var newPage = page;\n if (page > currentPage) {\n newPage = currentPage;\n } else if (page < 1) {\n newPage = 1;\n }\n if (newPage !== internalInputVal) {\n setInternalInputVal(newPage);\n }\n setCurrent(newPage);\n onChange === null || onChange === void 0 || onChange(newPage, pageSize);\n return newPage;\n }\n return current;\n }\n var hasPrev = current > 1;\n var hasNext = current < calculatePage(undefined, pageSize, total);\n var showSizeChanger = showSizeChangerProp !== null && showSizeChangerProp !== void 0 ? showSizeChangerProp : total > totalBoundaryShowSizeChanger;\n function prevHandle() {\n if (hasPrev) handleChange(current - 1);\n }\n function nextHandle() {\n if (hasNext) handleChange(current + 1);\n }\n function jumpPrevHandle() {\n handleChange(jumpPrevPage);\n }\n function jumpNextHandle() {\n handleChange(jumpNextPage);\n }\n function runIfEnter(event, callback) {\n if (event.key === 'Enter' || event.charCode === KeyCode.ENTER || event.keyCode === KeyCode.ENTER) {\n for (var _len = arguments.length, restParams = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n callback.apply(void 0, restParams);\n }\n }\n function runIfEnterPrev(event) {\n runIfEnter(event, prevHandle);\n }\n function runIfEnterNext(event) {\n runIfEnter(event, nextHandle);\n }\n function runIfEnterJumpPrev(event) {\n runIfEnter(event, jumpPrevHandle);\n }\n function runIfEnterJumpNext(event) {\n runIfEnter(event, jumpNextHandle);\n }\n function renderPrev(prevPage) {\n var prevButton = itemRender(prevPage, 'prev', getItemIcon(prevIcon, 'prev page'));\n return /*#__PURE__*/React.isValidElement(prevButton) ? /*#__PURE__*/React.cloneElement(prevButton, {\n disabled: !hasPrev\n }) : prevButton;\n }\n function renderNext(nextPage) {\n var nextButton = itemRender(nextPage, 'next', getItemIcon(nextIcon, 'next page'));\n return /*#__PURE__*/React.isValidElement(nextButton) ? /*#__PURE__*/React.cloneElement(nextButton, {\n disabled: !hasNext\n }) : nextButton;\n }\n function handleGoTO(event) {\n if (event.type === 'click' || event.keyCode === KeyCode.ENTER) {\n handleChange(internalInputVal);\n }\n }\n var jumpPrev = null;\n var dataOrAriaAttributeProps = pickAttrs(props, {\n aria: true,\n data: true\n });\n var totalText = showTotal && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-total-text\")\n }, showTotal(total, [total === 0 ? 0 : (current - 1) * pageSize + 1, current * pageSize > total ? total : current * pageSize]));\n var jumpNext = null;\n var allPages = calculatePage(undefined, pageSize, total);\n\n // ================== Render ==================\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (hideOnSinglePage && total <= pageSize) {\n return null;\n }\n var pagerList = [];\n var pagerProps = {\n rootPrefixCls: prefixCls,\n onClick: handleChange,\n onKeyPress: runIfEnter,\n showTitle: showTitle,\n itemRender: itemRender,\n page: -1\n };\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n var goButton = showQuickJumper && showQuickJumper.goButton;\n\n // ================== Simple ==================\n // FIXME: ts type\n var isReadOnly = _typeof(simple) === 'object' ? simple.readOnly : !simple;\n var gotoButton = goButton;\n var simplePager = null;\n if (simple) {\n // ====== Simple quick jump ======\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: handleGoTO,\n onKeyUp: handleGoTO\n }, locale.jump_to_confirm);\n } else {\n gotoButton = /*#__PURE__*/React.createElement(\"span\", {\n onClick: handleGoTO,\n onKeyUp: handleGoTO\n }, goButton);\n }\n gotoButton = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(locale.jump_to).concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, gotoButton);\n }\n simplePager = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, isReadOnly ? internalInputVal : /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n value: internalInputVal,\n disabled: disabled,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onChange: handleKeyUp,\n onBlur: handleBlur,\n size: 3\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-slash\")\n }, \"/\"), allPages);\n }\n\n // ====================== Normal ======================\n var pageBufferSize = showLessItems ? 1 : 2;\n if (allPages <= 3 + pageBufferSize * 2) {\n if (!allPages) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: \"noPager\",\n page: 1,\n className: \"\".concat(prefixCls, \"-item-disabled\")\n })));\n }\n for (var i = 1; i <= allPages; i += 1) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: i,\n page: i,\n active: current === i\n })));\n }\n } else {\n var prevItemTitle = showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = showLessItems ? locale.next_3 : locale.next_5;\n var jumpPrevContent = itemRender(jumpPrevPage, 'jump-prev', getItemIcon(jumpPrevIcon, 'prev page'));\n var jumpNextContent = itemRender(jumpNextPage, 'jump-next', getItemIcon(jumpNextIcon, 'next page'));\n if (showPrevNextJumpers) {\n jumpPrev = jumpPrevContent ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? prevItemTitle : null,\n key: \"prev\",\n onClick: jumpPrevHandle,\n tabIndex: 0,\n onKeyDown: runIfEnterJumpPrev,\n className: classNames(\"\".concat(prefixCls, \"-jump-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-prev-custom-icon\"), !!jumpPrevIcon))\n }, jumpPrevContent) : null;\n jumpNext = jumpNextContent ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? nextItemTitle : null,\n key: \"next\",\n onClick: jumpNextHandle,\n tabIndex: 0,\n onKeyDown: runIfEnterJumpNext,\n className: classNames(\"\".concat(prefixCls, \"-jump-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-next-custom-icon\"), !!jumpNextIcon))\n }, jumpNextContent) : null;\n }\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n for (var _i = left; _i <= right; _i += 1) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: _i,\n page: _i,\n active: current === _i\n })));\n }\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = /*#__PURE__*/React.cloneElement(pagerList[0], {\n className: classNames(\"\".concat(prefixCls, \"-item-after-jump-prev\"), pagerList[0].props.className)\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n var lastOne = pagerList[pagerList.length - 1];\n pagerList[pagerList.length - 1] = /*#__PURE__*/React.cloneElement(lastOne, {\n className: classNames(\"\".concat(prefixCls, \"-item-before-jump-next\"), lastOne.props.className)\n });\n pagerList.push(jumpNext);\n }\n if (left !== 1) {\n pagerList.unshift( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: 1,\n page: 1\n })));\n }\n if (right !== allPages) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: allPages,\n page: allPages\n })));\n }\n }\n var prev = renderPrev(prevPage);\n if (prev) {\n var prevDisabled = !hasPrev || !allPages;\n prev = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: prevHandle,\n tabIndex: prevDisabled ? null : 0,\n onKeyDown: runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), prevDisabled)),\n \"aria-disabled\": prevDisabled\n }, prev);\n }\n var next = renderNext(nextPage);\n if (next) {\n var nextDisabled, nextTabIndex;\n if (simple) {\n nextDisabled = !hasNext;\n nextTabIndex = hasPrev ? 0 : null;\n } else {\n nextDisabled = !hasNext || !allPages;\n nextTabIndex = nextDisabled ? null : 0;\n }\n next = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: nextHandle,\n tabIndex: nextTabIndex,\n onKeyDown: runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), nextDisabled)),\n \"aria-disabled\": nextDisabled\n }, next);\n }\n var cls = classNames(prefixCls, className, (_classNames5 = {}, _defineProperty(_classNames5, \"\".concat(prefixCls, \"-start\"), align === 'start'), _defineProperty(_classNames5, \"\".concat(prefixCls, \"-center\"), align === 'center'), _defineProperty(_classNames5, \"\".concat(prefixCls, \"-end\"), align === 'end'), _defineProperty(_classNames5, \"\".concat(prefixCls, \"-simple\"), simple), _defineProperty(_classNames5, \"\".concat(prefixCls, \"-disabled\"), disabled), _classNames5));\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: cls,\n style: style,\n ref: paginationRef\n }, dataOrAriaAttributeProps), totalText, prev, simple ? simplePager : pagerList, next, /*#__PURE__*/React.createElement(Options, {\n locale: locale,\n rootPrefixCls: prefixCls,\n disabled: disabled,\n selectComponentClass: selectComponentClass,\n selectPrefixCls: selectPrefixCls,\n changeSize: showSizeChanger ? changePageSize : null,\n pageSize: pageSize,\n pageSizeOptions: pageSizeOptions,\n quickGo: shouldDisplayQuickJumper ? handleChange : null,\n goButton: gotoButton\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n Pagination.displayName = 'Pagination';\n}\nexport default Pagination;","\"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 { unit } from '@ant-design/cssinjs';\nimport { genBasicInputStyle, genInputSmallStyle, initComponentToken, initInputToken } from '../../input/style';\nimport { genBaseOutlinedStyle, genDisabledStyle } from '../../input/style/variants';\nimport { genFocusOutline, genFocusStyle, resetComponent } from '../../style';\nimport { genStyleHooks, 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: unit(token.itemSizeSM)\n },\n [`&${componentCls}-mini ${componentCls}-item`]: {\n minWidth: token.itemSizeSM,\n height: token.itemSizeSM,\n margin: 0,\n lineHeight: unit(token.calc(token.itemSizeSM).sub(2).equal())\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: unit(token.itemSizeSM)\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: unit(token.itemSizeSM)\n }\n },\n [`&${componentCls}-mini ${componentCls}-jump-prev, &${componentCls}-mini ${componentCls}-jump-next`]: {\n height: token.itemSizeSM,\n marginInlineEnd: 0,\n lineHeight: unit(token.itemSizeSM)\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: unit(token.itemSizeSM),\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: unit(token.itemSizeSM),\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: unit(token.itemSizeSM)\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 padding: `0 ${unit(token.paginationItemPaddingInline)}`,\n textAlign: 'center',\n backgroundColor: token.itemInputBg,\n border: `${unit(token.lineWidth)} ${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: `${unit(token.inputOutlineOffset)} 0 ${unit(token.controlOutlineWidth)} ${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: unit(token.itemSize),\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: `${unit(token.lineWidth)} ${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': {\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: unit(token.controlHeight),\n verticalAlign: 'top',\n input: Object.assign(Object.assign(Object.assign({}, genBasicInputStyle(token)), genBaseOutlinedStyle(token, {\n borderColor: token.colorBorder,\n hoverBorderColor: token.colorPrimaryHover,\n activeBorderColor: token.colorPrimary,\n activeShadow: token.activeShadow\n })), {\n '&[disabled]': Object.assign({}, genDisabledStyle(token)),\n width: token.calc(token.controlHeightLG).mul(1.25).equal(),\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: unit(token.calc(token.itemSize).sub(2).equal()),\n textAlign: 'center',\n verticalAlign: 'middle',\n listStyle: 'none',\n backgroundColor: token.itemBg,\n border: `${unit(token.lineWidth)} ${token.lineType} transparent`,\n borderRadius: token.borderRadius,\n outline: 0,\n cursor: 'pointer',\n userSelect: 'none',\n a: {\n display: 'block',\n padding: `0 ${unit(token.paginationItemPaddingInline)}`,\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 display: 'flex',\n '&-start': {\n justifyContent: 'start'\n },\n '&-center': {\n justifyContent: 'center'\n },\n '&-end': {\n justifyContent: 'end'\n },\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: unit(token.calc(token.itemSize).sub(2).equal()),\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 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};\nexport const prepareComponentToken = token => Object.assign({\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}, initComponentToken(token));\nexport const prepareToken = token => mergeToken(token, {\n inputOutlineOffset: 0,\n paginationMiniOptionsMarginInlineStart: token.calc(token.marginXXS).div(2).equal(),\n paginationMiniQuickJumperInputWidth: token.calc(token.controlHeightLG).mul(1.1).equal(),\n paginationItemPaddingInline: token.calc(token.marginXXS).mul(1.5).equal(),\n paginationEllipsisLetterSpacing: token.calc(token.marginXXS).div(2).equal(),\n paginationSlashMarginInlineStart: token.marginSM,\n paginationSlashMarginInlineEnd: token.marginSM,\n paginationEllipsisTextIndent: '0.13em' // magic for ui experience\n}, initInputToken(token));\n// ============================== Export ==============================\nexport default genStyleHooks('Pagination', token => {\n const paginationToken = prepareToken(token);\n return [genPaginationStyle(paginationToken), genPaginationFocusStyle(paginationToken)];\n}, prepareComponentToken);","import { unit } from '@ant-design/cssinjs';\nimport { prepareComponentToken, prepareToken } from '.';\nimport { genSubStyleComponent } from '../../theme/internal';\nconst genBorderedStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}${componentCls}-bordered${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}${componentCls}-bordered: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: `${unit(token.lineWidth)} ${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};\nexport default genSubStyleComponent(['Pagination', 'bordered'], token => {\n const paginationToken = prepareToken(token);\n return [genBorderedStyle(paginationToken)];\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};\nimport * as React from 'react';\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 { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport { useLocale } from '../locale';\nimport { useToken } from '../theme/internal';\nimport { MiddleSelect, MiniSelect } from './Select';\nimport useStyle from './style';\nimport BorderedStyle from './style/bordered';\nconst Pagination = props => {\n const {\n align,\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, [\"align\", \"prefixCls\", \"selectPrefixCls\", \"className\", \"rootClassName\", \"style\", \"size\", \"locale\", \"selectComponentClass\", \"responsive\", \"showSizeChanger\"]);\n const {\n xs\n } = useBreakpoint(responsive);\n const [, token] = useToken();\n const {\n getPrefixCls,\n direction,\n pagination = {}\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('pagination', customizePrefixCls);\n // Style\n const [wrapCSSVar, hashId, cssVarCls] = 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 =\n /*#__PURE__*/\n // biome-ignore lint/a11y/useValidAnchor: it is hard to refactor\n 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 =\n /*#__PURE__*/\n // biome-ignore lint/a11y/useValidAnchor: it is hard to refactor\n 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}-${align}`]: !!align,\n [`${prefixCls}-mini`]: isSmall,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-bordered`]: token.wireframe\n }, pagination === null || pagination === void 0 ? void 0 : pagination.className, className, rootClassName, hashId, cssVarCls);\n const mergedStyle = Object.assign(Object.assign({}, pagination === null || pagination === void 0 ? void 0 : pagination.style), style);\n return wrapCSSVar( /*#__PURE__*/React.createElement(React.Fragment, null, token.wireframe && /*#__PURE__*/React.createElement(BorderedStyle, {\n prefixCls: prefixCls\n }), /*#__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;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nfunction renderExpandIcon(locale) {\n return props => {\n const {\n prefixCls,\n onExpand,\n record,\n expanded,\n expandable\n } = props;\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;","export const 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 const 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 const safeColumnTitle = (title, props) => {\n const res = renderColumnTitle(title, props);\n if (Object.prototype.toString.call(res) === '[object Object]') {\n return '';\n }\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};\n\n/**![filter](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTM0OSA4MzhjMCAxNy43IDE0LjIgMzIgMzEuOCAzMmgyNjIuNGMxNy42IDAgMzEuOC0xNC4zIDMxLjgtMzJWNjQySDM0OXYxOTZ6bTUzMS4xLTY4NEgxNDMuOWMtMjQuNSAwLTM5LjggMjYuNy0yNy41IDQ4bDIyMS4zIDM3NmgzNDguOGwyMjEuMy0zNzZjMTIuMS0yMS4zLTMuMi00OC0yNy43LTQ4eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FilterFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FilterFilled';\n}\nexport default RefIcon;","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35,\n // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36,\n // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37,\n // also NUM_WEST\n /**\n * UP\n */\n UP: 38,\n // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39,\n // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40,\n // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45,\n // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46,\n // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91,\n // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n // needs localization\n /**\n * DASH\n */\n DASH: 189,\n // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187,\n // needs localization\n /**\n * COMMA\n */\n COMMA: 188,\n // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190,\n // needs localization\n /**\n * SLASH\n */\n SLASH: 191,\n // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n if (e.altKey && !e.ctrlKey || e.metaKey ||\n // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n },\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nvar useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nvar useLayoutEffect = function useLayoutEffect(callback, deps) {\n var firstMountRef = React.useRef(true);\n useInternalLayoutEffect(function () {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(function () {\n firstMountRef.current = false;\n return function () {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport var useLayoutUpdateEffect = function useLayoutUpdateEffect(callback, deps) {\n useLayoutEffect(function (firstMount) {\n if (!firstMount) {\n return callback();\n }\n }, deps);\n};\nexport default useLayoutEffect;","import React from 'react';\nimport ReactDOM from 'react-dom';\nexport function isDOM(node) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element\n // Since XULElement is also subclass of Element, we only need HTMLElement and SVGElement\n return node instanceof HTMLElement || node instanceof SVGElement;\n}\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\nexport default function findDOMNode(node) {\n if (isDOM(node)) {\n return node;\n }\n if (node instanceof React.Component) {\n return ReactDOM.findDOMNode(node);\n }\n return null;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable no-param-reassign */\n\nimport { isValidElement } from 'react';\nimport { ForwardRef, isFragment, isMemo } from 'react-is';\nimport useMemo from \"./hooks/useMemo\";\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n var refList = refs.filter(function (ref) {\n return ref;\n });\n if (refList.length <= 1) {\n return refList[0];\n }\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length !== next.length || prev.every(function (ref, i) {\n return ref !== next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n\n // Function component node\n if (typeof type === 'function' && !((_type$prototype = type.prototype) !== null && _type$prototype !== void 0 && _type$prototype.render) && type.$$typeof !== ForwardRef) {\n return false;\n }\n\n // Class component\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) !== null && _nodeOrComponent$prot !== void 0 && _nodeOrComponent$prot.render) && nodeOrComponent.$$typeof !== ForwardRef) {\n return false;\n }\n return true;\n}\nexport function supportNodeRef(node) {\n if (! /*#__PURE__*/isValidElement(node)) {\n return false;\n }\n if (isFragment(node)) {\n return false;\n }\n return supportRef(node);\n}\n/* eslint-enable */","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport var Context = /*#__PURE__*/React.createContext({});\nexport default function MotionProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: props\n }, children);\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n var _super = _createSuper(DomWrapper);\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n return _super.apply(this, arguments);\n }\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return DomWrapper;\n}(React.Component);\nexport default DomWrapper;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n}","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';\n/**\n * Used for disabled motion case.\n * Prepare stage will still work but start & active will be skipped.\n */\nexport var STEP_PREPARED = 'prepared';","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\";\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n style = _document$createEleme.style;\n}\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n var prefixMap = vendorPrefixes[eventName];\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from \"../util/motion\";\nexport default (function (callback) {\n var cacheElementRef = useRef();\n\n // Cache callback\n var callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n // Internal motion event handler\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []);\n\n // Remove events\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n }\n\n // Patch events\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd);\n\n // Save as cache in case dom removed trigger by `motionDeadline`\n cacheElementRef.current = element;\n }\n }\n\n // Clean up when removed\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { useEffect, useLayoutEffect } from 'react';\n\n// It's safe to use `useLayoutEffect` but the warning is annoying\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\nvar rafUUID = 0;\nvar rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nvar wrapperRaf = function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n\n // Trigger\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n });\n\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(id);\n return caf(realId);\n};\nif (process.env.NODE_ENV !== 'production') {\n wrapperRaf.ids = function () {\n return rafIds;\n };\n}\nexport default wrapperRaf;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { STEP_ACTIVATED, STEP_ACTIVE, STEP_NONE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useNextFrame from \"./useNextFrame\";\nvar FULL_STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\nvar SIMPLE_STEP_QUEUE = [STEP_PREPARE, STEP_PREPARED];\n\n/** Skip current step */\nexport var SkipStep = false;\n/** Current step should be update in */\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, prepareOnly, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n var STEP_QUEUE = prepareOnly ? SIMPLE_STEP_QUEUE : FULL_STEP_QUEUE;\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else if (nextStep) {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport classNames from 'classnames';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport { Context } from \"./context\";\nimport DomWrapper from \"./DomWrapper\";\nimport useStatus from \"./hooks/useStatus\";\nimport { isActive } from \"./hooks/useStepQueue\";\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from \"./interface\";\nimport { getTransitionName, supportTransition } from \"./util/motion\";\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n function isSupportTransition(props, contextMotion) {\n return !!(props.motionName && transitionSupport && contextMotion !== false);\n }\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var _React$useContext = React.useContext(Context),\n contextMotion = _React$useContext.motion;\n var supportMotion = isSupportTransition(props, contextMotion);\n\n // Ref to the react node, it may be a HTMLElement\n var nodeRef = useRef();\n // Ref to the dom wrapper in case ref can not pass to HTMLElement\n var wrapperNodeRef = useRef();\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3];\n\n // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n var renderedRef = React.useRef(mergedVisible);\n if (mergedVisible) {\n renderedRef.current = true;\n }\n\n // ====================== Refs ======================\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]);\n\n // ===================== Render =====================\n var motionChildren;\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current && leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender || !removeOnLeave && !leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n // In motion\n var statusSuffix;\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n var motionCls = getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix));\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, motionCls, motionCls && statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n }\n\n // Auto inject ref if child node not have `ref` props\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _ref = motionChildren,\n originNodeRef = _ref.ref;\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { STATUS_APPEAR, STATUS_ENTER, STATUS_LEAVE, STATUS_NONE, STEP_ACTIVE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useDomMotionEvents from \"./useDomMotionEvents\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useStepQueue, { DoStep, isActive, SkipStep } from \"./useStepQueue\";\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n\n // =========================== Dom Node ===========================\n function getDomElement() {\n return getElement();\n }\n\n // ========================== Motion End ==========================\n var activeRef = useRef(false);\n\n /**\n * Clean up status & style\n */\n function updateMotionEndStatus() {\n setStatus(STATUS_NONE, true);\n setStyle(null, true);\n }\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n var currentActive = activeRef.current;\n var canEnd;\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n }\n\n // Only update status when `canEnd` and not destroyed\n if (status !== STATUS_NONE && currentActive && canEnd !== false) {\n updateMotionEndStatus();\n }\n }\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0];\n\n // ============================= Step =============================\n var getEventHandlers = function getEventHandlers(targetStatus) {\n var _ref2, _ref3, _ref4;\n switch (targetStatus) {\n case STATUS_APPEAR:\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n case STATUS_ENTER:\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n case STATUS_LEAVE:\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n default:\n return {};\n }\n };\n var eventHandlers = React.useMemo(function () {\n return getEventHandlers(status);\n }, [status]);\n var _useStepQueue = useStepQueue(status, !supportMotion, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n if (!onPrepare) {\n return SkipStep;\n }\n return onPrepare(getDomElement());\n }\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n if (step === STEP_PREPARED) {\n updateMotionEndStatus();\n }\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n var active = isActive(step);\n activeRef.current = active;\n\n // ============================ Status ============================\n // Update with new status\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n // if (!supportMotion) {\n // return;\n // }\n\n var nextStatus;\n\n // Appear\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n }\n\n // Enter\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n }\n\n // Leave\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n }\n var nextEventHandlers = getEventHandlers(nextStatus);\n\n // Update to next status\n if (nextStatus && (supportMotion || nextEventHandlers[STEP_PREPARE])) {\n setStatus(nextStatus);\n startStep();\n } else {\n // Set back in case no motion but prev status has prepare step\n setStatus(STATUS_NONE);\n }\n }, [visible]);\n\n // ============================ Effect ============================\n // Reset when motion changed\n useEffect(function () {\n if (\n // Cancel appear\n status === STATUS_APPEAR && !motionAppear ||\n // Cancel enter\n status === STATUS_ENTER && !motionEnter ||\n // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []);\n\n // Trigger `onVisibleChanged`\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, status]);\n\n // ============================ Styles ============================\n var mergedStyle = style;\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys);\n\n // Check prev keys to insert or keep\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n }\n\n // If not hit, it means key is removed\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n });\n\n // Add rest to the list\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n });\n\n // Update `STATUS_ADD` to `STATUS_KEEP`\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from \"./CSSMotion\";\nimport { diffKeys, parseKeys, STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED } from \"./util/diff\";\nimport { supportTransition } from \"./util/motion\";\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearPrepare', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n var _super = _createSuper(CSSMotionList);\n function CSSMotionList() {\n var _this;\n _classCallCheck(this, CSSMotionList);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n keyEntities: []\n });\n // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n _defineProperty(_assertThisInitialized(_this), \"removeKey\", function (removeKey) {\n var keyEntities = _this.state.keyEntities;\n var nextKeyEntities = keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n _this.setState({\n keyEntities: nextKeyEntities\n });\n return nextKeyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n });\n return _this;\n }\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var keyEntities = this.state.keyEntities;\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2, index) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 ? void 0 : _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n if (!changedVisible) {\n var restKeysCount = _this2.removeKey(eventProps.key);\n if (restKeysCount === 0 && onAllRemoved) {\n onAllRemoved();\n }\n }\n }\n }), function (props, ref) {\n return children(_objectSpread(_objectSpread({}, props), {}, {\n index: index\n }), ref);\n });\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n });\n\n // Remove if already mark as removed\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n return true;\n })\n };\n }\n }]);\n return CSSMotionList;\n }(React.Component);\n _defineProperty(CSSMotionList, \"defaultProps\", {\n component: 'div'\n });\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from \"./CSSMotion\";\nimport CSSMotionList from \"./CSSMotionList\";\nexport { default as Provider } from \"./context\";\nexport { CSSMotionList };\nexport default CSSMotion;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\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\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\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\n // Effect if unmount\n useUnmount(triggerMotionStart, triggerMotionEnd);\n\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 = Object.assign({}, (_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';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\n\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 useLayoutEffect(function () {\n if (firstMount) {\n triggerStart();\n return function () {\n triggerEnd();\n };\n }\n }, [firstMount]);\n 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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\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 */\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\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\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\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\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\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\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 = Object.assign({}, (_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 _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\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\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\n\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { TreeContext } from \"./contextTypes\";\nimport DropIndicator from \"./DropIndicator\";\nimport NodeList, { MOTION_KEY, MotionEntity } from \"./NodeList\";\nimport TreeNode from \"./TreeNode\";\nimport { arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductExpandParent, getDragChildrenKeys, parseCheckedKeys, posToArr } from \"./util\";\nimport { conductCheck } from \"./utils/conductUtil\";\nimport getEntity from \"./utils/keyUtil\";\nimport { convertDataToEntities, convertNodePropsToEventData, convertTreeToData, fillFieldNames, flattenTreeData, getTreeNodeProps, warningWithoutKey } from \"./utils/treeUtil\";\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 _defineProperty(_assertThisInitialized(_this), \"destroyed\", false);\n _defineProperty(_assertThisInitialized(_this), \"delayedDragEnterLogic\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"loadingRetryTimes\", {});\n _defineProperty(_assertThisInitialized(_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 // the drop position of abstract-drop-node, inside 0, top -1, bottom 1\n dropContainerKey: null,\n // the container key of abstract-drop-node if dropPosition is -1 or 1\n dropLevelOffset: null,\n // the drop level offset of abstract-drag-over-node\n dropTargetPos: null,\n // the pos of abstract-drop-node\n dropAllowed: true,\n // if drop to abstract-drop-node is allowed\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 _defineProperty(_assertThisInitialized(_this), \"dragStartMousePosition\", null);\n _defineProperty(_assertThisInitialized(_this), \"dragNode\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"currentMouseOverDroppableNodeKey\", null);\n _defineProperty(_assertThisInitialized(_this), \"listRef\", /*#__PURE__*/React.createRef());\n _defineProperty(_assertThisInitialized(_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 || 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 _defineProperty(_assertThisInitialized(_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\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\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 = getEntity(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 || onExpand(newExpandedKeys, {\n node: convertNodePropsToEventData(node.props),\n expanded: true,\n nativeEvent: event.nativeEvent\n });\n }, 800);\n }\n\n // Skip if drag node is self\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n _this.resetDragState();\n return;\n }\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 || onDragEnter({\n event: event,\n node: convertNodePropsToEventData(node.props),\n expandedKeys: expandedKeys\n });\n });\n _defineProperty(_assertThisInitialized(_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 calculated by calcDropPosition\n return;\n }\n\n // Update drag position\n\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 || onDragOver({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n });\n _defineProperty(_assertThisInitialized(_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 || 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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 || onDragEnd({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n _this.dragNode = null;\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n });\n _defineProperty(_assertThisInitialized(_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: getEntity(_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 || onDrop(dropResult);\n }\n _this.dragNode = null;\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 || onClick(e, treeNode);\n });\n _defineProperty(_assertThisInitialized(_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 || onDoubleClick(e, treeNode);\n });\n _defineProperty(_assertThisInitialized(_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\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\n // [Legacy] Not found related usage in doc or upper libs\n var selectedNodes = selectedKeys.map(function (selectedKey) {\n var entity = getEntity(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 || onSelect(selectedKeys, {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes: selectedNodes,\n nativeEvent: e.nativeEvent\n });\n });\n _defineProperty(_assertThisInitialized(_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\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 getEntity(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\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\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 = getEntity(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 || onCheck(checkedObj, eventObj);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeLoad\", function (treeNode) {\n var _entity$children;\n var key = treeNode.key;\n var keyEntities = _this.state.keyEntities;\n\n // Skip if has children already\n var entity = getEntity(keyEntities, key);\n if (entity !== null && entity !== void 0 && (_entity$children = entity.children) !== null && _entity$children !== void 0 && _entity$children.length) {\n return;\n }\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\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\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 || 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\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\n // Not care warning if we ignore this\n loadPromise.catch(function () {});\n return loadPromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeMouseEnter\", function (event, node) {\n var onMouseEnter = _this.props.onMouseEnter;\n onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({\n event: event,\n node: node\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeMouseLeave\", function (event, node) {\n var onMouseLeave = _this.props.onMouseLeave;\n onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({\n event: event,\n node: node\n });\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 || onFocus.apply(void 0, args);\n });\n _defineProperty(_assertThisInitialized(_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 || onBlur.apply(void 0, args);\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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\n // Do nothing when motion is in progress\n if (listChanging) {\n return;\n }\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 || onExpand(expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e.nativeEvent\n });\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 _defineProperty(_assertThisInitialized(_this), \"onListChangeStart\", function () {\n _this.setUncontrolledState({\n listChanging: true\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onListChangeEnd\", function () {\n setTimeout(function () {\n _this.setUncontrolledState({\n listChanging: false\n });\n });\n });\n // =========================== Keyboard ===========================\n _defineProperty(_assertThisInitialized(_this), \"onActiveChange\", function (newActiveKey) {\n var activeKey = _this.state.activeKey;\n var _this$props9 = _this.props,\n onActiveChange = _this$props9.onActiveChange,\n _this$props9$itemScro = _this$props9.itemScrollOffset,\n itemScrollOffset = _this$props9$itemScro === void 0 ? 0 : _this$props9$itemScro;\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 offset: itemScrollOffset\n });\n }\n onActiveChange === null || onActiveChange === void 0 || onActiveChange(newActiveKey);\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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\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 _key4 = item.key;\n _this.onActiveChange(_key4);\n } else {\n _this.onActiveChange(null);\n }\n });\n _defineProperty(_assertThisInitialized(_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$props10 = _this.props,\n onKeyDown = _this$props10.onKeyDown,\n checkable = _this$props10.checkable,\n selectable = _this$props10.selectable;\n\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\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\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 || onKeyDown(event);\n });\n /**\n * Only update the value which is not in props\n */\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _this$props11 = this.props,\n activeKey = _this$props11.activeKey,\n _this$props11$itemScr = _this$props11.itemScrollOffset,\n itemScrollOffset = _this$props11$itemScr === void 0 ? 0 : _this$props11$itemScr;\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 offset: itemScrollOffset\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 _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$props12 = this.props,\n prefixCls = _this$props12.prefixCls,\n className = _this$props12.className,\n style = _this$props12.style,\n showLine = _this$props12.showLine,\n focusable = _this$props12.focusable,\n _this$props12$tabInde = _this$props12.tabIndex,\n tabIndex = _this$props12$tabInde === void 0 ? 0 : _this$props12$tabInde,\n selectable = _this$props12.selectable,\n showIcon = _this$props12.showIcon,\n icon = _this$props12.icon,\n switcherIcon = _this$props12.switcherIcon,\n draggable = _this$props12.draggable,\n checkable = _this$props12.checkable,\n checkStrictly = _this$props12.checkStrictly,\n disabled = _this$props12.disabled,\n motion = _this$props12.motion,\n loadData = _this$props12.loadData,\n filterTreeNode = _this$props12.filterTreeNode,\n height = _this$props12.height,\n itemHeight = _this$props12.itemHeight,\n virtual = _this$props12.virtual,\n titleRender = _this$props12.titleRender,\n dropIndicatorRender = _this$props12.dropIndicatorRender,\n onContextMenu = _this$props12.onContextMenu,\n onScroll = _this$props12.onScroll,\n direction = _this$props12.direction,\n rootClassName = _this$props12.rootClassName,\n rootStyle = _this$props12.rootStyle;\n var domProps = pickAttrs(this.props, {\n aria: true,\n data: true\n });\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, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-show-line\"), showLine), \"\".concat(prefixCls, \"-focused\"), focused), \"\".concat(prefixCls, \"-active-focused\"), activeKey !== null)),\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\n // ================== Tree Node ==================\n var treeData;\n\n // fieldNames\n var fieldNames = prevState.fieldNames;\n if (needSync('fieldNames')) {\n fieldNames = fillFieldNames(props.fieldNames);\n newState.fieldNames = fieldNames;\n }\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\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\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\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\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\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\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\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState.loadedKeys = props.loadedKeys;\n }\n return newState;\n }\n }]);\n return Tree;\n}(React.Component);\n_defineProperty(Tree, \"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});\n_defineProperty(Tree, \"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};\n\n/**![file](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1NC42IDI4OC42TDYzOS40IDczLjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjgzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NDBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzExLjNjMC04LjUtMy40LTE2LjctOS40LTIyLjd6TTc5MC4yIDMyNkg2MDJWMTM3LjhMNzkwLjIgMzI2em0xLjggNTYySDIzMlYxMzZoMzAydjIxNmE0MiA0MiAwIDAwNDIgNDJoMjE2djQ5NHoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FileOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FileOutlined';\n}\nexport default RefIcon;","// 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};\n\n/**![folder-open](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkyOCA0NDRIODIwVjMzMC40YzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ3M0wzNTUuNyAxODYuMmE4LjE1IDguMTUgMCAwMC01LjUtMi4ySDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY1OTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjk4YzEzIDAgMjQuOC03LjkgMjkuNy0yMGwxMzQtMzMyYzEuNS0zLjggMi4zLTcuOSAyLjMtMTIgMC0xNy43LTE0LjMtMzItMzItMzJ6TTEzNiAyNTZoMTg4LjVsMTE5LjYgMTE0LjRINzQ4VjQ0NEgyMzhjLTEzIDAtMjQuOCA3LjktMjkuNyAyMEwxMzYgNjQzLjJWMjU2em02MzUuMyA1MTJIMTU5bDEwMy4zLTI1Nmg2MTIuNEw3NzEuMyA3Njh6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FolderOpenOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FolderOpenOutlined';\n}\nexport default RefIcon;","// 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};\n\n/**![folder](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg4MCAyOTguNEg1MjFMNDAzLjcgMTg2LjJhOC4xNSA4LjE1IDAgMDAtNS41LTIuMkgxNDRjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjU5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg3MzZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzMwLjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTg0MCA3NjhIMTg0VjI1NmgxODguNWwxMTkuNiAxMTQuNEg4NDBWNzY4eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FolderOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FolderOutlined';\n}\nexport default RefIcon;","// 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};\n\n/**![holder](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMwMCAyNzYuNWE1NiA1NiAwIDEwNTYtOTcgNTYgNTYgMCAwMC01NiA5N3ptMCAyODRhNTYgNTYgMCAxMDU2LTk3IDU2IDU2IDAgMDAtNTYgOTd6TTY0MCAyMjhhNTYgNTYgMCAxMDExMiAwIDU2IDU2IDAgMDAtMTEyIDB6bTAgMjg0YTU2IDU2IDAgMTAxMTIgMCA1NiA1NiAwIDAwLTExMiAwek0zMDAgODQ0LjVhNTYgNTYgMCAxMDU2LTk3IDU2IDU2IDAgMDAtNTYgOTd6TTY0MCA3OTZhNTYgNTYgMCAxMDExMiAwIDU2IDU2IDAgMDAtMTEyIDB6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(HolderOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'HolderOutlined';\n}\nexport default RefIcon;","import { Keyframes, unit } from '@ant-design/cssinjs';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\nimport { genFocusOutline, resetComponent } from '../../style';\nimport { genCollapseMotion } from '../../style/motion';\nimport { genStyleHooks, 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: `${unit(token.lineWidthBold)} 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 ${unit(treeNodePadding)} 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`]: {\n background: token.controlItemBgHover\n },\n [`&:not(${treeNodeCls}-disabled).filter-node ${treeCls}-title`]: {\n color: token.colorPrimary,\n fontWeight: 500\n },\n '&-draggable': {\n cursor: 'grab',\n [`${treeCls}-draggable-icon`]: {\n // https://github.com/ant-design/ant-design/issues/41915\n flexShrink: 0,\n width: titleHeight,\n lineHeight: unit(titleHeight),\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: unit(titleHeight),\n textAlign: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n transition: `all ${token.motionDurationSlow}`,\n '&-noop': {\n cursor: 'unset'\n },\n '&:before': {\n pointerEvents: 'none',\n content: '\"\"',\n width: titleHeight,\n height: titleHeight,\n position: 'absolute',\n left: {\n _skip_check_: true,\n value: 0\n },\n top: 0,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationSlow}`\n },\n [`&:not(${treeCls}-switcher-noop):hover:before`]: {\n backgroundColor: token.colorBgTextHover\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: token.calc(titleHeight).div(2).equal(),\n bottom: token.calc(treeNodePadding).mul(-1).equal(),\n marginInlineStart: -1,\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&:after': {\n position: 'absolute',\n width: token.calc(token.calc(titleHeight).div(2).equal()).mul(0.8).equal(),\n height: token.calc(titleHeight).div(2).equal(),\n borderBottom: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n }\n }\n }),\n // >>> Checkbox\n [`${treeCls}-checkbox`]: {\n top: 'initial',\n marginInlineEnd: treeCheckBoxMarginHorizontal,\n alignSelf: 'flex-start',\n marginTop: token.marginXXS\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 ${unit(token.calc(token.paddingXS).div(2).equal())}`,\n color: 'inherit',\n lineHeight: unit(titleHeight),\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: unit(titleHeight),\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: unit(titleHeight),\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: token.calc(titleHeight).div(2).equal(),\n bottom: token.calc(treeNodePadding).mul(-1).equal(),\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: `${unit(token.calc(titleHeight).div(2).equal())} !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.calc(token.paddingXS).div(2).equal();\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 const prepareComponentToken = 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};\nexport default genStyleHooks('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}, prepareComponentToken);","\"use client\";\n\nimport React from 'react';\nexport const offset = 4;\nfunction 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}\nexport default dropIndicatorRender;","// 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};\n\n/**![caret-down](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg0MC40IDMwMEgxODMuNmMtMTkuNyAwLTMwLjcgMjAuOC0xOC41IDM1bDMyOC40IDM4MC44YzkuNCAxMC45IDI3LjUgMTAuOSAzNyAwTDg1OC45IDMzNWMxMi4yLTE0LjIgMS4yLTM1LTE4LjUtMzV6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretDownFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretDownFilled';\n}\nexport default RefIcon;","// 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};\n\n/**![minus-square](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMyOCA1NDRoMzY4YzQuNCAwIDgtMy42IDgtOHYtNDhjMC00LjQtMy42LTgtOC04SDMyOGMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOHoiIC8+PHBhdGggZD0iTTg4MCAxMTJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY3MzZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTQwIDcyOEgxODRWMTg0aDY1NnY2NTZ6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(MinusSquareOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'MinusSquareOutlined';\n}\nexport default RefIcon;","// 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};\n\n/**![plus-square](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMyOCA1NDRoMTUydjE1MmMwIDQuNCAzLjYgOCA4IDhoNDhjNC40IDAgOC0zLjYgOC04VjU0NGgxNTJjNC40IDAgOC0zLjYgOC04di00OGMwLTQuNC0zLjYtOC04LThINTQ0VjMyOGMwLTQuNC0zLjYtOC04LThoLTQ4Yy00LjQgMC04IDMuNi04IDh2MTUySDMyOGMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOHoiIC8+PHBhdGggZD0iTTg4MCAxMTJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY3MzZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTQwIDcyOEgxODRWMTg0aDY1NnY2NTZ6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(PlusSquareOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'PlusSquareOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport * as React from 'react';\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 { cloneElement } from '../../_util/reactNode';\nconst SwitcherIconCom = props => {\n const {\n prefixCls,\n switcherIcon,\n treeNodeProps,\n showLine,\n switcherLoadingIcon\n } = props;\n const {\n isLeaf,\n expanded,\n loading\n } = treeNodeProps;\n if (loading) {\n if ( /*#__PURE__*/React.isValidElement(switcherLoadingIcon)) {\n return switcherLoadingIcon;\n }\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 ( /*#__PURE__*/React.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 ( /*#__PURE__*/React.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 { useToken } from '../theme/internal';\nimport useStyle from './style';\nimport dropIndicatorRender from './utils/dropIndicator';\nimport SwitcherIconCom from './utils/iconUtil';\nconst Tree = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a;\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 switcherLoadingIcon,\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 [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const [, token] = useToken();\n const itemHeight = token.paddingXS / 2 + (((_a = token.Tree) === null || _a === void 0 ? void 0 : _a.titleHeight) || token.controlHeightSM);\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 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 switcherLoadingIcon: switcherLoadingIcon,\n treeNodeProps: nodeProps,\n showLine: showLine\n }));\n return wrapCSSVar(\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(RcTree, Object.assign({\n itemHeight: itemHeight,\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, cssVarCls),\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\";\nimport { fillFieldNames } from \"rc-tree/es/utils/treeUtil\";\nconst RECORD_NONE = 0;\nconst RECORD_START = 1;\nconst RECORD_END = 2;\nfunction traverseNodesKey(treeData, callback, fieldNames) {\n const {\n key: fieldKey,\n children: fieldChildren\n } = fieldNames;\n function processNode(dataNode) {\n const key = dataNode[fieldKey];\n const children = dataNode[fieldChildren];\n if (callback(key, dataNode) !== false) {\n traverseNodesKey(children || [], callback, fieldNames);\n }\n }\n treeData.forEach(processNode);\n}\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(_ref) {\n let {\n treeData,\n expandedKeys,\n startKey,\n endKey,\n fieldNames\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 }, fillFieldNames(fieldNames));\n return keys;\n}\nexport function convertDirectoryKeysToNodes(treeData, keys, fieldNames) {\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 }, fillFieldNames(fieldNames));\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 * as React from 'react';\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 { 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 fieldNames\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, fieldNames);\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 fieldNames\n })))));\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n } else {\n // Single click\n newSelectedKeys = [key];\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\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;","\"use client\";\n\nimport * as React from 'react';\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport Input from '../../../input';\nconst FilterSearch = props => {\n const {\n value,\n filterSearch,\n tablePrefixCls,\n locale,\n onChange\n } = props;\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 * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nconst onKeyDown = event => {\n const {\n keyCode\n } = event;\n if (keyCode === KeyCode.ENTER) {\n event.stopPropagation();\n }\n};\nconst FilterDropdownMenuWrapper = /*#__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 * as React from 'react';\nimport FilterFilled from \"@ant-design/icons/es/icons/FilterFilled\";\nimport classNames from 'classnames';\nimport isEqual from \"rc-util/es/isEqual\";\nimport useSyncState from '../../../_util/hooks/useSyncState';\nimport { devUseWarning } 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 wrapStringListType(keys) {\n return keys || [];\n}\nconst FilterDropdown = props => {\n var _a, _b;\n const {\n tablePrefixCls,\n prefixCls,\n column,\n dropdownPrefixCls,\n columnKey,\n filterOnClose,\n filterMultiple,\n filterMode = 'menu',\n filterSearch = false,\n filterState,\n triggerFilter,\n locale,\n children,\n getPopupContainer,\n rootClassName\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 const warning = devUseWarning('Table');\n [['filterDropdownVisible', 'filterDropdownOpen', filterDropdownVisible], ['onFilterDropdownVisibleChange', 'onFilterDropdownOpenChange', onFilterDropdownVisibleChange]].forEach(_ref4 => {\n let [deprecatedName, newName, prop] = _ref4;\n warning.deprecated(prop === undefined || prop === null, deprecatedName, newName);\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(wrapStringListType(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: wrapStringListType(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 === null || keys === void 0 ? void 0 : 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, info) => {\n if (info.source === 'trigger') {\n if (newVisible && propFilteredKeys !== undefined) {\n // Sync filteredKeys on appear in controlled mode (propFilteredKeys !== undefined)\n setFilteredKeysSync(wrapStringListType(propFilteredKeys));\n }\n triggerVisible(newVisible);\n if (!newVisible && !column.filterDropdown && filterOnClose) {\n onConfirm();\n }\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 : String(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 const {\n direction,\n renderEmpty\n } = React.useContext(ConfigContext);\n if (typeof column.filterDropdown === 'function') {\n dropdownContent = column.filterDropdown({\n prefixCls: `${dropdownPrefixCls}-custom`,\n setSelectedKeys: selectedKeys => onSelectKeys({\n selectedKeys: 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 var _a;\n const empty = (_a = renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table.filter')) !== null && _a !== void 0 ? _a : ( /*#__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 if ((column.filters || []).length === 0) {\n return empty;\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 const items = renderFilterItems({\n filters: column.filters || [],\n filterSearch,\n prefixCls,\n filteredKeys: getFilteredKeysSync(),\n filterMultiple,\n searchValue\n });\n const isEmpty = items.every(item => item === null);\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 }), isEmpty ? empty : ( /*#__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: items\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 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 rootClassName: rootClassName\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 { devUseWarning } from '../../../_util/warning';\nimport { getColumnKey, getColumnPos, renderColumnTitle } from '../../util';\nimport FilterDropdown, { flattenKeys } from './FilterDropdown';\nconst 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, rootClassName) {\n return columns.map((column, index) => {\n const columnPos = getColumnPos(index, pos);\n const {\n filterOnClose = true,\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 filterOnClose: filterOnClose,\n filterMultiple: filterMultiple,\n filterMode: filterMode,\n filterSearch: filterSearch,\n triggerFilter: triggerFilter,\n locale: locale,\n getPopupContainer: getPopupContainer,\n rootClassName: rootClassName\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, rootClassName)\n });\n }\n return newColumn;\n });\n}\nconst generateFilterInfo = filterStates => {\n const currentFilters = {};\n filterStates.forEach(_ref2 => {\n let {\n key,\n filteredKeys,\n column\n } = _ref2;\n const keyAsString = key;\n const {\n filters,\n filterDropdown\n } = column;\n if (filterDropdown) {\n currentFilters[keyAsString] = filteredKeys || null;\n } else if (Array.isArray(filteredKeys)) {\n const keys = flattenKeys(filters);\n currentFilters[keyAsString] = keys.filter(originKey => filteredKeys.includes(String(originKey)));\n } else {\n currentFilters[keyAsString] = null;\n }\n });\n return currentFilters;\n};\nexport const getFilterData = (data, filterStates, childrenColumnName) => {\n const filterDatas = 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\n // shallow copy\n .map(record => Object.assign({}, record)).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 // filter children\n if (record[childrenColumnName]) {\n record[childrenColumnName] = getFilterData(record[childrenColumnName], filterStates, childrenColumnName);\n }\n return onFilter(realKey, record);\n }));\n }\n return currentData;\n }, data);\n return filterDatas;\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});\nconst useFilter = props => {\n const {\n prefixCls,\n dropdownPrefixCls,\n mergedColumns: rawMergedColumns,\n onFilterChange,\n getPopupContainer,\n locale: tableLocale,\n rootClassName\n } = props;\n const warning = devUseWarning('Table');\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(_ref3 => {\n let {\n filteredKeys\n } = _ref3;\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(_ref4 => {\n let {\n key\n } = _ref4;\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, 'usage', '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(_ref5 => {\n let {\n key\n } = _ref5;\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, undefined, rootClassName);\n return [transformColumns, mergedFilterStates, filters];\n};\nexport { flattenKeys };\nexport default useFilter;","import * as React from 'react';\nconst useLazyKVMap = (data, childrenColumnName, getRowKey) => {\n const mapCacheRef = React.useRef({});\n function getRecordByKey(key) {\n var _a;\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 (_a = mapCacheRef.current.kvMap) === null || _a === void 0 ? void 0 : _a.get(key);\n }\n return [getRecordByKey];\n};\nexport default useLazyKVMap;","const extendsObject = function () {\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;","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;","// 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};\n\n/**![caret-down](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg0MC40IDMwMEgxODMuNmMtMTkuNyAwLTMwLjcgMjAuOC0xOC41IDM1bDMyOC40IDM4MC44YzkuNCAxMC45IDI3LjUgMTAuOSAzNyAwTDg1OC45IDMzNWMxMi4yLTE0LjIgMS4yLTM1LTE4LjUtMzV6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretDownOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretDownOutlined';\n}\nexport default RefIcon;","// 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};\n\n/**![caret-up](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1OC45IDY4OUw1MzAuNSAzMDguMmMtOS40LTEwLjktMjcuNS0xMC45LTM3IDBMMTY1LjEgNjg5Yy0xMi4yIDE0LjItMS4yIDM1IDE4LjUgMzVoNjU2LjhjMTkuNyAwIDMwLjctMjAuOCAxOC41LTM1eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretUpOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretUpOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\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 Tooltip from '../../tooltip';\nimport { getColumnKey, getColumnPos, renderColumnTitle, safeColumnTitle } from '../util';\nconst ASCEND = 'ascend';\nconst DESCEND = 'descend';\nconst getMultiplePriority = column => {\n if (typeof column.sorter === 'object' && typeof column.sorter.multiple === 'number') {\n return column.sorter.multiple;\n }\n return false;\n};\nconst 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};\nconst nextSortDirection = (sortDirections, current) => {\n if (!current) {\n return sortDirections[0];\n }\n return sortDirections[sortDirections.indexOf(current) + 1];\n};\nconst collectSortStates = (columns, init, pos) => {\n let sortStates = [];\n const 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};\nconst injectSorter = (prefixCls, columns, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, pos) => {\n const finalColumns = (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' ? Object.assign({\n title: sortTip\n }, 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 columnSortersClass = `${prefixCls}-column-sorters`;\n const renderColumnTitleWrapper = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-column-title`\n }, renderColumnTitle(column.title, renderProps));\n const renderSortTitle = /*#__PURE__*/React.createElement(\"div\", {\n className: columnSortersClass\n }, renderColumnTitleWrapper, sorter);\n if (showSorterTooltip) {\n if (typeof showSorterTooltip !== 'boolean' && (showSorterTooltip === null || showSorterTooltip === void 0 ? void 0 : showSorterTooltip.target) === 'sorter-icon') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${columnSortersClass} ${prefixCls}-column-sorters-tooltip-target-sorter`\n }, renderColumnTitleWrapper, /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps), sorter));\n }\n return /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps), renderSortTitle);\n }\n return renderSortTitle;\n },\n onHeaderCell: col => {\n var _a;\n const cell = ((_a = column.onHeaderCell) === null || _a === void 0 ? void 0 : _a.call(column, 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 return finalColumns;\n};\nconst 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};\nconst 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 const lastIndex = sorterStates.length - 1;\n return Object.assign(Object.assign({}, stateToInfo(sorterStates[lastIndex])), {\n column: undefined\n });\n }\n if (list.length <= 1) {\n return list[0] || {};\n }\n return list;\n};\nexport const 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};\nconst useFilterSorter = props => {\n const {\n prefixCls,\n mergedColumns,\n sortDirections,\n tableLocale,\n showSorterTooltip,\n onSorterChange\n } = props;\n const [sortStates, setSortStates] = React.useState(collectSortStates(mergedColumns, true));\n const getColumnKeys = (columns, pos) => {\n const newKeys = [];\n columns.forEach((item, index) => {\n const columnPos = getColumnPos(index, pos);\n newKeys.push(getColumnKey(item, columnPos));\n if (Array.isArray(item.children)) {\n const childKeys = getColumnKeys(item.children, columnPos);\n newKeys.push.apply(newKeys, _toConsumableArray(childKeys));\n }\n });\n return newKeys;\n };\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 const mergedColumnsKeys = getColumnKeys(mergedColumns);\n return sortStates.filter(_ref4 => {\n let {\n key\n } = _ref4;\n return mergedColumnsKeys.includes(key);\n });\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 var _a, _b;\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: (_a = sortColumns[0]) === null || _a === void 0 ? void 0 : _a.column,\n sortOrder: (_b = sortColumns[0]) === null || _b === void 0 ? void 0 : _b.order\n };\n }, [mergedSorterStates]);\n const 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};\nexport default useFilterSorter;","import * as React from 'react';\nimport { renderColumnTitle } from '../util';\nconst fillTitle = (columns, columnTitleProps) => {\n const finalColumns = 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 return finalColumns;\n};\nconst useTitleColumns = columnTitleProps => {\n const filledColumns = React.useCallback(columns => fillTitle(columns, columnTitleProps), [columnTitleProps]);\n return [filledColumns];\n};\nexport default useTitleColumns;","\"use client\";\n\nimport { genTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nconst RcTable = genTable((prev, next) => {\n const {\n _renderTimes: prevRenderTimes\n } = prev;\n const {\n _renderTimes: nextRenderTimes\n } = next;\n return prevRenderTimes !== nextRenderTimes;\n});\nexport default RcTable;","\"use client\";\n\nimport { genVirtualTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nconst RcVirtualTable = genVirtualTable((prev, next) => {\n const {\n _renderTimes: prevRenderTimes\n } = prev;\n const {\n _renderTimes: nextRenderTimes\n } = next;\n return prevRenderTimes !== nextRenderTimes;\n});\nexport default RcVirtualTable;","import { unit } from '@ant-design/cssinjs';\nconst genBorderedStyle = token => {\n const {\n componentCls,\n lineWidth,\n lineType,\n tableBorderColor,\n tableHeaderBg,\n tablePaddingVertical,\n tablePaddingHorizontal,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${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: `${unit(calc(paddingVertical).mul(-1).equal())}\n ${unit(calc(calc(paddingHorizontal).add(lineWidth)).mul(-1).equal())}`\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: `${unit(calc(tablePaddingVertical).mul(-1).equal())} ${unit(calc(calc(tablePaddingHorizontal).add(lineWidth)).mul(-1).equal())}`,\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 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 ${unit(lineWidth)} 0 ${unit(lineWidth)} ${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;","import { unit } from '@ant-design/cssinjs';\nimport { operationUnit } from '../../style';\nconst genExpandStyle = token => {\n const {\n componentCls,\n antCls,\n motionDurationSlow,\n lineWidth,\n paddingXS,\n lineType,\n tableBorderColor,\n tableExpandIconBg,\n tableExpandColumnWidth,\n borderRadius,\n tablePaddingVertical,\n tablePaddingHorizontal,\n tableExpandedRowBg,\n paddingXXS,\n expandIconMarginTop,\n expandIconSize,\n expandIconHalfInner,\n expandIconScale,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const expandIconLineOffset = calc(paddingXXS).sub(lineWidth).equal();\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: unit(expandIconSize),\n background: tableExpandIconBg,\n border: tableBorder,\n borderRadius,\n transform: `scale(${expandIconScale})`,\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: expandIconHalfInner,\n insetInlineEnd: expandIconLineOffset,\n insetInlineStart: expandIconLineOffset,\n height: lineWidth\n },\n '&::after': {\n top: expandIconLineOffset,\n bottom: expandIconLineOffset,\n insetInlineStart: expandIconHalfInner,\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: expandIconMarginTop,\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: '100%'\n }\n }\n },\n // With fixed\n [`${componentCls}-expanded-row-fixed`]: {\n position: 'relative',\n margin: `${unit(calc(tablePaddingVertical).mul(-1).equal())} ${unit(calc(tablePaddingHorizontal).mul(-1).equal())}`,\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`\n }\n }\n };\n};\nexport default genExpandStyle;","import { unit } from '@ant-design/cssinjs';\nimport { 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 headerIconColor,\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 calc\n } = token;\n const dropdownPrefixCls = `${antCls}-dropdown`;\n const tableFilterDropdownPrefixCls = `${componentCls}-filter-dropdown`;\n const treePrefixCls = `${antCls}-tree`;\n const tableBorder = `${unit(lineWidth)} ${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: calc(paddingXXS).mul(-1).equal(),\n marginInline: `${unit(paddingXXS)} ${unit(calc(tablePaddingHorizontal).div(2).mul(-1).equal())}`,\n padding: `0 ${unit(paddingXXS)}`,\n color: headerIconColor,\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: `${unit(paddingXS)} 0`,\n color: colorTextDisabled,\n fontSize: fontSizeSM,\n textAlign: 'center',\n content: '\"Not Found\"'\n }\n },\n [`${tableFilterDropdownPrefixCls}-tree`]: {\n paddingBlock: `${unit(paddingXS)} 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: `${unit(calc(paddingXS).sub(lineWidth).equal())} ${unit(paddingXS)}`,\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 calc\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: calc(lineWidth).mul(-1).equal(),\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: calc(lineWidth).mul(-1).equal(),\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 position: 'relative',\n '&::before, &::after': {\n position: 'absolute',\n top: 0,\n bottom: 0,\n zIndex: calc(zIndexTableSticky).add(1).equal({\n unit: false\n }),\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::before`]: {\n boxShadow: `inset 10px 0 8px -8px ${shadowColor}`\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::after`]: {\n boxShadow: `inset -10px 0 8px -8px ${shadowColor}`\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 // Gapped fixed Columns do not show the shadow\n [`${componentCls}-fixed-column-gapped`]: {\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after,\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n boxShadow: 'none'\n }\n }\n }\n };\n};\nexport default genFixedStyle;","import { unit } from '@ant-design/cssinjs';\nconst genPaginationStyle = token => {\n const {\n componentCls,\n antCls,\n margin\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Pagination ==========================\n [`${componentCls}-pagination${antCls}-pagination`]: {\n margin: `${unit(margin)} 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;","import { unit } from '@ant-design/cssinjs';\nconst 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: `${unit(tableRadius)} ${unit(tableRadius)} 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 ${unit(tableRadius)} ${unit(tableRadius)}`\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;","import { unit } from '@ant-design/cssinjs';\nconst genSelectionStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n fontSizeIcon,\n padding,\n paddingXS,\n headerIconColor,\n headerIconHoverColor,\n tableSelectionColumnWidth,\n tableSelectedRowBg,\n tableSelectedRowHoverBg,\n tableRowHoverBg,\n tablePaddingHorizontal,\n calc\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Selections ==========================\n [`${componentCls}-selection-col`]: {\n width: tableSelectionColumnWidth,\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: calc(tableSelectionColumnWidth).add(fontSizeIcon).add(calc(padding).div(4)).equal()\n }\n },\n [`${componentCls}-bordered ${componentCls}-selection-col`]: {\n width: calc(tableSelectionColumnWidth).add(calc(paddingXS).mul(2)).equal(),\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: calc(tableSelectionColumnWidth).add(fontSizeIcon).add(calc(padding).div(4)).add(calc(paddingXS).mul(2)).equal()\n }\n },\n [`\n table tr th${componentCls}-selection-column,\n table tr td${componentCls}-selection-column,\n ${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: calc(token.zIndexTableFixed).add(1).equal({\n unit: false\n })\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: unit(calc(tablePaddingHorizontal).div(4).equal()),\n [iconCls]: {\n color: headerIconColor,\n fontSize: fontSizeIcon,\n verticalAlign: 'baseline',\n '&:hover': {\n color: headerIconHoverColor\n }\n }\n },\n // ============================= Rows =============================\n [`${componentCls}-tbody`]: {\n [`${componentCls}-row`]: {\n [`&${componentCls}-row-selected`]: {\n [`> ${componentCls}-cell`]: {\n background: tableSelectedRowBg,\n '&-row-hover': {\n background: tableSelectedRowHoverBg\n }\n }\n },\n [`> ${componentCls}-cell-row-hover`]: {\n background: tableRowHoverBg\n }\n }\n }\n }\n };\n};\nexport default genSelectionStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSizeStyle = token => {\n const {\n componentCls,\n tableExpandColumnWidth,\n calc\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: `${unit(paddingVertical)} ${unit(paddingHorizontal)}`\n },\n [`${componentCls}-filter-trigger`]: {\n marginInlineEnd: unit(calc(paddingHorizontal).div(2).mul(-1).equal())\n },\n [`${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(paddingVertical).mul(-1).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`\n },\n [`${componentCls}-tbody`]: {\n // ========================= Nest Table ===========================\n [`${componentCls}-wrapper:only-child ${componentCls}`]: {\n marginBlock: unit(calc(paddingVertical).mul(-1).equal()),\n marginInline: `${unit(calc(tableExpandColumnWidth).sub(paddingHorizontal).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`\n }\n },\n // https://github.com/ant-design/ant-design/issues/35167\n [`${componentCls}-selection-extra`]: {\n paddingInlineStart: unit(calc(paddingHorizontal).div(4).equal())\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 headerIconColor,\n headerIconHoverColor\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-sorters-tooltip-target-sorter`]: {\n '&::after': {\n content: 'none'\n }\n },\n [`${componentCls}-column-sorter`]: {\n marginInlineStart: marginXXS,\n color: headerIconColor,\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: headerIconHoverColor\n }\n }\n };\n};\nexport default genSorterStyle;","import { unit } from '@ant-design/cssinjs';\nconst genStickyStyle = token => {\n const {\n componentCls,\n opacityLoading,\n tableScrollThumbBg,\n tableScrollThumbBgHover,\n tableScrollThumbSize,\n tableScrollBg,\n zIndexTableSticky,\n stickyScrollBarBorderRadius,\n lineWidth,\n lineType,\n tableBorderColor\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${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: `${unit(tableScrollThumbSize)} !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;","import { unit } from '@ant-design/cssinjs';\nconst genSummaryStyle = token => {\n const {\n componentCls,\n lineWidth,\n tableBorderColor,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${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 ${unit(calc(lineWidth).mul(-1).equal())} 0 ${tableBorderColor}`\n }\n }\n };\n};\nexport default genSummaryStyle;","import { unit } from '@ant-design/cssinjs';\nconst genVirtualStyle = token => {\n const {\n componentCls,\n motionDurationMid,\n lineWidth,\n lineType,\n tableBorderColor,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const rowCellCls = `${componentCls}-expanded-row-cell`;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Row ==========================\n [`${componentCls}-tbody-virtual`]: {\n [`${componentCls}-row:not(tr)`]: {\n display: 'flex',\n boxSizing: 'border-box',\n width: '100%'\n },\n [`${componentCls}-cell`]: {\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid}`\n },\n [`${componentCls}-expanded-row`]: {\n [`${rowCellCls}${rowCellCls}-fixed`]: {\n position: 'sticky',\n insetInlineStart: 0,\n overflow: 'hidden',\n width: `calc(var(--virtual-width) - ${unit(lineWidth)})`,\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: calc(lineWidth).mul(-1).equal(),\n borderInlineStart: tableBorder\n }\n }\n },\n // Empty placeholder\n [`&${componentCls}-virtual`]: {\n [`${componentCls}-placeholder ${componentCls}-cell`]: {\n borderInlineEnd: tableBorder,\n borderBottom: tableBorder\n }\n }\n }\n }\n };\n};\nexport default genVirtualStyle;","import { unit } from '@ant-design/cssinjs';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { clearFix, resetComponent } from '../../style';\nimport { genStyleHooks, 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 tableExpandColumnWidth,\n lineWidth,\n lineType,\n tableBorderColor,\n tableFontSize,\n tableBg,\n tableRadius,\n tableHeaderTextColor,\n motionDurationMid,\n tableHeaderBg,\n tableHeaderCellSplitColor,\n tableFooterTextColor,\n tableFooterBg,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${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: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`,\n // https://github.com/ant-design/ant-design/issues/47486\n scrollbarColor: `${token.tableScrollThumbBg} ${token.tableScrollBg}`\n }),\n // https://github.com/ant-design/ant-design/issues/17611\n table: {\n width: '100%',\n textAlign: 'start',\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 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: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`,\n overflowWrap: 'break-word'\n },\n // ============================ Title =============================\n [`${componentCls}-title`]: {\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`\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: unit(calc(tablePaddingVertical).mul(-1).equal()),\n marginInline: `${unit(calc(tableExpandColumnWidth).sub(tablePaddingHorizontal).equal())}\n ${unit(calc(tablePaddingHorizontal).mul(-1).equal())}`,\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 },\n // ============================ Footer ============================\n [`${componentCls}-footer`]: {\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`,\n color: tableFooterTextColor,\n background: tableFooterBg\n }\n })\n };\n};\nexport const prepareComponentToken = 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 controlHeight,\n colorTextPlaceholder,\n fontSize,\n fontSizeSM,\n lineHeight,\n lineWidth,\n colorIcon,\n colorIconHover,\n opacityLoading,\n controlInteractiveSize\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 const baseColorAction = new TinyColor(colorIcon);\n const baseColorActionHover = new TinyColor(colorIconHover);\n const expandIconHalfInner = controlInteractiveSize / 2 - lineWidth;\n const expandIconSize = expandIconHalfInner * 2 + lineWidth * 3;\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 expandIconMarginTop: (fontSize * lineHeight - lineWidth * 3) / 2 - Math.ceil((fontSizeSM * 1.4 - lineWidth * 3) / 2),\n headerIconColor: baseColorAction.clone().setAlpha(baseColorAction.getAlpha() * opacityLoading).toRgbString(),\n headerIconHoverColor: baseColorActionHover.clone().setAlpha(baseColorActionHover.getAlpha() * opacityLoading).toRgbString(),\n expandIconHalfInner,\n expandIconSize,\n expandIconScale: controlInteractiveSize / expandIconSize\n };\n};\nconst zIndexTableFixed = 2;\n// ============================== Export ==============================\nexport default genStyleHooks('Table', token => {\n const {\n colorTextHeading,\n colorSplit,\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 calc\n } = token;\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 tableBodySortBg: bodySortBg,\n tableFixedHeaderSortActiveBg: fixedHeaderSortActiveBg,\n tableHeaderFilterActiveBg: headerFilterHoverBg,\n tableFilterDropdownBg: filterDropdownBg,\n tableRowHoverBg: rowHoverBg,\n tableSelectedRowBg: rowSelectedBg,\n tableSelectedRowHoverBg: rowSelectedHoverBg,\n zIndexTableFixed,\n zIndexTableSticky: calc(zIndexTableFixed).add(1).equal({\n unit: false\n }),\n tableFontSizeMiddle: cellFontSizeMD,\n tableFontSizeSmall: cellFontSizeSM,\n tableSelectionColumnWidth: selectionColumnWidth,\n tableExpandIconBg: expandIconBg,\n tableExpandColumnWidth: calc(checkboxSize).add(calc(token.padding).mul(2)).equal(),\n tableExpandedRowBg: rowExpandedBg,\n // Dropdown\n tableFilterDropdownWidth: 120,\n tableFilterDropdownHeight: 264,\n tableFilterDropdownSearchWidth: 140,\n // Virtual Scroll Bar\n tableScrollThumbSize: 8,\n // Mac scroll bar size\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}, prepareComponentToken, {\n unitless: {\n expandIconScale: true\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 useProxyImperativeHandle from '../_util/hooks/useProxyImperativeHandle';\nimport scrollTo from '../_util/scrollTo';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider/context';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\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 useContainerWidth from './hooks/useContainerWidth';\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 var _a, _b;\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 = {\n target: 'full-header'\n },\n virtual\n } = props;\n const warning = devUseWarning('Table');\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof rowKey === 'function' && rowKey.length > 1), 'usage', '`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 [, token] = useToken();\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const mergedExpandable = Object.assign(Object.assign({\n childrenColumnName: legacyChildrenColumnName,\n expandIconColumnIndex\n }, expandable), {\n expandIcon: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.expandIcon) !== null && _a !== void 0 ? _a : (_b = table === null || table === void 0 ? void 0 : table.expandable) === null || _b === void 0 ? void 0 : _b.expandIcon\n });\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 === null || expandable === void 0 ? void 0 : expandable.expandedRowRender)) {\n return 'row';\n }\n return null;\n }, [rawData]);\n const internalRefs = {\n body: React.useRef()\n };\n // ============================ Width =============================\n const getContainerWidth = useContainerWidth(prefixCls);\n // ============================= Refs =============================\n const rootRef = React.useRef(null);\n const tblRef = React.useRef(null);\n useProxyImperativeHandle(ref, () => Object.assign(Object.assign({}, tblRef.current), {\n nativeElement: rootRef.current\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, _d;\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) {\n (_c = pagination.onChange) === null || _c === void 0 ? void 0 : _c.call(pagination, 1, (_d = changeInfo.pagination) === null || _d === void 0 ? void 0 : _d.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, childrenColumnName),\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 rootClassName: classNames(rootClassName, rootCls)\n });\n const mergedData = getFilterData(sortedData, filterStates, childrenColumnName);\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, 'usage', '`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, 'usage', '`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 === null || mergedPagination === void 0 ? void 0 : mergedPagination.current, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.pageSize, mergedPagination === null || mergedPagination === void 0 ? void 0 : 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 const wrapperClassNames = classNames(cssVarCls, rootCls, `${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 = typeof (locale === null || locale === void 0 ? void 0 : locale.emptyText) !== 'undefined' ? 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 wrapCSSVar( /*#__PURE__*/React.createElement(\"div\", {\n ref: rootRef,\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 ref: tblRef,\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 }, cssVarCls, rootCls, hashId),\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 getContainerWidth: getContainerWidth\n })), bottomPaginationNode)));\n};\nexport default /*#__PURE__*/React.forwardRef(InternalTable);","export default function useContainerWidth(prefixCls) {\n const getContainerWidth = (ele, width) => {\n const container = ele.querySelector(`.${prefixCls}-container`);\n let returnWidth = width;\n if (container) {\n const style = getComputedStyle(container);\n const borderLeft = parseInt(style.borderLeftWidth, 10);\n const borderRight = parseInt(style.borderRightWidth, 10);\n returnWidth = width - borderLeft - borderRight;\n }\n return returnWidth;\n };\n return getContainerWidth;\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);\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 */\nexport function easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n // biome-ignore lint: it is a common easing function\n t /= d / 2;\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n }\n // biome-ignore lint: it is a common easing function\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}","\"use client\";\n\nimport * as React from 'react';\nimport { EXPAND_COLUMN, Summary } from 'rc-table';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport { SELECTION_ALL, SELECTION_COLUMN, SELECTION_INVERT, SELECTION_NONE } from './hooks/useSelection';\nimport InternalTable from './InternalTable';\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;","\"use client\";\n\nimport Table from './Table';\nexport default Table;","// This icon file is generated automatically.\nvar RightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z\" } }] }, \"name\": \"right\", \"theme\": \"outlined\" };\nexport default RightOutlined;\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 RightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RightOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar RightOutlined = function RightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: RightOutlinedSvg\n }));\n};\n\n/**![right](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTc2NS43IDQ4Ni44TDMxNC45IDEzNC43QTcuOTcgNy45NyAwIDAwMzAyIDE0MXY3Ny4zYzAgNC45IDIuMyA5LjYgNi4xIDEyLjZsMzYwIDI4MS4xLTM2MCAyODEuMWMtMy45IDMtNi4xIDcuNy02LjEgMTIuNlY4ODNjMCA2LjcgNy43IDEwLjQgMTIuOSA2LjNsNDUwLjgtMzUyLjFhMzEuOTYgMzEuOTYgMCAwMDAtNTAuNHoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(RightOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'RightOutlined';\n}\nexport default RefIcon;"],"names":["token","componentCls","menuCls","colorError","colorTextLightSolid","itemCls","color","backgroundColor","genBaseStyle","zIndexPopup","dropdownArrowDistance","sizePopupArrow","antCls","iconCls","motionDurationMid","paddingBlock","fontSize","dropdownEdgeChildPadding","colorTextDisabled","fontSizeIcon","controlPaddingHorizontal","colorBgElevated","position","top","left","_skip_check_","value","zIndex","display","insetBlock","calc","div","sub","equal","opacity","content","transition","transform","animationName","slide","arrowPlacement","bottom","margin","background","boxShadow","transformOrigin","listStyle","Object","assign","padding","listStyleType","backgroundClip","borderRadius","borderRadiusLG","outline","boxShadowSecondary","colorTextDescription","alignItems","whiteSpace","minWidth","marginInlineEnd","marginXS","fontSizeSM","flex","inset","clear","colorText","fontWeight","lineHeight","cursor","borderRadiusSM","controlItemBgHover","colorPrimary","controlItemBgActive","controlItemBgActiveHover","a","pointerEvents","height","marginXXS","overflow","colorSplit","insetInlineEnd","paddingXS","fontStyle","paddingInlineEnd","add","paddingXXS","dropdownToken","zIndexPopupBase","controlHeight","contentRadius","limitVerticalRadius","resetStyle","Dropdown","props","_a","menu","arrow","prefixCls","customizePrefixCls","children","trigger","disabled","dropdownRender","getPopupContainer","overlayClassName","rootClassName","overlayStyle","open","onOpenChange","visible","onVisibleChange","mouseEnterDelay","mouseLeaveDelay","autoAdjustOverflow","placement","overlay","transitionName","getContextPopupContainer","getPrefixCls","direction","dropdown","memoTransitionName","rootPrefixCls","undefined","includes","memoPlacement","slice","indexOf","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useToken","child","only","dropdownTrigger","className","triggerActions","alignPoint","mergedOpen","setOpen","useMergedState","onInnerOpenChange","nextOpen","source","overlayClassNameCustomized","builtinPlacements","arrowPointAtCenter","pointAtCenter","offset","arrowWidth","onMenuClick","selectable","multiple","contextZIndex","useZIndex","renderNode","omit","overlayNode","items","expandIcon","RightOutlined","mode","onClick","validator","_ref3","style","Provider","align","adjustX","adjustY","_InternalPanelDoNotUseOrYouWillBeFired","__rest","s","e","t","p","prototype","hasOwnProperty","call","getOwnPropertySymbols","i","length","propertyIsEnumerable","DropdownButton","type","danger","loading","htmlType","autoFocus","href","icon","EllipsisOutlined","title","buttonsRender","buttons","destroyPopupOnHide","restProps","buttonPrefixCls","dropdownProps","compactSize","compactItemClassnames","classes","leftButton","rightButton","leftButtonToRender","rightButtonToRender","Compact","size","block","__ANT_BUTTON","Button","OverrideContext","OverrideProvider","ref","override","context","canRef","mergedRef","space","SiderContext","createContext","firstLevel","inlineCollapsed","dashed","classString","disableMenuItemTitleTooltip","isInlineCollapsed","siderCollapsed","tooltipTitle","tooltipProps","childrenLength","toArray","returnNode","wrapNode","charAt","renderItemChildren","motionDurationSlow","horizontalLineHeight","lineWidth","lineType","itemPaddingInline","border","borderBottom","verticalAlign","paddingInline","join","_ref","menuArrowOffset","mul","accessibilityFocus","themeSuffix","itemColor","itemSelectedColor","groupTitleColor","itemBg","subMenuItemBg","itemSelectedBg","activeBarHeight","activeBarWidth","activeBarBorderWidth","motionEaseInOut","motionEaseOut","itemHoverColor","itemDisabledColor","dangerItemColor","dangerItemHoverColor","dangerItemSelectedColor","dangerItemActiveBg","dangerItemSelectedBg","popupBg","itemHoverBg","itemActiveBg","menuSubMenuBg","horizontalItemSelectedColor","horizontalItemSelectedBg","horizontalItemBorderRadius","horizontalItemHoverBg","marginTop","marginBottom","insetInline","borderBottomWidth","borderBottomColor","borderInlineEnd","borderInlineEndColor","getVerticalInlineStyle","itemHeight","itemMarginInline","menuArrowSize","itemMarginBlock","itemWidth","paddingWithArrow","textOverflow","marginInline","marginBlock","width","dropdownWidth","controlHeightLG","paddingXL","fontSizeLG","collapsedWidth","collapsedIconSize","inlineItemStyle","listStylePosition","maxHeight","overflowX","overflowY","paddingInlineStart","textAlign","insetInlineStart","genMenuItemStyle","iconSize","iconMarginInlineEnd","marginInlineStart","borderColor","genSubMenuArrowStyle","getBaseStyle","subMenuItemBorderRadius","groupTitleLineHeight","groupTitleFontSize","itemBorderRadius","borderStyle","borderWidth","borderTopWidth","paddingBottom","paddingTop","prepareComponentToken","_b","_c","colorErrorBg","colorBgContainer","colorFillAlter","colorFillContent","lineWidthBold","colorBgTextHover","controlHeightSM","colorErrorHover","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","darkItemDisabledColor","darkItemColor","darkDangerItemColor","darkItemBg","darkPopupBg","darkSubMenuItemBg","darkItemSelectedColor","darkItemSelectedBg","darkDangerItemSelectedBg","darkItemHoverBg","darkGroupTitleColor","darkItemHoverColor","darkDangerItemHoverColor","darkDangerItemSelectedColor","darkDangerItemActiveBg","arguments","injectStyle","menuToken","menuHorizontalHeight","menuDarkToken","deprecatedTokens","unitless","useStyle","popupClassName","theme","customTheme","contextTheme","parentPath","titleNode","titleIsSpan","contextValue","popupStyle","isEmptyIcon","MENU_COMPONENTS","item","submenu","divider","InternalMenu","forwardRef","overrideObj","_internalDisableMenuItemTitleTooltip","overflowedIndicatorPopupClassName","passedProps","onItemClick","apply","mergedMode","mergedSelectable","mergedInlineCollapsed","defaultMotions","horizontal","motionName","inline","other","menuClassName","mergedExpandIcon","mergedIcon","overflowedIndicator","_internalComponents","Menu","menuRef","useRef","useImperativeHandle","current","focus","options","Item","SubMenu","Divider","ItemGroup","operationUnit","colorLink","textDecoration","colorLinkHover","colorLinkActive","EXPAND_COLUMN","INTERNAL_HOOKS","defaultValue","Context","valueRef","_React$useState","getValue","listeners","Set","useLayoutEffect","unstable_batchedUpdates","forEach","listener","useContext","holder","selector","eventSelector","useEvent","ctx","Array","isArray","obj","key","_ref2","_React$useState3","forceUpdate","delete","nextValue","nextSelectorValue","isEqual","createImmutable","ImmutableContext","useImmutableMark","makeImmutable","Component","shouldTriggerRender","refAble","ImmutableComponent","refProps","renderTimesRef","prevProps","responseImmutable","propsAreEqual","_createImmutable","renderWithProps","INTERNAL_KEY_PREFIX","getColumnsKey","columns","columnKeys","keys","column","arr","dataIndex","mergedKey","concat","push","validateValue","val","useCellRender","record","renderIndex","render","shouldCellUpdate","perfRecord","mark","data","path","get","returnChildNode","returnCellProps","renderData","prev","next","prevRecord","nextRecord","Cell","_legacyCellProps$colS","_ref4","_ref5","_legacyCellProps$rowS","_additionalProps$titl","_classNames","component","ellipsis","scope","index","rowType","colSpan","rowSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_props$additionalProp","additionalProps","isSticky","cellPrefixCls","_useContext","supportSticky","allColumnsFixedLeft","rowHoverable","_useCellRender","_useCellRender2","childNode","legacyCellProps","fixedStyle","isFixLeft","isFixRight","right","mergedColSpan","mergedRowSpan","_useHoverState","rowIndex","cellStartRow","cellRowSpan","startRow","endRow","hoverStartRow","hoverEndRow","onHover","useHoverState","_useHoverState2","hovering","onMouseEnter","event","_additionalProps$onMo","onMouseLeave","_additionalProps$onMo2","ellipsisConfig","showTitle","toString","getTitleFromCellRenderChildren","mergedClassName","alignStyle","mergedStyle","mergedChildNode","getCellFixedInfo","colStart","colEnd","stickyOffsets","startColumn","endColumn","fixed","nextColumn","prevColumn","canLastFix","every","col","_excluded","Summary","Row","_ref$colSpan","_React$useContext","scrollColumnIndex","fixedInfo","flattenColumns","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","useFlattenRecords","map","useRowInfo","rowKey","recordIndex","computeRowClassName","expandableType","onTriggerExpand","rowExpandable","onRow","expandRowByClick","rowClassName","nestExpandable","rowSupportExpand","mergedExpandable","hasNestChildren","onInternalTriggerExpand","rowProps","onRowClick","columnsKey","expandable","_len","args","_key","cellComponent","isEmpty","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","getCellProps","rowInfo","colIndex","appendCellNode","additionalCellProps","fixedInfoList","expandIconColumnIndex","indentSize","paddingLeft","onExpand","onCell","_props$indent","RowComponent","rowComponent","scopeCellComponent","expandedRowClassName","expandedRowRender","expandedRef","expandRowNode","computedExpandedRowClassName","baseRowNode","columnClassName","_getCellProps","rowScope","expandContent","MeasureCell","columnKey","onColumnResize","cellRef","offsetWidth","MeasureRow","Collection","onBatchResize","infoList","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","TableComponent","combinationScrollBarSize","scrollRef","setScrollRef","element","_scrollRef$current","onWheel","currentTarget","deltaX","scrollLeft","preventDefault","addEventListener","passive","_scrollRef$current2","removeEventListener","allFlattenColumnsWithWidth","lastColumn","ScrollBarColumn","onHeaderCell","columnsWithScrollbar","useMemo","flattenColumnsWithScrollbar","headerStickyOffsets","mergedColumnWidth","cloneColumns","useColumnWidth","tableLayout","visibility","cells","CellComponent","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","filterHiddenColumns","hidden","flatColumns","parentKey","parsedFixed","subColum","transformColumns","columnTitle","columnWidth","scrollWidth","clientWidth","baseColumns","withExpandColumns","_expandColumn","expandColIndex","splice","expandColumnIndex","fixedColumn","expandColumn","_","recordExpandable","stopPropagation","mergedColumns","finalColumns","revertForRtl","hasGapFixed","lastLeftIndex","colFixed","_i","_colFixed","firstRightIndex","findIndex","_i2","_useWidthColumns","missWidthCount","colWidth","maxFitWidth","Math","max","restWidth","restCount","avgWidth","realTotal","filledColumns","clone","colAvgWidth","floor","scale","useWidthColumns","_useWidthColumns2","realScrollWidth","renderExpandIcon","expandClassName","useExpand","mergedData","expandableConfig","config","legacyExpandableConfig","showExpandColumn","getExpandableProps","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","onExpandedRowsChange","mergedChildrenColumnName","internalHooks","__PARENT_RENDER_ICON__","dig","findAllChildrenKeys","_React$useState2","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","hasKey","useLayoutState","defaultState","stateRef","_useState","useState","lastPromiseRef","updateBatchRef","useEffect","updater","promise","Promise","resolve","then","prevBatch","prevState","batchUpdater","defaultContainer","columnCount","getOffsets","startIndex","endIndex","offsets","startOffsets","endOffsets","reverse","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","scrollBarWidth","scrollBarRef","_useLayoutState","isHiddenScrollBar","_useLayoutState2","scrollState","setScrollState","refState","delta","x","isActive","setActive","rafRef","raf","cancel","onMouseUp","onMouseMove","_window","pageX","checkScrollBarVisible","tableOffsetTop","tableBottomOffset","offsetHeight","currentClientOffset","innerHeight","clientHeight","getScrollBarSize","state","setScrollLeft","onMouseUpListener","onMouseMoveListener","onScrollListener","onResizeListener","bodyNode","onMouseDown","persist","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","tableProps","emptyText","scroll","footer","summary","caption","id","showHeader","components","internalRefs","tailor","getContainerWidth","sticky","_props$rowHoverable","hasData","useInternalHooks","defaultComponent","customizeScrollBody","_useHover","setStartRow","_React$useState4","setEndRow","start","end","useHover","_useHover2","_useExpand","_useExpand2","scrollX","setComponentWidth","_useColumns","_useColumns2","flattenScrollX","mergedScrollX","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","nativeElement","scrollTo","_scrollBodyRef$curren3","HTMLElement","querySelector","scrollIntoView","scrollXStyle","scrollYStyle","scrollTableStyle","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","isVisible","widths","newWidths","set","_useTimeoutLock","frameRef","timeoutRef","cleanUp","clearTimeout","newState","setTimeout","useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","onInternalScroll","_stickyRef$current","isRTL","mergedScrollLeft","compareTarget","measureTarget","onBodyScroll","triggerOnScroll","mounted","_React$useState7","_React$useState8","setScrollbarSize","_React$useState9","_React$useState10","setSupportSticky","styleValue","Element","groupTableNode","renderFixedHeaderTable","fixedHolderPassProps","renderFixedFooterTable","mergedTableLayout","headerProps","bodyTable","bodyColGroup","captionElement","dataProps","pickAttrs","ariaProps","aria","bodyContent","_ref6","Number","isNaN","fixedHolderProps","fullTable","onResize","_stickyRef$current2","mergedWidth","useFixedInfo","TableContextValue","RefTable","genTable","ImmutableTable","Column","ColumnGroup","Filler","offsetY","offsetX","onInnerResize","innerProps","rtl","extra","outerStyle","innerStyle","flexDirection","displayName","setRef","refFunc","useDiffItem","getKey","onDiff","prevData","setPrevData","diffItem","setDiffItem","diff","originList","targetList","shortList","longList","originLen","targetLen","notExistKey","__EMPTY_ITEM__","getItemKey","diffIndex","abs","shortKey","findListDiffIndex","navigator","test","userAgent","isScrollAtTop","isScrollAtBottom","isScrollAtLeft","isScrollAtRight","lockRef","lockTimeoutRef","scrollPingRef","isHorizontal","smoothOffset","originScroll","useFrameWheel","inVirtual","horizontalScroll","onWheelDelta","offsetRef","nextFrameRef","wheelValueRef","isMouseScrollRef","useOriginScroll","wheelDirectionRef","wheelDirectionCleanRef","deltaY","shiftKey","mergedDeltaX","mergedDeltaY","absX","absY","patchMultiple","onWheelY","onWheelX","detail","CacheMap","this","maps","create","SMOOTH_PTG","MAX_TIMES","getPageXY","touches","ScrollBar","scrollOffset","scrollRange","onStartMove","onStopMove","spinSize","containerSize","propsThumbStyle","thumbStyle","dragging","setDragging","pageXY","setPageXY","startTop","setStartTop","isLTR","scrollbarRef","thumbRef","setVisible","visibleTimeoutRef","delayHidden","enableScrollRange","enableOffsetRange","pageY","onThumbMouseDown","onScrollbarTouchStart","scrollbarEle","thumbEle","enableScrollRangeRef","enableOffsetRangeRef","moveRafId","_stateRef$current","stateDragging","statePageY","stateStartTop","rect","newTop","tmpEnableScrollRange","tmpEnableOffsetRange","ptg","newScrollTop","ceil","min","scrollbarPrefixCls","containerStyle","userSelect","MIN_SIZE","getSpinSize","baseSize","ScrollStyle","overflowAnchor","RawList","_props$prefixCls","_props$fullHeight","fullHeight","itemKey","virtual","_props$component","onVirtualScroll","extraRender","styles","_useHeights","onItemAdd","onItemRemove","updatedMark","setUpdatedMark","instanceRef","heightsRef","collectRafRef","cancelRaf","collectHeight","sync","doCollect","offsetParent","htmlElement","findDOMNode","c","instance","useHeights","_useHeights2","setInstanceRef","heights","heightUpdatedMark","useVirtual","containerHeight","values","curr","componentRef","fillerInnerRef","containerRef","_useState2","offsetTop","setOffsetTop","_useState3","_useState4","offsetLeft","setOffsetLeft","_useState5","_useState6","scrollMoving","setScrollMoving","onScrollbarStartMove","onScrollbarStopMove","sharedConfig","syncScrollTop","alignedTop","maxScrollHeightRef","keepInRange","rangeRef","diffItemRef","_useDiffItem","_React$useMemo","scrollHeight","_fillerInnerRef$curre","startOffset","itemTop","dataLen","_item","cacheHeight","currentItemBottom","fillerOffset","setSize","verticalScrollBarRef","horizontalScrollBarRef","horizontalScrollBarSpinSize","verticalScrollBarSpinSize","maxScrollHeight","getVirtualScrollInfo","lastVirtualScrollInfoRef","triggerScroll","params","nextInfo","onScrollBar","newScrollOffset","newOffset","flushSync","keepInHorizontalRange","nextOffsetLeft","tmpOffsetLeft","offsetXY","fromHorizontal","_useFrameWheel","_useFrameWheel2","onRawWheel","onFireFoxScroll","listRef","cleanUpEvents","touchedRef","touchXRef","touchYRef","elementRef","intervalRef","onTouchMove","currentX","currentY","_isHorizontal","clearInterval","setInterval","onTouchEnd","onTouchStart","_listRef$current","useMobileTouchMove","onMozMousePixelScroll","componentEle","newOffsetLeft","delayHideScrollBar","_verticalScrollBarRef","_horizontalScrollBarR","_scrollTo","triggerFlash","syncState","setSyncState","times","ori","targetAlign","originAlign","needCollectHeight","newTargetAlign","targetTop","mergedAlign","stackTop","itemBottom","maxLen","leftHeight","_cacheHeight","lastTop","arg","_arg$offset","useScrollTo","getScrollInfo","renderList","getSize","_React$useMemo2","key2Index","bottomList","startKey","endKey","_heights$get","useGetSize","extraContent","listChildren","setNodeRef","renderFunc","useChildren","componentStyle","containerProps","dir","sizeInfo","verticalScrollBar","verticalScrollBarThumb","horizontalScrollBar","horizontalScrollBarThumb","List","StaticContext","GridContext","inverse","getHeight","columnsOffset","cellStyle","_additionalCellProps$","_additionalCellProps$2","concatColWidth","getColumnWidth","marginOffset","marginRight","needHide","mergedRender","cellSpan","BodyLine","rowCellCls","rowStyle","rowNode","Grid","_useContext2","scrollY","listItemHeight","onTablePropScroll","columnsWidth","defineProperty","_listRef$current2","_listRef$current3","getRowSpan","_flattenData$index","_cellProps$rowSpan","cellProps","gridContext","tblPrefixCls","wrapperComponent","horizontalScrollBarStyle","info","firstRowSpanColumns","lastRowSpanColumns","_loop2","spanLines","_loop3","endItemIndex","endItemKey","itemProps","renderBody","rawData","VirtualTable","RefVirtualTable","genVirtualTable","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","n","constructor","from","_toConsumableArray","iter","Symbol","iterator","TypeError","_typeof","warned","preWarningFns","valid","message","note","method","warningOnce","preMessage","fn","resetWarned","noteOnce","bind","excluded","sourceKeys","sourceSymbolKeys","toPropertyKey","r","toPrimitive","String","_defineProperty","enumerable","configurable","writable","ownKeys","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_classCallCheck","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","setPrototypeOf","__proto__","_inherits","subClass","superClass","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","valueOf","Reflect","construct","_createSuper","Derived","hasNativeReflectConstruct","result","Super","NewTarget","propList","split","match","prefix","mergedConfig","ariaOnly","attr","attrs","TreeContext","Indent","level","isStart","isEnd","baseClassName","getEntity","keyEntities","ret","keepEmpty","isFragment","getPosition","pos","fillFieldNames","fieldNames","mergedTitle","_title","convertTreeToData","rootNodes","treeNode","isTreeNode","_treeNode$props","dataNode","parsedChildren","flattenTreeData","treeNodeList","_fillFieldNames","fieldTitles","fieldKey","fieldChildren","expandedKeySet","flattenList","parent","fieldTitle","fields","flattenNode","convertDataToEntities","dataNodes","initWrapper","processEntity","onProcessFinished","externalGetKey","childrenPropName","mergedExternalGetKey","posEntities","wrapper","syntheticGetKey","_mergedConfig","_fillFieldNames2","mergeChildrenPropName","processNode","pathNodes","connectNodes","_data","parentPos","nodes","subNode","subIndex","traverseDataNodes","entity","getTreeNodeProps","selectedKeys","loadedKeys","loadingKeys","checkedKeys","halfCheckedKeys","dragOverNodeKey","dropPosition","eventKey","selected","loaded","checked","halfChecked","dragOver","dragOverGapTop","dragOverGapBottom","convertNodePropsToEventData","active","eventData","ICON_OPEN","ICON_CLOSE","InternalTreeNode","_React$Component","_super","_this","dragNodeHighlight","onNodeClick","isSelectable","onSelect","onCheck","onNodeDoubleClick","isDisabled","onNodeSelect","_this$props","disableCheckbox","onNodeCheck","isCheckable","targetChecked","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","onNodeDragStart","setState","dataTransfer","setData","error","onNodeDragEnter","onNodeDragOver","onNodeDragLeave","onNodeDragEnd","onNodeDrop","_this$props2","onNodeExpand","selectHandle","isLeaf","_this$props3","loadData","hasChildren","checkable","treeCheckable","_this$props$context","onNodeLoad","_this$props4","draggable","nodeDraggable","_this$props$context2","switcherIconFromProps","switcherIcon","switcherIconFromCtx","_switcherIconDom","renderSwitcherIconDom","switcherCls","switcherIconDom","_this$props5","$custom","getNodeState","$icon","_this$props6","_this$props6$title","_this$props$context3","showIcon","treeIcon","titleRender","wrapClass","currentIcon","renderIcon","$title","setSelectHandle","onContextMenu","onSelectorClick","onDoubleClick","onSelectorDoubleClick","renderDropIndicator","_this$props7","_this$props$context4","dropLevelOffset","dropIndicatorRender","showIndicator","mergedIndent","cacheIndent","syncLoadData","treeSelectable","_this$props8","domRef","otherProps","_this$props$context5","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","dataOrAriaAttributeProps","isEndNode","mergedDraggable","isDraggable","draggableWithoutDisabled","ariaSelected","onDragStart","onDragEnter","onDragOver","onDragLeave","onDrop","onDragEnd","renderDragHandler","renderSwitcher","renderCheckbox","renderSelector","ContextTreeNode","Consumer","arrDel","arrAdd","posToArr","getDragChildrenKeys","dragNodeKey","dragChildrenKeys","isLastChild","treeNodeEntity","posArr","calcDropPosition","dragNode","targetNode","startMousePosition","allowDrop","flattenedNodes","expandKeys","_abstractDropNodeEnti","clientX","clientY","_getBoundingClientRec","rawDropLevelOffset","filteredExpandKeys","_keyEntities$key","abstractDropNodeEntity","nodeIndex","flattenedNode","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","abstractDragDataNode","abstractDropDataNode","dropAllowed","dropNode","dropTargetPos","calcSelectedKeys","parseCheckedKeys","keyProps","conductExpandParent","keyList","conductUp","removeFromCheckedKeys","filteredKeys","isCheckDisabled","conductCheck","getCheckDisabled","syntheticGetCheckDisabled","warningMissKeys","hasEntity","levelEntities","maxLevel","levelSet","_entity$children","childEntity","visitedKeys","_level","allChecked","partialChecked","fillConductCheck","halfKeys","_entity$children2","_level2","cleanConductCheck","SELECTION_COLUMN","SELECTION_ALL","SELECTION_INVERT","SELECTION_NONE","EMPTY_LIST","rowSelection","preserveSelectedRowKeys","selectedRowKeys","defaultSelectedRowKeys","getCheckboxProps","onChange","onSelectionChange","onSelectAll","onSelectInvert","onSelectNone","onSelectMultiple","selectionColWidth","selectionType","selections","renderCell","customizeRenderCell","hideSelectAll","checkStrictly","pageData","getRecordByKey","expandType","locale","tableLocale","warning","multipleSelect","updatePrevSelectedIndex","prevSelectedIndex","setPrevSelectedIndex","useCallback","currentSelectedIndex","configPrevSelectedIndex","rangeKeys","shouldSelected","rangeKey","changedKeys","useMultipleSelect","mergedSelectedKeys","setMergedSelectedKeys","preserveRecordsRef","updatePreserveRecordsCache","newCache","convertData","keysSet","preserveRecords","flattedData","checkboxPropsMap","checkboxProps","isCheckboxDisabled","derivedSelectedKeys","derivedHalfSelectedKeys","derivedSelectedKeySet","derivedHalfSelectedKeySet","setSelectedKeys","availableKeys","records","triggerSingleSelection","k","mergedSelections","selection","text","selectionAll","checkProps","selectInvert","keySet","deprecated","selectNone","_a2","rest","recordKeys","checkedCurrentAll","checkedCurrentSome","onSelectAllChange","changeKeys","columnTitleCheckbox","customizeSelections","onSelectionClick","label","DownOutlined","allDisabledData","allDisabled","allDisabledAndChecked","allDisabledSomeChecked","indeterminate","skipGroup","nativeEvent","mergedIndeterminate","isMultiple","recordKey","originCheckedKeys","nextCheckedKeys","tempKeySet","restColumns","selectionColumnIndex","prevCol","nextCol","mergedFixed","columnCls","selectionColumn","useProxyImperativeHandle","init","refObj","Proxy","prop","handler","_antProxy","isWindow","Document","ownerDocument","refreshOnChange","screensRef","useForceUpdate","responsiveObserver","subscribe","supportScreens","unsubscribe","AntdIcon","A","items_per_page","jump_to","jump_to_confirm","page","prev_page","next_page","prev_5","next_5","prev_3","next_3","page_size","defaultPageSizeOptions","_props$pageSizeOption","pageSizeOptions","changeSize","pageSize","goButton","quickGo","Select","selectComponentClass","selectPrefixCls","buildOptionText","goInputText","setGoInputText","getValidValue","mergeBuildOptionText","go","keyCode","ENTER","changeSelect","goInput","gotoButton","sort","b","opt","Option","showSearch","optionLabelProp","popupMatchSelectWidth","triggerNode","parentNode","defaultOpen","onKeyUp","onBlur","relatedTarget","onKeyPress","itemRender","cls","pager","rel","onKeyDown","tabIndex","defaultItemRender","noop","isInteger","v","isFinite","calculatePage","_pageSize","_classNames5","_props$selectPrefixCl","currentProp","_props$defaultCurrent","defaultCurrent","_props$total","pageSizeProp","_props$defaultPageSiz","defaultPageSize","_props$onChange","hideOnSinglePage","_props$showPrevNextJu","showPrevNextJumpers","showQuickJumper","showLessItems","_props$showTitle","_props$onShowSizeChan","onShowSizeChange","_props$locale","_props$totalBoundaryS","totalBoundaryShowSizeChanger","simple","showTotal","showSizeChangerProp","showSizeChanger","_props$itemRender","jumpPrevIcon","jumpNextIcon","prevIcon","nextIcon","paginationRef","_useMergedState","_useMergedState2","setPageSize","_useMergedState3","postState","_useMergedState4","setCurrent","internalInputVal","setInternalInputVal","jumpPrevPage","jumpNextPage","getItemIcon","iconNode","inputValue","allPages","shouldDisplayQuickJumper","handleKeyUp","KeyCode","handleChange","UP","DOWN","isValid","currentPage","newPage","hasPrev","hasNext","prevHandle","nextHandle","jumpPrevHandle","jumpNextHandle","runIfEnter","charCode","restParams","handleGoTO","jumpPrev","totalText","jumpNext","pagerList","pagerProps","prevPage","nextPage","isReadOnly","readOnly","simplePager","pageBufferSize","prevItemTitle","nextItemTitle","jumpPrevContent","jumpNextContent","lastOne","prevButton","renderPrev","prevDisabled","nextDisabled","nextTabIndex","nextButton","renderNext","newCurrent","nextCurrent","MiniSelect","MiddleSelect","genPaginationDisabledStyle","colorBorder","itemActiveBgDisabled","itemActiveColorDisabled","genPaginationMiniStyle","itemSizeSM","colorBgTextActive","paginationMiniOptionsMarginInlineStart","miniOptionsSizeChangerTop","input","paginationMiniQuickJumperInputWidth","genPaginationSimpleStyle","boxSizing","paginationItemPaddingInline","itemInputBg","colorPrimaryHover","inputOutlineOffset","controlOutlineWidth","controlOutline","colorBgContainerDisabled","genPaginationJumpStyle","fontFamily","letterSpacing","paginationEllipsisLetterSpacing","textIndent","paginationEllipsisTextIndent","itemSize","button","paginationSlashMarginInlineEnd","paginationSlashMarginInlineStart","hoverBorderColor","activeBorderColor","activeShadow","genPaginationItemStyle","fontWeightStrong","genPaginationStyle","justifyContent","screenLG","screenSM","genPaginationFocusStyle","itemLinkBg","controlItemBgActiveDisabled","prepareToken","marginSM","paginationToken","genBorderedStyle","customizeSelectPrefixCls","customizeSize","customLocale","responsive","xs","pagination","mergedShowSizeChanger","iconsProps","contextLocale","useLocale","mergedSize","useSize","isSmall","extendedClassName","wireframe","iconPrefix","collapse","expand","getColumnKey","defaultKey","getColumnPos","renderColumnTitle","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","RIGHT","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","META","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","altKey","ctrlKey","metaKey","isCharacterKey","_objectDestructuringEmpty","_slicedToArray","l","u","f","done","useInternalLayoutEffect","deps","firstMountRef","SVGElement","isDOM","fillRef","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isMemo","$$typeof","ForwardRef","DomWrapper","useSafeState","destroyRef","setValue","ignoreDestroy","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","STEP_PREPARED","makePrefixMap","styleProp","eventName","prefixes","toLowerCase","domSupport","win","vendorPrefixes","animationend","transitionend","animation","_document$createEleme","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionType","replace","toUpperCase","cacheElementRef","callbackRef","onInternalMotionEnd","removeMotionEvents","caf","num","requestAnimationFrame","handle","cancelAnimationFrame","rafUUID","rafIds","cleanup","wrapperRaf","callRef","leftTimes","realId","FULL_STEP_QUEUE","SIMPLE_STEP_QUEUE","SkipStep","DoStep","step","status","prepareOnly","setStep","_useNextFrame","cancelNextFrame","nextFrame","delay","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","STEP_QUEUE","nextStep","doNext","transitionSupport","CSSMotion","_props$visible","_props$removeOnLeave","removeOnLeave","forceRender","leavedClassName","eventProps","supportMotion","contextMotion","isSupportTransition","motion","nodeRef","wrapperNodeRef","_useStatus","getElement","_ref$motionEnter","motionEnter","_ref$motionAppear","motionAppear","_ref$motionLeave","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","asyncVisible","setAsyncVisible","setStatus","setStyle","mountedRef","deadlineRef","getDomElement","activeRef","updateMotionEndStatus","deadline","canEnd","currentActive","patchMotionEvents","useDomMotionEvents","getEventHandlers","targetStatus","eventHandlers","_useStepQueue2","useStepQueue","newStep","onPrepare","_eventHandlers$step","startStep","nextStatus","isMounted","nextEventHandlers","firstMountChangeRef","useStatus","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","motionChildren","mergedProps","statusSuffix","motionCls","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","parseKeys","MOTION_PROP_NAMES","CSSMotionList","removeKey","nextKeyEntities","_this2","_onVisibleChanged","onAllRemoved","motionProps","changedVisible","parsedKeyObjects","mixedKeyEntities","prevKeys","currentKeys","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","matchKey","diffKeys","prevEntity","find","MotionTreeNode","motionNodes","motionType","onOriginMotionStart","onMotionStart","onOriginMotionEnd","onMotionEnd","treeNodeRequiredProps","targetVisible","triggerMotionEndRef","triggerMotionEnd","triggerStart","triggerEnd","firstMount","setFirstMount","useUnmount","nextVisible","motionRef","motionClassName","motionStyle","treeNodeProps","getExpandRange","shorter","longer","shorterStartIndex","shorterEndNode","longerStartIndex","longerEndIndex","HIDDEN_STYLE","MOTION_KEY","random","MotionNode","MotionEntity","MotionFlattenData","getMinimumRangeTransitionRange","NodeList","focusable","activeItem","focused","onFocus","onActiveChange","onListChangeStart","onListChangeEnd","domProps","indentMeasurerRef","getIndentWidth","prevExpandedKeys","setPrevExpandedKeys","transitionData","setTransitionData","transitionRange","setTransitionRange","setMotionType","dataRef","latestData","diffExpanded","prevLen","nextLen","cache","findExpandedKeys","keyIndex","rangeNodes","newTransitionData","_keyIndex","_rangeNodes","_newTransitionData","getAccessibilityPath","fullList","originSet","Tree","_args","treeData","flattenNodes","activeKey","listChanging","_this$state","dragStartMousePosition","setExpandedKeys","onWindowDragEnd","_this$state2","_node$props","currentMouseOverDroppableNodeKey","_calcDropPosition","delayedDragEnterLogic","resetDragState","_this$state3","_calcDropPosition2","contains","cleanDragState","_this$getActiveItem","outsideTree","_this$state4","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropToChild","dropResult","dragNodesKeys","dropToGap","_this$state5","nodeItem","eventNode","expandAction","triggerExpandActionExpand","_this$state6","targetSelected","selectedNodes","selectedKey","setUncontrolledState","checkedObj","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","eventObj","checkedNodes","checkedKey","_conductCheck","_checkedKeys","_halfCheckedKeys","_conductCheck2","checkedNodesPositions","loadPromise","reject","_ref$loadedKeys","_ref$loadingKeys","onLoad","newLoadedKeys","catch","loadingRetryTimes","currentLoadedKeys","onRightClick","_len2","_key2","_len3","_key3","_this$state8","_this$state9","_this$state10","targetExpanded","newFlattenTreeData","expandedKeysToRestore","newActiveKey","_this$props9","_this$props9$itemScro","itemScrollOffset","_this$state11","_this$state12","_key4","_this$state13","_this$props10","which","offsetActiveKey","atomic","forceState","destroyed","needSync","allPassed","onUpdated","_this$props11","_this$props11$itemScr","draggableConfig","_this$state14","_this$props12","showLine","_this$props12$tabInde","rootStyle","role","entitiesMap","checkedKeyEntity","autoExpandParent","defaultExpandParent","defaultExpandAll","cloneKeyEntities","defaultExpandedKeys","defaultSelectedKeys","defaultCheckedKeys","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","treeNodeFX","getSwitchStyle","svg","getDropIndicatorStyle","treeCls","treeNodeCls","treeNodePadding","titleHeight","nodeSelectedBg","nodeHoverBg","treeCheckBoxMarginHorizontal","animationDuration","animationPlayState","animationFillMode","flexShrink","alignSelf","minHeight","genDirectoryStyle","directoryNodeSelectedBg","directoryNodeSelectedColor","genTreeStyle","treeToken","initComponentToken","startPosition","switcherLoadingIcon","LoadingOutlined","showLeafIcon","leafIcon","leafCls","switcher","tree","blockNode","customMotion","newProps","nodeProps","traverseNodesKey","calcRangeKeys","convertDirectoryKeysToNodes","restKeys","getIcon","getTreeData","DirectoryTree","lastSelectedKey","cachedSelectedKeys","initExpandedKeys","getInitExpandedKeys","connectClassName","newEvent","ctrlPick","shiftPick","newSelectedKeys","TreeNode","filterSearch","tablePrefixCls","SearchOutlined","placeholder","filterSearchPlaceholder","htmlSize","flattenKeys","filters","searchValueMatched","searchValue","trim","renderFilterItems","filterMultiple","wrapStringListType","dropdownPrefixCls","filterOnClose","filterMode","filterState","triggerFilter","filterDropdownOpen","onFilterDropdownOpenChange","filterResetToDefaultFilteredValue","defaultFilteredValue","filterDropdownVisible","onFilterDropdownVisibleChange","filtered","forceFiltered","triggerVisible","newVisible","propFilteredKeys","getFilteredKeysSync","setFilteredKeysSync","initialValue","newValue","useSyncState","onSelectKeys","openKeys","setOpenKeys","setSearchValue","onSearch","internalTriggerFilter","mergedKeys","onConfirm","onReset","confirm","closeDropdown","doFilter","dropdownMenuClass","onCheckAll","allFilterKeys","_ref7","getFilterData","dropdownContent","renderEmpty","filterDropdown","clearFilters","close","getFilterComponent","empty","image","PRESENTED_IMAGE_SIMPLE","description","filterEmptyText","imageStyle","filterCheckall","onDeselect","getResetDisabled","filterReset","filterConfirm","filterIcon","collectFilterStates","filterStates","columnPos","filteredValues","filteredValue","injectFilter","newColumn","renderProps","generateFilterInfo","currentFilters","keyAsString","originKey","currentData","onFilter","realKey","getMergedColumns","rawMergedColumns","flatMap","onFilterChange","setFilterStates","mergedFilterStates","collectedStates","filteredKeysIsAllNotControlled","filteredKeysIsAllControlled","newFilterStates","innerColumns","mapCacheRef","kvMap","DEFAULT_PAGE_SIZE","paginationTotal","paginationObj","innerPagination","setInnerPagination","mergedPagination","maxPage","refreshPagination","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","columnSortersClass","renderColumnTitleWrapper","renderSortTitle","originOnClick","originOKeyDown","renderTitle","res","safeColumnTitle","displayTitle","stateToInfo","order","field","generateSorterInfo","lastIndex","getSortData","innerSorterStates","cloneData","runningSorters","record1","record2","compareFn","compareResult","subRecords","onSorterChange","setSortStates","getColumnKeys","newKeys","childKeys","mergedSorterStates","validate","mergedColumnsKeys","validateStates","patchStates","multipleMode","columnTitleSorterProps","sortColumns","sortColumn","sortState","newSorterStates","fillTitle","columnTitleProps","cloneColumn","_renderTimes","prevRenderTimes","nextRenderTimes","tableBorderColor","tableHeaderBg","tablePaddingVertical","tablePaddingHorizontal","tableBorder","getSizeBorderStyle","paddingVertical","paddingHorizontal","borderInlineStart","borderTop","tablePaddingVerticalMiddle","tablePaddingHorizontalMiddle","tablePaddingVerticalSmall","tablePaddingHorizontalSmall","wordBreak","tableExpandIconBg","tableExpandColumnWidth","tableExpandedRowBg","expandIconMarginTop","expandIconSize","expandIconHalfInner","expandIconScale","expandIconLineOffset","float","table","tableFilterDropdownWidth","tableFilterDropdownSearchWidth","headerIconColor","tableHeaderFilterActiveBg","tableFilterDropdownBg","tableFilterDropdownHeight","filterDropdownMenuBg","tableFilterDropdownPrefixCls","treePrefixCls","zIndexTableFixed","tableBg","zIndexTableSticky","shadowColor","unit","flexWrap","rowGap","tableRadius","borderStartStartRadius","borderStartEndRadius","headerIconHoverColor","tableSelectionColumnWidth","tableSelectedRowBg","tableSelectedRowHoverBg","tableRowHoverBg","getSizeStyle","tableFontSizeMiddle","tableFontSizeSmall","tableHeaderSortHoverBg","tableFixedHeaderSortActiveBg","tableHeaderSortBg","tableBodySortBg","opacityLoading","tableScrollThumbBg","tableScrollThumbBgHover","tableScrollThumbSize","tableScrollBg","stickyScrollBarBorderRadius","genTableStyle","tableFontSize","tableHeaderTextColor","tableHeaderCellSplitColor","tableFooterTextColor","tableFooterBg","maxWidth","scrollbarColor","borderCollapse","borderSpacing","overflowWrap","colorTextHeading","controlInteractiveSize","checkboxSize","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","tableToken","colorFillSecondary","paddingSM","colorBorderSecondary","colorTextPlaceholder","colorIcon","colorIconHover","colorFillSecondarySolid","onBackground","toHexShortString","colorFillContentSolid","colorFillAlterSolid","baseColorAction","baseColorActionHover","getAlpha","InternalTable","bordered","customizeDropdownPrefixCls","dataSource","legacyChildrenColumnName","needResponsive","screens","matched","m","Table","returnWidth","getComputedStyle","parseInt","borderLeftWidth","borderRightWidth","useContainerWidth","rootRef","tblRef","changeEventInfo","triggerOnChange","action","reset","_d","changeInfo","resetPagination","scrollToFirstRowOnChange","duration","startTime","Date","now","frameFunc","time","nextScrollTop","d","cc","easeInOutCubic","currentDataSource","transformSorterColumns","sorterTitleProps","getSorters","useSorter","sortedData","transformFilterColumns","mergedFilters","filterKey","transformTitleColumns","param","pageProp","getPaginationParam","transformSelectionColumns","selectedKeySet","topPaginationNode","bottomPaginationNode","spinProps","paginationSize","renderPagination","defaultPosition","topPos","bottomPos","isDisable","spinning","wrapperClassNames","componentName","virtualProps","fontHeight","mergedRowClassName","ForwardTable"],"sourceRoot":""}