ziya 0.1.49__py3-none-any.whl → 0.1.51__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ziya might be problematic. Click here for more details.
- app/agents/.agent.py.swp +0 -0
- app/agents/agent.py +315 -113
- app/agents/models.py +439 -0
- app/agents/prompts.py +32 -4
- app/main.py +70 -7
- app/server.py +403 -14
- app/utils/code_util.py +641 -215
- pyproject.toml +3 -3
- templates/asset-manifest.json +18 -20
- templates/index.html +1 -1
- templates/static/css/{main.87f30840.css → main.2bddf34e.css} +2 -2
- templates/static/css/main.2bddf34e.css.map +1 -0
- templates/static/js/46907.90c6a4f3.chunk.js +2 -0
- templates/static/js/46907.90c6a4f3.chunk.js.map +1 -0
- templates/static/js/56122.1d6a5c10.chunk.js +3 -0
- templates/static/js/56122.1d6a5c10.chunk.js.LICENSE.txt +9 -0
- templates/static/js/56122.1d6a5c10.chunk.js.map +1 -0
- templates/static/js/83953.61a908f4.chunk.js +3 -0
- templates/static/js/83953.61a908f4.chunk.js.map +1 -0
- templates/static/js/88261.1e90079d.chunk.js +3 -0
- templates/static/js/88261.1e90079d.chunk.js.map +1 -0
- templates/static/js/{96603.863a8f96.chunk.js → 96603.18c5d644.chunk.js} +2 -2
- templates/static/js/{96603.863a8f96.chunk.js.map → 96603.18c5d644.chunk.js.map} +1 -1
- templates/static/js/{97902.75670155.chunk.js → 97902.d1e262d6.chunk.js} +3 -3
- templates/static/js/{97902.75670155.chunk.js.map → 97902.d1e262d6.chunk.js.map} +1 -1
- templates/static/js/main.9b2b2b57.js +3 -0
- templates/static/js/{main.ee8b3c96.js.LICENSE.txt → main.9b2b2b57.js.LICENSE.txt} +8 -2
- templates/static/js/main.9b2b2b57.js.map +1 -0
- {ziya-0.1.49.dist-info → ziya-0.1.51.dist-info}/METADATA +5 -5
- {ziya-0.1.49.dist-info → ziya-0.1.51.dist-info}/RECORD +36 -35
- templates/static/css/main.87f30840.css.map +0 -1
- templates/static/js/23416.c33f07ab.chunk.js +0 -3
- templates/static/js/23416.c33f07ab.chunk.js.map +0 -1
- templates/static/js/3799.fedb612f.chunk.js +0 -2
- templates/static/js/3799.fedb612f.chunk.js.map +0 -1
- templates/static/js/46907.4a730107.chunk.js +0 -2
- templates/static/js/46907.4a730107.chunk.js.map +0 -1
- templates/static/js/64754.cf383335.chunk.js +0 -2
- templates/static/js/64754.cf383335.chunk.js.map +0 -1
- templates/static/js/88261.33450351.chunk.js +0 -3
- templates/static/js/88261.33450351.chunk.js.map +0 -1
- templates/static/js/main.ee8b3c96.js +0 -3
- templates/static/js/main.ee8b3c96.js.map +0 -1
- /templates/static/js/{23416.c33f07ab.chunk.js.LICENSE.txt → 83953.61a908f4.chunk.js.LICENSE.txt} +0 -0
- /templates/static/js/{88261.33450351.chunk.js.LICENSE.txt → 88261.1e90079d.chunk.js.LICENSE.txt} +0 -0
- /templates/static/js/{97902.75670155.chunk.js.LICENSE.txt → 97902.d1e262d6.chunk.js.LICENSE.txt} +0 -0
- {ziya-0.1.49.dist-info → ziya-0.1.51.dist-info}/LICENSE +0 -0
- {ziya-0.1.49.dist-info → ziya-0.1.51.dist-info}/WHEEL +0 -0
- {ziya-0.1.49.dist-info → ziya-0.1.51.dist-info}/entry_points.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/97902.75670155.chunk.js","mappings":"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","sources":["../node_modules/rc-table/es/constant.js","../node_modules/@rc-component/context/es/context.js","../node_modules/@rc-component/context/es/Immutable.js","../node_modules/@rc-component/context/es/index.js","../node_modules/rc-table/es/context/TableContext.js","../node_modules/rc-table/es/context/PerfContext.js","../node_modules/rc-table/es/utils/valueUtil.js","../node_modules/rc-table/es/Cell/useCellRender.js","../node_modules/rc-table/es/Cell/index.js","../node_modules/rc-table/es/Cell/useHoverState.js","../node_modules/rc-table/es/utils/fixUtil.js","../node_modules/rc-table/es/Footer/SummaryContext.js","../node_modules/rc-table/es/Footer/Row.js","../node_modules/rc-table/es/Footer/Summary.js","../node_modules/rc-table/es/Footer/Cell.js","../node_modules/rc-table/es/Footer/index.js","../node_modules/rc-table/es/hooks/useFlattenRecords.js","../node_modules/rc-table/es/hooks/useRowInfo.js","../node_modules/rc-table/es/Body/ExpandedRow.js","../node_modules/rc-table/es/utils/expandUtil.js","../node_modules/rc-table/es/Body/BodyRow.js","../node_modules/rc-table/es/Body/MeasureCell.js","../node_modules/rc-table/es/Body/MeasureRow.js","../node_modules/rc-table/es/Body/index.js","../node_modules/rc-table/es/utils/legacyUtil.js","../node_modules/rc-table/es/ColGroup.js","../node_modules/rc-table/es/FixedHolder/index.js","../node_modules/rc-table/es/Header/HeaderRow.js","../node_modules/rc-table/es/Header/Header.js","../node_modules/rc-table/es/hooks/useColumns/useWidthColumns.js","../node_modules/rc-table/es/hooks/useColumns/index.js","../node_modules/rc-table/es/hooks/useExpand.js","../node_modules/rc-table/es/hooks/useFrame.js","../node_modules/rc-table/es/hooks/useSticky.js","../node_modules/rc-table/es/hooks/useStickyOffsets.js","../node_modules/rc-table/es/Panel/index.js","../node_modules/rc-util/es/Dom/addEventListener.js","../node_modules/rc-util/es/Dom/css.js","../node_modules/rc-table/es/stickyScrollBar.js","../node_modules/rc-table/es/sugar/Column.js","../node_modules/rc-table/es/sugar/ColumnGroup.js","../node_modules/rc-table/es/Table.js","../node_modules/rc-table/es/hooks/useHover.js","../node_modules/rc-table/es/hooks/useFixedInfo.js","../node_modules/rc-table/es/VirtualTable/context.js","../node_modules/rc-table/es/VirtualTable/VirtualCell.js","../node_modules/rc-table/es/VirtualTable/BodyLine.js","../node_modules/rc-table/es/VirtualTable/BodyGrid.js","../node_modules/rc-table/es/VirtualTable/index.js","../node_modules/antd/es/table/Column.js","../node_modules/antd/es/table/ColumnGroup.js","../node_modules/antd/es/checkbox/GroupContext.js","../node_modules/antd/es/checkbox/Checkbox.js","../node_modules/antd/es/checkbox/Group.js","../node_modules/antd/es/checkbox/index.js","../node_modules/antd/es/_util/isPrimitive.js","../node_modules/antd/es/layout/Sider.js","../node_modules/antd/es/menu/MenuContext.js","../node_modules/antd/es/menu/MenuDivider.js","../node_modules/antd/es/menu/MenuItem.js","../node_modules/antd/es/menu/OverrideContext.js","../node_modules/antd/es/menu/style/horizontal.js","../node_modules/antd/es/menu/style/rtl.js","../node_modules/antd/es/menu/style/theme.js","../node_modules/antd/es/menu/style/vertical.js","../node_modules/antd/es/menu/style/index.js","../node_modules/antd/es/menu/SubMenu.js","../node_modules/antd/es/menu/menu.js","../node_modules/antd/es/menu/index.js","../node_modules/antd/es/dropdown/style/status.js","../node_modules/antd/es/dropdown/style/index.js","../node_modules/antd/es/dropdown/dropdown.js","../node_modules/antd/es/dropdown/dropdown-button.js","../node_modules/antd/es/dropdown/index.js","../node_modules/antd/es/table/hooks/useSelection.js","../node_modules/antd/es/_util/hooks/useMultipleSelect.js","../node_modules/antd/es/_util/hooks/useProxyImperativeHandle.js","../node_modules/antd/es/_util/getScroll.js","../node_modules/antd/es/table/ExpandIcon.js","../node_modules/antd/es/table/util.js","../node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","../node_modules/@ant-design/icons/es/icons/FilterFilled.js","../node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","../node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","../node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","../node_modules/antd/es/_util/hooks/useSyncState.js","../node_modules/antd/es/table/hooks/useFilter/index.js","../node_modules/antd/es/table/hooks/useLazyKVMap.js","../node_modules/antd/es/table/hooks/usePagination.js","../node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","../node_modules/antd/es/table/hooks/useSorter.js","../node_modules/antd/es/table/hooks/useTitleColumns.js","../node_modules/antd/es/table/RcTable/index.js","../node_modules/antd/es/table/RcTable/VirtualTable.js","../node_modules/antd/es/table/style/bordered.js","../node_modules/antd/es/table/style/ellipsis.js","../node_modules/antd/es/table/style/empty.js","../node_modules/antd/es/table/style/expand.js","../node_modules/antd/es/table/style/filter.js","../node_modules/antd/es/table/style/fixed.js","../node_modules/antd/es/table/style/pagination.js","../node_modules/antd/es/table/style/radius.js","../node_modules/antd/es/table/style/rtl.js","../node_modules/antd/es/table/style/selection.js","../node_modules/antd/es/table/style/size.js","../node_modules/antd/es/table/style/sorter.js","../node_modules/antd/es/table/style/sticky.js","../node_modules/antd/es/table/style/summary.js","../node_modules/antd/es/table/style/virtual.js","../node_modules/antd/es/table/style/index.js","../node_modules/antd/es/table/InternalTable.js","../node_modules/antd/es/table/hooks/useContainerWidth.js","../node_modules/antd/es/_util/scrollTo.js","../node_modules/antd/es/_util/easings.js","../node_modules/antd/es/table/Table.js","../node_modules/antd/es/table/index.js","../node_modules/antd/es/tag/style/index.js","../node_modules/antd/es/tag/CheckableTag.js","../node_modules/antd/es/tag/style/presetCmp.js","../node_modules/antd/es/tag/style/statusCmp.js","../node_modules/antd/es/_util/capitalize.js","../node_modules/antd/es/tag/index.js"],"sourcesContent":["export var EXPAND_COLUMN = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nexport function createContext(defaultValue) {\n var Context = /*#__PURE__*/React.createContext(undefined);\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n useLayoutEffect(function () {\n unstable_batchedUpdates(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n return {\n Context: Context,\n Provider: Provider,\n defaultValue: defaultValue\n };\n}\n\n/** e.g. useSelect(userContext) => user */\n\n/** e.g. useSelect(userContext, user => user.name) => user.name */\n\n/** e.g. useSelect(userContext, ['name', 'age']) => user { name, age } */\n\n/** e.g. useSelect(userContext, 'name') => user.name */\n\nexport function useContext(holder, selector) {\n var eventSelector = useEvent(typeof selector === 'function' ? selector : function (ctx) {\n if (selector === undefined) {\n return ctx;\n }\n if (!Array.isArray(selector)) {\n return ctx[selector];\n }\n var obj = {};\n selector.forEach(function (key) {\n obj[key] = ctx[key];\n });\n return obj;\n });\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n var valueRef = React.useRef();\n valueRef.current = eventSelector(context ? getValue() : holder === null || holder === void 0 ? void 0 : holder.defaultValue);\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n forceUpdate = _React$useState4[1];\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n function trigger(nextValue) {\n var nextSelectorValue = eventSelector(nextValue);\n if (!isEqual(valueRef.current, nextSelectorValue, true)) {\n forceUpdate({});\n }\n }\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return valueRef.current;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\n/**\n * Create Immutable pair for `makeImmutable` and `responseImmutable`.\n */\nexport default function createImmutable() {\n var ImmutableContext = /*#__PURE__*/React.createContext(null);\n\n /**\n * Get render update mark by `makeImmutable` root.\n * Do not deps on the return value as render times\n * but only use for `useMemo` or `useCallback` deps.\n */\n function useImmutableMark() {\n return React.useContext(ImmutableContext);\n }\n\n /**\n * Wrapped Component will be marked as Immutable.\n * When Component parent trigger render,\n * it will notice children component (use with `responseImmutable`) node that parent has updated.\n * @param Component Passed Component\n * @param triggerRender Customize trigger `responseImmutable` children re-render logic. Default will always trigger re-render when this component re-render.\n */\n function makeImmutable(Component, shouldTriggerRender) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n var renderTimesRef = React.useRef(0);\n var prevProps = React.useRef(props);\n\n // If parent has the context, we do not wrap it\n var mark = useImmutableMark();\n if (mark !== null) {\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n }\n if (\n // Always trigger re-render if not provide `notTriggerRender`\n !shouldTriggerRender || shouldTriggerRender(prevProps.current, props)) {\n renderTimesRef.current += 1;\n }\n prevProps.current = props;\n return /*#__PURE__*/React.createElement(ImmutableContext.Provider, {\n value: renderTimesRef.current\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps)));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableRoot(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;\n }\n\n /**\n * Wrapped Component with `React.memo`.\n * But will rerender when parent with `makeImmutable` rerender.\n */\n function responseImmutable(Component, propsAreEqual) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n useImmutableMark();\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableResponse(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(ImmutableComponent), propsAreEqual) : /*#__PURE__*/React.memo(ImmutableComponent, propsAreEqual);\n }\n return {\n makeImmutable: makeImmutable,\n responseImmutable: responseImmutable,\n useImmutableMark: useImmutableMark\n };\n}","import { createContext, useContext } from \"./context\";\nimport createImmutable from \"./Immutable\";\n\n// For legacy usage, we export it directly\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { createContext, useContext, createImmutable, makeImmutable, responseImmutable, useImmutableMark };","import { createContext, createImmutable } from '@rc-component/context';\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { makeImmutable, responseImmutable, useImmutableMark };\nvar TableContext = createContext();\nexport default TableContext;","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}\nexport function validNumberValue(value) {\n return typeof value === 'number' && !Number.isNaN(value);\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(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left\"), isFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-first\"), firstFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-last\"), lastFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-all\"), lastFixLeft && allColumnsFixedLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right\"), isFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-first\"), firstFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-last\"), lastFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-ellipsis\"), ellipsis), \"\".concat(cellPrefixCls, \"-with-append\"), appendNode), \"\".concat(cellPrefixCls, \"-fix-sticky\"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-row-hover\"), !legacyCellProps && hovering)), 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\n // The order is important since user can overwrite style.\n // For example ant-design/ant-design#51763\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.style), fixedStyle), alignStyle), additionalProps.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 * as React from 'react';\n// recursion (flat tree structure)\nfunction fillRecords(list, record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n list.push({\n record: record,\n indent: indent,\n index: index\n });\n var key = getRowKey(record);\n var expanded = expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.has(key);\n if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n fillRecords(list, record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n }\n }\n}\n/**\n * flat tree data on expanded state\n *\n * @export\n * @template T\n * @param {*} data : table data\n * @param {string} childrenColumnName : 指定树形结构的列名\n * @param {Set<Key>} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey<T>} getRowKey : 获取当前rowKey的方法\n * @returns flattened data\n */\nexport default function useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey) {\n var arr = React.useMemo(function () {\n if (expandedKeys !== null && expandedKeys !== void 0 && expandedKeys.size) {\n var list = [];\n\n // collect flattened record\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n\n // using array.push or spread operator may cause \"Maximum call stack size exceeded\" exception if array size is big enough.\n fillRecords(list, record, 0, childrenColumnName, expandedKeys, getRowKey, i);\n }\n return list;\n }\n return data === null || data === void 0 ? void 0 : data.map(function (item, index) {\n return {\n record: item,\n indent: 0,\n index: index\n };\n });\n }, [data, childrenColumnName, expandedKeys, getRowKey]);\n return arr;\n}","import _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 && !isEmpty ? 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 _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport function renderExpandIcon(_ref) {\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, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-row-expanded\"), expanded), \"\".concat(prefixCls, \"-row-collapsed\"), !expanded)),\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}\nexport function computedExpandedClassName(cls, record, index, indent) {\n if (typeof cls === 'string') {\n return cls;\n }\n if (typeof cls === 'function') {\n return cls(record, index, indent);\n }\n return '';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport 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\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\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 expandedClsName = computedExpandedClassName(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, _defineProperty({}, expandedClsName, indent >= 1)),\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), expandedClsName),\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\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"./context/TableContext\";\nfunction ColGroup(_ref) {\n var colWidths = _ref.colWidths,\n columns = _ref.columns,\n columCount = _ref.columCount;\n var _useContext = useContext(TableContext, ['tableLayout']),\n tableLayout = _useContext.tableLayout;\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 = void 0;\n var minWidth = void 0;\n if (column) {\n additionalProps = column[INTERNAL_COL_DEFINE];\n\n // fixed will cause layout problems\n if (tableLayout === 'auto') {\n minWidth = column.minWidth;\n }\n }\n if (width || minWidth || 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 minWidth: minWidth\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 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 = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, INTERNAL_COL_DEFINE, {\n className: \"\".concat(prefixCls, \"-expand-icon-col\"),\n columnType: 'EXPAND_COLUMN'\n }), \"title\", columnTitle), \"fixed\", fixedColumn), \"className\", \"\".concat(prefixCls, \"-row-expand-icon-cell\")), \"width\", columnWidth), \"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 });\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 _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 var isSticky = !!sticky;\n return React.useMemo(function () {\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 }, [isSticky, 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: true\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 */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction Column(_) {\n return null;\n}\nexport default Column;","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\nexport default ColumnGroup;","import _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, validNumberValue } from \"./utils/valueUtil\";\nimport { getDOM } from \"rc-util/es/Dom/findDOMNode\";\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 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 (validNumberValue(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: hasData ? 'scroll' : 'auto',\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 =\n // Should use mergedScrollX in virtual table(useInternalHooks && tailor === true)\n useInternalHooks && tailor && typeof mergedScrollX === 'number' ? mergedScrollX : measureTarget.scrollWidth;\n var 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 var _scrollBodyRef$curren4;\n onInternalScroll({\n currentTarget: getDOM(scrollBodyRef.current),\n scrollLeft: (_scrollBodyRef$curren4 = scrollBodyRef.current) === null || _scrollBodyRef$curren4 === void 0 ? void 0 : _scrollBodyRef$curren4.scrollLeft\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, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), \"\".concat(prefixCls, \"-ping-right\"), pingedRight), \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), \"\".concat(prefixCls, \"-fixed-column-gapped\"), fixColumn && hasGapFixed), \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right')),\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 { 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\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\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 expandedClsName = computedExpandedClassName(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), expandedClsName)\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 VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\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', 'scrollX', 'direction']),\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 scrollX = _useContext.scrollX,\n direction = _useContext.direction;\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 _listRef$current2;\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 nativeElement: (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.nativeElement\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current3;\n return ((_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : _listRef$current3.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current4;\n (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 || _listRef$current4.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\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 return /*#__PURE__*/React.createElement(GridContext.Provider, {\n value: gridContext\n }, /*#__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 direction: direction,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var _listRef$current5;\n var x = _ref4.x;\n onScroll({\n currentTarget: (_listRef$current5 = listRef.current) === null || _listRef$current5 === void 0 ? void 0 : _listRef$current5.nativeElement,\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});\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 data = props.data,\n 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 // fix https://github.com/ant-design/ant-design/issues/48991\n body: data !== null && data !== void 0 && data.length ? renderBody : undefined\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. */\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. */\nconst ColumnGroup = _ => null;\nexport default ColumnGroup;","import React from 'react';\nconst GroupContext = /*#__PURE__*/React.createContext(null);\nexport default GroupContext;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport { FormItemInputContext } from '../form/context';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nimport useBubbleLock from './useBubbleLock';\nconst InternalCheckbox = (props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n indeterminate = false,\n style,\n onMouseEnter,\n onMouseLeave,\n skipGroup = false,\n disabled\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"indeterminate\", \"style\", \"onMouseEnter\", \"onMouseLeave\", \"skipGroup\", \"disabled\"]);\n const {\n getPrefixCls,\n direction,\n checkbox\n } = React.useContext(ConfigContext);\n const checkboxGroup = React.useContext(GroupContext);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n const contextDisabled = React.useContext(DisabledContext);\n const mergedDisabled = (_a = (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.disabled) || disabled) !== null && _a !== void 0 ? _a : contextDisabled;\n const prevValue = React.useRef(restProps.value);\n const checkboxRef = React.useRef(null);\n const mergedRef = composeRef(ref, checkboxRef);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Checkbox');\n process.env.NODE_ENV !== \"production\" ? warning('checked' in restProps || !!checkboxGroup || !('value' in restProps), 'usage', '`value` is not a valid prop, do you mean `checked`?') : void 0;\n }\n React.useEffect(() => {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n }, []);\n React.useEffect(() => {\n if (skipGroup) {\n return;\n }\n if (restProps.value !== prevValue.current) {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(prevValue.current);\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n prevValue.current = restProps.value;\n }\n return () => checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(restProps.value);\n }, [restProps.value]);\n React.useEffect(() => {\n var _a;\n if ((_a = checkboxRef.current) === null || _a === void 0 ? void 0 : _a.input) {\n checkboxRef.current.input.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const checkboxProps = Object.assign({}, restProps);\n if (checkboxGroup && !skipGroup) {\n checkboxProps.onChange = function () {\n if (restProps.onChange) {\n restProps.onChange.apply(restProps, arguments);\n }\n if (checkboxGroup.toggleOption) {\n checkboxGroup.toggleOption({\n label: children,\n value: restProps.value\n });\n }\n };\n checkboxProps.name = checkboxGroup.name;\n checkboxProps.checked = checkboxGroup.value.includes(restProps.value);\n }\n const classString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-checked`]: checkboxProps.checked,\n [`${prefixCls}-wrapper-disabled`]: mergedDisabled,\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, checkbox === null || checkbox === void 0 ? void 0 : checkbox.className, className, rootClassName, cssVarCls, rootCls, hashId);\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate\n }, TARGET_CLS, hashId);\n // ============================ Event Lock ============================\n const [onLabelClick, onInputClick] = useBubbleLock(checkboxProps.onClick);\n // ============================== Render ==============================\n return wrapCSSVar(/*#__PURE__*/React.createElement(Wave, {\n component: \"Checkbox\",\n disabled: mergedDisabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: classString,\n style: Object.assign(Object.assign({}, checkbox === null || checkbox === void 0 ? void 0 : checkbox.style), style),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onClick: onLabelClick\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, checkboxProps, {\n onClick: onInputClick,\n prefixCls: prefixCls,\n className: checkboxClass,\n disabled: mergedDisabled,\n ref: mergedRef\n })), children !== undefined && /*#__PURE__*/React.createElement(\"span\", null, children))));\n};\nconst Checkbox = /*#__PURE__*/React.forwardRef(InternalCheckbox);\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport Checkbox from './Checkbox';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nconst CheckboxGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n defaultValue,\n children,\n options = [],\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n onChange\n } = props,\n restProps = __rest(props, [\"defaultValue\", \"children\", \"options\", \"prefixCls\", \"className\", \"rootClassName\", \"style\", \"onChange\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [value, setValue] = React.useState(restProps.value || defaultValue || []);\n const [registeredValues, setRegisteredValues] = React.useState([]);\n React.useEffect(() => {\n if ('value' in restProps) {\n setValue(restProps.value || []);\n }\n }, [restProps.value]);\n const memoOptions = React.useMemo(() => options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n return {\n label: option,\n value: option\n };\n }\n return option;\n }), [options]);\n const cancelValue = val => {\n setRegisteredValues(prevValues => prevValues.filter(v => v !== val));\n };\n const registerValue = val => {\n setRegisteredValues(prevValues => [].concat(_toConsumableArray(prevValues), [val]));\n };\n const toggleOption = option => {\n const optionIndex = value.indexOf(option.value);\n const newValue = _toConsumableArray(value);\n if (optionIndex === -1) {\n newValue.push(option.value);\n } else {\n newValue.splice(optionIndex, 1);\n }\n if (!('value' in restProps)) {\n setValue(newValue);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(newValue.filter(val => registeredValues.includes(val)).sort((a, b) => {\n const indexA = memoOptions.findIndex(opt => opt.value === a);\n const indexB = memoOptions.findIndex(opt => opt.value === b);\n return indexA - indexB;\n }));\n };\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const domProps = omit(restProps, ['value', 'disabled']);\n const childrenNode = options.length ? memoOptions.map(option => (/*#__PURE__*/React.createElement(Checkbox, {\n prefixCls: prefixCls,\n key: option.value.toString(),\n disabled: 'disabled' in option ? option.disabled : restProps.disabled,\n value: option.value,\n checked: value.includes(option.value),\n onChange: option.onChange,\n className: `${groupPrefixCls}-item`,\n style: option.style,\n title: option.title,\n id: option.id,\n required: option.required\n }, option.label))) : children;\n const context = {\n toggleOption,\n value,\n disabled: restProps.disabled,\n name: restProps.name,\n // https://github.com/ant-design/ant-design/issues/16376\n registerValue,\n cancelValue\n };\n const classString = classNames(groupPrefixCls, {\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, cssVarCls, rootCls, hashId);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classString,\n style: style\n }, domProps, {\n ref: ref\n }), /*#__PURE__*/React.createElement(GroupContext.Provider, {\n value: context\n }, childrenNode)));\n});\nexport { GroupContext };\nexport default CheckboxGroup;","\"use client\";\n\nimport InternalCheckbox from './Checkbox';\nimport Group from './Group';\nconst Checkbox = InternalCheckbox;\nCheckbox.Group = Group;\nCheckbox.__ANT_CHECKBOX = true;\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","const isPrimitive = value => typeof value !== 'object' && typeof value !== 'function' || value === null;\nexport default isPrimitive;","\"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';\nimport useStyle from './style/sider';\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 // =========================== Prefix ===========================\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\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 renderSider = () => {\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, hashId, cssVarCls);\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 wrapCSSVar(/*#__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 extra\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 label = children === null || children === void 0 ? void 0 : children[0];\n const wrapNode = /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(`${prefixCls}-title-content`, {\n [`${prefixCls}-title-content-with-extra`]: !!extra || extra === 0\n })\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 label === 'string') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inline-collapsed-noicon`\n }, label.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;","\"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 { getNodeRef, supportNodeRef, useComposeRef } from \"rc-util/es/ref\";\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 ? getNodeRef(children) : 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;","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`]: {\n '&-group-title, &-extra': {\n color: groupTitleColor\n }\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 itemPaddingInline\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: itemPaddingInline,\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 motionEaseOut,\n paddingXL,\n itemMarginInline,\n fontSizeLG,\n motionDurationFast,\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 ${motionDurationFast} ${motionEaseOut}`].join(','),\n [`> ${componentCls}-title-content`]: {\n flex: 'auto',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n '> *': {\n flex: 'none'\n }\n }\n },\n // >>>>> Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n padding: 0,\n border: 0,\n borderRadius: 0,\n boxShadow: 'none',\n [`& > ${componentCls}-submenu > ${componentCls}-submenu-title`]: inlineItemStyle,\n [`& ${componentCls}-item-group-title`]: {\n paddingInlineStart: paddingXL\n }\n },\n // >>>>> Item\n [`${componentCls}-item`]: inlineItemStyle\n }\n },\n // Inline Collapse Only\n {\n [`${componentCls}-inline-collapsed`]: {\n width: collapsedWidth,\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu ${componentCls}-submenu-title`]: {\n [`> ${componentCls}-inline-collapsed-noicon`]: {\n fontSize: fontSizeLG,\n textAlign: 'center'\n }\n }\n },\n [`> ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-submenu > ${componentCls}-submenu-title,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n insetInlineStart: 0,\n paddingInline: `calc(50% - ${unit(token.calc(collapsedIconSize).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 calc(${motionDurationSlow} + 0.1s) ${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 '&-with-extra': {\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%'\n },\n // https://github.com/ant-design/ant-design/issues/41143\n [`> ${antCls}-typography-ellipsis-single-line`]: {\n display: 'inline',\n verticalAlign: 'unset'\n },\n [`${componentCls}-item-extra`]: {\n marginInlineStart: 'auto',\n paddingInlineStart: token.padding,\n fontSize: token.fontSizeSM\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: Object.assign({\n zIndex\n }, props.popupStyle)\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/es/hooks/useEvent\";\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 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 = inlineCollapsed !== null && inlineCollapsed !== void 0 ? 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;","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 // Makes vertical dropdowns have a scrollbar once they become taller than the viewport.\n '&-menu-vertical': {\n maxHeight: '100vh',\n overflowY: 'auto'\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 },\n [`${menuCls}-item-icon`]: {\n minWidth: fontSize,\n marginInlineEnd: token.marginXS,\n fontSize: token.fontSizeSM\n },\n [`${menuCls}-title-content`]: {\n flex: 'auto',\n '&-with-extra': {\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%'\n },\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 [`${menuCls}-item-extra`]: {\n paddingInlineStart: token.padding,\n marginInlineStart: 'auto',\n fontSize: token.fontSizeSM,\n color: token.colorTextDescription\n }\n },\n // =========================== Item ===========================\n [`${menuCls}-item, ${menuCls}-submenu-title`]: Object.assign(Object.assign({\n display: 'flex',\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/es/hooks/useEvent\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport isPrimitive from '../_util/isPrimitive';\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';\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(isPrimitive(children) ? /*#__PURE__*/React.createElement(\"span\", null, children) : 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\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 // Get flatten data\n const flattedData = useMemo(() => flattenData(childrenColumnName, pageData), [childrenColumnName, pageData]);\n const {\n keyEntities\n } = useMemo(() => {\n if (checkStrictly) {\n return {\n keyEntities: null\n };\n }\n let convertData = data;\n if (preserveSelectedRowKeys) {\n // use flattedData keys\n const keysSet = new Set(flattedData.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, flattedData]);\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 const checkboxProps = checkboxPropsMap.get(key);\n return {\n node: (/*#__PURE__*/React.createElement(Radio, Object.assign({}, checkboxProps, {\n checked: checked,\n onClick: e => {\n var _a;\n e.stopPropagation();\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onClick) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, e);\n },\n onChange: event => {\n var _a;\n if (!keySet.has(key)) {\n triggerSingleSelection(key, true, [key], event.nativeEvent);\n }\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onChange) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, event);\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 => {\n var _a;\n e.stopPropagation();\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onClick) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, e);\n },\n onChange: event => {\n var _a;\n const {\n nativeEvent\n } = event;\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 (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onChange) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, event);\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 * 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 */\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/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FilterFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FilterFilled';\n}\nexport default RefIcon;","\"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 extendsObject from '../../../_util/extendsObject';\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, _c, _d;\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 filterResetToDefaultFilteredValue,\n defaultFilteredValue,\n filterDropdownProps = {},\n // Deprecated\n filterDropdownOpen,\n filterDropdownVisible,\n onFilterDropdownVisibleChange,\n onFilterDropdownOpenChange\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 var _a;\n setVisible(newVisible);\n (_a = filterDropdownProps.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(filterDropdownProps, newVisible);\n // deprecated\n onFilterDropdownOpenChange === null || onFilterDropdownOpenChange === void 0 ? void 0 : onFilterDropdownOpenChange(newVisible);\n onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(newVisible);\n };\n // =================Warning===================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Table');\n const deprecatedList = [['filterDropdownOpen', 'filterDropdownProps.open'], ['filterDropdownVisible', 'filterDropdownProps.open'], ['onFilterDropdownOpenChange', 'filterDropdownProps.onOpenChange'], ['onFilterDropdownVisibleChange', 'filterDropdownProps.onOpenChange']];\n deprecatedList.forEach(_ref4 => {\n let [deprecatedName, newName] = _ref4;\n warning.deprecated(!(deprecatedName in column), deprecatedName, newName);\n });\n }\n const mergedVisible = (_d = (_c = (_b = filterDropdownProps.open) !== null && _b !== void 0 ? _b : filterDropdownOpen) !== null && _c !== void 0 ? _c : filterDropdownVisible) !== null && _d !== void 0 ? _d : visible; // inner state\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 dropdownContent = /*#__PURE__*/React.createElement(FilterDropdownMenuWrapper, {\n className: `${prefixCls}-dropdown`\n }, dropdownContent);\n const getDropdownTrigger = () => {\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(\"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 };\n const mergedDropdownProps = extendsObject({\n trigger: ['click'],\n placement: direction === 'rtl' ? 'bottomLeft' : 'bottomRight',\n children: getDropdownTrigger(),\n getPopupContainer\n }, Object.assign(Object.assign({}, filterDropdownProps), {\n rootClassName: classNames(rootClassName, filterDropdownProps.rootClassName),\n open: mergedVisible,\n onOpenChange: onVisibleChange,\n dropdownRender: () => {\n if (typeof (filterDropdownProps === null || filterDropdownProps === void 0 ? void 0 : filterDropdownProps.dropdownRender) === 'function') {\n return filterDropdownProps.dropdownRender(dropdownContent);\n }\n return dropdownContent;\n }\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, Object.assign({}, mergedDropdownProps)));\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 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 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;","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/** */\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/** */\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 = sorterState => {\n const {\n column,\n sortOrder\n } = sorterState;\n return {\n column,\n order: sortOrder,\n field: column.dataIndex,\n columnKey: column.key\n };\n};\nconst generateSorterInfo = sorterStates => {\n const activeSorters = 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 (activeSorters.length === 0 && sorterStates.length) {\n const lastIndex = sorterStates.length - 1;\n return Object.assign(Object.assign({}, stateToInfo(sorterStates[lastIndex])), {\n column: undefined,\n order: undefined,\n field: undefined,\n columnKey: undefined\n });\n }\n if (activeSorters.length <= 1) {\n return activeSorters[0] || {};\n }\n return activeSorters;\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 width: expandIconSize,\n height: expandIconSize,\n color: 'inherit',\n lineHeight: unit(expandIconSize),\n background: tableExpandIconBg,\n border: tableBorder,\n borderRadius,\n transform: `scale(${expandIconScale})`,\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 // why left 0s? Avoid column header move with transition when left is changed\n // https://github.com/ant-design/ant-design/issues/50588\n transition: `all ${token.motionDurationSlow}, left 0s`,\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}-tbody-virtual-holder-inner`]: {\n [`\n & > ${componentCls}-row, \n & > div:not(${componentCls}-row) > ${componentCls}-row\n `]: {\n display: 'flex',\n boxSizing: 'border-box',\n width: '100%'\n }\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}","export 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;","import { unit } from '@ant-design/cssinjs';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\nconst genBaseStyle = token => {\n const {\n paddingXXS,\n lineWidth,\n tagPaddingHorizontal,\n componentCls,\n calc\n } = token;\n const paddingInline = calc(tagPaddingHorizontal).sub(lineWidth).equal();\n const iconMarginInline = calc(paddingXXS).sub(lineWidth).equal();\n return {\n // Result\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-block',\n height: 'auto',\n // https://github.com/ant-design/ant-design/pull/47504\n marginInlineEnd: token.marginXS,\n paddingInline,\n fontSize: token.tagFontSize,\n lineHeight: token.tagLineHeight,\n whiteSpace: 'nowrap',\n background: token.defaultBg,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadiusSM,\n opacity: 1,\n transition: `all ${token.motionDurationMid}`,\n textAlign: 'start',\n position: 'relative',\n // RTL\n [`&${componentCls}-rtl`]: {\n direction: 'rtl'\n },\n '&, a, a:hover': {\n color: token.defaultColor\n },\n [`${componentCls}-close-icon`]: {\n marginInlineStart: iconMarginInline,\n fontSize: token.tagIconSize,\n color: token.colorTextDescription,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}`,\n '&:hover': {\n color: token.colorTextHeading\n }\n },\n [`&${componentCls}-has-color`]: {\n borderColor: 'transparent',\n [`&, a, a:hover, ${token.iconCls}-close, ${token.iconCls}-close:hover`]: {\n color: token.colorTextLightSolid\n }\n },\n '&-checkable': {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n cursor: 'pointer',\n [`&:not(${componentCls}-checkable-checked):hover`]: {\n color: token.colorPrimary,\n backgroundColor: token.colorFillSecondary\n },\n '&:active, &-checked': {\n color: token.colorTextLightSolid\n },\n '&-checked': {\n backgroundColor: token.colorPrimary,\n '&:hover': {\n backgroundColor: token.colorPrimaryHover\n }\n },\n '&:active': {\n backgroundColor: token.colorPrimaryActive\n }\n },\n '&-hidden': {\n display: 'none'\n },\n // To ensure that a space will be placed between character and `Icon`.\n [`> ${token.iconCls} + span, > span + ${token.iconCls}`]: {\n marginInlineStart: paddingInline\n }\n }),\n [`${componentCls}-borderless`]: {\n borderColor: 'transparent',\n background: token.tagBorderlessBg\n }\n };\n};\n// ============================== Export ==============================\nexport const prepareToken = token => {\n const {\n lineWidth,\n fontSizeIcon,\n calc\n } = token;\n const tagFontSize = token.fontSizeSM;\n const tagToken = mergeToken(token, {\n tagFontSize,\n tagLineHeight: unit(calc(token.lineHeightSM).mul(tagFontSize).equal()),\n tagIconSize: calc(fontSizeIcon).sub(calc(lineWidth).mul(2)).equal(),\n // Tag icon is much smaller\n tagPaddingHorizontal: 8,\n // Fixed padding.\n tagBorderlessBg: token.defaultBg\n });\n return tagToken;\n};\nexport const prepareComponentToken = token => ({\n defaultBg: new TinyColor(token.colorFillQuaternary).onBackground(token.colorBgContainer).toHexString(),\n defaultColor: token.colorText\n});\nexport default genStyleHooks('Tag', token => {\n const tagToken = prepareToken(token);\n return genBaseStyle(tagToken);\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 classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst CheckableTag = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n style,\n className,\n checked,\n onChange,\n onClick\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"style\", \"className\", \"checked\", \"onChange\", \"onClick\"]);\n const {\n getPrefixCls,\n tag\n } = React.useContext(ConfigContext);\n const handleClick = e => {\n onChange === null || onChange === void 0 ? void 0 : onChange(!checked);\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n // Style\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const cls = classNames(prefixCls, `${prefixCls}-checkable`, {\n [`${prefixCls}-checkable-checked`]: checked\n }, tag === null || tag === void 0 ? void 0 : tag.className, className, hashId, cssVarCls);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"span\", Object.assign({}, restProps, {\n ref: ref,\n style: Object.assign(Object.assign({}, style), tag === null || tag === void 0 ? void 0 : tag.style),\n className: cls,\n onClick: handleClick\n })));\n});\nexport default CheckableTag;","// Style as status component\nimport { prepareComponentToken, prepareToken } from '.';\nimport { genPresetColor, genSubStyleComponent } from '../../theme/internal';\n// ============================== Preset ==============================\nconst genPresetStyle = token => genPresetColor(token, (colorKey, _ref) => {\n let {\n textColor,\n lightBorderColor,\n lightColor,\n darkColor\n } = _ref;\n return {\n [`${token.componentCls}${token.componentCls}-${colorKey}`]: {\n color: textColor,\n background: lightColor,\n borderColor: lightBorderColor,\n // Inverse color\n '&-inverse': {\n color: token.colorTextLightSolid,\n background: darkColor,\n borderColor: darkColor\n },\n [`&${token.componentCls}-borderless`]: {\n borderColor: 'transparent'\n }\n }\n };\n});\n// ============================== Export ==============================\nexport default genSubStyleComponent(['Tag', 'preset'], token => {\n const tagToken = prepareToken(token);\n return genPresetStyle(tagToken);\n}, prepareComponentToken);","import { prepareComponentToken, prepareToken } from '.';\nimport capitalize from '../../_util/capitalize';\nimport { genSubStyleComponent } from '../../theme/internal';\nconst genTagStatusStyle = (token, status, cssVariableType) => {\n const capitalizedCssVariableType = capitalize(cssVariableType);\n return {\n [`${token.componentCls}${token.componentCls}-${status}`]: {\n color: token[`color${cssVariableType}`],\n background: token[`color${capitalizedCssVariableType}Bg`],\n borderColor: token[`color${capitalizedCssVariableType}Border`],\n [`&${token.componentCls}-borderless`]: {\n borderColor: 'transparent'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genSubStyleComponent(['Tag', 'status'], token => {\n const tagToken = prepareToken(token);\n return [genTagStatusStyle(tagToken, 'success', 'Success'), genTagStatusStyle(tagToken, 'processing', 'Info'), genTagStatusStyle(tagToken, 'error', 'Error'), genTagStatusStyle(tagToken, 'warning', 'Warning')];\n}, prepareComponentToken);","export default function capitalize(str) {\n if (typeof str !== 'string') {\n return str;\n }\n const ret = str.charAt(0).toUpperCase() + str.slice(1);\n return ret;\n}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { isPresetColor, isPresetStatusColor } from '../_util/colors';\nimport useClosable, { pickClosable } from '../_util/hooks/useClosable';\nimport { replaceElement } from '../_util/reactNode';\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { ConfigContext } from '../config-provider';\nimport CheckableTag from './CheckableTag';\nimport useStyle from './style';\nimport PresetCmp from './style/presetCmp';\nimport StatusCmp from './style/statusCmp';\nconst InternalTag = /*#__PURE__*/React.forwardRef((tagProps, ref) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n children,\n icon,\n color,\n onClose,\n bordered = true,\n visible: deprecatedVisible\n } = tagProps,\n props = __rest(tagProps, [\"prefixCls\", \"className\", \"rootClassName\", \"style\", \"children\", \"icon\", \"color\", \"onClose\", \"bordered\", \"visible\"]);\n const {\n getPrefixCls,\n direction,\n tag: tagContext\n } = React.useContext(ConfigContext);\n const [visible, setVisible] = React.useState(true);\n const domProps = omit(props, ['closeIcon', 'closable']);\n // Warning for deprecated usage\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Tag');\n warning.deprecated(!('visible' in tagProps), 'visible', 'visible && <Tag />');\n }\n React.useEffect(() => {\n if (deprecatedVisible !== undefined) {\n setVisible(deprecatedVisible);\n }\n }, [deprecatedVisible]);\n const isPreset = isPresetColor(color);\n const isStatus = isPresetStatusColor(color);\n const isInternalColor = isPreset || isStatus;\n const tagStyle = Object.assign(Object.assign({\n backgroundColor: color && !isInternalColor ? color : undefined\n }, tagContext === null || tagContext === void 0 ? void 0 : tagContext.style), style);\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n // Style\n const tagClassName = classNames(prefixCls, tagContext === null || tagContext === void 0 ? void 0 : tagContext.className, {\n [`${prefixCls}-${color}`]: isInternalColor,\n [`${prefixCls}-has-color`]: color && !isInternalColor,\n [`${prefixCls}-hidden`]: !visible,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered\n }, className, rootClassName, hashId, cssVarCls);\n const handleCloseClick = e => {\n e.stopPropagation();\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n if (e.defaultPrevented) {\n return;\n }\n setVisible(false);\n };\n const [, mergedCloseIcon] = useClosable(pickClosable(tagProps), pickClosable(tagContext), {\n closable: false,\n closeIconRender: iconNode => {\n const replacement = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-close-icon`,\n onClick: handleCloseClick\n }, iconNode);\n return replaceElement(iconNode, replacement, originProps => ({\n onClick: e => {\n var _a;\n (_a = originProps === null || originProps === void 0 ? void 0 : originProps.onClick) === null || _a === void 0 ? void 0 : _a.call(originProps, e);\n handleCloseClick(e);\n },\n className: classNames(originProps === null || originProps === void 0 ? void 0 : originProps.className, `${prefixCls}-close-icon`)\n }));\n }\n });\n const isNeedWave = typeof props.onClick === 'function' || children && children.type === 'a';\n const iconNode = icon || null;\n const kids = iconNode ? (/*#__PURE__*/React.createElement(React.Fragment, null, iconNode, children && /*#__PURE__*/React.createElement(\"span\", null, children))) : children;\n const tagNode = /*#__PURE__*/React.createElement(\"span\", Object.assign({}, domProps, {\n ref: ref,\n className: tagClassName,\n style: tagStyle\n }), kids, mergedCloseIcon, isPreset && /*#__PURE__*/React.createElement(PresetCmp, {\n key: \"preset\",\n prefixCls: prefixCls\n }), isStatus && /*#__PURE__*/React.createElement(StatusCmp, {\n key: \"status\",\n prefixCls: prefixCls\n }));\n return wrapCSSVar(isNeedWave ? /*#__PURE__*/React.createElement(Wave, {\n component: \"Tag\"\n }, tagNode) : tagNode);\n});\nconst Tag = InternalTag;\nif (process.env.NODE_ENV !== 'production') {\n Tag.displayName = 'Tag';\n}\nTag.CheckableTag = CheckableTag;\nexport default Tag;"],"names":["EXPAND_COLUMN","INTERNAL_HOOKS","createContext","defaultValue","Context","React","undefined","Provider","_ref","value","children","valueRef","current","_React$useState","getValue","listeners","Set","context","_slicedToArray","useLayoutEffect","unstable_batchedUpdates","forEach","listener","useContext","holder","selector","eventSelector","useEvent","ctx","Array","isArray","obj","key","_ref2","_React$useState3","forceUpdate","add","trigger","delete","nextValue","nextSelectorValue","isEqual","createImmutable","ImmutableContext","useImmutableMark","makeImmutable","Component","shouldTriggerRender","refAble","supportRef","ImmutableComponent","props","ref","refProps","renderTimesRef","prevProps","_extends","responseImmutable","propsAreEqual","_createImmutable","renderWithProps","getColumnsKey","columns","columnKeys","keys","column","arr","dataIndex","mergedKey","join","concat","push","validateValue","val","useCellRender","record","renderIndex","render","shouldCellUpdate","perfRecord","PerfContext","mark","useMemo","data","path","returnChildNode","returnCellProps","renderData","_typeof","prev","next","prevRecord","nextRecord","Cell","_ref3","_legacyCellProps$colS","_ref4","_ref5","_legacyCellProps$rowS","_additionalProps$titl","_classNames","component","ellipsis","scope","prefixCls","className","align","index","rowType","colSpan","rowSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_props$additionalProp","additionalProps","isSticky","cellPrefixCls","_useContext","TableContext","supportSticky","allColumnsFixedLeft","rowHoverable","_useCellRender","_useCellRender2","childNode","legacyCellProps","fixedStyle","isFixLeft","isFixRight","position","left","right","mergedColSpan","mergedRowSpan","_useHoverState","rowIndex","cellStartRow","cellRowSpan","startRow","endRow","hoverStartRow","hoverEndRow","onHover","useHoverState","_useHoverState2","hovering","onMouseEnter","event","_additionalProps$onMo","call","onMouseLeave","_additionalProps$onMo2","title","ellipsisConfig","showTitle","toString","getTitleFromCellRenderChildren","mergedClassName","classNames","_defineProperty","alignStyle","textAlign","mergedStyle","_objectSpread","style","mergedChildNode","getCellFixedInfo","colStart","colEnd","stickyOffsets","direction","startColumn","endColumn","fixed","nextColumn","prevColumn","canLastFix","every","col","_excluded","Summary","Row","_objectWithoutProperties","_ref$colSpan","_React$useContext","SummaryContext","scrollColumnIndex","fixedInfo","flattenColumns","lastColumnIndex","length","scrollColumn","summaryContext","scrollbar","FooterComponents","fillRecords","list","indent","childrenColumnName","expandedKeys","getRowKey","expanded","has","i","useFlattenRecords","size","map","item","useRowInfo","rowKey","recordIndex","computeRowClassName","expandableType","onTriggerExpand","rowExpandable","onRow","expandRowByClick","rowClassName","nestExpandable","rowSupportExpand","mergedExpandable","hasNestChildren","onInternalTriggerExpand","rowProps","onRowClick","onClick","columnsKey","expandable","_len","arguments","args","_key","apply","cellComponent","isEmpty","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","width","overflow","display","renderExpandIcon","onExpand","expandClassName","stopPropagation","computedExpandedClassName","cls","getCellProps","rowInfo","colIndex","appendCellNode","additionalCellProps","fixedInfoList","expandIconColumnIndex","indentSize","expandIcon","paddingLeft","onCell","_props$indent","RowComponent","rowComponent","scopeCellComponent","expandedRowClassName","expandedRowRender","expandedRef","expandRowNode","expandedClsName","baseRowNode","columnClassName","_getCellProps","rowScope","expandContent","ExpandedRow","MeasureCell","columnKey","onColumnResize","cellRef","offsetWidth","ResizeObserver","padding","border","height","MeasureRow","fontSize","Collection","onBatchResize","infoList","rows","measureColumnWidth","getComponent","emptyNode","flattenData","perfRef","WrapperComponent","trComponent","tdComponent","thComponent","idx","BodyRow","INTERNAL_COL_DEFINE","colWidths","columCount","tableLayout","cols","mustInsert","minWidth","restAdditionalProps","columnType","unshift","FixedHolder","noData","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","restProps","TableComponent","combinationScrollBarSize","scrollRef","setScrollRef","element","fillRef","_scrollRef$current","onWheel","e","currentTarget","deltaX","scrollLeft","preventDefault","addEventListener","passive","_scrollRef$current2","removeEventListener","allFlattenColumnsWithWidth","lastColumn","ScrollBarColumn","onHeaderCell","columnsWithScrollbar","_toConsumableArray","flattenColumnsWithScrollbar","headerStickyOffsets","mergedColumnWidth","cloneColumns","useColumnWidth","top","bottom","visibility","ColGroup","cells","CellComponent","onHeaderRow","cell","cellIndex","rootColumns","fillRowCells","currentColIndex","filter","Boolean","subColumns","reduce","total","count","hasSubColumns","rowCount","_loop","parseHeaderRows","row","HeaderRow","parseColWidth","totalWidth","endsWith","parseFloat","_excluded2","convertChildrenToColumns","toArray","node","nodeChildren","filterHiddenColumns","hidden","flatColumns","parentKey","parsedFixed","subColum","transformColumns","columnTitle","columnWidth","scrollWidth","clientWidth","baseColumns","slice","withExpandColumns","includes","expandColIndex","splice","process","expandColumnIndex","indexOf","fixedColumn","expandColumn","_","recordExpandable","icon","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","useExpand","mergedData","expandableConfig","config","legacyExpandableConfig","showExpandColumn","getExpandableProps","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","onExpandedRowsChange","mergedExpandIcon","mergedChildrenColumnName","internalHooks","__PARENT_RENDER_ICON__","some","dig","findAllChildrenKeys","_React$useState2","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","hasKey","useLayoutState","defaultState","stateRef","useRef","_useState","useState","lastPromiseRef","updateBatchRef","useEffect","updater","promise","Promise","resolve","then","prevBatch","prevState","batchUpdater","defaultContainer","canUseDom","window","columnCount","getOffsets","startIndex","endIndex","offset","offsets","startOffsets","endOffsets","reverse","addEventListenerWrap","target","eventType","cb","option","callback","ReactDOM","remove","getOffset","box","getBoundingClientRect","docElem","document","documentElement","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","buttons","pageX","checkScrollBarVisible","tableOffsetTop","tableBottomOffset","offsetHeight","currentClientOffset","innerHeight","clientHeight","getScrollBarSize","state","setScrollLeft","onMouseUpListener","onMouseMoveListener","onScrollListener","onResizeListener","bodyNode","onMouseDown","persist","transform","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","Table","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","useColumns","_useColumns2","flattenScrollX","mergedScrollX","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","nativeElement","scrollTo","_scrollBodyRef$curren3","HTMLElement","Number","isNaN","querySelector","scrollIntoView","scrollXStyle","scrollYStyle","scrollTableStyle","scrollSummaryRef","pingedLeft","setPingedLeft","_React$useState5","_React$useState6","pingedRight","setPingedRight","Map","colsWidths","updateColsWidths","pureColWidths","get","useStickyOffsets","y","stickyRef","_useSticky","_ref$offsetHeader","offsetHeader","_ref$offsetSummary","offsetSummary","_ref$offsetScroll","_ref$getContainer","getContainer","useSticky","summaryNode","fixFooter","type","overflowY","maxHeight","overflowX","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","_scrollBodyRef$curren4","getDOM","mounted","_React$useState7","_React$useState8","setScrollbarSize","_React$useState9","_React$useState10","setSupportSticky","Element","getTargetScrollBarSize","isStyleSupport","groupTableNode","renderFixedHeaderTable","fixedHolderPassProps","Header","Footer","renderFixedFooterTable","mergedTableLayout","headerProps","bodyTable","Body","bodyColGroup","captionElement","dataProps","pickAttrs","ariaProps","aria","bodyContent","_ref6","fixedHolderProps","fullTable","Panel","onResize","_stickyRef$current2","mergedWidth","useFixedInfo","TableContextValue","RefTable","genTable","ImmutableTable","Column","ColumnGroup","StaticContext","GridContext","inverse","getHeight","columnsOffset","cellStyle","_additionalCellProps$","_additionalCellProps$2","concatColWidth","getColumnWidth","marginOffset","flex","marginRight","pointerEvents","needHide","mergedRender","cellSpan","BodyLine","extra","rowCellCls","rowStyle","rowNode","VirtualCell","Grid","_useContext2","scrollY","listItemHeight","onTablePropScroll","listRef","columnsWidth","_listRef$current2","_listRef$current","Object","defineProperty","_listRef$current3","getScrollInfo","_listRef$current4","getRowSpan","_flattenData$index","_cellProps$rowSpan","cellProps","gridContext","tblPrefixCls","wrapperComponent","horizontalScrollBarStyle","VirtualList","fullHeight","styles","horizontalScrollBar","itemHeight","itemKey","onVirtualScroll","_listRef$current5","extraRender","info","getSize","offsetY","firstRowSpanColumns","lastRowSpanColumns","_loop2","spanLines","_loop3","sizeInfo","endItemIndex","endItemKey","itemProps","renderBody","rawData","VirtualTable","_props$prefixCls","RefVirtualTable","genVirtualTable","__rest","s","t","p","prototype","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","InternalCheckbox","_a","customizePrefixCls","rootClassName","indeterminate","skipGroup","disabled","getPrefixCls","checkbox","ConfigContext","checkboxGroup","GroupContext","isFormItemInput","FormItemInputContext","contextDisabled","DisabledContext","mergedDisabled","prevValue","checkboxRef","mergedRef","composeRef","registerValue","cancelValue","input","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useStyle","checkboxProps","assign","onChange","toggleOption","label","name","checked","classString","checkboxClass","TARGET_CLS","onLabelClick","onInputClick","useBubbleLock","Wave","RcCheckbox","CheckboxGroup","options","setValue","registeredValues","setRegisteredValues","memoOptions","groupPrefixCls","domProps","omit","childrenNode","Checkbox","required","optionIndex","newValue","sort","a","b","opt","prevValues","v","Group","__ANT_CHECKBOX","SiderContext","firstLevel","inlineCollapsed","dashed","Divider","danger","disableMenuItemTitleTooltip","isInlineCollapsed","MenuContext","siderCollapsed","tooltipTitle","tooltipProps","open","childrenLength","returnNode","Item","cloneElement","wrapNode","charAt","renderItemChildren","Tooltip","placement","overlayClassName","OverrideContext","OverrideProvider","override","mode","selectable","canRef","supportNodeRef","useComposeRef","getNodeRef","ContextIsolator","space","token","componentCls","motionDurationSlow","horizontalLineHeight","colorSplit","lineWidth","lineType","itemPaddingInline","lineHeight","borderBottom","unit","boxShadow","clear","content","verticalAlign","paddingInline","backgroundColor","transition","menuArrowOffset","calc","transformOrigin","mul","equal","accessibilityFocus","genFocusOutline","getThemeStyle","themeSuffix","itemColor","itemSelectedColor","groupTitleColor","itemBg","subMenuItemBg","itemSelectedBg","activeBarHeight","activeBarWidth","activeBarBorderWidth","motionEaseInOut","motionEaseOut","motionDurationMid","itemHoverColor","itemDisabledColor","dangerItemColor","dangerItemHoverColor","dangerItemSelectedColor","dangerItemActiveBg","dangerItemSelectedBg","popupBg","itemHoverBg","itemActiveBg","menuSubMenuBg","horizontalItemSelectedColor","horizontalItemSelectedBg","horizontalItemBorderRadius","horizontalItemHoverBg","color","background","marginTop","marginBottom","borderRadius","insetInline","borderBottomWidth","borderBottomColor","borderInlineEnd","insetBlock","insetInlineEnd","opacity","borderInlineEndColor","getVerticalInlineStyle","itemMarginInline","menuArrowSize","marginXS","itemMarginBlock","itemWidth","paddingWithArrow","textOverflow","marginInline","marginBlock","paddingInlineEnd","iconCls","colorTextLightSolid","dropdownWidth","controlHeightLG","paddingXL","fontSizeLG","motionDurationFast","paddingXS","boxShadowSecondary","collapsedWidth","collapsedIconSize","inlineItemStyle","listStylePosition","listStyleType","alignItems","paddingInlineStart","insetInlineStart","div","margin","textEllipsis","genMenuItemStyle","iconSize","iconMarginInlineEnd","whiteSpace","cursor","marginInlineStart","resetIcon","marginInlineEnd","borderColor","genSubMenuArrowStyle","getBaseStyle","antCls","zIndexPopup","borderRadiusLG","subMenuItemBorderRadius","groupTitleLineHeight","groupTitleFontSize","clearFix","resetComponent","listStyle","outline","itemBorderRadius","fontSizeSM","inset","borderStyle","borderWidth","borderTopWidth","zIndex","paddingBottom","paddingTop","prepareComponentToken","_b","_c","colorPrimary","colorError","colorTextDisabled","colorErrorBg","colorText","colorTextDescription","colorBgContainer","colorFillAlter","colorFillContent","lineWidthBold","controlItemBgActive","colorBgTextHover","colorBgElevated","marginXXS","controlHeightSM","colorErrorHover","colorTextDark","TinyColor","setAlpha","toRgbString","zIndexPopupBase","radiusItem","radiusSubMenuItem","borderRadiusSM","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","injectStyle","genStyleHooks","menuToken","mergeToken","menuHorizontalHeight","menuDarkToken","getHorizontalStyle","getVerticalStyle","getRTLStyle","genCollapseMotion","initSlideMotion","initZoomMotion","deprecatedTokens","unitless","popupClassName","theme","customTheme","contextTheme","parentPath","useFullPath","titleNode","titleIsSpan","contextValue","useZIndex","RcSubMenu","popupStyle","isEmptyIcon","MENU_COMPONENTS","MenuItem","submenu","SubMenu","divider","InternalMenu","forwardRef","overrideObj","getPopupContainer","menu","rootPrefixCls","_internalDisableMenuItemTitleTooltip","overflowedIndicatorPopupClassName","passedProps","validator","onItemClick","mergedMode","mergedSelectable","mergedInlineCollapsed","defaultMotions","horizontal","motionName","inline","initCollapseMotion","other","menuClassName","mergedIcon","RcMenu","overflowedIndicator","EllipsisOutlined","_internalComponents","Menu","menuRef","useImperativeHandle","focus","MenuDivider","ItemGroup","menuCls","itemCls","genBaseStyle","dropdownArrowDistance","sizePopupArrow","paddingBlock","dropdownEdgeChildPadding","fontSizeIcon","controlPaddingHorizontal","_skip_check_","sub","animationName","slideUpIn","slideDownIn","slideUpOut","slideDownOut","getArrowStyle","arrowPlacement","backgroundClip","genFocusStyle","fontWeight","controlItemBgHover","controlItemBgActiveHover","fontStyle","initMoveMotion","paddingXXS","dropdownToken","genStatusStyle","controlHeight","getArrowOffsetToken","contentRadius","limitVerticalRadius","getArrowToken","resetStyle","Dropdown","arrow","dropdownRender","overlayStyle","onOpenChange","visible","onVisibleChange","mouseEnterDelay","mouseLeaveDelay","autoAdjustOverflow","overlay","transitionName","getContextPopupContainer","dropdown","devUseWarning","memoTransitionName","memoPlacement","useToken","child","only","isPrimitive","dropdownTrigger","triggerActions","alignPoint","mergedOpen","setOpen","useMergedState","onInnerOpenChange","nextOpen","source","overlayClassNameCustomized","builtinPlacements","getPlacements","arrowPointAtCenter","pointAtCenter","arrowWidth","onMenuClick","multiple","contextZIndex","renderNode","RcDropdown","renderOverlay","overlayNode","items","RightOutlined","zIndexContext","PurePanel","genPurePanel","adjustX","adjustY","_InternalPanelDoNotUseOrYouWillBeFired","DropdownButton","loading","htmlType","autoFocus","href","buttonsRender","destroyPopupOnHide","buttonPrefixCls","dropdownProps","compactSize","compactItemClassnames","useCompactItemContext","classes","leftButton","Button","rightButton","leftButtonToRender","rightButtonToRender","Space","Compact","block","__ANT_BUTTON","InternalDropdown","SELECTION_COLUMN","SELECTION_ALL","SELECTION_INVERT","SELECTION_NONE","EMPTY_LIST","useSelection","rowSelection","preserveSelectedRowKeys","selectedRowKeys","defaultSelectedRowKeys","getCheckboxProps","onSelectionChange","onSelect","onSelectAll","onSelectInvert","onSelectNone","onSelectMultiple","selectionColWidth","selectionType","selections","renderCell","customizeRenderCell","hideSelectAll","checkStrictly","pageData","getRecordByKey","expandType","locale","tableLocale","warning","multipleSelect","updatePrevSelectedIndex","getKey","prevSelectedIndex","setPrevSelectedIndex","useCallback","currentSelectedIndex","selectedKeys","configPrevSelectedIndex","min","rangeKeys","shouldSelected","rangeKey","changedKeys","useMultipleSelect","mergedSelectedKeys","setMergedSelectedKeys","preserveRecordsRef","updatePreserveRecordsCache","newCache","flattedData","keyEntities","convertData","keysSet","preserveRecords","from","convertDataToEntities","externalGetKey","childrenPropName","checkboxPropsMap","isCheckboxDisabled","r","derivedSelectedKeys","derivedHalfSelectedKeys","checkedKeys","halfCheckedKeys","conductCheck","derivedSelectedKeySet","derivedHalfSelectedKeySet","setSelectedKeys","method","availableKeys","records","triggerSingleSelection","selected","k","mergedSelections","selection","text","selectionAll","checkProps","selectInvert","keySet","deprecated","selectNone","_a2","rest","recordKeys","checkedCurrentAll","checkedCurrentSome","onSelectAllChange","changeKeys","columnTitleCheckbox","customizeSelections","onSelectionClick","DownOutlined","allDisabledData","allDisabled","allDisabledAndChecked","allDisabledSomeChecked","Radio","nativeEvent","mergedIndeterminate","shiftKey","isMultiple","recordKey","originCheckedKeys","arrDel","arrAdd","result","nextCheckedKeys","tempKeySet","restColumns","selectionColumnIndex","prevCol","nextCol","mergedFixed","columnCls","selectionColumn","renderSelectionCell","useProxyImperativeHandle","init","refObj","Proxy","prop","Reflect","handler","_antProxy","ori","isWindow","Document","ownerDocument","iconPrefix","collapse","expand","getColumnKey","defaultKey","getColumnPos","pos","renderColumnTitle","FilterFilled","AntdIcon","FilterFilledSvg","filterSearch","tablePrefixCls","Input","prefix","SearchOutlined","placeholder","filterSearchPlaceholder","htmlSize","onKeyDown","keyCode","KeyCode","ENTER","flattenKeys","filters","searchValueMatched","searchValue","toLowerCase","trim","renderFilterItems","filteredKeys","filterMultiple","String","wrapStringListType","_d","dropdownPrefixCls","filterOnClose","filterMode","filterState","triggerFilter","filterResetToDefaultFilteredValue","defaultFilteredValue","filterDropdownProps","filterDropdownOpen","filterDropdownVisible","onFilterDropdownVisibleChange","onFilterDropdownOpenChange","setVisible","filtered","forceFiltered","triggerVisible","newVisible","mergedVisible","propFilteredKeys","getFilteredKeysSync","setFilteredKeysSync","initialValue","useForceUpdate","useSyncState","onSelectKeys","onCheck","openKeys","setOpenKeys","setSearchValue","onSearch","internalTriggerFilter","mergedKeys","onConfirm","onReset","confirm","closeDropdown","doFilter","dropdownMenuClass","onCheckAll","allFilterKeys","getTreeData","_ref7","getFilterData","dropdownContent","renderEmpty","filterDropdown","clearFilters","close","getFilterComponent","empty","Empty","image","PRESENTED_IMAGE_SIMPLE","description","filterEmptyText","imageStyle","FilterSearch","filterCheckall","Tree","checkable","blockNode","showIcon","treeData","autoExpandParent","defaultExpandAll","filterTreeNode","onDeselect","getResetDisabled","filterReset","filterConfirm","FilterDropdownMenuWrapper","mergedDropdownProps","extendsObject","getDropdownTrigger","filterIcon","role","tabIndex","active","collectFilterStates","filterStates","columnPos","filteredValues","filteredValue","injectFilter","newColumn","find","renderProps","FilterDropdown","generateFilterInfo","currentFilters","keyAsString","originKey","currentData","onFilter","keyIndex","realKey","getMergedColumns","rawMergedColumns","flatMap","onFilterChange","setFilterStates","mergedFilterStates","collectedStates","filteredKeysIsAllNotControlled","filteredKeysIsAllControlled","keyList","newFilterStates","innerColumns","useLazyKVMap","mapCacheRef","kvMap","DEFAULT_PAGE_SIZE","pagination","paginationTotal","paginationObj","innerPagination","setInnerPagination","defaultCurrent","pageSize","defaultPageSize","mergedPagination","maxPage","ceil","refreshPagination","onInternalChange","CaretDownOutlined","CaretDownOutlinedSvg","CaretUpOutlined","CaretUpOutlinedSvg","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","safeColumnTitle","res","displayTitle","stateToInfo","order","field","generateSorterInfo","activeSorters","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","getSorters","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","operationUnit","table","tableFilterDropdownWidth","tableFilterDropdownSearchWidth","headerIconColor","tableHeaderFilterActiveBg","tableFilterDropdownBg","tableFilterDropdownHeight","filterDropdownMenuBg","tableFilterDropdownPrefixCls","treePrefixCls","justifyContent","zIndexTableFixed","tableBg","zIndexTableSticky","shadowColor","flexWrap","rowGap","tableRadius","borderStartStartRadius","borderStartEndRadius","headerIconHoverColor","tableSelectionColumnWidth","tableSelectedRowBg","tableSelectedRowHoverBg","tableRowHoverBg","flexDirection","getSizeStyle","tableFontSizeMiddle","tableFontSizeSmall","tableHeaderSortHoverBg","tableFixedHeaderSortActiveBg","tableHeaderSortBg","tableBodySortBg","opacityLoading","tableScrollThumbBg","tableScrollThumbBgHover","tableScrollThumbSize","tableScrollBg","stickyScrollBarBorderRadius","boxSizing","genTableStyle","fontWeightStrong","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","genPaginationStyle","genSummaryStyle","genSorterStyle","genFilterStyle","genBorderedStyle","genRadiusStyle","genExpandStyle","genEmptyStyle","genSelectionStyle","genFixedStyle","genStickyStyle","genEllipsisStyle","genSizeStyle","genRtlStyle","genVirtualStyle","colorFillSecondary","paddingSM","colorBorderSecondary","colorTextPlaceholder","colorIcon","colorIconHover","colorFillSecondarySolid","onBackground","toHexShortString","colorFillContentSolid","colorFillAlterSolid","baseColorAction","baseColorActionHover","getAlpha","InternalTable","customizeSize","bordered","customizeDropdownPrefixCls","dataSource","legacyChildrenColumnName","virtual","needResponsive","responsive","screens","useBreakpoint","matched","m","c","contextLocale","defaultLocale","mergedSize","useSize","ele","returnWidth","getComputedStyle","parseInt","borderLeftWidth","borderRightWidth","useContainerWidth","rootRef","tblRef","changeEventInfo","triggerOnChange","action","reset","changeInfo","resetPagination","scrollToFirstRowOnChange","duration","getScroll","startTime","Date","now","frameFunc","time","nextScrollTop","d","cc","easeInOutCubic","constructor","currentDataSource","transformSorterColumns","sorterTitleProps","useSorter","sortedData","transformFilterColumns","useFilter","mergedFilters","filterKey","transformTitleColumns","useTitleColumns","usePagination","onPaginationChange","param","pageProp","getPaginationParam","transformSelectionColumns","selectedKeySet","topPaginationNode","bottomPaginationNode","spinProps","paginationSize","renderPagination","Pagination","defaultPosition","topPos","bottomPos","isDisable","replace","spinning","wrapperClassNames","DefaultRenderEmpty","componentName","RcVirtualTable","RcTable","virtualProps","fontHeight","Spin","internalRowClassName","mergedRowClassName","ForwardTable","prepareToken","tagFontSize","tagLineHeight","lineHeightSM","tagIconSize","tagPaddingHorizontal","tagBorderlessBg","defaultBg","colorFillQuaternary","toHexString","defaultColor","iconMarginInline","colorBorder","colorPrimaryHover","colorPrimaryActive","CheckableTag","tag","genSubStyleComponent","genPresetColor","colorKey","textColor","lightBorderColor","lightColor","darkColor","genPresetStyle","genTagStatusStyle","status","cssVariableType","capitalizedCssVariableType","str","toUpperCase","tagToken","InternalTag","tagProps","onClose","deprecatedVisible","tagContext","isPreset","isPresetColor","isStatus","isPresetStatusColor","isInternalColor","tagStyle","tagClassName","handleCloseClick","defaultPrevented","mergedCloseIcon","useClosable","pickClosable","closable","closeIconRender","iconNode","replacement","replaceElement","originProps","isNeedWave","kids","tagNode","PresetCmp","StatusCmp","Tag"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/97902.d1e262d6.chunk.js","mappings":"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","sources":["../node_modules/rc-table/es/constant.js","../node_modules/@rc-component/context/es/context.js","../node_modules/@rc-component/context/es/Immutable.js","../node_modules/@rc-component/context/es/index.js","../node_modules/rc-table/es/context/TableContext.js","../node_modules/rc-table/es/context/PerfContext.js","../node_modules/rc-table/es/utils/valueUtil.js","../node_modules/rc-table/es/Cell/useCellRender.js","../node_modules/rc-table/es/Cell/index.js","../node_modules/rc-table/es/Cell/useHoverState.js","../node_modules/rc-table/es/utils/fixUtil.js","../node_modules/rc-table/es/Footer/SummaryContext.js","../node_modules/rc-table/es/Footer/Row.js","../node_modules/rc-table/es/Footer/Summary.js","../node_modules/rc-table/es/Footer/Cell.js","../node_modules/rc-table/es/Footer/index.js","../node_modules/rc-table/es/hooks/useFlattenRecords.js","../node_modules/rc-table/es/hooks/useRowInfo.js","../node_modules/rc-table/es/Body/ExpandedRow.js","../node_modules/rc-table/es/utils/expandUtil.js","../node_modules/rc-table/es/Body/BodyRow.js","../node_modules/rc-table/es/Body/MeasureCell.js","../node_modules/rc-table/es/Body/MeasureRow.js","../node_modules/rc-table/es/Body/index.js","../node_modules/rc-table/es/utils/legacyUtil.js","../node_modules/rc-table/es/ColGroup.js","../node_modules/rc-table/es/FixedHolder/index.js","../node_modules/rc-table/es/Header/HeaderRow.js","../node_modules/rc-table/es/Header/Header.js","../node_modules/rc-table/es/hooks/useColumns/useWidthColumns.js","../node_modules/rc-table/es/hooks/useColumns/index.js","../node_modules/rc-table/es/hooks/useExpand.js","../node_modules/rc-table/es/hooks/useFrame.js","../node_modules/rc-table/es/hooks/useSticky.js","../node_modules/rc-table/es/hooks/useStickyOffsets.js","../node_modules/rc-table/es/Panel/index.js","../node_modules/rc-util/es/Dom/addEventListener.js","../node_modules/rc-util/es/Dom/css.js","../node_modules/rc-table/es/stickyScrollBar.js","../node_modules/rc-table/es/sugar/Column.js","../node_modules/rc-table/es/sugar/ColumnGroup.js","../node_modules/rc-table/es/Table.js","../node_modules/rc-table/es/hooks/useHover.js","../node_modules/rc-table/es/hooks/useFixedInfo.js","../node_modules/rc-table/es/VirtualTable/context.js","../node_modules/rc-table/es/VirtualTable/VirtualCell.js","../node_modules/rc-table/es/VirtualTable/BodyLine.js","../node_modules/rc-table/es/VirtualTable/BodyGrid.js","../node_modules/rc-table/es/VirtualTable/index.js","../node_modules/antd/es/table/Column.js","../node_modules/antd/es/table/ColumnGroup.js","../node_modules/antd/es/checkbox/GroupContext.js","../node_modules/antd/es/checkbox/Checkbox.js","../node_modules/antd/es/checkbox/Group.js","../node_modules/antd/es/checkbox/index.js","../node_modules/antd/es/_util/isPrimitive.js","../node_modules/antd/es/layout/Sider.js","../node_modules/antd/es/menu/MenuContext.js","../node_modules/antd/es/menu/MenuDivider.js","../node_modules/antd/es/menu/MenuItem.js","../node_modules/antd/es/menu/OverrideContext.js","../node_modules/antd/es/menu/style/horizontal.js","../node_modules/antd/es/menu/style/rtl.js","../node_modules/antd/es/menu/style/theme.js","../node_modules/antd/es/menu/style/vertical.js","../node_modules/antd/es/menu/style/index.js","../node_modules/antd/es/menu/SubMenu.js","../node_modules/antd/es/menu/menu.js","../node_modules/antd/es/menu/index.js","../node_modules/antd/es/dropdown/style/status.js","../node_modules/antd/es/dropdown/style/index.js","../node_modules/antd/es/dropdown/dropdown.js","../node_modules/antd/es/dropdown/dropdown-button.js","../node_modules/antd/es/dropdown/index.js","../node_modules/antd/es/table/hooks/useSelection.js","../node_modules/antd/es/_util/hooks/useMultipleSelect.js","../node_modules/antd/es/_util/hooks/useProxyImperativeHandle.js","../node_modules/antd/es/_util/getScroll.js","../node_modules/antd/es/table/ExpandIcon.js","../node_modules/antd/es/table/util.js","../node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","../node_modules/@ant-design/icons/es/icons/FilterFilled.js","../node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","../node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","../node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","../node_modules/antd/es/_util/hooks/useSyncState.js","../node_modules/antd/es/table/hooks/useFilter/index.js","../node_modules/antd/es/table/hooks/useLazyKVMap.js","../node_modules/antd/es/table/hooks/usePagination.js","../node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","../node_modules/antd/es/table/hooks/useSorter.js","../node_modules/antd/es/table/hooks/useTitleColumns.js","../node_modules/antd/es/table/RcTable/index.js","../node_modules/antd/es/table/RcTable/VirtualTable.js","../node_modules/antd/es/table/style/bordered.js","../node_modules/antd/es/table/style/ellipsis.js","../node_modules/antd/es/table/style/empty.js","../node_modules/antd/es/table/style/expand.js","../node_modules/antd/es/table/style/filter.js","../node_modules/antd/es/table/style/fixed.js","../node_modules/antd/es/table/style/pagination.js","../node_modules/antd/es/table/style/radius.js","../node_modules/antd/es/table/style/rtl.js","../node_modules/antd/es/table/style/selection.js","../node_modules/antd/es/table/style/size.js","../node_modules/antd/es/table/style/sorter.js","../node_modules/antd/es/table/style/sticky.js","../node_modules/antd/es/table/style/summary.js","../node_modules/antd/es/table/style/virtual.js","../node_modules/antd/es/table/style/index.js","../node_modules/antd/es/table/InternalTable.js","../node_modules/antd/es/table/hooks/useContainerWidth.js","../node_modules/antd/es/_util/scrollTo.js","../node_modules/antd/es/_util/easings.js","../node_modules/antd/es/table/Table.js","../node_modules/antd/es/table/index.js","../node_modules/antd/es/tag/style/index.js","../node_modules/antd/es/tag/CheckableTag.js","../node_modules/antd/es/tag/style/presetCmp.js","../node_modules/antd/es/tag/style/statusCmp.js","../node_modules/antd/es/_util/capitalize.js","../node_modules/antd/es/tag/index.js"],"sourcesContent":["export var EXPAND_COLUMN = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nexport function createContext(defaultValue) {\n var Context = /*#__PURE__*/React.createContext(undefined);\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n useLayoutEffect(function () {\n unstable_batchedUpdates(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n return {\n Context: Context,\n Provider: Provider,\n defaultValue: defaultValue\n };\n}\n\n/** e.g. useSelect(userContext) => user */\n\n/** e.g. useSelect(userContext, user => user.name) => user.name */\n\n/** e.g. useSelect(userContext, ['name', 'age']) => user { name, age } */\n\n/** e.g. useSelect(userContext, 'name') => user.name */\n\nexport function useContext(holder, selector) {\n var eventSelector = useEvent(typeof selector === 'function' ? selector : function (ctx) {\n if (selector === undefined) {\n return ctx;\n }\n if (!Array.isArray(selector)) {\n return ctx[selector];\n }\n var obj = {};\n selector.forEach(function (key) {\n obj[key] = ctx[key];\n });\n return obj;\n });\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n var valueRef = React.useRef();\n valueRef.current = eventSelector(context ? getValue() : holder === null || holder === void 0 ? void 0 : holder.defaultValue);\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n forceUpdate = _React$useState4[1];\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n function trigger(nextValue) {\n var nextSelectorValue = eventSelector(nextValue);\n if (!isEqual(valueRef.current, nextSelectorValue, true)) {\n forceUpdate({});\n }\n }\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return valueRef.current;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\n/**\n * Create Immutable pair for `makeImmutable` and `responseImmutable`.\n */\nexport default function createImmutable() {\n var ImmutableContext = /*#__PURE__*/React.createContext(null);\n\n /**\n * Get render update mark by `makeImmutable` root.\n * Do not deps on the return value as render times\n * but only use for `useMemo` or `useCallback` deps.\n */\n function useImmutableMark() {\n return React.useContext(ImmutableContext);\n }\n\n /**\n * Wrapped Component will be marked as Immutable.\n * When Component parent trigger render,\n * it will notice children component (use with `responseImmutable`) node that parent has updated.\n * @param Component Passed Component\n * @param triggerRender Customize trigger `responseImmutable` children re-render logic. Default will always trigger re-render when this component re-render.\n */\n function makeImmutable(Component, shouldTriggerRender) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n var renderTimesRef = React.useRef(0);\n var prevProps = React.useRef(props);\n\n // If parent has the context, we do not wrap it\n var mark = useImmutableMark();\n if (mark !== null) {\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n }\n if (\n // Always trigger re-render if not provide `notTriggerRender`\n !shouldTriggerRender || shouldTriggerRender(prevProps.current, props)) {\n renderTimesRef.current += 1;\n }\n prevProps.current = props;\n return /*#__PURE__*/React.createElement(ImmutableContext.Provider, {\n value: renderTimesRef.current\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps)));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableRoot(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;\n }\n\n /**\n * Wrapped Component with `React.memo`.\n * But will rerender when parent with `makeImmutable` rerender.\n */\n function responseImmutable(Component, propsAreEqual) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n useImmutableMark();\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableResponse(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(ImmutableComponent), propsAreEqual) : /*#__PURE__*/React.memo(ImmutableComponent, propsAreEqual);\n }\n return {\n makeImmutable: makeImmutable,\n responseImmutable: responseImmutable,\n useImmutableMark: useImmutableMark\n };\n}","import { createContext, useContext } from \"./context\";\nimport createImmutable from \"./Immutable\";\n\n// For legacy usage, we export it directly\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { createContext, useContext, createImmutable, makeImmutable, responseImmutable, useImmutableMark };","import { createContext, createImmutable } from '@rc-component/context';\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { makeImmutable, responseImmutable, useImmutableMark };\nvar TableContext = createContext();\nexport default TableContext;","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}\nexport function validNumberValue(value) {\n return typeof value === 'number' && !Number.isNaN(value);\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(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left\"), isFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-first\"), firstFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-last\"), lastFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-all\"), lastFixLeft && allColumnsFixedLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right\"), isFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-first\"), firstFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-last\"), lastFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-ellipsis\"), ellipsis), \"\".concat(cellPrefixCls, \"-with-append\"), appendNode), \"\".concat(cellPrefixCls, \"-fix-sticky\"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-row-hover\"), !legacyCellProps && hovering)), 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\n // The order is important since user can overwrite style.\n // For example ant-design/ant-design#51763\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.style), fixedStyle), alignStyle), additionalProps.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 * as React from 'react';\n// recursion (flat tree structure)\nfunction fillRecords(list, record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n list.push({\n record: record,\n indent: indent,\n index: index\n });\n var key = getRowKey(record);\n var expanded = expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.has(key);\n if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n fillRecords(list, record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n }\n }\n}\n/**\n * flat tree data on expanded state\n *\n * @export\n * @template T\n * @param {*} data : table data\n * @param {string} childrenColumnName : 指定树形结构的列名\n * @param {Set<Key>} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey<T>} getRowKey : 获取当前rowKey的方法\n * @returns flattened data\n */\nexport default function useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey) {\n var arr = React.useMemo(function () {\n if (expandedKeys !== null && expandedKeys !== void 0 && expandedKeys.size) {\n var list = [];\n\n // collect flattened record\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n\n // using array.push or spread operator may cause \"Maximum call stack size exceeded\" exception if array size is big enough.\n fillRecords(list, record, 0, childrenColumnName, expandedKeys, getRowKey, i);\n }\n return list;\n }\n return data === null || data === void 0 ? void 0 : data.map(function (item, index) {\n return {\n record: item,\n indent: 0,\n index: index\n };\n });\n }, [data, childrenColumnName, expandedKeys, getRowKey]);\n return arr;\n}","import _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 && !isEmpty ? 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 _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport function renderExpandIcon(_ref) {\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, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-row-expanded\"), expanded), \"\".concat(prefixCls, \"-row-collapsed\"), !expanded)),\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}\nexport function computedExpandedClassName(cls, record, index, indent) {\n if (typeof cls === 'string') {\n return cls;\n }\n if (typeof cls === 'function') {\n return cls(record, index, indent);\n }\n return '';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport 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\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\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 expandedClsName = computedExpandedClassName(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, _defineProperty({}, expandedClsName, indent >= 1)),\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), expandedClsName),\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\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"./context/TableContext\";\nfunction ColGroup(_ref) {\n var colWidths = _ref.colWidths,\n columns = _ref.columns,\n columCount = _ref.columCount;\n var _useContext = useContext(TableContext, ['tableLayout']),\n tableLayout = _useContext.tableLayout;\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 = void 0;\n var minWidth = void 0;\n if (column) {\n additionalProps = column[INTERNAL_COL_DEFINE];\n\n // fixed will cause layout problems\n if (tableLayout === 'auto') {\n minWidth = column.minWidth;\n }\n }\n if (width || minWidth || 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 minWidth: minWidth\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 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 = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, INTERNAL_COL_DEFINE, {\n className: \"\".concat(prefixCls, \"-expand-icon-col\"),\n columnType: 'EXPAND_COLUMN'\n }), \"title\", columnTitle), \"fixed\", fixedColumn), \"className\", \"\".concat(prefixCls, \"-row-expand-icon-cell\")), \"width\", columnWidth), \"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 });\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 _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 var isSticky = !!sticky;\n return React.useMemo(function () {\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 }, [isSticky, 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: true\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 */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction Column(_) {\n return null;\n}\nexport default Column;","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\nexport default ColumnGroup;","import _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, validNumberValue } from \"./utils/valueUtil\";\nimport { getDOM } from \"rc-util/es/Dom/findDOMNode\";\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 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 (validNumberValue(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: hasData ? 'scroll' : 'auto',\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 =\n // Should use mergedScrollX in virtual table(useInternalHooks && tailor === true)\n useInternalHooks && tailor && typeof mergedScrollX === 'number' ? mergedScrollX : measureTarget.scrollWidth;\n var 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 var _scrollBodyRef$curren4;\n onInternalScroll({\n currentTarget: getDOM(scrollBodyRef.current),\n scrollLeft: (_scrollBodyRef$curren4 = scrollBodyRef.current) === null || _scrollBodyRef$curren4 === void 0 ? void 0 : _scrollBodyRef$curren4.scrollLeft\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, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), \"\".concat(prefixCls, \"-ping-right\"), pingedRight), \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), \"\".concat(prefixCls, \"-fixed-column-gapped\"), fixColumn && hasGapFixed), \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right')),\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 { 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\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\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 expandedClsName = computedExpandedClassName(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), expandedClsName)\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 VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\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', 'scrollX', 'direction']),\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 scrollX = _useContext.scrollX,\n direction = _useContext.direction;\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 _listRef$current2;\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 nativeElement: (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.nativeElement\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current3;\n return ((_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : _listRef$current3.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current4;\n (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 || _listRef$current4.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\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 return /*#__PURE__*/React.createElement(GridContext.Provider, {\n value: gridContext\n }, /*#__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 direction: direction,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var _listRef$current5;\n var x = _ref4.x;\n onScroll({\n currentTarget: (_listRef$current5 = listRef.current) === null || _listRef$current5 === void 0 ? void 0 : _listRef$current5.nativeElement,\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});\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 data = props.data,\n 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 // fix https://github.com/ant-design/ant-design/issues/48991\n body: data !== null && data !== void 0 && data.length ? renderBody : undefined\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. */\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. */\nconst ColumnGroup = _ => null;\nexport default ColumnGroup;","import React from 'react';\nconst GroupContext = /*#__PURE__*/React.createContext(null);\nexport default GroupContext;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport { FormItemInputContext } from '../form/context';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nimport useBubbleLock from './useBubbleLock';\nconst InternalCheckbox = (props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n indeterminate = false,\n style,\n onMouseEnter,\n onMouseLeave,\n skipGroup = false,\n disabled\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"indeterminate\", \"style\", \"onMouseEnter\", \"onMouseLeave\", \"skipGroup\", \"disabled\"]);\n const {\n getPrefixCls,\n direction,\n checkbox\n } = React.useContext(ConfigContext);\n const checkboxGroup = React.useContext(GroupContext);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n const contextDisabled = React.useContext(DisabledContext);\n const mergedDisabled = (_a = (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.disabled) || disabled) !== null && _a !== void 0 ? _a : contextDisabled;\n const prevValue = React.useRef(restProps.value);\n const checkboxRef = React.useRef(null);\n const mergedRef = composeRef(ref, checkboxRef);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Checkbox');\n process.env.NODE_ENV !== \"production\" ? warning('checked' in restProps || !!checkboxGroup || !('value' in restProps), 'usage', '`value` is not a valid prop, do you mean `checked`?') : void 0;\n }\n React.useEffect(() => {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n }, []);\n React.useEffect(() => {\n if (skipGroup) {\n return;\n }\n if (restProps.value !== prevValue.current) {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(prevValue.current);\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n prevValue.current = restProps.value;\n }\n return () => checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(restProps.value);\n }, [restProps.value]);\n React.useEffect(() => {\n var _a;\n if ((_a = checkboxRef.current) === null || _a === void 0 ? void 0 : _a.input) {\n checkboxRef.current.input.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const checkboxProps = Object.assign({}, restProps);\n if (checkboxGroup && !skipGroup) {\n checkboxProps.onChange = function () {\n if (restProps.onChange) {\n restProps.onChange.apply(restProps, arguments);\n }\n if (checkboxGroup.toggleOption) {\n checkboxGroup.toggleOption({\n label: children,\n value: restProps.value\n });\n }\n };\n checkboxProps.name = checkboxGroup.name;\n checkboxProps.checked = checkboxGroup.value.includes(restProps.value);\n }\n const classString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-checked`]: checkboxProps.checked,\n [`${prefixCls}-wrapper-disabled`]: mergedDisabled,\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, checkbox === null || checkbox === void 0 ? void 0 : checkbox.className, className, rootClassName, cssVarCls, rootCls, hashId);\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate\n }, TARGET_CLS, hashId);\n // ============================ Event Lock ============================\n const [onLabelClick, onInputClick] = useBubbleLock(checkboxProps.onClick);\n // ============================== Render ==============================\n return wrapCSSVar(/*#__PURE__*/React.createElement(Wave, {\n component: \"Checkbox\",\n disabled: mergedDisabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: classString,\n style: Object.assign(Object.assign({}, checkbox === null || checkbox === void 0 ? void 0 : checkbox.style), style),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onClick: onLabelClick\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, checkboxProps, {\n onClick: onInputClick,\n prefixCls: prefixCls,\n className: checkboxClass,\n disabled: mergedDisabled,\n ref: mergedRef\n })), children !== undefined && /*#__PURE__*/React.createElement(\"span\", null, children))));\n};\nconst Checkbox = /*#__PURE__*/React.forwardRef(InternalCheckbox);\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport Checkbox from './Checkbox';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nconst CheckboxGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n defaultValue,\n children,\n options = [],\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n onChange\n } = props,\n restProps = __rest(props, [\"defaultValue\", \"children\", \"options\", \"prefixCls\", \"className\", \"rootClassName\", \"style\", \"onChange\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [value, setValue] = React.useState(restProps.value || defaultValue || []);\n const [registeredValues, setRegisteredValues] = React.useState([]);\n React.useEffect(() => {\n if ('value' in restProps) {\n setValue(restProps.value || []);\n }\n }, [restProps.value]);\n const memoOptions = React.useMemo(() => options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n return {\n label: option,\n value: option\n };\n }\n return option;\n }), [options]);\n const cancelValue = val => {\n setRegisteredValues(prevValues => prevValues.filter(v => v !== val));\n };\n const registerValue = val => {\n setRegisteredValues(prevValues => [].concat(_toConsumableArray(prevValues), [val]));\n };\n const toggleOption = option => {\n const optionIndex = value.indexOf(option.value);\n const newValue = _toConsumableArray(value);\n if (optionIndex === -1) {\n newValue.push(option.value);\n } else {\n newValue.splice(optionIndex, 1);\n }\n if (!('value' in restProps)) {\n setValue(newValue);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(newValue.filter(val => registeredValues.includes(val)).sort((a, b) => {\n const indexA = memoOptions.findIndex(opt => opt.value === a);\n const indexB = memoOptions.findIndex(opt => opt.value === b);\n return indexA - indexB;\n }));\n };\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const domProps = omit(restProps, ['value', 'disabled']);\n const childrenNode = options.length ? memoOptions.map(option => (/*#__PURE__*/React.createElement(Checkbox, {\n prefixCls: prefixCls,\n key: option.value.toString(),\n disabled: 'disabled' in option ? option.disabled : restProps.disabled,\n value: option.value,\n checked: value.includes(option.value),\n onChange: option.onChange,\n className: `${groupPrefixCls}-item`,\n style: option.style,\n title: option.title,\n id: option.id,\n required: option.required\n }, option.label))) : children;\n const context = {\n toggleOption,\n value,\n disabled: restProps.disabled,\n name: restProps.name,\n // https://github.com/ant-design/ant-design/issues/16376\n registerValue,\n cancelValue\n };\n const classString = classNames(groupPrefixCls, {\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, cssVarCls, rootCls, hashId);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classString,\n style: style\n }, domProps, {\n ref: ref\n }), /*#__PURE__*/React.createElement(GroupContext.Provider, {\n value: context\n }, childrenNode)));\n});\nexport { GroupContext };\nexport default CheckboxGroup;","\"use client\";\n\nimport InternalCheckbox from './Checkbox';\nimport Group from './Group';\nconst Checkbox = InternalCheckbox;\nCheckbox.Group = Group;\nCheckbox.__ANT_CHECKBOX = true;\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","const isPrimitive = value => typeof value !== 'object' && typeof value !== 'function' || value === null;\nexport default isPrimitive;","\"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';\nimport useStyle from './style/sider';\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 // =========================== Prefix ===========================\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\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 renderSider = () => {\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, hashId, cssVarCls);\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 wrapCSSVar(/*#__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 extra\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 label = children === null || children === void 0 ? void 0 : children[0];\n const wrapNode = /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(`${prefixCls}-title-content`, {\n [`${prefixCls}-title-content-with-extra`]: !!extra || extra === 0\n })\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 label === 'string') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inline-collapsed-noicon`\n }, label.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;","\"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 { getNodeRef, supportNodeRef, useComposeRef } from \"rc-util/es/ref\";\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 ? getNodeRef(children) : 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;","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`]: {\n '&-group-title, &-extra': {\n color: groupTitleColor\n }\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 itemPaddingInline\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: itemPaddingInline,\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 motionEaseOut,\n paddingXL,\n itemMarginInline,\n fontSizeLG,\n motionDurationFast,\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 ${motionDurationFast} ${motionEaseOut}`].join(','),\n [`> ${componentCls}-title-content`]: {\n flex: 'auto',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n '> *': {\n flex: 'none'\n }\n }\n },\n // >>>>> Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n padding: 0,\n border: 0,\n borderRadius: 0,\n boxShadow: 'none',\n [`& > ${componentCls}-submenu > ${componentCls}-submenu-title`]: inlineItemStyle,\n [`& ${componentCls}-item-group-title`]: {\n paddingInlineStart: paddingXL\n }\n },\n // >>>>> Item\n [`${componentCls}-item`]: inlineItemStyle\n }\n },\n // Inline Collapse Only\n {\n [`${componentCls}-inline-collapsed`]: {\n width: collapsedWidth,\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu ${componentCls}-submenu-title`]: {\n [`> ${componentCls}-inline-collapsed-noicon`]: {\n fontSize: fontSizeLG,\n textAlign: 'center'\n }\n }\n },\n [`> ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-submenu > ${componentCls}-submenu-title,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n insetInlineStart: 0,\n paddingInline: `calc(50% - ${unit(token.calc(collapsedIconSize).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 calc(${motionDurationSlow} + 0.1s) ${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 '&-with-extra': {\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%'\n },\n // https://github.com/ant-design/ant-design/issues/41143\n [`> ${antCls}-typography-ellipsis-single-line`]: {\n display: 'inline',\n verticalAlign: 'unset'\n },\n [`${componentCls}-item-extra`]: {\n marginInlineStart: 'auto',\n paddingInlineStart: token.padding,\n fontSize: token.fontSizeSM\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: Object.assign({\n zIndex\n }, props.popupStyle)\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/es/hooks/useEvent\";\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 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 = inlineCollapsed !== null && inlineCollapsed !== void 0 ? 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;","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 // Makes vertical dropdowns have a scrollbar once they become taller than the viewport.\n '&-menu-vertical': {\n maxHeight: '100vh',\n overflowY: 'auto'\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 },\n [`${menuCls}-item-icon`]: {\n minWidth: fontSize,\n marginInlineEnd: token.marginXS,\n fontSize: token.fontSizeSM\n },\n [`${menuCls}-title-content`]: {\n flex: 'auto',\n '&-with-extra': {\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%'\n },\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 [`${menuCls}-item-extra`]: {\n paddingInlineStart: token.padding,\n marginInlineStart: 'auto',\n fontSize: token.fontSizeSM,\n color: token.colorTextDescription\n }\n },\n // =========================== Item ===========================\n [`${menuCls}-item, ${menuCls}-submenu-title`]: Object.assign(Object.assign({\n display: 'flex',\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/es/hooks/useEvent\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport isPrimitive from '../_util/isPrimitive';\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';\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(isPrimitive(children) ? /*#__PURE__*/React.createElement(\"span\", null, children) : 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\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 // Get flatten data\n const flattedData = useMemo(() => flattenData(childrenColumnName, pageData), [childrenColumnName, pageData]);\n const {\n keyEntities\n } = useMemo(() => {\n if (checkStrictly) {\n return {\n keyEntities: null\n };\n }\n let convertData = data;\n if (preserveSelectedRowKeys) {\n // use flattedData keys\n const keysSet = new Set(flattedData.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, flattedData]);\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 const checkboxProps = checkboxPropsMap.get(key);\n return {\n node: (/*#__PURE__*/React.createElement(Radio, Object.assign({}, checkboxProps, {\n checked: checked,\n onClick: e => {\n var _a;\n e.stopPropagation();\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onClick) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, e);\n },\n onChange: event => {\n var _a;\n if (!keySet.has(key)) {\n triggerSingleSelection(key, true, [key], event.nativeEvent);\n }\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onChange) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, event);\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 => {\n var _a;\n e.stopPropagation();\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onClick) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, e);\n },\n onChange: event => {\n var _a;\n const {\n nativeEvent\n } = event;\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 (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onChange) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, event);\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 * 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 */\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/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FilterFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FilterFilled';\n}\nexport default RefIcon;","\"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 extendsObject from '../../../_util/extendsObject';\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, _c, _d;\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 filterResetToDefaultFilteredValue,\n defaultFilteredValue,\n filterDropdownProps = {},\n // Deprecated\n filterDropdownOpen,\n filterDropdownVisible,\n onFilterDropdownVisibleChange,\n onFilterDropdownOpenChange\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 var _a;\n setVisible(newVisible);\n (_a = filterDropdownProps.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(filterDropdownProps, newVisible);\n // deprecated\n onFilterDropdownOpenChange === null || onFilterDropdownOpenChange === void 0 ? void 0 : onFilterDropdownOpenChange(newVisible);\n onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(newVisible);\n };\n // =================Warning===================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Table');\n const deprecatedList = [['filterDropdownOpen', 'filterDropdownProps.open'], ['filterDropdownVisible', 'filterDropdownProps.open'], ['onFilterDropdownOpenChange', 'filterDropdownProps.onOpenChange'], ['onFilterDropdownVisibleChange', 'filterDropdownProps.onOpenChange']];\n deprecatedList.forEach(_ref4 => {\n let [deprecatedName, newName] = _ref4;\n warning.deprecated(!(deprecatedName in column), deprecatedName, newName);\n });\n }\n const mergedVisible = (_d = (_c = (_b = filterDropdownProps.open) !== null && _b !== void 0 ? _b : filterDropdownOpen) !== null && _c !== void 0 ? _c : filterDropdownVisible) !== null && _d !== void 0 ? _d : visible; // inner state\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 dropdownContent = /*#__PURE__*/React.createElement(FilterDropdownMenuWrapper, {\n className: `${prefixCls}-dropdown`\n }, dropdownContent);\n const getDropdownTrigger = () => {\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(\"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 };\n const mergedDropdownProps = extendsObject({\n trigger: ['click'],\n placement: direction === 'rtl' ? 'bottomLeft' : 'bottomRight',\n children: getDropdownTrigger(),\n getPopupContainer\n }, Object.assign(Object.assign({}, filterDropdownProps), {\n rootClassName: classNames(rootClassName, filterDropdownProps.rootClassName),\n open: mergedVisible,\n onOpenChange: onVisibleChange,\n dropdownRender: () => {\n if (typeof (filterDropdownProps === null || filterDropdownProps === void 0 ? void 0 : filterDropdownProps.dropdownRender) === 'function') {\n return filterDropdownProps.dropdownRender(dropdownContent);\n }\n return dropdownContent;\n }\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, Object.assign({}, mergedDropdownProps)));\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 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 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;","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/** */\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/** */\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 = sorterState => {\n const {\n column,\n sortOrder\n } = sorterState;\n return {\n column,\n order: sortOrder,\n field: column.dataIndex,\n columnKey: column.key\n };\n};\nconst generateSorterInfo = sorterStates => {\n const activeSorters = 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 (activeSorters.length === 0 && sorterStates.length) {\n const lastIndex = sorterStates.length - 1;\n return Object.assign(Object.assign({}, stateToInfo(sorterStates[lastIndex])), {\n column: undefined,\n order: undefined,\n field: undefined,\n columnKey: undefined\n });\n }\n if (activeSorters.length <= 1) {\n return activeSorters[0] || {};\n }\n return activeSorters;\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 width: expandIconSize,\n height: expandIconSize,\n color: 'inherit',\n lineHeight: unit(expandIconSize),\n background: tableExpandIconBg,\n border: tableBorder,\n borderRadius,\n transform: `scale(${expandIconScale})`,\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 // why left 0s? Avoid column header move with transition when left is changed\n // https://github.com/ant-design/ant-design/issues/50588\n transition: `all ${token.motionDurationSlow}, left 0s`,\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}-tbody-virtual-holder-inner`]: {\n [`\n & > ${componentCls}-row, \n & > div:not(${componentCls}-row) > ${componentCls}-row\n `]: {\n display: 'flex',\n boxSizing: 'border-box',\n width: '100%'\n }\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}","export 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;","import { unit } from '@ant-design/cssinjs';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\nconst genBaseStyle = token => {\n const {\n paddingXXS,\n lineWidth,\n tagPaddingHorizontal,\n componentCls,\n calc\n } = token;\n const paddingInline = calc(tagPaddingHorizontal).sub(lineWidth).equal();\n const iconMarginInline = calc(paddingXXS).sub(lineWidth).equal();\n return {\n // Result\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-block',\n height: 'auto',\n // https://github.com/ant-design/ant-design/pull/47504\n marginInlineEnd: token.marginXS,\n paddingInline,\n fontSize: token.tagFontSize,\n lineHeight: token.tagLineHeight,\n whiteSpace: 'nowrap',\n background: token.defaultBg,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadiusSM,\n opacity: 1,\n transition: `all ${token.motionDurationMid}`,\n textAlign: 'start',\n position: 'relative',\n // RTL\n [`&${componentCls}-rtl`]: {\n direction: 'rtl'\n },\n '&, a, a:hover': {\n color: token.defaultColor\n },\n [`${componentCls}-close-icon`]: {\n marginInlineStart: iconMarginInline,\n fontSize: token.tagIconSize,\n color: token.colorTextDescription,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}`,\n '&:hover': {\n color: token.colorTextHeading\n }\n },\n [`&${componentCls}-has-color`]: {\n borderColor: 'transparent',\n [`&, a, a:hover, ${token.iconCls}-close, ${token.iconCls}-close:hover`]: {\n color: token.colorTextLightSolid\n }\n },\n '&-checkable': {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n cursor: 'pointer',\n [`&:not(${componentCls}-checkable-checked):hover`]: {\n color: token.colorPrimary,\n backgroundColor: token.colorFillSecondary\n },\n '&:active, &-checked': {\n color: token.colorTextLightSolid\n },\n '&-checked': {\n backgroundColor: token.colorPrimary,\n '&:hover': {\n backgroundColor: token.colorPrimaryHover\n }\n },\n '&:active': {\n backgroundColor: token.colorPrimaryActive\n }\n },\n '&-hidden': {\n display: 'none'\n },\n // To ensure that a space will be placed between character and `Icon`.\n [`> ${token.iconCls} + span, > span + ${token.iconCls}`]: {\n marginInlineStart: paddingInline\n }\n }),\n [`${componentCls}-borderless`]: {\n borderColor: 'transparent',\n background: token.tagBorderlessBg\n }\n };\n};\n// ============================== Export ==============================\nexport const prepareToken = token => {\n const {\n lineWidth,\n fontSizeIcon,\n calc\n } = token;\n const tagFontSize = token.fontSizeSM;\n const tagToken = mergeToken(token, {\n tagFontSize,\n tagLineHeight: unit(calc(token.lineHeightSM).mul(tagFontSize).equal()),\n tagIconSize: calc(fontSizeIcon).sub(calc(lineWidth).mul(2)).equal(),\n // Tag icon is much smaller\n tagPaddingHorizontal: 8,\n // Fixed padding.\n tagBorderlessBg: token.defaultBg\n });\n return tagToken;\n};\nexport const prepareComponentToken = token => ({\n defaultBg: new TinyColor(token.colorFillQuaternary).onBackground(token.colorBgContainer).toHexString(),\n defaultColor: token.colorText\n});\nexport default genStyleHooks('Tag', token => {\n const tagToken = prepareToken(token);\n return genBaseStyle(tagToken);\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 classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst CheckableTag = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n style,\n className,\n checked,\n onChange,\n onClick\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"style\", \"className\", \"checked\", \"onChange\", \"onClick\"]);\n const {\n getPrefixCls,\n tag\n } = React.useContext(ConfigContext);\n const handleClick = e => {\n onChange === null || onChange === void 0 ? void 0 : onChange(!checked);\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n // Style\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const cls = classNames(prefixCls, `${prefixCls}-checkable`, {\n [`${prefixCls}-checkable-checked`]: checked\n }, tag === null || tag === void 0 ? void 0 : tag.className, className, hashId, cssVarCls);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"span\", Object.assign({}, restProps, {\n ref: ref,\n style: Object.assign(Object.assign({}, style), tag === null || tag === void 0 ? void 0 : tag.style),\n className: cls,\n onClick: handleClick\n })));\n});\nexport default CheckableTag;","// Style as status component\nimport { prepareComponentToken, prepareToken } from '.';\nimport { genPresetColor, genSubStyleComponent } from '../../theme/internal';\n// ============================== Preset ==============================\nconst genPresetStyle = token => genPresetColor(token, (colorKey, _ref) => {\n let {\n textColor,\n lightBorderColor,\n lightColor,\n darkColor\n } = _ref;\n return {\n [`${token.componentCls}${token.componentCls}-${colorKey}`]: {\n color: textColor,\n background: lightColor,\n borderColor: lightBorderColor,\n // Inverse color\n '&-inverse': {\n color: token.colorTextLightSolid,\n background: darkColor,\n borderColor: darkColor\n },\n [`&${token.componentCls}-borderless`]: {\n borderColor: 'transparent'\n }\n }\n };\n});\n// ============================== Export ==============================\nexport default genSubStyleComponent(['Tag', 'preset'], token => {\n const tagToken = prepareToken(token);\n return genPresetStyle(tagToken);\n}, prepareComponentToken);","import { prepareComponentToken, prepareToken } from '.';\nimport capitalize from '../../_util/capitalize';\nimport { genSubStyleComponent } from '../../theme/internal';\nconst genTagStatusStyle = (token, status, cssVariableType) => {\n const capitalizedCssVariableType = capitalize(cssVariableType);\n return {\n [`${token.componentCls}${token.componentCls}-${status}`]: {\n color: token[`color${cssVariableType}`],\n background: token[`color${capitalizedCssVariableType}Bg`],\n borderColor: token[`color${capitalizedCssVariableType}Border`],\n [`&${token.componentCls}-borderless`]: {\n borderColor: 'transparent'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genSubStyleComponent(['Tag', 'status'], token => {\n const tagToken = prepareToken(token);\n return [genTagStatusStyle(tagToken, 'success', 'Success'), genTagStatusStyle(tagToken, 'processing', 'Info'), genTagStatusStyle(tagToken, 'error', 'Error'), genTagStatusStyle(tagToken, 'warning', 'Warning')];\n}, prepareComponentToken);","export default function capitalize(str) {\n if (typeof str !== 'string') {\n return str;\n }\n const ret = str.charAt(0).toUpperCase() + str.slice(1);\n return ret;\n}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { isPresetColor, isPresetStatusColor } from '../_util/colors';\nimport useClosable, { pickClosable } from '../_util/hooks/useClosable';\nimport { replaceElement } from '../_util/reactNode';\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { ConfigContext } from '../config-provider';\nimport CheckableTag from './CheckableTag';\nimport useStyle from './style';\nimport PresetCmp from './style/presetCmp';\nimport StatusCmp from './style/statusCmp';\nconst InternalTag = /*#__PURE__*/React.forwardRef((tagProps, ref) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n children,\n icon,\n color,\n onClose,\n bordered = true,\n visible: deprecatedVisible\n } = tagProps,\n props = __rest(tagProps, [\"prefixCls\", \"className\", \"rootClassName\", \"style\", \"children\", \"icon\", \"color\", \"onClose\", \"bordered\", \"visible\"]);\n const {\n getPrefixCls,\n direction,\n tag: tagContext\n } = React.useContext(ConfigContext);\n const [visible, setVisible] = React.useState(true);\n const domProps = omit(props, ['closeIcon', 'closable']);\n // Warning for deprecated usage\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Tag');\n warning.deprecated(!('visible' in tagProps), 'visible', 'visible && <Tag />');\n }\n React.useEffect(() => {\n if (deprecatedVisible !== undefined) {\n setVisible(deprecatedVisible);\n }\n }, [deprecatedVisible]);\n const isPreset = isPresetColor(color);\n const isStatus = isPresetStatusColor(color);\n const isInternalColor = isPreset || isStatus;\n const tagStyle = Object.assign(Object.assign({\n backgroundColor: color && !isInternalColor ? color : undefined\n }, tagContext === null || tagContext === void 0 ? void 0 : tagContext.style), style);\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n // Style\n const tagClassName = classNames(prefixCls, tagContext === null || tagContext === void 0 ? void 0 : tagContext.className, {\n [`${prefixCls}-${color}`]: isInternalColor,\n [`${prefixCls}-has-color`]: color && !isInternalColor,\n [`${prefixCls}-hidden`]: !visible,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered\n }, className, rootClassName, hashId, cssVarCls);\n const handleCloseClick = e => {\n e.stopPropagation();\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n if (e.defaultPrevented) {\n return;\n }\n setVisible(false);\n };\n const [, mergedCloseIcon] = useClosable(pickClosable(tagProps), pickClosable(tagContext), {\n closable: false,\n closeIconRender: iconNode => {\n const replacement = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-close-icon`,\n onClick: handleCloseClick\n }, iconNode);\n return replaceElement(iconNode, replacement, originProps => ({\n onClick: e => {\n var _a;\n (_a = originProps === null || originProps === void 0 ? void 0 : originProps.onClick) === null || _a === void 0 ? void 0 : _a.call(originProps, e);\n handleCloseClick(e);\n },\n className: classNames(originProps === null || originProps === void 0 ? void 0 : originProps.className, `${prefixCls}-close-icon`)\n }));\n }\n });\n const isNeedWave = typeof props.onClick === 'function' || children && children.type === 'a';\n const iconNode = icon || null;\n const kids = iconNode ? (/*#__PURE__*/React.createElement(React.Fragment, null, iconNode, children && /*#__PURE__*/React.createElement(\"span\", null, children))) : children;\n const tagNode = /*#__PURE__*/React.createElement(\"span\", Object.assign({}, domProps, {\n ref: ref,\n className: tagClassName,\n style: tagStyle\n }), kids, mergedCloseIcon, isPreset && /*#__PURE__*/React.createElement(PresetCmp, {\n key: \"preset\",\n prefixCls: prefixCls\n }), isStatus && /*#__PURE__*/React.createElement(StatusCmp, {\n key: \"status\",\n prefixCls: prefixCls\n }));\n return wrapCSSVar(isNeedWave ? /*#__PURE__*/React.createElement(Wave, {\n component: \"Tag\"\n }, tagNode) : tagNode);\n});\nconst Tag = InternalTag;\nif (process.env.NODE_ENV !== 'production') {\n Tag.displayName = 'Tag';\n}\nTag.CheckableTag = CheckableTag;\nexport default Tag;"],"names":["EXPAND_COLUMN","INTERNAL_HOOKS","createContext","defaultValue","Context","React","undefined","Provider","_ref","value","children","valueRef","current","_React$useState","getValue","listeners","Set","context","_slicedToArray","useLayoutEffect","unstable_batchedUpdates","forEach","listener","useContext","holder","selector","eventSelector","useEvent","ctx","Array","isArray","obj","key","_ref2","_React$useState3","forceUpdate","add","trigger","delete","nextValue","nextSelectorValue","isEqual","createImmutable","ImmutableContext","useImmutableMark","makeImmutable","Component","shouldTriggerRender","refAble","supportRef","ImmutableComponent","props","ref","refProps","renderTimesRef","prevProps","_extends","responseImmutable","propsAreEqual","_createImmutable","renderWithProps","getColumnsKey","columns","columnKeys","keys","column","arr","dataIndex","mergedKey","join","concat","push","validateValue","val","useCellRender","record","renderIndex","render","shouldCellUpdate","perfRecord","PerfContext","mark","useMemo","data","path","returnChildNode","returnCellProps","renderData","_typeof","prev","next","prevRecord","nextRecord","Cell","_ref3","_legacyCellProps$colS","_ref4","_ref5","_legacyCellProps$rowS","_additionalProps$titl","_classNames","component","ellipsis","scope","prefixCls","className","align","index","rowType","colSpan","rowSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_props$additionalProp","additionalProps","isSticky","cellPrefixCls","_useContext","TableContext","supportSticky","allColumnsFixedLeft","rowHoverable","_useCellRender","_useCellRender2","childNode","legacyCellProps","fixedStyle","isFixLeft","isFixRight","position","left","right","mergedColSpan","mergedRowSpan","_useHoverState","rowIndex","cellStartRow","cellRowSpan","startRow","endRow","hoverStartRow","hoverEndRow","onHover","useHoverState","_useHoverState2","hovering","onMouseEnter","event","_additionalProps$onMo","call","onMouseLeave","_additionalProps$onMo2","title","ellipsisConfig","showTitle","toString","getTitleFromCellRenderChildren","mergedClassName","classNames","_defineProperty","alignStyle","textAlign","mergedStyle","_objectSpread","style","mergedChildNode","getCellFixedInfo","colStart","colEnd","stickyOffsets","direction","startColumn","endColumn","fixed","nextColumn","prevColumn","canLastFix","every","col","_excluded","Summary","Row","_objectWithoutProperties","_ref$colSpan","_React$useContext","SummaryContext","scrollColumnIndex","fixedInfo","flattenColumns","lastColumnIndex","length","scrollColumn","summaryContext","scrollbar","FooterComponents","fillRecords","list","indent","childrenColumnName","expandedKeys","getRowKey","expanded","has","i","useFlattenRecords","size","map","item","useRowInfo","rowKey","recordIndex","computeRowClassName","expandableType","onTriggerExpand","rowExpandable","onRow","expandRowByClick","rowClassName","nestExpandable","rowSupportExpand","mergedExpandable","hasNestChildren","onInternalTriggerExpand","rowProps","onRowClick","onClick","columnsKey","expandable","_len","arguments","args","_key","apply","cellComponent","isEmpty","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","width","overflow","display","renderExpandIcon","onExpand","expandClassName","stopPropagation","computedExpandedClassName","cls","getCellProps","rowInfo","colIndex","appendCellNode","additionalCellProps","fixedInfoList","expandIconColumnIndex","indentSize","expandIcon","paddingLeft","onCell","_props$indent","RowComponent","rowComponent","scopeCellComponent","expandedRowClassName","expandedRowRender","expandedRef","expandRowNode","expandedClsName","baseRowNode","columnClassName","_getCellProps","rowScope","expandContent","ExpandedRow","MeasureCell","columnKey","onColumnResize","cellRef","offsetWidth","ResizeObserver","padding","border","height","MeasureRow","fontSize","Collection","onBatchResize","infoList","rows","measureColumnWidth","getComponent","emptyNode","flattenData","perfRef","WrapperComponent","trComponent","tdComponent","thComponent","idx","BodyRow","INTERNAL_COL_DEFINE","colWidths","columCount","tableLayout","cols","mustInsert","minWidth","restAdditionalProps","columnType","unshift","FixedHolder","noData","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","restProps","TableComponent","combinationScrollBarSize","scrollRef","setScrollRef","element","fillRef","_scrollRef$current","onWheel","e","currentTarget","deltaX","scrollLeft","preventDefault","addEventListener","passive","_scrollRef$current2","removeEventListener","allFlattenColumnsWithWidth","lastColumn","ScrollBarColumn","onHeaderCell","columnsWithScrollbar","_toConsumableArray","flattenColumnsWithScrollbar","headerStickyOffsets","mergedColumnWidth","cloneColumns","useColumnWidth","top","bottom","visibility","ColGroup","cells","CellComponent","onHeaderRow","cell","cellIndex","rootColumns","fillRowCells","currentColIndex","filter","Boolean","subColumns","reduce","total","count","hasSubColumns","rowCount","_loop","parseHeaderRows","row","HeaderRow","parseColWidth","totalWidth","endsWith","parseFloat","_excluded2","convertChildrenToColumns","toArray","node","nodeChildren","filterHiddenColumns","hidden","flatColumns","parentKey","parsedFixed","subColum","transformColumns","columnTitle","columnWidth","scrollWidth","clientWidth","baseColumns","slice","withExpandColumns","includes","expandColIndex","splice","process","expandColumnIndex","indexOf","fixedColumn","expandColumn","_","recordExpandable","icon","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","useExpand","mergedData","expandableConfig","config","legacyExpandableConfig","showExpandColumn","getExpandableProps","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","onExpandedRowsChange","mergedExpandIcon","mergedChildrenColumnName","internalHooks","__PARENT_RENDER_ICON__","some","dig","findAllChildrenKeys","_React$useState2","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","hasKey","useLayoutState","defaultState","stateRef","useRef","_useState","useState","lastPromiseRef","updateBatchRef","useEffect","updater","promise","Promise","resolve","then","prevBatch","prevState","batchUpdater","defaultContainer","canUseDom","window","columnCount","getOffsets","startIndex","endIndex","offset","offsets","startOffsets","endOffsets","reverse","addEventListenerWrap","target","eventType","cb","option","callback","ReactDOM","remove","getOffset","box","getBoundingClientRect","docElem","document","documentElement","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","buttons","pageX","checkScrollBarVisible","tableOffsetTop","tableBottomOffset","offsetHeight","currentClientOffset","innerHeight","clientHeight","getScrollBarSize","state","setScrollLeft","onMouseUpListener","onMouseMoveListener","onScrollListener","onResizeListener","bodyNode","onMouseDown","persist","transform","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","Table","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","useColumns","_useColumns2","flattenScrollX","mergedScrollX","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","nativeElement","scrollTo","_scrollBodyRef$curren3","HTMLElement","Number","isNaN","querySelector","scrollIntoView","scrollXStyle","scrollYStyle","scrollTableStyle","scrollSummaryRef","pingedLeft","setPingedLeft","_React$useState5","_React$useState6","pingedRight","setPingedRight","Map","colsWidths","updateColsWidths","pureColWidths","get","useStickyOffsets","y","stickyRef","_useSticky","_ref$offsetHeader","offsetHeader","_ref$offsetSummary","offsetSummary","_ref$offsetScroll","_ref$getContainer","getContainer","useSticky","summaryNode","fixFooter","type","overflowY","maxHeight","overflowX","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","_scrollBodyRef$curren4","getDOM","mounted","_React$useState7","_React$useState8","setScrollbarSize","_React$useState9","_React$useState10","setSupportSticky","Element","getTargetScrollBarSize","isStyleSupport","groupTableNode","renderFixedHeaderTable","fixedHolderPassProps","Header","Footer","renderFixedFooterTable","mergedTableLayout","headerProps","bodyTable","Body","bodyColGroup","captionElement","dataProps","pickAttrs","ariaProps","aria","bodyContent","_ref6","fixedHolderProps","fullTable","Panel","onResize","_stickyRef$current2","mergedWidth","useFixedInfo","TableContextValue","RefTable","genTable","ImmutableTable","Column","ColumnGroup","StaticContext","GridContext","inverse","getHeight","columnsOffset","cellStyle","_additionalCellProps$","_additionalCellProps$2","concatColWidth","getColumnWidth","marginOffset","flex","marginRight","pointerEvents","needHide","mergedRender","cellSpan","BodyLine","extra","rowCellCls","rowStyle","rowNode","VirtualCell","Grid","_useContext2","scrollY","listItemHeight","onTablePropScroll","listRef","columnsWidth","_listRef$current2","_listRef$current","Object","defineProperty","_listRef$current3","getScrollInfo","_listRef$current4","getRowSpan","_flattenData$index","_cellProps$rowSpan","cellProps","gridContext","tblPrefixCls","wrapperComponent","horizontalScrollBarStyle","VirtualList","fullHeight","styles","horizontalScrollBar","itemHeight","itemKey","onVirtualScroll","_listRef$current5","extraRender","info","getSize","offsetY","firstRowSpanColumns","lastRowSpanColumns","_loop2","spanLines","_loop3","sizeInfo","endItemIndex","endItemKey","itemProps","renderBody","rawData","VirtualTable","_props$prefixCls","RefVirtualTable","genVirtualTable","__rest","s","t","p","prototype","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","InternalCheckbox","_a","customizePrefixCls","rootClassName","indeterminate","skipGroup","disabled","getPrefixCls","checkbox","ConfigContext","checkboxGroup","GroupContext","isFormItemInput","FormItemInputContext","contextDisabled","DisabledContext","mergedDisabled","prevValue","checkboxRef","mergedRef","composeRef","registerValue","cancelValue","input","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useStyle","checkboxProps","assign","onChange","toggleOption","label","name","checked","classString","checkboxClass","TARGET_CLS","onLabelClick","onInputClick","useBubbleLock","Wave","RcCheckbox","CheckboxGroup","options","setValue","registeredValues","setRegisteredValues","memoOptions","groupPrefixCls","domProps","omit","childrenNode","Checkbox","required","optionIndex","newValue","sort","a","b","opt","prevValues","v","Group","__ANT_CHECKBOX","SiderContext","firstLevel","inlineCollapsed","dashed","Divider","danger","disableMenuItemTitleTooltip","isInlineCollapsed","MenuContext","siderCollapsed","tooltipTitle","tooltipProps","open","childrenLength","returnNode","Item","cloneElement","wrapNode","charAt","renderItemChildren","Tooltip","placement","overlayClassName","OverrideContext","OverrideProvider","override","mode","selectable","canRef","supportNodeRef","useComposeRef","getNodeRef","ContextIsolator","space","token","componentCls","motionDurationSlow","horizontalLineHeight","colorSplit","lineWidth","lineType","itemPaddingInline","lineHeight","borderBottom","unit","boxShadow","clear","content","verticalAlign","paddingInline","backgroundColor","transition","menuArrowOffset","calc","transformOrigin","mul","equal","accessibilityFocus","genFocusOutline","getThemeStyle","themeSuffix","itemColor","itemSelectedColor","groupTitleColor","itemBg","subMenuItemBg","itemSelectedBg","activeBarHeight","activeBarWidth","activeBarBorderWidth","motionEaseInOut","motionEaseOut","motionDurationMid","itemHoverColor","itemDisabledColor","dangerItemColor","dangerItemHoverColor","dangerItemSelectedColor","dangerItemActiveBg","dangerItemSelectedBg","popupBg","itemHoverBg","itemActiveBg","menuSubMenuBg","horizontalItemSelectedColor","horizontalItemSelectedBg","horizontalItemBorderRadius","horizontalItemHoverBg","color","background","marginTop","marginBottom","borderRadius","insetInline","borderBottomWidth","borderBottomColor","borderInlineEnd","insetBlock","insetInlineEnd","opacity","borderInlineEndColor","getVerticalInlineStyle","itemMarginInline","menuArrowSize","marginXS","itemMarginBlock","itemWidth","paddingWithArrow","textOverflow","marginInline","marginBlock","paddingInlineEnd","iconCls","colorTextLightSolid","dropdownWidth","controlHeightLG","paddingXL","fontSizeLG","motionDurationFast","paddingXS","boxShadowSecondary","collapsedWidth","collapsedIconSize","inlineItemStyle","listStylePosition","listStyleType","alignItems","paddingInlineStart","insetInlineStart","div","margin","textEllipsis","genMenuItemStyle","iconSize","iconMarginInlineEnd","whiteSpace","cursor","marginInlineStart","resetIcon","marginInlineEnd","borderColor","genSubMenuArrowStyle","getBaseStyle","antCls","zIndexPopup","borderRadiusLG","subMenuItemBorderRadius","groupTitleLineHeight","groupTitleFontSize","clearFix","resetComponent","listStyle","outline","itemBorderRadius","fontSizeSM","inset","borderStyle","borderWidth","borderTopWidth","zIndex","paddingBottom","paddingTop","prepareComponentToken","_b","_c","colorPrimary","colorError","colorTextDisabled","colorErrorBg","colorText","colorTextDescription","colorBgContainer","colorFillAlter","colorFillContent","lineWidthBold","controlItemBgActive","colorBgTextHover","colorBgElevated","marginXXS","controlHeightSM","colorErrorHover","colorTextDark","TinyColor","setAlpha","toRgbString","zIndexPopupBase","radiusItem","radiusSubMenuItem","borderRadiusSM","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","injectStyle","genStyleHooks","menuToken","mergeToken","menuHorizontalHeight","menuDarkToken","getHorizontalStyle","getVerticalStyle","getRTLStyle","genCollapseMotion","initSlideMotion","initZoomMotion","deprecatedTokens","unitless","popupClassName","theme","customTheme","contextTheme","parentPath","useFullPath","titleNode","titleIsSpan","contextValue","useZIndex","RcSubMenu","popupStyle","isEmptyIcon","MENU_COMPONENTS","MenuItem","submenu","SubMenu","divider","InternalMenu","forwardRef","overrideObj","getPopupContainer","menu","rootPrefixCls","_internalDisableMenuItemTitleTooltip","overflowedIndicatorPopupClassName","passedProps","validator","onItemClick","mergedMode","mergedSelectable","mergedInlineCollapsed","defaultMotions","horizontal","motionName","inline","initCollapseMotion","other","menuClassName","mergedIcon","RcMenu","overflowedIndicator","EllipsisOutlined","_internalComponents","Menu","menuRef","useImperativeHandle","focus","MenuDivider","ItemGroup","menuCls","itemCls","genBaseStyle","dropdownArrowDistance","sizePopupArrow","paddingBlock","dropdownEdgeChildPadding","fontSizeIcon","controlPaddingHorizontal","_skip_check_","sub","animationName","slideUpIn","slideDownIn","slideUpOut","slideDownOut","getArrowStyle","arrowPlacement","backgroundClip","genFocusStyle","fontWeight","controlItemBgHover","controlItemBgActiveHover","fontStyle","initMoveMotion","paddingXXS","dropdownToken","genStatusStyle","controlHeight","getArrowOffsetToken","contentRadius","limitVerticalRadius","getArrowToken","resetStyle","Dropdown","arrow","dropdownRender","overlayStyle","onOpenChange","visible","onVisibleChange","mouseEnterDelay","mouseLeaveDelay","autoAdjustOverflow","overlay","transitionName","getContextPopupContainer","dropdown","devUseWarning","memoTransitionName","memoPlacement","useToken","child","only","isPrimitive","dropdownTrigger","triggerActions","alignPoint","mergedOpen","setOpen","useMergedState","onInnerOpenChange","nextOpen","source","overlayClassNameCustomized","builtinPlacements","getPlacements","arrowPointAtCenter","pointAtCenter","arrowWidth","onMenuClick","multiple","contextZIndex","renderNode","RcDropdown","renderOverlay","overlayNode","items","RightOutlined","zIndexContext","PurePanel","genPurePanel","adjustX","adjustY","_InternalPanelDoNotUseOrYouWillBeFired","DropdownButton","loading","htmlType","autoFocus","href","buttonsRender","destroyPopupOnHide","buttonPrefixCls","dropdownProps","compactSize","compactItemClassnames","useCompactItemContext","classes","leftButton","Button","rightButton","leftButtonToRender","rightButtonToRender","Space","Compact","block","__ANT_BUTTON","InternalDropdown","SELECTION_COLUMN","SELECTION_ALL","SELECTION_INVERT","SELECTION_NONE","EMPTY_LIST","useSelection","rowSelection","preserveSelectedRowKeys","selectedRowKeys","defaultSelectedRowKeys","getCheckboxProps","onSelectionChange","onSelect","onSelectAll","onSelectInvert","onSelectNone","onSelectMultiple","selectionColWidth","selectionType","selections","renderCell","customizeRenderCell","hideSelectAll","checkStrictly","pageData","getRecordByKey","expandType","locale","tableLocale","warning","multipleSelect","updatePrevSelectedIndex","getKey","prevSelectedIndex","setPrevSelectedIndex","useCallback","currentSelectedIndex","selectedKeys","configPrevSelectedIndex","min","rangeKeys","shouldSelected","rangeKey","changedKeys","useMultipleSelect","mergedSelectedKeys","setMergedSelectedKeys","preserveRecordsRef","updatePreserveRecordsCache","newCache","flattedData","keyEntities","convertData","keysSet","preserveRecords","from","convertDataToEntities","externalGetKey","childrenPropName","checkboxPropsMap","isCheckboxDisabled","r","derivedSelectedKeys","derivedHalfSelectedKeys","checkedKeys","halfCheckedKeys","conductCheck","derivedSelectedKeySet","derivedHalfSelectedKeySet","setSelectedKeys","method","availableKeys","records","triggerSingleSelection","selected","k","mergedSelections","selection","text","selectionAll","checkProps","selectInvert","keySet","deprecated","selectNone","_a2","rest","recordKeys","checkedCurrentAll","checkedCurrentSome","onSelectAllChange","changeKeys","columnTitleCheckbox","customizeSelections","onSelectionClick","DownOutlined","allDisabledData","allDisabled","allDisabledAndChecked","allDisabledSomeChecked","Radio","nativeEvent","mergedIndeterminate","shiftKey","isMultiple","recordKey","originCheckedKeys","arrDel","arrAdd","result","nextCheckedKeys","tempKeySet","restColumns","selectionColumnIndex","prevCol","nextCol","mergedFixed","columnCls","selectionColumn","renderSelectionCell","useProxyImperativeHandle","init","refObj","Proxy","prop","Reflect","handler","_antProxy","ori","isWindow","Document","ownerDocument","iconPrefix","collapse","expand","getColumnKey","defaultKey","getColumnPos","pos","renderColumnTitle","FilterFilled","AntdIcon","FilterFilledSvg","filterSearch","tablePrefixCls","Input","prefix","SearchOutlined","placeholder","filterSearchPlaceholder","htmlSize","onKeyDown","keyCode","KeyCode","ENTER","flattenKeys","filters","searchValueMatched","searchValue","toLowerCase","trim","renderFilterItems","filteredKeys","filterMultiple","String","wrapStringListType","_d","dropdownPrefixCls","filterOnClose","filterMode","filterState","triggerFilter","filterResetToDefaultFilteredValue","defaultFilteredValue","filterDropdownProps","filterDropdownOpen","filterDropdownVisible","onFilterDropdownVisibleChange","onFilterDropdownOpenChange","setVisible","filtered","forceFiltered","triggerVisible","newVisible","mergedVisible","propFilteredKeys","getFilteredKeysSync","setFilteredKeysSync","initialValue","useForceUpdate","useSyncState","onSelectKeys","onCheck","openKeys","setOpenKeys","setSearchValue","onSearch","internalTriggerFilter","mergedKeys","onConfirm","onReset","confirm","closeDropdown","doFilter","dropdownMenuClass","onCheckAll","allFilterKeys","getTreeData","_ref7","getFilterData","dropdownContent","renderEmpty","filterDropdown","clearFilters","close","getFilterComponent","empty","Empty","image","PRESENTED_IMAGE_SIMPLE","description","filterEmptyText","imageStyle","FilterSearch","filterCheckall","Tree","checkable","blockNode","showIcon","treeData","autoExpandParent","defaultExpandAll","filterTreeNode","onDeselect","getResetDisabled","filterReset","filterConfirm","FilterDropdownMenuWrapper","mergedDropdownProps","extendsObject","getDropdownTrigger","filterIcon","role","tabIndex","active","collectFilterStates","filterStates","columnPos","filteredValues","filteredValue","injectFilter","newColumn","find","renderProps","FilterDropdown","generateFilterInfo","currentFilters","keyAsString","originKey","currentData","onFilter","keyIndex","realKey","getMergedColumns","rawMergedColumns","flatMap","onFilterChange","setFilterStates","mergedFilterStates","collectedStates","filteredKeysIsAllNotControlled","filteredKeysIsAllControlled","keyList","newFilterStates","innerColumns","useLazyKVMap","mapCacheRef","kvMap","DEFAULT_PAGE_SIZE","pagination","paginationTotal","paginationObj","innerPagination","setInnerPagination","defaultCurrent","pageSize","defaultPageSize","mergedPagination","maxPage","ceil","refreshPagination","onInternalChange","CaretDownOutlined","CaretDownOutlinedSvg","CaretUpOutlined","CaretUpOutlinedSvg","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","safeColumnTitle","res","displayTitle","stateToInfo","order","field","generateSorterInfo","activeSorters","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","getSorters","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","operationUnit","table","tableFilterDropdownWidth","tableFilterDropdownSearchWidth","headerIconColor","tableHeaderFilterActiveBg","tableFilterDropdownBg","tableFilterDropdownHeight","filterDropdownMenuBg","tableFilterDropdownPrefixCls","treePrefixCls","justifyContent","zIndexTableFixed","tableBg","zIndexTableSticky","shadowColor","flexWrap","rowGap","tableRadius","borderStartStartRadius","borderStartEndRadius","headerIconHoverColor","tableSelectionColumnWidth","tableSelectedRowBg","tableSelectedRowHoverBg","tableRowHoverBg","flexDirection","getSizeStyle","tableFontSizeMiddle","tableFontSizeSmall","tableHeaderSortHoverBg","tableFixedHeaderSortActiveBg","tableHeaderSortBg","tableBodySortBg","opacityLoading","tableScrollThumbBg","tableScrollThumbBgHover","tableScrollThumbSize","tableScrollBg","stickyScrollBarBorderRadius","boxSizing","genTableStyle","fontWeightStrong","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","genPaginationStyle","genSummaryStyle","genSorterStyle","genFilterStyle","genBorderedStyle","genRadiusStyle","genExpandStyle","genEmptyStyle","genSelectionStyle","genFixedStyle","genStickyStyle","genEllipsisStyle","genSizeStyle","genRtlStyle","genVirtualStyle","colorFillSecondary","paddingSM","colorBorderSecondary","colorTextPlaceholder","colorIcon","colorIconHover","colorFillSecondarySolid","onBackground","toHexShortString","colorFillContentSolid","colorFillAlterSolid","baseColorAction","baseColorActionHover","getAlpha","InternalTable","customizeSize","bordered","customizeDropdownPrefixCls","dataSource","legacyChildrenColumnName","virtual","needResponsive","responsive","screens","useBreakpoint","matched","m","c","contextLocale","defaultLocale","mergedSize","useSize","ele","returnWidth","getComputedStyle","parseInt","borderLeftWidth","borderRightWidth","useContainerWidth","rootRef","tblRef","changeEventInfo","triggerOnChange","action","reset","changeInfo","resetPagination","scrollToFirstRowOnChange","duration","getScroll","startTime","Date","now","frameFunc","time","nextScrollTop","d","cc","easeInOutCubic","constructor","currentDataSource","transformSorterColumns","sorterTitleProps","useSorter","sortedData","transformFilterColumns","useFilter","mergedFilters","filterKey","transformTitleColumns","useTitleColumns","usePagination","onPaginationChange","param","pageProp","getPaginationParam","transformSelectionColumns","selectedKeySet","topPaginationNode","bottomPaginationNode","spinProps","paginationSize","renderPagination","Pagination","defaultPosition","topPos","bottomPos","isDisable","replace","spinning","wrapperClassNames","DefaultRenderEmpty","componentName","RcVirtualTable","RcTable","virtualProps","fontHeight","Spin","internalRowClassName","mergedRowClassName","ForwardTable","prepareToken","tagFontSize","tagLineHeight","lineHeightSM","tagIconSize","tagPaddingHorizontal","tagBorderlessBg","defaultBg","colorFillQuaternary","toHexString","defaultColor","iconMarginInline","colorBorder","colorPrimaryHover","colorPrimaryActive","CheckableTag","tag","genSubStyleComponent","genPresetColor","colorKey","textColor","lightBorderColor","lightColor","darkColor","genPresetStyle","genTagStatusStyle","status","cssVariableType","capitalizedCssVariableType","str","toUpperCase","tagToken","InternalTag","tagProps","onClose","deprecatedVisible","tagContext","isPreset","isPresetColor","isStatus","isPresetStatusColor","isInternalColor","tagStyle","tagClassName","handleCloseClick","defaultPrevented","mergedCloseIcon","useClosable","pickClosable","closable","closeIconRender","iconNode","replacement","replaceElement","originProps","isNeedWave","kids","tagNode","PresetCmp","StatusCmp","Tag"],"sourceRoot":""}
|