{"version":3,"file":"static/chunks/8336-26dad2d7210f1479.js","mappings":"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","sources":["webpack://_N_E/./node_modules/antd/es/_util/hooks/useForceUpdate.js","webpack://_N_E/./node_modules/antd/es/col/index.js","webpack://_N_E/./node_modules/rc-table/es/sugar/ColumnGroup.js","webpack://_N_E/./node_modules/rc-table/es/sugar/Column.js","webpack://_N_E/./node_modules/rc-table/es/utils/valueUtil.js","webpack://_N_E/./node_modules/rc-table/es/context/StickyContext.js","webpack://_N_E/./node_modules/rc-table/es/context/HoverContext.js","webpack://_N_E/./node_modules/rc-table/es/ContextSelector/index.js","webpack://_N_E/./node_modules/rc-table/es/context/BodyContext.js","webpack://_N_E/./node_modules/rc-table/es/context/PerfContext.js","webpack://_N_E/./node_modules/rc-table/es/Cell/index.js","webpack://_N_E/./node_modules/rc-table/es/context/TableContext.js","webpack://_N_E/./node_modules/rc-table/es/utils/fixUtil.js","webpack://_N_E/./node_modules/rc-table/es/Header/HeaderRow.js","webpack://_N_E/./node_modules/rc-table/es/Header/Header.js","webpack://_N_E/./node_modules/rc-table/es/context/ExpandedRowContext.js","webpack://_N_E/./node_modules/rc-table/es/Body/ExpandedRow.js","webpack://_N_E/./node_modules/rc-table/es/context/ResizeContext.js","webpack://_N_E/./node_modules/rc-table/es/Body/BodyRow.js","webpack://_N_E/./node_modules/rc-table/es/hooks/useFlattenRecords.js","webpack://_N_E/./node_modules/rc-table/es/Body/MeasureCell.js","webpack://_N_E/./node_modules/rc-table/es/Body/MeasureRow.js","webpack://_N_E/./node_modules/rc-table/es/Body/index.js","webpack://_N_E/./node_modules/rc-table/es/utils/legacyUtil.js","webpack://_N_E/./node_modules/rc-table/es/constant.js","webpack://_N_E/./node_modules/rc-table/es/hooks/useColumns.js","webpack://_N_E/./node_modules/rc-table/es/hooks/useFrame.js","webpack://_N_E/./node_modules/rc-table/es/hooks/useStickyOffsets.js","webpack://_N_E/./node_modules/rc-table/es/ColGroup.js","webpack://_N_E/./node_modules/rc-table/es/Panel/index.js","webpack://_N_E/./node_modules/rc-table/es/Footer/SummaryContext.js","webpack://_N_E/./node_modules/rc-table/es/Footer/Row.js","webpack://_N_E/./node_modules/rc-table/es/Footer/Summary.js","webpack://_N_E/./node_modules/rc-table/es/Footer/Cell.js","webpack://_N_E/./node_modules/rc-table/es/Footer/index.js","webpack://_N_E/./node_modules/rc-table/es/utils/expandUtil.js","webpack://_N_E/./node_modules/rc-util/es/Dom/css.js","webpack://_N_E/./node_modules/rc-table/es/stickyScrollBar.js","webpack://_N_E/./node_modules/rc-table/es/hooks/useSticky.js","webpack://_N_E/./node_modules/rc-table/es/FixedHolder/index.js","webpack://_N_E/./node_modules/rc-table/es/Table.js","webpack://_N_E/./node_modules/rc-table/es/index.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/DoubleLeftOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/DoubleLeftOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/DoubleRightOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/DoubleRightOutlined.js","webpack://_N_E/./node_modules/rc-pagination/es/Pager.js","webpack://_N_E/./node_modules/rc-pagination/es/KeyCode.js","webpack://_N_E/./node_modules/rc-pagination/es/Options.js","webpack://_N_E/./node_modules/rc-pagination/es/Pagination.js","webpack://_N_E/./node_modules/rc-pagination/es/locale/zh_CN.js","webpack://_N_E/./node_modules/antd/es/pagination/Select.js","webpack://_N_E/./node_modules/antd/es/pagination/style/index.js","webpack://_N_E/./node_modules/antd/es/pagination/Pagination.js","webpack://_N_E/./node_modules/antd/es/pagination/index.js","webpack://_N_E/./node_modules/antd/es/_util/easings.js","webpack://_N_E/./node_modules/antd/es/_util/getScroll.js","webpack://_N_E/./node_modules/antd/es/_util/scrollTo.js","webpack://_N_E/./node_modules/antd/es/table/Column.js","webpack://_N_E/./node_modules/antd/es/table/ColumnGroup.js","webpack://_N_E/./node_modules/antd/es/table/ExpandIcon.js","webpack://_N_E/./node_modules/antd/es/table/util.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/FilterFilled.js","webpack://_N_E/./node_modules/antd/es/dropdown/index.js","webpack://_N_E/./node_modules/rc-tree/es/contextTypes.js","webpack://_N_E/./node_modules/rc-tree/es/Indent.js","webpack://_N_E/./node_modules/rc-tree/es/utils/treeUtil.js","webpack://_N_E/./node_modules/rc-tree/es/util.js","webpack://_N_E/./node_modules/rc-tree/es/TreeNode.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack://_N_E/./node_modules/rc-tree/es/MotionTreeNode.js","webpack://_N_E/./node_modules/rc-tree/es/utils/diffUtil.js","webpack://_N_E/./node_modules/rc-tree/es/NodeList.js","webpack://_N_E/./node_modules/rc-tree/es/utils/conductUtil.js","webpack://_N_E/./node_modules/rc-tree/es/Tree.js","webpack://_N_E/./node_modules/rc-tree/es/DropIndicator.js","webpack://_N_E/./node_modules/rc-tree/es/index.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/HolderOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/HolderOutlined.js","webpack://_N_E/./node_modules/antd/es/tree/utils/dropIndicator.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/CaretDownFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/CaretDownFilled.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/FileOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/FileOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/MinusSquareOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/MinusSquareOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/PlusSquareOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/PlusSquareOutlined.js","webpack://_N_E/./node_modules/antd/es/tree/style/index.js","webpack://_N_E/./node_modules/antd/es/tree/Tree.js","webpack://_N_E/./node_modules/antd/es/tree/utils/iconUtil.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/FolderOpenOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/FolderOpenOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/FolderOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/FolderOutlined.js","webpack://_N_E/./node_modules/antd/es/tree/utils/dictUtil.js","webpack://_N_E/./node_modules/antd/es/tree/DirectoryTree.js","webpack://_N_E/./node_modules/antd/es/tree/index.js","webpack://_N_E/./node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","webpack://_N_E/./node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","webpack://_N_E/./node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","webpack://_N_E/./node_modules/antd/es/_util/hooks/useSyncState.js","webpack://_N_E/./node_modules/antd/es/table/hooks/useFilter/index.js","webpack://_N_E/./node_modules/antd/es/table/hooks/usePagination.js","webpack://_N_E/./node_modules/antd/es/table/hooks/useSelection.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","webpack://_N_E/./node_modules/antd/es/table/hooks/useSorter.js","webpack://_N_E/./node_modules/antd/es/table/hooks/useTitleColumns.js","webpack://_N_E/./node_modules/antd/es/table/style/bordered.js","webpack://_N_E/./node_modules/antd/es/table/style/ellipsis.js","webpack://_N_E/./node_modules/antd/es/table/style/empty.js","webpack://_N_E/./node_modules/antd/es/table/style/expand.js","webpack://_N_E/./node_modules/antd/es/table/style/filter.js","webpack://_N_E/./node_modules/antd/es/table/style/fixed.js","webpack://_N_E/./node_modules/antd/es/table/style/pagination.js","webpack://_N_E/./node_modules/antd/es/table/style/radius.js","webpack://_N_E/./node_modules/antd/es/table/style/rtl.js","webpack://_N_E/./node_modules/antd/es/table/style/selection.js","webpack://_N_E/./node_modules/antd/es/table/style/size.js","webpack://_N_E/./node_modules/antd/es/table/style/sorter.js","webpack://_N_E/./node_modules/antd/es/table/style/sticky.js","webpack://_N_E/./node_modules/antd/es/table/style/summary.js","webpack://_N_E/./node_modules/antd/es/table/style/index.js","webpack://_N_E/./node_modules/antd/es/table/Table.js","webpack://_N_E/./node_modules/antd/es/table/hooks/useLazyKVMap.js","webpack://_N_E/./node_modules/antd/es/table/index.js","webpack://_N_E/./node_modules/antd/es/tag/style/index.js","webpack://_N_E/./node_modules/antd/es/_util/capitalize.js","webpack://_N_E/./node_modules/antd/es/tag/CheckableTag.js","webpack://_N_E/./node_modules/antd/es/tag/index.js","webpack://_N_E/./node_modules/@swc/helpers/src/_to_array.mjs"],"sourcesContent":["import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useForceUpdate() {\n var _React$useReducer = React.useReducer(function (x) {\n return x + 1;\n }, 0),\n _React$useReducer2 = _slicedToArray(_React$useReducer, 2),\n forceUpdate = _React$useReducer2[1];\n return forceUpdate;\n}","import { Col } from '../grid';\nexport default Col;","/* istanbul ignore next */\n\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}\n\nexport default ColumnGroup;","/* istanbul ignore next */\n\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}\n\nexport default Column;","var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';\n\nfunction toArray(arr) {\n if (arr === undefined || arr === null) {\n return [];\n }\n\n return Array.isArray(arr) ? arr : [arr];\n}\n\nexport function getPathValue(record, path) {\n // Skip if path is empty\n if (!path && typeof path !== 'number') {\n return record;\n }\n\n var pathList = toArray(path);\n var current = record;\n\n for (var i = 0; i < pathList.length; i += 1) {\n if (!current) {\n return null;\n }\n\n var prop = pathList[i];\n current = current[prop];\n }\n\n return current;\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\n var mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;\n\n while (keys[mergedKey]) {\n mergedKey = \"\".concat(mergedKey, \"_next\");\n }\n\n keys[mergedKey] = true;\n columnKeys.push(mergedKey);\n });\n return columnKeys;\n}\nexport function validateValue(val) {\n return val !== null && val !== undefined;\n}","import * as React from 'react'; // Tell cell that browser support sticky\n\nvar StickyContext = /*#__PURE__*/React.createContext(false);\nexport default StickyContext;","import { createContext } from '../ContextSelector';\nvar HoverContext = createContext();\nexport default HoverContext;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport shallowEqual from 'shallowequal';\nexport function createContext() {\n var Context = /*#__PURE__*/React.createContext(null);\n\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n\n useLayoutEffect(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n\n return {\n Context: Context,\n Provider: Provider\n };\n}\nexport function useContextSelector(holder, selector) {\n var eventSelector = useEvent(selector);\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n\n var _React$useState3 = React.useState(function () {\n return eventSelector(context ? getValue() : null);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n value = _React$useState4[0],\n setValue = _React$useState4[1];\n\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n\n function trigger(nextValue) {\n setValue(function (prev) {\n var selectedValue = eventSelector(nextValue);\n return shallowEqual(prev, selectedValue) ? prev : selectedValue;\n });\n }\n\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return value;\n}","import * as React from 'react';\nvar BodyContext = /*#__PURE__*/React.createContext(null);\nexport default BodyContext;","import * as React from 'react';\nvar PerfContext = /*#__PURE__*/React.createContext({\n renderWithProps: false\n});\nexport default PerfContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"colSpan\", \"rowSpan\", \"style\", \"className\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport { supportRef } from \"rc-util/es/ref\";\nimport { getPathValue, validateValue } from '../utils/valueUtil';\nimport StickyContext from '../context/StickyContext';\nimport HoverContext from '../context/HoverContext';\nimport BodyContext from '../context/BodyContext';\nimport warning from \"rc-util/es/warning\";\nimport PerfContext from '../context/PerfContext';\nimport { useContextSelector } from '../ContextSelector';\n/** Check if cell is in hover range */\n\nfunction inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {\n var cellEndRow = cellStartRow + cellRowSpan - 1;\n return cellStartRow <= endRow && cellEndRow >= startRow;\n}\n\nfunction isRenderCell(data) {\n return data && _typeof(data) === 'object' && !Array.isArray(data) && ! /*#__PURE__*/React.isValidElement(data);\n}\n\nfunction isRefComponent(component) {\n // String tag component also support ref\n if (typeof component === 'string') {\n return true;\n }\n\n return supportRef(component);\n}\n\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\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\n return title;\n};\n\nfunction Cell(_ref2, ref) {\n var _ref4, _ref5, _classNames;\n\n var prefixCls = _ref2.prefixCls,\n className = _ref2.className,\n record = _ref2.record,\n index = _ref2.index,\n renderIndex = _ref2.renderIndex,\n dataIndex = _ref2.dataIndex,\n render = _ref2.render,\n children = _ref2.children,\n _ref2$component = _ref2.component,\n Component = _ref2$component === void 0 ? 'td' : _ref2$component,\n colSpan = _ref2.colSpan,\n rowSpan = _ref2.rowSpan,\n fixLeft = _ref2.fixLeft,\n fixRight = _ref2.fixRight,\n firstFixLeft = _ref2.firstFixLeft,\n lastFixLeft = _ref2.lastFixLeft,\n firstFixRight = _ref2.firstFixRight,\n lastFixRight = _ref2.lastFixRight,\n appendNode = _ref2.appendNode,\n _ref2$additionalProps = _ref2.additionalProps,\n additionalProps = _ref2$additionalProps === void 0 ? {} : _ref2$additionalProps,\n ellipsis = _ref2.ellipsis,\n align = _ref2.align,\n rowType = _ref2.rowType,\n isSticky = _ref2.isSticky,\n hovering = _ref2.hovering,\n onHover = _ref2.onHover;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var perfRecord = React.useContext(PerfContext);\n var supportSticky = React.useContext(StickyContext);\n\n var _React$useContext = React.useContext(BodyContext),\n allColumnsFixedLeft = _React$useContext.allColumnsFixedLeft; // ==================== Child Node ====================\n\n\n var _React$useMemo = React.useMemo(function () {\n if (validateValue(children)) {\n return [children];\n }\n\n var value = getPathValue(record, dataIndex); // Customize render node\n\n var returnChildNode = value;\n var returnCellProps = undefined;\n\n if (render) {\n var renderData = render(value, record, renderIndex);\n\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\n returnChildNode = renderData.children;\n returnCellProps = renderData.props;\n perfRecord.renderWithProps = true;\n } else {\n returnChildNode = renderData;\n }\n }\n\n return [returnChildNode, returnCellProps];\n }, [\n /* eslint-disable react-hooks/exhaustive-deps */\n // Always re-render if `renderWithProps`\n perfRecord.renderWithProps ? Math.random() : 0,\n /* eslint-enable */\n children, dataIndex, perfRecord, record, render, renderIndex]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n childNode = _React$useMemo2[0],\n legacyCellProps = _React$useMemo2[1];\n\n var mergedChildNode = childNode; // Not crash if final `childNode` is not validate ReactNode\n\n if (_typeof(mergedChildNode) === 'object' && !Array.isArray(mergedChildNode) && ! /*#__PURE__*/React.isValidElement(mergedChildNode)) {\n mergedChildNode = null;\n }\n\n if (ellipsis && (lastFixLeft || firstFixRight)) {\n mergedChildNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(cellPrefixCls, \"-content\")\n }, mergedChildNode);\n }\n\n var _ref3 = legacyCellProps || {},\n cellColSpan = _ref3.colSpan,\n cellRowSpan = _ref3.rowSpan,\n cellStyle = _ref3.style,\n cellClassName = _ref3.className,\n restCellProps = _objectWithoutProperties(_ref3, _excluded);\n\n var mergedColSpan = (_ref4 = cellColSpan !== undefined ? cellColSpan : colSpan) !== null && _ref4 !== void 0 ? _ref4 : 1;\n var mergedRowSpan = (_ref5 = cellRowSpan !== undefined ? cellRowSpan : rowSpan) !== null && _ref5 !== void 0 ? _ref5 : 1;\n\n if (mergedColSpan === 0 || mergedRowSpan === 0) {\n return null;\n } // ====================== Fixed =======================\n\n\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number' && supportSticky;\n var isFixRight = typeof fixRight === 'number' && supportSticky;\n\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = fixLeft;\n }\n\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = fixRight;\n } // ====================== Align =======================\n\n\n var alignStyle = {};\n\n if (align) {\n alignStyle.textAlign = align;\n } // ====================== Hover =======================\n\n\n var onMouseEnter = function onMouseEnter(event) {\n var _additionalProps$onMo;\n\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 ? void 0 : _additionalProps$onMo.call(additionalProps, event);\n };\n\n var onMouseLeave = function onMouseLeave(event) {\n var _additionalProps$onMo2;\n\n if (record) {\n onHover(-1, -1);\n }\n\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === void 0 ? void 0 : _additionalProps$onMo2.call(additionalProps, event);\n }; // ====================== Render ======================\n\n\n var title = getTitleFromCellRenderChildren({\n rowType: rowType,\n ellipsis: ellipsis,\n children: childNode\n });\n\n var componentProps = _objectSpread(_objectSpread(_objectSpread({\n title: title\n }, restCellProps), additionalProps), {}, {\n colSpan: mergedColSpan !== 1 ? mergedColSpan : null,\n rowSpan: mergedRowSpan !== 1 ? mergedRowSpan : null,\n className: classNames(cellPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left\"), isFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-first\"), firstFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-last\"), lastFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-all\"), lastFixLeft && allColumnsFixedLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right\"), isFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right-first\"), firstFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right-last\"), lastFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-ellipsis\"), ellipsis), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-with-append\"), appendNode), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-sticky\"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-row-hover\"), !legacyCellProps && hovering), _classNames), additionalProps.className, cellClassName),\n style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, additionalProps.style), alignStyle), fixedStyle), cellStyle),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n ref: isRefComponent(Component) ? ref : null\n });\n\n return /*#__PURE__*/React.createElement(Component, componentProps, appendNode, mergedChildNode);\n}\n\nvar RefCell = /*#__PURE__*/React.forwardRef(Cell);\nRefCell.displayName = 'Cell';\nvar comparePropList = ['expanded', 'className', 'hovering'];\nvar MemoCell = /*#__PURE__*/React.memo(RefCell, function (prev, next) {\n if (next.shouldCellUpdate) {\n return (// Additional handle of expanded logic\n comparePropList.every(function (propName) {\n return prev[propName] === next[propName];\n }) && // User control update logic\n !next.shouldCellUpdate(next.record, prev.record)\n );\n }\n\n return shallowEqual(prev, next);\n});\n/** Inject hover data here, we still wish MemoCell keep simple `shouldCellUpdate` logic */\n\nvar WrappedCell = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var index = props.index,\n _props$additionalProp = props.additionalProps,\n additionalProps = _props$additionalProp === void 0 ? {} : _props$additionalProp,\n colSpan = props.colSpan,\n rowSpan = props.rowSpan;\n var cellColSpan = additionalProps.colSpan,\n cellRowSpan = additionalProps.rowSpan;\n var mergedColSpan = colSpan !== null && colSpan !== void 0 ? colSpan : cellColSpan;\n var mergedRowSpan = rowSpan !== null && rowSpan !== void 0 ? rowSpan : cellRowSpan;\n\n var _useContextSelector = useContextSelector(HoverContext, function (cxt) {\n var isHovering = inHoverRange(index, mergedRowSpan || 1, cxt === null || cxt === void 0 ? void 0 : cxt.startRow, cxt === null || cxt === void 0 ? void 0 : cxt.endRow);\n return {\n onHover: cxt === null || cxt === void 0 ? void 0 : cxt.onHover,\n hovering: isHovering\n };\n }),\n onHover = _useContextSelector.onHover,\n hovering = _useContextSelector.hovering;\n\n return /*#__PURE__*/React.createElement(MemoCell, _extends({}, props, {\n colSpan: mergedColSpan,\n rowSpan: mergedRowSpan,\n hovering: hovering,\n ref: ref,\n onHover: onHover\n }));\n});\nWrappedCell.displayName = 'WrappedCell';\nexport default WrappedCell;","import * as React from 'react';\nvar TableContext = /*#__PURE__*/React.createContext(null);\nexport default TableContext;","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\n if (startColumn.fixed === 'left') {\n fixLeft = stickyOffsets.left[colStart];\n } else if (endColumn.fixed === 'right') {\n fixRight = stickyOffsets.right[colEnd];\n }\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 if (direction === 'rtl') {\n if (fixLeft !== undefined) {\n var prevFixLeft = prevColumn && prevColumn.fixed === 'left';\n firstFixLeft = !prevFixLeft;\n } else if (fixRight !== undefined) {\n var nextFixRight = nextColumn && nextColumn.fixed === 'right';\n lastFixRight = !nextFixRight;\n }\n } else if (fixLeft !== undefined) {\n var nextFixLeft = nextColumn && nextColumn.fixed === 'left';\n lastFixLeft = !nextFixLeft;\n } else if (fixRight !== undefined) {\n var prevFixRight = prevColumn && prevColumn.fixed === 'right';\n firstFixRight = !prevFixRight;\n }\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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from '../Cell';\nimport TableContext from '../context/TableContext';\nimport { getCellFixedInfo } from '../utils/fixUtil';\nimport { getColumnsKey } from '../utils/valueUtil';\n\nfunction HeaderRow(_ref) {\n var cells = _ref.cells,\n stickyOffsets = _ref.stickyOffsets,\n flattenColumns = _ref.flattenColumns,\n RowComponent = _ref.rowComponent,\n CellComponent = _ref.cellComponent,\n onHeaderRow = _ref.onHeaderRow,\n index = _ref.index;\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n direction = _React$useContext.direction;\n\n var rowProps;\n\n if (onHeaderRow) {\n rowProps = onHeaderRow(cells.map(function (cell) {\n return cell.column;\n }), index);\n }\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\n if (column && column.onHeaderCell) {\n additionalProps = cell.column.onHeaderCell(column);\n }\n\n return /*#__PURE__*/React.createElement(Cell, _extends({}, cell, {\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}\n\nHeaderRow.displayName = 'HeaderRow';\nexport default HeaderRow;","import * as React from 'react';\nimport HeaderRow from './HeaderRow';\nimport TableContext from '../context/TableContext';\n\nfunction parseHeaderRows(rootColumns) {\n var rows = [];\n\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\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\n if ('colSpan' in column) {\n colSpan = column.colSpan;\n }\n\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\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 } // Generate `rows` cell data\n\n\n fillRowCells(rootColumns, 0); // Handle `rowSpan`\n\n var rowCount = rows.length;\n\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\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n _loop(rowIndex);\n }\n\n return rows;\n}\n\nfunction Header(_ref) {\n var stickyOffsets = _ref.stickyOffsets,\n columns = _ref.columns,\n flattenColumns = _ref.flattenColumns,\n onHeaderRow = _ref.onHeaderRow;\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n getComponent = _React$useContext.getComponent;\n\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}\n\nexport default Header;","import * as React from 'react';\nvar ExpandedRowContext = /*#__PURE__*/React.createContext(null);\nexport default ExpandedRowContext;","import * as React from 'react';\nimport Cell from '../Cell';\nimport TableContext from '../context/TableContext';\nimport ExpandedRowContext from '../context/ExpandedRowContext';\n\nfunction ExpandedRow(_ref) {\n var prefixCls = _ref.prefixCls,\n children = _ref.children,\n Component = _ref.component,\n cellComponent = _ref.cellComponent,\n className = _ref.className,\n expanded = _ref.expanded,\n colSpan = _ref.colSpan,\n isEmpty = _ref.isEmpty;\n\n var _React$useContext = React.useContext(TableContext),\n scrollbarSize = _React$useContext.scrollbarSize;\n\n var _React$useContext2 = React.useContext(ExpandedRowContext),\n fixHeader = _React$useContext2.fixHeader,\n fixColumn = _React$useContext2.fixColumn,\n componentWidth = _React$useContext2.componentWidth,\n horizonScroll = _React$useContext2.horizonScroll; // Cache render node\n\n\n return React.useMemo(function () {\n var contentNode = children;\n\n if (isEmpty ? horizonScroll : fixColumn) {\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: componentWidth - (fixHeader ? scrollbarSize : 0),\n position: 'sticky',\n left: 0,\n overflow: 'hidden'\n },\n className: \"\".concat(prefixCls, \"-expanded-row-fixed\")\n }, componentWidth !== 0 && contentNode);\n }\n\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 }, [children, Component, className, expanded, colSpan, isEmpty, scrollbarSize, componentWidth, fixColumn, fixHeader, horizonScroll]);\n}\n\nexport default ExpandedRow;","import * as React from 'react';\nvar ResizeContext = /*#__PURE__*/React.createContext(null);\nexport default ResizeContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Cell from '../Cell';\nimport TableContext from '../context/TableContext';\nimport BodyContext from '../context/BodyContext';\nimport { getColumnsKey } from '../utils/valueUtil';\nimport ExpandedRow from './ExpandedRow';\n\nfunction BodyRow(props) {\n var className = props.className,\n style = props.style,\n record = props.record,\n index = props.index,\n renderIndex = props.renderIndex,\n rowKey = props.rowKey,\n rowExpandable = props.rowExpandable,\n expandedKeys = props.expandedKeys,\n onRow = props.onRow,\n _props$indent = props.indent,\n indent = _props$indent === void 0 ? 0 : _props$indent,\n RowComponent = props.rowComponent,\n cellComponent = props.cellComponent,\n childrenColumnName = props.childrenColumnName;\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n fixedInfoList = _React$useContext.fixedInfoList;\n\n var _React$useContext2 = React.useContext(BodyContext),\n flattenColumns = _React$useContext2.flattenColumns,\n expandableType = _React$useContext2.expandableType,\n expandRowByClick = _React$useContext2.expandRowByClick,\n onTriggerExpand = _React$useContext2.onTriggerExpand,\n rowClassName = _React$useContext2.rowClassName,\n expandedRowClassName = _React$useContext2.expandedRowClassName,\n indentSize = _React$useContext2.indentSize,\n expandIcon = _React$useContext2.expandIcon,\n expandedRowRender = _React$useContext2.expandedRowRender,\n expandIconColumnIndex = _React$useContext2.expandIconColumnIndex;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n expandRended = _React$useState2[0],\n setExpandRended = _React$useState2[1];\n\n var expanded = expandedKeys && expandedKeys.has(props.recordKey);\n React.useEffect(function () {\n if (expanded) {\n setExpandRended(true);\n }\n }, [expanded]);\n var rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record)); // Only when row is not expandable and `children` exist in record\n\n var nestExpandable = expandableType === 'nest';\n var hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n var mergedExpandable = rowSupportExpand || nestExpandable; // ======================== Expandable =========================\n\n var onExpandRef = React.useRef(onTriggerExpand);\n onExpandRef.current = onTriggerExpand;\n\n var onInternalTriggerExpand = function onInternalTriggerExpand() {\n onExpandRef.current.apply(onExpandRef, arguments);\n }; // =========================== onRow ===========================\n\n\n var additionalProps = onRow === null || onRow === void 0 ? void 0 : onRow(record, index);\n\n var onClick = function onClick(event) {\n var _additionalProps$onCl;\n\n if (expandRowByClick && mergedExpandable) {\n onInternalTriggerExpand(record, event);\n }\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\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onCl = additionalProps.onClick) === null || _additionalProps$onCl === void 0 ? void 0 : _additionalProps$onCl.call.apply(_additionalProps$onCl, [additionalProps, event].concat(args));\n }; // ======================== Base tr row ========================\n\n\n var computeRowClassName;\n\n if (typeof rowClassName === 'string') {\n computeRowClassName = rowClassName;\n } else if (typeof rowClassName === 'function') {\n computeRowClassName = rowClassName(record, index, indent);\n }\n\n var columnsKey = getColumnsKey(flattenColumns);\n var baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, additionalProps, {\n \"data-row-key\": rowKey,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), \"\".concat(prefixCls, \"-row-level-\").concat(indent), computeRowClassName, additionalProps && additionalProps.className),\n style: _objectSpread(_objectSpread({}, style), additionalProps ? additionalProps.style : null),\n onClick: onClick\n }), flattenColumns.map(function (column, colIndex) {\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className;\n var key = columnsKey[colIndex];\n var fixedInfo = fixedInfoList[colIndex]; // ============= Used for nest expandable =============\n\n var appendCellNode;\n\n if (colIndex === (expandIconColumnIndex || 0) && nestExpandable) {\n appendCellNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n paddingLeft: \"\".concat(indentSize * indent, \"px\")\n },\n className: \"\".concat(prefixCls, \"-row-indent indent-level-\").concat(indent)\n }), expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: hasNestChildren,\n record: record,\n onExpand: onInternalTriggerExpand\n }));\n }\n\n var additionalCellProps;\n\n if (column.onCell) {\n additionalCellProps = column.onCell(record, index);\n }\n\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: columnClassName,\n ellipsis: column.ellipsis,\n align: column.align,\n component: cellComponent,\n prefixCls: prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: render,\n shouldCellUpdate: column.shouldCellUpdate,\n expanded: appendCellNode && expanded\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: additionalCellProps\n }));\n })); // ======================== Expand Row =========================\n\n var expandRowNode;\n\n if (rowSupportExpand && (expandRended || expanded)) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n var computedExpandedRowClassName = expandedRowClassName && expandedRowClassName(record, index, indent);\n expandRowNode = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: expanded,\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), computedExpandedRowClassName),\n prefixCls: prefixCls,\n component: RowComponent,\n cellComponent: cellComponent,\n colSpan: flattenColumns.length,\n isEmpty: false\n }, expandContent);\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, baseRowNode, expandRowNode);\n}\n\nBodyRow.displayName = 'BodyRow';\nexport default BodyRow;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react'; // recursion (flat tree structure)\n\nfunction flatRecord(record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n var arr = [];\n arr.push({\n record: record,\n indent: indent,\n index: index\n });\n var key = getRowKey(record);\n var expanded = expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.has(key);\n\n if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n var tempArr = flatRecord(record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n arr.push.apply(arr, _toConsumableArray(tempArr));\n }\n }\n\n return arr;\n}\n/**\n * flat tree data on expanded state\n *\n * @export\n * @template T\n * @param {*} data : table data\n * @param {string} childrenColumnName : 指定树形结构的列名\n * @param {Set} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey} getRowKey : 获取当前rowKey的方法\n * @returns flattened data\n */\n\n\nexport default function useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey) {\n var arr = React.useMemo(function () {\n if (expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.size) {\n var temp = []; // collect flattened record\n\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n temp.push.apply(temp, _toConsumableArray(flatRecord(record, 0, childrenColumnName, expandedKeys, getRowKey, i)));\n }\n\n return temp;\n }\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 * 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 _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport TableContext from '../context/TableContext';\nimport ExpandedRow from './ExpandedRow';\nimport BodyContext from '../context/BodyContext';\nimport { getColumnsKey } from '../utils/valueUtil';\nimport ResizeContext from '../context/ResizeContext';\nimport BodyRow from './BodyRow';\nimport useFlattenRecords from '../hooks/useFlattenRecords';\nimport HoverContext from '../context/HoverContext';\nimport PerfContext from '../context/PerfContext';\nimport MeasureRow from './MeasureRow';\n\nfunction Body(_ref) {\n var data = _ref.data,\n getRowKey = _ref.getRowKey,\n measureColumnWidth = _ref.measureColumnWidth,\n expandedKeys = _ref.expandedKeys,\n onRow = _ref.onRow,\n rowExpandable = _ref.rowExpandable,\n emptyNode = _ref.emptyNode,\n childrenColumnName = _ref.childrenColumnName;\n\n var _React$useContext = React.useContext(ResizeContext),\n onColumnResize = _React$useContext.onColumnResize;\n\n var _React$useContext2 = React.useContext(TableContext),\n prefixCls = _React$useContext2.prefixCls,\n getComponent = _React$useContext2.getComponent;\n\n var _React$useContext3 = React.useContext(BodyContext),\n flattenColumns = _React$useContext3.flattenColumns;\n\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey); // =================== Performance ====================\n\n var perfRef = React.useRef({\n renderWithProps: false\n }); // ====================== Hover =======================\n\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\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\n var onHover = React.useCallback(function (start, end) {\n setStartRow(start);\n setEndRow(end);\n }, []); // ====================== Render ======================\n\n var bodyNode = React.useMemo(function () {\n var WrapperComponent = getComponent(['body', 'wrapper'], 'tbody');\n var trComponent = getComponent(['body', 'row'], 'tr');\n var tdComponent = getComponent(['body', 'cell'], 'td');\n var rows;\n\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 recordKey: key,\n index: idx,\n renderIndex: renderIndex,\n rowComponent: trComponent,\n cellComponent: tdComponent,\n expandedKeys: expandedKeys,\n onRow: onRow,\n getRowKey: getRowKey,\n rowExpandable: rowExpandable,\n childrenColumnName: childrenColumnName,\n indent: indent\n });\n });\n } else {\n rows = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: true,\n className: \"\".concat(prefixCls, \"-placeholder\"),\n prefixCls: prefixCls,\n component: trComponent,\n cellComponent: tdComponent,\n colSpan: flattenColumns.length,\n isEmpty: true\n }, emptyNode);\n }\n\n var columnsKey = getColumnsKey(flattenColumns);\n return /*#__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 }, [data, prefixCls, onRow, measureColumnWidth, expandedKeys, getRowKey, getComponent, emptyNode, flattenColumns, childrenColumnName, onColumnResize, rowExpandable, flattenData]);\n return /*#__PURE__*/React.createElement(PerfContext.Provider, {\n value: perfRef.current\n }, /*#__PURE__*/React.createElement(HoverContext.Provider, {\n value: {\n startRow: startRow,\n endRow: endRow,\n onHover: onHover\n }\n }, bodyNode));\n}\n\nvar MemoBody = /*#__PURE__*/React.memo(Body);\nMemoBody.displayName = 'Body';\nexport default MemoBody;","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\n var config;\n\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'].some(function (prop) {\n return prop in props;\n })) {\n warning(false, 'expanded related props have been moved into `expandable`.');\n }\n\n config = legacyExpandableConfig;\n }\n\n if (config.showExpandColumn === false) {\n config.expandIconColumnIndex = -1;\n }\n\n return config;\n}","export var EXPAND_COLUMN = {};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"fixed\"];\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { INTERNAL_COL_DEFINE } from '../utils/legacyUtil';\nimport { EXPAND_COLUMN } from '../constant';\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\n var nodeChildren = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var column = _objectSpread({\n key: key\n }, restProps);\n\n if (nodeChildren) {\n column.children = convertChildrenToColumns(nodeChildren);\n }\n\n return column;\n });\n}\n\nfunction flatColumns(columns) {\n return columns.reduce(function (list, column) {\n var fixed = column.fixed; // Convert `fixed='true'` to `fixed='left'` instead\n\n var parsedFixed = fixed === true ? 'left' : fixed;\n var subColumns = column.children;\n\n if (subColumns && subColumns.length > 0) {\n return [].concat(_toConsumableArray(list), _toConsumableArray(flatColumns(subColumns).map(function (subColum) {\n return _objectSpread({\n fixed: parsedFixed\n }, subColum);\n })));\n }\n\n return [].concat(_toConsumableArray(list), [_objectSpread(_objectSpread({}, column), {}, {\n fixed: parsedFixed\n })]);\n }, []);\n}\n\nfunction warningFixed(flattenColumns) {\n var allFixLeft = true;\n\n for (var i = 0; i < flattenColumns.length; i += 1) {\n var col = flattenColumns[i];\n\n if (allFixLeft && col.fixed !== 'left') {\n allFixLeft = false;\n } else if (!allFixLeft && col.fixed === 'left') {\n warning(false, \"Index \".concat(i - 1, \" of `columns` missing `fixed='left'` prop.\"));\n break;\n }\n }\n\n var allFixRight = true;\n\n for (var _i = flattenColumns.length - 1; _i >= 0; _i -= 1) {\n var _col = flattenColumns[_i];\n\n if (allFixRight && _col.fixed !== 'right') {\n allFixRight = false;\n } else if (!allFixRight && _col.fixed === 'right') {\n warning(false, \"Index \".concat(_i + 1, \" of `columns` missing `fixed='right'` prop.\"));\n break;\n }\n }\n}\n\nfunction revertForRtl(columns) {\n return columns.map(function (column) {\n var fixed = column.fixed,\n restProps = _objectWithoutProperties(column, _excluded2); // Convert `fixed='left'` to `fixed='right'` instead\n\n\n var parsedFixed = fixed;\n\n if (fixed === 'left') {\n parsedFixed = 'right';\n } else if (fixed === 'right') {\n parsedFixed = 'left';\n }\n\n return _objectSpread({\n fixed: parsedFixed\n }, restProps);\n });\n}\n/**\n * Parse `columns` & `children` into `columns`.\n */\n\n\nfunction useColumns(_ref2, transformColumns) {\n var prefixCls = _ref2.prefixCls,\n columns = _ref2.columns,\n children = _ref2.children,\n expandable = _ref2.expandable,\n expandedKeys = _ref2.expandedKeys,\n columnTitle = _ref2.columnTitle,\n getRowKey = _ref2.getRowKey,\n onTriggerExpand = _ref2.onTriggerExpand,\n expandIcon = _ref2.expandIcon,\n rowExpandable = _ref2.rowExpandable,\n expandIconColumnIndex = _ref2.expandIconColumnIndex,\n direction = _ref2.direction,\n expandRowByClick = _ref2.expandRowByClick,\n columnWidth = _ref2.columnWidth,\n fixed = _ref2.fixed;\n var baseColumns = React.useMemo(function () {\n return columns || convertChildrenToColumns(children);\n }, [columns, children]); // ========================== Expand ==========================\n\n var withExpandColumns = React.useMemo(function () {\n if (expandable) {\n var _expandColumn;\n\n var cloneColumns = baseColumns.slice(); // >>> Warning if use `expandIconColumnIndex`\n\n if (process.env.NODE_ENV !== 'production' && expandIconColumnIndex >= 0) {\n warning(false, '`expandIconColumnIndex` is deprecated. Please use `Table.EXPAND_COLUMN` in `columns` instead.');\n } // >>> Insert expand column if not exist\n\n\n if (!cloneColumns.includes(EXPAND_COLUMN)) {\n var expandColIndex = expandIconColumnIndex || 0;\n\n if (expandColIndex >= 0) {\n cloneColumns.splice(expandColIndex, 0, EXPAND_COLUMN);\n }\n } // >>> Deduplicate additional expand column\n\n\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\n var expandColumnIndex = cloneColumns.indexOf(EXPAND_COLUMN);\n cloneColumns = cloneColumns.filter(function (column, index) {\n return column !== EXPAND_COLUMN || index === expandColumnIndex;\n }); // >>> Check if expand column need to fixed\n\n var prevColumn = baseColumns[expandColumnIndex];\n var fixedColumn;\n\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 } // >>> Create expandable column\n\n\n var expandColumn = (_expandColumn = {}, _defineProperty(_expandColumn, INTERNAL_COL_DEFINE, {\n className: \"\".concat(prefixCls, \"-expand-icon-col\"),\n columnType: 'EXPAND_COLUMN'\n }), _defineProperty(_expandColumn, \"title\", columnTitle), _defineProperty(_expandColumn, \"fixed\", fixedColumn), _defineProperty(_expandColumn, \"className\", \"\".concat(prefixCls, \"-row-expand-icon-cell\")), _defineProperty(_expandColumn, \"width\", columnWidth), _defineProperty(_expandColumn, \"render\", function render(_, record, index) {\n var rowKey = getRowKey(record, index);\n var expanded = expandedKeys.has(rowKey);\n var recordExpandable = rowExpandable ? rowExpandable(record) : true;\n var icon = expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: recordExpandable,\n record: record,\n onExpand: onTriggerExpand\n });\n\n if (expandRowByClick) {\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, icon);\n }\n\n return icon;\n }), _expandColumn);\n return cloneColumns.map(function (col) {\n return col === EXPAND_COLUMN ? expandColumn : col;\n });\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\n return baseColumns.filter(function (col) {\n return col !== EXPAND_COLUMN;\n });\n }, [expandable, baseColumns, getRowKey, expandedKeys, expandIcon, direction]); // ========================= Transform ========================\n\n var mergedColumns = React.useMemo(function () {\n var finalColumns = withExpandColumns;\n\n if (transformColumns) {\n finalColumns = transformColumns(finalColumns);\n } // Always provides at least one column for table display\n\n\n if (!finalColumns.length) {\n finalColumns = [{\n render: function render() {\n return null;\n }\n }];\n }\n\n return finalColumns;\n }, [transformColumns, withExpandColumns, direction]); // ========================== Flatten =========================\n\n var flattenColumns = React.useMemo(function () {\n if (direction === 'rtl') {\n return revertForRtl(flatColumns(mergedColumns));\n }\n\n return flatColumns(mergedColumns);\n }, [mergedColumns, direction]); // Only check out of production since it's waste for each render\n\n if (process.env.NODE_ENV !== 'production') {\n warningFixed(direction === 'rtl' ? flattenColumns.slice().reverse() : flattenColumns);\n }\n\n return [mergedColumns, flattenColumns];\n}\n\nexport default useColumns;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\n/**\n * Execute code before next frame but async\n */\n\nexport function useLayoutState(defaultState) {\n var stateRef = useRef(defaultState);\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n\n var lastPromiseRef = useRef(null);\n var updateBatchRef = useRef([]);\n\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\n if (prevState !== stateRef.current) {\n forceUpdate({});\n }\n }\n });\n }\n\n useEffect(function () {\n return function () {\n lastPromiseRef.current = null;\n };\n }, []);\n return [stateRef.current, setFrameState];\n}\n/** Lock frame, when frame pass reset the lock. */\n\nexport function useTimeoutLock(defaultState) {\n var frameRef = useRef(defaultState || null);\n var timeoutRef = useRef();\n\n function cleanUp() {\n window.clearTimeout(timeoutRef.current);\n }\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\n function getState() {\n return frameRef.current;\n }\n\n useEffect(function () {\n return cleanUp;\n }, []);\n return [setState, getState];\n}","import { useMemo } from 'react';\n/**\n * Get sticky column offset width\n */\n\nfunction useStickyOffsets(colWidths, columnCount, direction) {\n var stickyOffsets = useMemo(function () {\n var leftOffsets = [];\n var rightOffsets = [];\n var left = 0;\n var right = 0;\n\n for (var start = 0; start < columnCount; start += 1) {\n if (direction === 'rtl') {\n // Left offset\n rightOffsets[start] = right;\n right += colWidths[start] || 0; // Right offset\n\n var end = columnCount - start - 1;\n leftOffsets[end] = left;\n left += colWidths[end] || 0;\n } else {\n // Left offset\n leftOffsets[start] = left;\n left += colWidths[start] || 0; // Right offset\n\n var _end = columnCount - start - 1;\n\n rightOffsets[_end] = right;\n right += colWidths[_end] || 0;\n }\n }\n\n return {\n left: leftOffsets,\n right: rightOffsets\n };\n }, [colWidths, columnCount, direction]);\n return stickyOffsets;\n}\n\nexport default useStickyOffsets;","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';\n\nfunction ColGroup(_ref) {\n var colWidths = _ref.colWidths,\n columns = _ref.columns,\n columCount = _ref.columCount;\n var cols = [];\n var len = columCount || columns.length; // Only insert col with width & additional props\n // Skip if rest col do not have any useful info\n\n var mustInsert = false;\n\n for (var i = len - 1; i >= 0; i -= 1) {\n var width = colWidths[i];\n var column = columns && columns[i];\n var additionalProps = column && column[INTERNAL_COL_DEFINE];\n\n if (width || additionalProps || mustInsert) {\n var _ref2 = additionalProps || {},\n columnType = _ref2.columnType,\n restAdditionalProps = _objectWithoutProperties(_ref2, _excluded);\n\n cols.unshift( /*#__PURE__*/React.createElement(\"col\", _extends({\n key: i,\n style: {\n width: width\n }\n }, restAdditionalProps)));\n mustInsert = true;\n }\n }\n\n return /*#__PURE__*/React.createElement(\"colgroup\", null, cols);\n}\n\nexport default ColGroup;","import * as React from 'react';\n\nfunction Panel(_ref) {\n var className = _ref.className,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n}\n\nexport default Panel;","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\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 */\n\nfunction Summary(_ref) {\n var children = _ref.children;\n return children;\n}\n\nSummary.Row = Row;\nSummary.Cell = Cell;\nexport default Summary;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport SummaryContext from './SummaryContext';\nimport Cell from '../Cell';\nimport TableContext from '../context/TableContext';\nimport { getCellFixedInfo } from '../utils/fixUtil';\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\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n direction = _React$useContext.direction;\n\n var _React$useContext2 = React.useContext(SummaryContext),\n scrollColumnIndex = _React$useContext2.scrollColumnIndex,\n stickyOffsets = _React$useContext2.stickyOffsets,\n flattenColumns = _React$useContext2.flattenColumns;\n\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 * as React from 'react';\nimport TableContext from '../context/TableContext';\nimport Summary from './Summary';\nimport SummaryContext from './SummaryContext';\n\nfunction Footer(_ref) {\n var children = _ref.children,\n stickyOffsets = _ref.stickyOffsets,\n flattenColumns = _ref.flattenColumns;\n var tableContext = React.useContext(TableContext);\n var prefixCls = 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 ? 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}\n\nexport default Footer;\nexport var FooterComponents = Summary;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport function renderExpandIcon(_ref) {\n var _classNames;\n\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\n if (!expandable) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, \"\".concat(prefixCls, \"-row-spaced\"))\n });\n }\n\n var onClick = function onClick(event) {\n onExpand(record, event);\n event.stopPropagation();\n };\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-expanded\"), expanded), _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-collapsed\"), !expanded), _classNames)),\n onClick: onClick\n });\n}\nexport function findAllChildrenKeys(data, getRowKey, childrenColumnName) {\n var keys = [];\n\n function dig(list) {\n (list || []).forEach(function (item, index) {\n keys.push(getRowKey(item, index));\n dig(item[childrenColumnName]);\n });\n }\n\n dig(data);\n return keys;\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 * as React from 'react';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport getScrollBarSize from \"rc-util/es/getScrollBarSize\";\nimport classNames from 'classnames';\nimport { getOffset } from \"rc-util/es/Dom/css\";\nimport TableContext from './context/TableContext';\nimport { useLayoutState } from './hooks/useFrame';\n\nvar StickyScrollBar = function StickyScrollBar(_ref, ref) {\n var _scrollBodyRef$curren, _scrollBodyRef$curren2;\n\n var scrollBodyRef = _ref.scrollBodyRef,\n onScroll = _ref.onScroll,\n offsetScroll = _ref.offsetScroll,\n container = _ref.container;\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls;\n\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\n var _useLayoutState = useLayoutState({\n scrollLeft: 0,\n isHiddenScrollBar: false\n }),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n scrollState = _useLayoutState2[0],\n setScrollState = _useLayoutState2[1];\n\n var refState = React.useRef({\n delta: 0,\n x: 0\n });\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\n var onMouseUp = function onMouseUp() {\n setActive(false);\n };\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\n var onMouseMove = function onMouseMove(event) {\n var _window;\n\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\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\n return;\n }\n\n var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;\n\n if (left <= 0) {\n left = 0;\n }\n\n if (left + scrollBarWidth >= bodyWidth) {\n left = bodyWidth - scrollBarWidth;\n }\n\n onScroll({\n scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)\n });\n refState.current.x = event.pageX;\n };\n\n var onContainerScroll = function onContainerScroll() {\n if (!scrollBodyRef.current) {\n return;\n }\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\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\n React.useImperativeHandle(ref, function () {\n return {\n setScrollLeft: setScrollLeft\n };\n });\n React.useEffect(function () {\n var onMouseUpListener = addEventListener(document.body, 'mouseup', onMouseUp, false);\n var onMouseMoveListener = addEventListener(document.body, 'mousemove', onMouseMove, false);\n onContainerScroll();\n return function () {\n onMouseUpListener.remove();\n onMouseMoveListener.remove();\n };\n }, [scrollBarWidth, isActive]);\n React.useEffect(function () {\n var onScrollListener = addEventListener(container, 'scroll', onContainerScroll, false);\n var onResizeListener = addEventListener(window, 'resize', onContainerScroll, false);\n return function () {\n onScrollListener.remove();\n onResizeListener.remove();\n };\n }, [container]);\n React.useEffect(function () {\n if (!scrollState.isHiddenScrollBar) {\n setScrollState(function (state) {\n var bodyNode = scrollBodyRef.current;\n\n if (!bodyNode) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth\n });\n });\n }\n }, [scrollState.isHiddenScrollBar]);\n\n if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {\n return null;\n }\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};\n\nexport default /*#__PURE__*/React.forwardRef(StickyScrollBar);","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // fix ssr render\n\nvar defaultContainer = canUseDom() ? window : null;\n/** Sticky header hooks */\n\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\n var container = getContainer() || defaultContainer;\n return React.useMemo(function () {\n var isSticky = !!sticky;\n return {\n isSticky: isSticky,\n stickyClassName: isSticky ? \"\".concat(prefixCls, \"-sticky-holder\") : '',\n offsetHeader: offsetHeader,\n offsetSummary: offsetSummary,\n offsetScroll: offsetScroll,\n container: container\n };\n }, [offsetScroll, offsetHeader, offsetSummary, prefixCls, container]);\n}","import _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 * as React from 'react';\nimport { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { fillRef } from \"rc-util/es/ref\";\nimport ColGroup from '../ColGroup';\nimport TableContext from '../context/TableContext';\n\nfunction useColumnWidth(colWidths, columCount) {\n return useMemo(function () {\n var cloneColumns = [];\n\n for (var i = 0; i < columCount; i += 1) {\n var val = colWidths[i];\n\n if (val !== undefined) {\n cloneColumns[i] = val;\n } else {\n return null;\n }\n }\n\n return cloneColumns;\n }, [colWidths.join('_'), columCount]);\n}\n\nvar FixedHolder = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var className = _ref.className,\n noData = _ref.noData,\n columns = _ref.columns,\n flattenColumns = _ref.flattenColumns,\n colWidths = _ref.colWidths,\n columCount = _ref.columCount,\n stickyOffsets = _ref.stickyOffsets,\n direction = _ref.direction,\n fixHeader = _ref.fixHeader,\n stickyTopOffset = _ref.stickyTopOffset,\n stickyBottomOffset = _ref.stickyBottomOffset,\n stickyClassName = _ref.stickyClassName,\n onScroll = _ref.onScroll,\n maxContentScroll = _ref.maxContentScroll,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n scrollbarSize = _React$useContext.scrollbarSize,\n isSticky = _React$useContext.isSticky;\n\n var combinationScrollBarSize = isSticky && !fixHeader ? 0 : scrollbarSize; // Pass wheel to scroll event\n\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\n function onWheel(e) {\n var currentTarget = e.currentTarget,\n deltaX = e.deltaX;\n\n if (deltaX) {\n onScroll({\n currentTarget: currentTarget,\n scrollLeft: currentTarget.scrollLeft + deltaX\n });\n e.preventDefault();\n }\n }\n\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.addEventListener('wheel', onWheel);\n return function () {\n var _scrollRef$current2;\n\n (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.removeEventListener('wheel', onWheel);\n };\n }, []); // Check if all flattenColumns has width\n\n var allFlattenColumnsWithWidth = React.useMemo(function () {\n return flattenColumns.every(function (column) {\n return column.width >= 0;\n });\n }, [flattenColumns]); // Add scrollbar column\n\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]); // Calculate the sticky offsets\n\n var headerStickyOffsets = useMemo(function () {\n var right = stickyOffsets.right,\n left = stickyOffsets.left;\n return _objectSpread(_objectSpread({}, stickyOffsets), {}, {\n left: direction === 'rtl' ? [].concat(_toConsumableArray(left.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]) : left,\n right: direction === 'rtl' ? right : [].concat(_toConsumableArray(right.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]),\n isSticky: isSticky\n });\n }, [combinationScrollBarSize, stickyOffsets, isSticky]);\n var mergedColumnWidth = useColumnWidth(colWidths, columCount);\n return /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread({\n overflow: 'hidden'\n }, isSticky ? {\n top: stickyTopOffset,\n bottom: stickyBottomOffset\n } : {}),\n ref: setScrollRef,\n className: classNames(className, _defineProperty({}, stickyClassName, !!stickyClassName))\n }, /*#__PURE__*/React.createElement(\"table\", {\n style: {\n tableLayout: 'fixed',\n visibility: noData || mergedColumnWidth ? null : 'hidden'\n }\n }, (!noData || !maxContentScroll || allFlattenColumnsWithWidth) && /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: mergedColumnWidth ? [].concat(_toConsumableArray(mergedColumnWidth), [combinationScrollBarSize]) : [],\n columCount: columCount + 1,\n columns: flattenColumnsWithScrollbar\n }), children(_objectSpread(_objectSpread({}, props), {}, {\n stickyOffsets: headerStickyOffsets,\n columns: columnsWithScrollbar,\n flattenColumns: flattenColumnsWithScrollbar\n }))));\n});\nFixedHolder.displayName = 'FixedHolder';\nexport default FixedHolder;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\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 */\nimport * as React from 'react';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport warning from \"rc-util/es/warning\";\nimport ResizeObserver from 'rc-resize-observer';\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport ColumnGroup from './sugar/ColumnGroup';\nimport Column from './sugar/Column';\nimport Header from './Header/Header';\nimport TableContext from './context/TableContext';\nimport BodyContext from './context/BodyContext';\nimport Body from './Body';\nimport useColumns from './hooks/useColumns';\nimport { useLayoutState, useTimeoutLock } from './hooks/useFrame';\nimport { getPathValue, validateValue, getColumnsKey } from './utils/valueUtil';\nimport ResizeContext from './context/ResizeContext';\nimport useStickyOffsets from './hooks/useStickyOffsets';\nimport ColGroup from './ColGroup';\nimport { getExpandableProps } from './utils/legacyUtil';\nimport Panel from './Panel';\nimport Footer, { FooterComponents } from './Footer';\nimport { findAllChildrenKeys, renderExpandIcon } from './utils/expandUtil';\nimport { getCellFixedInfo } from './utils/fixUtil';\nimport StickyScrollBar from './stickyScrollBar';\nimport useSticky from './hooks/useSticky';\nimport FixedHolder from './FixedHolder';\nimport Summary from './Footer/Summary';\nimport StickyContext from './context/StickyContext';\nimport ExpandedRowContext from './context/ExpandedRowContext';\nimport { EXPAND_COLUMN } from './constant'; // Used for conditions cache\n\nvar EMPTY_DATA = []; // Used for customize scroll\n\nvar EMPTY_SCROLL_TARGET = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';\nvar MemoTableContent = /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (prev, next) {\n if (!shallowEqual(prev.props, next.props)) {\n return false;\n } // No additional render when pinged status change.\n // This is not a bug.\n\n\n return prev.pingLeft !== next.pingLeft || prev.pingRight !== next.pingRight;\n});\n\nfunction Table(props) {\n var _classNames;\n\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 id = props.id,\n showHeader = props.showHeader,\n components = props.components,\n emptyText = props.emptyText,\n onRow = props.onRow,\n onHeaderRow = props.onHeaderRow,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n sticky = props.sticky;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length; // ===================== Warning ======================\n\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 } // ==================== Customize =====================\n\n\n var getComponent = React.useCallback(function (path, defaultComponent) {\n return getPathValue(components || {}, path) || defaultComponent;\n }, [components]);\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n\n return function (record) {\n var key = record && record[rowKey];\n\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\n return key;\n };\n }, [rowKey]); // ====================== Expand ======================\n\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 columnTitle = expandableConfig.columnTitle,\n onExpand = expandableConfig.onExpand,\n onExpandedRowsChange = expandableConfig.onExpandedRowsChange,\n expandRowByClick = expandableConfig.expandRowByClick,\n rowExpandable = expandableConfig.rowExpandable,\n expandIconColumnIndex = expandableConfig.expandIconColumnIndex,\n expandedRowClassName = expandableConfig.expandedRowClassName,\n childrenColumnName = expandableConfig.childrenColumnName,\n indentSize = expandableConfig.indentSize;\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 /**\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\n\n if (props.expandable && 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\n\n return false;\n }, [!!expandedRowRender, mergedData]);\n\n var _React$useState = React.useState(function () {\n if (defaultExpandedRowKeys) {\n return defaultExpandedRowKeys;\n }\n\n if (defaultExpandAllRows) {\n return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName);\n }\n\n return [];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerExpandedKeys = _React$useState2[0],\n setInnerExpandedKeys = _React$useState2[1];\n\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\n if (hasKey) {\n mergedExpandedKeys.delete(key);\n newExpandedKeys = _toConsumableArray(mergedExpandedKeys);\n } else {\n newExpandedKeys = [].concat(_toConsumableArray(mergedExpandedKeys), [key]);\n }\n\n setInnerExpandedKeys(newExpandedKeys);\n\n if (onExpand) {\n onExpand(!hasKey, record);\n }\n\n if (onExpandedRowsChange) {\n onExpandedRowsChange(newExpandedKeys);\n }\n }, [getRowKey, mergedExpandedKeys, mergedData, onExpand, onExpandedRowsChange]); // Warning if use `expandedRowRender` and nest children in the same time\n\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 } // ====================== Column ======================\n\n\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n componentWidth = _React$useState4[0],\n setComponentWidth = _React$useState4[1];\n\n var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n expandable: !!expandedRowRender,\n columnTitle: 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: expandIconColumnIndex,\n direction: direction\n }), internalHooks === INTERNAL_HOOKS ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 2),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1];\n\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]); // ====================== Scroll ======================\n\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n var scrollSummaryRef = React.useRef();\n\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedLeft = _React$useState6[0],\n setPingedLeft = _React$useState6[1];\n\n var _React$useState7 = React.useState(false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n pingedRight = _React$useState8[0],\n setPingedRight = _React$useState8[1];\n\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1]; // Convert map to number width\n\n\n var colsKeys = getColumnsKey(flattenColumns);\n var pureColWidths = colsKeys.map(function (columnKey) {\n return colsWidths.get(columnKey);\n });\n var colWidths = React.useMemo(function () {\n return pureColWidths;\n }, [pureColWidths.join('_')]);\n var stickyOffsets = useStickyOffsets(colWidths, flattenColumns.length, direction);\n var fixHeader = scroll && validateValue(scroll.y);\n var horizonScroll = scroll && validateValue(scroll.x) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref2) {\n var fixed = _ref2.fixed;\n return fixed;\n }); // Sticky\n\n var stickyRef = React.useRef();\n\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; // Footer (Fix footer must fixed header)\n\n\n var summaryNode = summary === null || summary === void 0 ? void 0 : summary(mergedData);\n var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed; // Scroll\n\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n\n if (fixHeader) {\n scrollYStyle = {\n overflowY: 'scroll',\n maxHeight: scroll.y\n };\n }\n\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\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\n if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n\n scrollTableStyle = {\n width: (scroll === null || scroll === void 0 ? void 0 : scroll.x) === true ? 'auto' : scroll === null || scroll === void 0 ? void 0 : scroll.x,\n minWidth: '100%'\n };\n }\n\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\n return widths;\n });\n }\n }, []);\n\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n // eslint-disable-next-line no-param-reassign\n target.scrollLeft = scrollLeft;\n }\n }\n\n var onScroll = function onScroll(_ref3) {\n var currentTarget = _ref3.currentTarget,\n scrollLeft = _ref3.scrollLeft;\n var isRTL = direction === 'rtl';\n var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\n\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\n if (currentTarget) {\n var scrollWidth = currentTarget.scrollWidth,\n clientWidth = currentTarget.clientWidth; // There is no space to scroll\n\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\n }\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\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n onScroll({\n currentTarget: scrollBodyRef.current\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n\n var onFullTableResize = function onFullTableResize(_ref4) {\n var width = _ref4.width;\n\n if (width !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(fullTableRef.current ? fullTableRef.current.offsetWidth : width);\n }\n }; // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n\n\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 }, []); // ===================== Effects ======================\n\n var _React$useState9 = React.useState(0),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n scrollbarSize = _React$useState10[0],\n setScrollbarSize = _React$useState10[1];\n\n var _React$useState11 = React.useState(true),\n _React$useState12 = _slicedToArray(_React$useState11, 2),\n supportSticky = _React$useState12[0],\n setSupportSticky = _React$useState12[1]; // Only IE not support, we mark as support first\n\n\n React.useEffect(function () {\n if (scrollBodyRef.current instanceof Element) {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n } else {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n }\n\n setSupportSticky(isStyleSupport('position', 'sticky'));\n }, []); // ================== INTERNAL HOOKS ==================\n\n React.useEffect(function () {\n if (internalHooks === INTERNAL_HOOKS && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n }); // ====================== Render ======================\n\n var TableComponent = getComponent(['table'], 'table'); // Table layout\n\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\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\n\n if (fixColumn) {\n return (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' ? 'auto' : 'fixed';\n }\n\n if (fixHeader || isSticky || flattenColumns.some(function (_ref5) {\n var ellipsis = _ref5.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode; // Header props\n\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n }; // Empty\n\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n\n return emptyText;\n }, [hasData, emptyText]); // Body\n\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky,\n expandedKeys: mergedExpandedKeys,\n rowExpandable: rowExpandable,\n getRowKey: getRowKey,\n onRow: onRow,\n emptyNode: emptyNode,\n childrenColumnName: mergedChildrenColumnName\n });\n var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(function (_ref6) {\n var width = _ref6.width;\n return width;\n }),\n columns: flattenColumns\n });\n var customizeScrollBody = getComponent(['body']);\n\n if (process.env.NODE_ENV !== 'production' && typeof customizeScrollBody === 'function' && hasData && !fixHeader) {\n warning(false, '`components.body` with render props is only work on `scroll.y`.');\n }\n\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\n\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize: scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onScroll\n });\n headerProps.colWidths = flattenColumns.map(function (_ref7, index) {\n var width = _ref7.width;\n var colWidth = index === columns.length - 1 ? width - scrollbarSize : width;\n\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n\n warning(false, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n return 0;\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n onScroll: onScroll,\n ref: scrollBodyRef,\n className: classNames(\"\".concat(prefixCls, \"-body\"))\n }, /*#__PURE__*/React.createElement(TableComponent, {\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n } // Fixed holder share the props\n\n\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && scroll.x === 'max-content'\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: stickyClassName,\n onScroll: onScroll\n });\n\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 }), function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n }), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyBottomOffset: offsetSummary,\n className: \"\".concat(prefixCls, \"-summary\"),\n ref: scrollSummaryRef\n }), function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n }), isSticky && /*#__PURE__*/React.createElement(StickyScrollBar, {\n ref: stickyRef,\n offsetScroll: offsetScroll,\n scrollBodyRef: scrollBodyRef,\n onScroll: onScroll,\n container: container\n }));\n } else {\n // >>>>>> Unique table\n groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n className: classNames(\"\".concat(prefixCls, \"-content\")),\n onScroll: onScroll,\n ref: scrollBodyRef\n }, /*#__PURE__*/React.createElement(TableComponent, {\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, 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\n var ariaProps = pickAttrs(props, {\n aria: true,\n data: true\n });\n var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-right\"), pingedRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right'), _classNames)),\n style: style,\n id: id,\n ref: fullTableRef\n }, ariaProps), /*#__PURE__*/React.createElement(MemoTableContent, {\n pingLeft: pingedLeft,\n pingRight: pingedRight,\n props: _objectSpread(_objectSpread({}, props), {}, {\n stickyOffsets: stickyOffsets,\n mergedExpandedKeys: mergedExpandedKeys\n })\n }, 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\n if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n\n var TableContextValue = React.useMemo(function () {\n return {\n prefixCls: prefixCls,\n getComponent: getComponent,\n scrollbarSize: scrollbarSize,\n direction: direction,\n fixedInfoList: flattenColumns.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets, direction);\n }),\n isSticky: isSticky\n };\n }, [prefixCls, getComponent, scrollbarSize, direction, flattenColumns, stickyOffsets, isSticky]);\n var BodyContextValue = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, columnContext), {}, {\n tableLayout: mergedTableLayout,\n rowClassName: rowClassName,\n expandedRowClassName: expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType: expandableType,\n expandRowByClick: expandRowByClick,\n expandedRowRender: expandedRowRender,\n onTriggerExpand: onTriggerExpand,\n expandIconColumnIndex: expandIconColumnIndex,\n indentSize: indentSize,\n allColumnsFixedLeft: columnContext.flattenColumns.every(function (col) {\n return col.fixed === 'left';\n })\n });\n }, [columnContext, mergedTableLayout, rowClassName, expandedRowClassName, mergedExpandIcon, expandableType, expandRowByClick, expandedRowRender, onTriggerExpand, expandIconColumnIndex, indentSize]);\n var ExpandedRowContextValue = React.useMemo(function () {\n return {\n componentWidth: componentWidth,\n fixHeader: fixHeader,\n fixColumn: fixColumn,\n horizonScroll: horizonScroll\n };\n }, [componentWidth, fixHeader, fixColumn, horizonScroll]);\n var ResizeContextValue = React.useMemo(function () {\n return {\n onColumnResize: onColumnResize\n };\n }, [onColumnResize]);\n return /*#__PURE__*/React.createElement(StickyContext.Provider, {\n value: supportSticky\n }, /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, /*#__PURE__*/React.createElement(BodyContext.Provider, {\n value: BodyContextValue\n }, /*#__PURE__*/React.createElement(ExpandedRowContext.Provider, {\n value: ExpandedRowContextValue\n }, /*#__PURE__*/React.createElement(ResizeContext.Provider, {\n value: ResizeContextValue\n }, fullTable)))));\n}\n\nTable.EXPAND_COLUMN = EXPAND_COLUMN;\nTable.Column = Column;\nTable.ColumnGroup = ColumnGroup;\nTable.Summary = FooterComponents;\nTable.defaultProps = {\n rowKey: 'key',\n prefixCls: 'rc-table',\n emptyText: function emptyText() {\n return 'No Data';\n }\n};\nexport default Table;","import Table from './Table';\nimport { FooterComponents as Summary } from './Footer';\nimport Column from './sugar/Column';\nimport ColumnGroup from './sugar/ColumnGroup';\nimport { INTERNAL_COL_DEFINE } from './utils/legacyUtil';\nexport { Summary, Column, ColumnGroup, INTERNAL_COL_DEFINE };\nexport default Table;","// This icon file is generated automatically.\nvar DoubleLeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z\" } }] }, \"name\": \"double-left\", \"theme\": \"outlined\" };\nexport default DoubleLeftOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DoubleLeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/DoubleLeftOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DoubleLeftOutlined = function DoubleLeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DoubleLeftOutlinedSvg\n }));\n};\nDoubleLeftOutlined.displayName = 'DoubleLeftOutlined';\nexport default /*#__PURE__*/React.forwardRef(DoubleLeftOutlined);","// This icon file is generated automatically.\nvar DoubleRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z\" } }] }, \"name\": \"double-right\", \"theme\": \"outlined\" };\nexport default DoubleRightOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DoubleRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/DoubleRightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DoubleRightOutlined = function DoubleRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DoubleRightOutlinedSvg\n }));\n};\nDoubleRightOutlined.displayName = 'DoubleRightOutlined';\nexport default /*#__PURE__*/React.forwardRef(DoubleRightOutlined);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint react/prop-types: 0 */\nimport React from 'react';\nimport classNames from 'classnames';\nvar Pager = function Pager(props) {\n var _classNames;\n var prefixCls = \"\".concat(props.rootPrefixCls, \"-item\");\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(props.page), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), props.active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), !props.page), _defineProperty(_classNames, props.className, !!props.className), _classNames));\n var handleClick = function handleClick() {\n props.onClick(props.page);\n };\n var handleKeyPress = function handleKeyPress(e) {\n props.onKeyPress(e, props.onClick, props.page);\n };\n return /*#__PURE__*/React.createElement(\"li\", {\n title: props.showTitle ? props.page : null,\n className: cls,\n onClick: handleClick,\n onKeyPress: handleKeyPress,\n tabIndex: \"0\"\n }, props.itemRender(props.page, 'page', /*#__PURE__*/React.createElement(\"a\", {\n rel: \"nofollow\"\n }, props.page)));\n};\nexport default Pager;","export default {\n ZERO: 48,\n NINE: 57,\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n/* eslint react/prop-types: 0 */\nimport React from 'react';\nimport KEYCODE from './KeyCode';\nvar Options = /*#__PURE__*/function (_React$Component) {\n _inherits(Options, _React$Component);\n var _super = _createSuper(Options);\n function Options() {\n var _this;\n _classCallCheck(this, Options);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n goInputText: ''\n };\n _this.buildOptionText = function (value) {\n return \"\".concat(value, \" \").concat(_this.props.locale.items_per_page);\n };\n _this.changeSize = function (value) {\n _this.props.changeSize(Number(value));\n };\n _this.handleChange = function (e) {\n _this.setState({\n goInputText: e.target.value\n });\n };\n _this.handleBlur = function (e) {\n var _this$props = _this.props,\n goButton = _this$props.goButton,\n quickGo = _this$props.quickGo,\n rootPrefixCls = _this$props.rootPrefixCls;\n var goInputText = _this.state.goInputText;\n if (goButton || goInputText === '') {\n return;\n }\n _this.setState({\n goInputText: ''\n });\n if (e.relatedTarget && (e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item-link\")) >= 0 || e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item\")) >= 0)) {\n return;\n }\n quickGo(_this.getValidValue());\n };\n _this.go = function (e) {\n var goInputText = _this.state.goInputText;\n if (goInputText === '') {\n return;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.setState({\n goInputText: ''\n });\n _this.props.quickGo(_this.getValidValue());\n }\n };\n return _this;\n }\n _createClass(Options, [{\n key: \"getValidValue\",\n value: function getValidValue() {\n var goInputText = this.state.goInputText;\n // eslint-disable-next-line no-restricted-globals\n return !goInputText || isNaN(goInputText) ? undefined : Number(goInputText);\n }\n }, {\n key: \"getPageSizeOptions\",\n value: function getPageSizeOptions() {\n var _this$props2 = this.props,\n pageSize = _this$props2.pageSize,\n pageSizeOptions = _this$props2.pageSizeOptions;\n if (pageSizeOptions.some(function (option) {\n return option.toString() === pageSize.toString();\n })) {\n return pageSizeOptions;\n }\n return pageSizeOptions.concat([pageSize.toString()]).sort(function (a, b) {\n // eslint-disable-next-line no-restricted-globals\n var numberA = isNaN(Number(a)) ? 0 : Number(a);\n // eslint-disable-next-line no-restricted-globals\n var numberB = isNaN(Number(b)) ? 0 : Number(b);\n return numberA - numberB;\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props3 = this.props,\n pageSize = _this$props3.pageSize,\n locale = _this$props3.locale,\n rootPrefixCls = _this$props3.rootPrefixCls,\n changeSize = _this$props3.changeSize,\n quickGo = _this$props3.quickGo,\n goButton = _this$props3.goButton,\n selectComponentClass = _this$props3.selectComponentClass,\n buildOptionText = _this$props3.buildOptionText,\n selectPrefixCls = _this$props3.selectPrefixCls,\n disabled = _this$props3.disabled;\n var goInputText = this.state.goInputText;\n var prefixCls = \"\".concat(rootPrefixCls, \"-options\");\n var Select = selectComponentClass;\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n if (!changeSize && !quickGo) {\n return null;\n }\n var pageSizeOptions = this.getPageSizeOptions();\n if (changeSize && Select) {\n var options = pageSizeOptions.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(Select.Option, {\n key: i,\n value: opt.toString()\n }, (buildOptionText || _this2.buildOptionText)(opt));\n });\n changeSelect = /*#__PURE__*/React.createElement(Select, {\n disabled: disabled,\n prefixCls: selectPrefixCls,\n showSearch: false,\n className: \"\".concat(prefixCls, \"-size-changer\"),\n optionLabelProp: \"children\",\n dropdownMatchSelectWidth: false,\n value: (pageSize || pageSizeOptions[0]).toString(),\n onChange: this.changeSize,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n },\n \"aria-label\": locale.page_size,\n defaultOpen: false\n }, options);\n }\n if (quickGo) {\n if (goButton) {\n gotoButton = typeof goButton === 'boolean' ? /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: this.go,\n onKeyUp: this.go,\n disabled: disabled,\n className: \"\".concat(prefixCls, \"-quick-jumper-button\")\n }, locale.jump_to_confirm) : /*#__PURE__*/React.createElement(\"span\", {\n onClick: this.go,\n onKeyUp: this.go\n }, goButton);\n }\n goInput = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-quick-jumper\")\n }, locale.jump_to, /*#__PURE__*/React.createElement(\"input\", {\n disabled: disabled,\n type: \"text\",\n value: goInputText,\n onChange: this.handleChange,\n onKeyUp: this.go,\n onBlur: this.handleBlur,\n \"aria-label\": locale.page\n }), locale.page, gotoButton);\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls)\n }, changeSelect, goInput);\n }\n }]);\n return Options;\n}(React.Component);\nOptions.defaultProps = {\n pageSizeOptions: ['10', '20', '50', '100']\n};\nexport default Options;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n/* eslint react/prop-types: 0 */\nimport React, { cloneElement, isValidElement } from 'react';\nimport classNames from 'classnames';\nimport Pager from './Pager';\nimport Options from './Options';\nimport KEYCODE from './KeyCode';\nimport LOCALE from './locale/zh_CN';\nfunction noop() {}\nfunction isInteger(v) {\n var value = Number(v);\n return (\n // eslint-disable-next-line no-restricted-globals\n typeof value === 'number' && !isNaN(value) && isFinite(value) && Math.floor(value) === value\n );\n}\nfunction defaultItemRender(page, type, element) {\n return element;\n}\nfunction calculatePage(p, state, props) {\n var pageSize = typeof p === 'undefined' ? state.pageSize : p;\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\nvar Pagination = /*#__PURE__*/function (_React$Component) {\n _inherits(Pagination, _React$Component);\n var _super = _createSuper(Pagination);\n function Pagination(props) {\n var _this;\n _classCallCheck(this, Pagination);\n _this = _super.call(this, props);\n _this.getJumpPrevPage = function () {\n return Math.max(1, _this.state.current - (_this.props.showLessItems ? 3 : 5));\n };\n _this.getJumpNextPage = function () {\n return Math.min(calculatePage(undefined, _this.state, _this.props), _this.state.current + (_this.props.showLessItems ? 3 : 5));\n };\n _this.getItemIcon = function (icon, label) {\n var prefixCls = _this.props.prefixCls;\n var iconNode = icon || /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: \"\".concat(prefixCls, \"-item-link\")\n });\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, _this.props));\n }\n return iconNode;\n };\n _this.savePaginationNode = function (node) {\n _this.paginationNode = node;\n };\n _this.isValid = function (page) {\n var total = _this.props.total;\n return isInteger(page) && page !== _this.state.current && isInteger(total) && total > 0;\n };\n _this.shouldDisplayQuickJumper = function () {\n var _this$props = _this.props,\n showQuickJumper = _this$props.showQuickJumper,\n total = _this$props.total;\n var pageSize = _this.state.pageSize;\n if (total <= pageSize) {\n return false;\n }\n return showQuickJumper;\n };\n _this.handleKeyDown = function (e) {\n if (e.keyCode === KEYCODE.ARROW_UP || e.keyCode === KEYCODE.ARROW_DOWN) {\n e.preventDefault();\n }\n };\n _this.handleKeyUp = function (e) {\n var value = _this.getValidValue(e);\n var currentInputValue = _this.state.currentInputValue;\n if (value !== currentInputValue) {\n _this.setState({\n currentInputValue: value\n });\n }\n if (e.keyCode === KEYCODE.ENTER) {\n _this.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n _this.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n _this.handleChange(value + 1);\n }\n };\n _this.handleBlur = function (e) {\n var value = _this.getValidValue(e);\n _this.handleChange(value);\n };\n _this.changePageSize = function (size) {\n var current = _this.state.current;\n var newCurrent = calculatePage(size, _this.state, _this.props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n // eslint-disable-next-line prefer-destructuring\n current = _this.state.current;\n }\n if (typeof size === 'number') {\n if (!('pageSize' in _this.props)) {\n _this.setState({\n pageSize: size\n });\n }\n if (!('current' in _this.props)) {\n _this.setState({\n current: current,\n currentInputValue: current\n });\n }\n }\n _this.props.onShowSizeChange(current, size);\n if ('onChange' in _this.props && _this.props.onChange) {\n _this.props.onChange(current, size);\n }\n };\n _this.handleChange = function (page) {\n var _this$props2 = _this.props,\n disabled = _this$props2.disabled,\n onChange = _this$props2.onChange;\n var _this$state = _this.state,\n pageSize = _this$state.pageSize,\n current = _this$state.current,\n currentInputValue = _this$state.currentInputValue;\n if (_this.isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, _this.state, _this.props);\n var newPage = page;\n if (page > currentPage) {\n newPage = currentPage;\n } else if (page < 1) {\n newPage = 1;\n }\n if (!('current' in _this.props)) {\n _this.setState({\n current: newPage\n });\n }\n if (newPage !== currentInputValue) {\n _this.setState({\n currentInputValue: newPage\n });\n }\n onChange(newPage, pageSize);\n return newPage;\n }\n return current;\n };\n _this.prev = function () {\n if (_this.hasPrev()) {\n _this.handleChange(_this.state.current - 1);\n }\n };\n _this.next = function () {\n if (_this.hasNext()) {\n _this.handleChange(_this.state.current + 1);\n }\n };\n _this.jumpPrev = function () {\n _this.handleChange(_this.getJumpPrevPage());\n };\n _this.jumpNext = function () {\n _this.handleChange(_this.getJumpNextPage());\n };\n _this.hasPrev = function () {\n return _this.state.current > 1;\n };\n _this.hasNext = function () {\n return _this.state.current < calculatePage(undefined, _this.state, _this.props);\n };\n _this.runIfEnter = function (event, callback) {\n if (event.key === 'Enter' || event.charCode === 13) {\n for (var _len = arguments.length, restParams = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n callback.apply(void 0, restParams);\n }\n };\n _this.runIfEnterPrev = function (e) {\n _this.runIfEnter(e, _this.prev);\n };\n _this.runIfEnterNext = function (e) {\n _this.runIfEnter(e, _this.next);\n };\n _this.runIfEnterJumpPrev = function (e) {\n _this.runIfEnter(e, _this.jumpPrev);\n };\n _this.runIfEnterJumpNext = function (e) {\n _this.runIfEnter(e, _this.jumpNext);\n };\n _this.handleGoTO = function (e) {\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.handleChange(_this.state.currentInputValue);\n }\n };\n var hasOnChange = props.onChange !== noop;\n var hasCurrent = ('current' in props);\n if (hasCurrent && !hasOnChange) {\n // eslint-disable-next-line no-console\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.');\n }\n var _current = props.defaultCurrent;\n if ('current' in props) {\n // eslint-disable-next-line prefer-destructuring\n _current = props.current;\n }\n var _pageSize = props.defaultPageSize;\n if ('pageSize' in props) {\n // eslint-disable-next-line prefer-destructuring\n _pageSize = props.pageSize;\n }\n _current = Math.min(_current, calculatePage(_pageSize, undefined, props));\n _this.state = {\n current: _current,\n currentInputValue: _current,\n pageSize: _pageSize\n };\n return _this;\n }\n _createClass(Pagination, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n var prefixCls = this.props.prefixCls;\n if (prevState.current !== this.state.current && this.paginationNode) {\n var lastCurrentNode = this.paginationNode.querySelector(\".\".concat(prefixCls, \"-item-\").concat(prevState.current));\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n }\n }, {\n key: \"getValidValue\",\n value: function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, this.state, this.props);\n var currentInputValue = this.state.currentInputValue;\n var value;\n if (inputValue === '') {\n value = inputValue;\n // eslint-disable-next-line no-restricted-globals\n } else if (isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n return value;\n }\n }, {\n key: \"getShowSizeChanger\",\n value: function getShowSizeChanger() {\n var _this$props3 = this.props,\n showSizeChanger = _this$props3.showSizeChanger,\n total = _this$props3.total,\n totalBoundaryShowSizeChanger = _this$props3.totalBoundaryShowSizeChanger;\n if (typeof showSizeChanger !== 'undefined') {\n return showSizeChanger;\n }\n return total > totalBoundaryShowSizeChanger;\n }\n }, {\n key: \"renderPrev\",\n value: function renderPrev(prevPage) {\n var _this$props4 = this.props,\n prevIcon = _this$props4.prevIcon,\n itemRender = _this$props4.itemRender;\n var prevButton = itemRender(prevPage, 'prev', this.getItemIcon(prevIcon, 'prev page'));\n var disabled = !this.hasPrev();\n return /*#__PURE__*/isValidElement(prevButton) ? /*#__PURE__*/cloneElement(prevButton, {\n disabled: disabled\n }) : prevButton;\n }\n }, {\n key: \"renderNext\",\n value: function renderNext(nextPage) {\n var _this$props5 = this.props,\n nextIcon = _this$props5.nextIcon,\n itemRender = _this$props5.itemRender;\n var nextButton = itemRender(nextPage, 'next', this.getItemIcon(nextIcon, 'next page'));\n var disabled = !this.hasNext();\n return /*#__PURE__*/isValidElement(nextButton) ? /*#__PURE__*/cloneElement(nextButton, {\n disabled: disabled\n }) : nextButton;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n className = _this$props6.className,\n style = _this$props6.style,\n disabled = _this$props6.disabled,\n hideOnSinglePage = _this$props6.hideOnSinglePage,\n total = _this$props6.total,\n locale = _this$props6.locale,\n showQuickJumper = _this$props6.showQuickJumper,\n showLessItems = _this$props6.showLessItems,\n showTitle = _this$props6.showTitle,\n showTotal = _this$props6.showTotal,\n simple = _this$props6.simple,\n itemRender = _this$props6.itemRender,\n showPrevNextJumpers = _this$props6.showPrevNextJumpers,\n jumpPrevIcon = _this$props6.jumpPrevIcon,\n jumpNextIcon = _this$props6.jumpNextIcon,\n selectComponentClass = _this$props6.selectComponentClass,\n selectPrefixCls = _this$props6.selectPrefixCls,\n pageSizeOptions = _this$props6.pageSizeOptions;\n var _this$state2 = this.state,\n current = _this$state2.current,\n pageSize = _this$state2.pageSize,\n currentInputValue = _this$state2.currentInputValue;\n\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (hideOnSinglePage === true && total <= pageSize) {\n return null;\n }\n var allPages = calculatePage(undefined, this.state, this.props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n var goButton = showQuickJumper && showQuickJumper.goButton;\n var pageBufferSize = showLessItems ? 1 : 2;\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n var dataOrAriaAttributeProps = Object.keys(this.props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n // eslint-disable-next-line no-param-reassign\n prev[key] = _this2.props[key];\n }\n return prev;\n }, {});\n var totalText = showTotal && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-total-text\")\n }, showTotal(total, [total === 0 ? 0 : (current - 1) * pageSize + 1, current * pageSize > total ? total : current * pageSize]));\n if (simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n }, locale.jump_to_confirm);\n } else {\n gotoButton = /*#__PURE__*/React.createElement(\"span\", {\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n }, goButton);\n }\n gotoButton = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(locale.jump_to).concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, gotoButton);\n }\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-simple\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), className),\n style: style,\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps), totalText, /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), !this.hasPrev())),\n \"aria-disabled\": !this.hasPrev()\n }, this.renderPrev(prevPage)), /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n value: currentInputValue,\n disabled: disabled,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onChange: this.handleKeyUp,\n onBlur: this.handleBlur,\n size: \"3\"\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-slash\")\n }, \"/\"), allPages), /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), !this.hasNext())),\n \"aria-disabled\": !this.hasNext()\n }, this.renderNext(nextPage)), gotoButton);\n }\n if (allPages <= 3 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n showTitle: showTitle,\n itemRender: itemRender\n };\n if (!allPages) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: \"noPager\",\n page: 1,\n className: \"\".concat(prefixCls, \"-item-disabled\")\n })));\n }\n for (var i = 1; i <= allPages; i += 1) {\n var active = current === i;\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: i,\n page: i,\n active: active\n })));\n }\n } else {\n var prevItemTitle = showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = showLessItems ? locale.next_3 : locale.next_5;\n if (showPrevNextJumpers) {\n jumpPrev = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? prevItemTitle : null,\n key: \"prev\",\n onClick: this.jumpPrev,\n tabIndex: \"0\",\n onKeyPress: this.runIfEnterJumpPrev,\n className: classNames(\"\".concat(prefixCls, \"-jump-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-prev-custom-icon\"), !!jumpPrevIcon))\n }, itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon(jumpPrevIcon, 'prev page')));\n jumpNext = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? nextItemTitle : null,\n key: \"next\",\n tabIndex: \"0\",\n onClick: this.jumpNext,\n onKeyPress: this.runIfEnterJumpNext,\n className: classNames(\"\".concat(prefixCls, \"-jump-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-next-custom-icon\"), !!jumpNextIcon))\n }, itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon(jumpNextIcon, 'next page')));\n }\n lastPager = /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n last: true,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: allPages,\n page: allPages,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\n });\n firstPager = /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: 1,\n page: 1,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\n });\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n for (var _i = left; _i <= right; _i += 1) {\n var _active = current === _i;\n pagerList.push( /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: _i,\n page: _i,\n active: _active,\n showTitle: showTitle,\n itemRender: itemRender\n }));\n }\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = /*#__PURE__*/cloneElement(pagerList[0], {\n className: \"\".concat(prefixCls, \"-item-after-jump-prev\")\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = /*#__PURE__*/cloneElement(pagerList[pagerList.length - 1], {\n className: \"\".concat(prefixCls, \"-item-before-jump-next\")\n });\n pagerList.push(jumpNext);\n }\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)),\n style: style,\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps), totalText, /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: prevDisabled ? null : 0,\n onKeyPress: this.runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), prevDisabled)),\n \"aria-disabled\": prevDisabled\n }, this.renderPrev(prevPage)), pagerList, /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: nextDisabled ? null : 0,\n onKeyPress: this.runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), nextDisabled)),\n \"aria-disabled\": nextDisabled\n }, this.renderNext(nextPage)), /*#__PURE__*/React.createElement(Options, {\n disabled: disabled,\n locale: locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: selectComponentClass,\n selectPrefixCls: selectPrefixCls,\n changeSize: this.getShowSizeChanger() ? this.changePageSize : null,\n current: current,\n pageSize: pageSize,\n pageSizeOptions: pageSizeOptions,\n quickGo: this.shouldDisplayQuickJumper() ? this.handleChange : null,\n goButton: goButton\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, prevState) {\n var newState = {};\n if ('current' in props) {\n newState.current = props.current;\n if (props.current !== prevState.current) {\n newState.currentInputValue = newState.current;\n }\n }\n if ('pageSize' in props && props.pageSize !== prevState.pageSize) {\n var current = prevState.current;\n var newCurrent = calculatePage(props.pageSize, prevState, props);\n current = current > newCurrent ? newCurrent : current;\n if (!('current' in props)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n newState.pageSize = props.pageSize;\n }\n return newState;\n }\n }]);\n return Pagination;\n}(React.Component);\nPagination.defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: '',\n selectPrefixCls: 'rc-select',\n prefixCls: 'rc-pagination',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: LOCALE,\n style: {},\n itemRender: defaultItemRender,\n totalBoundaryShowSizeChanger: 50\n};\nexport default Pagination;","export default {\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页',\n page_size: '页码'\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Select from '../select';\nvar MiniSelect = function MiniSelect(props) {\n return /*#__PURE__*/React.createElement(Select, _extends({}, props, {\n size: \"small\"\n }));\n};\nvar MiddleSelect = function MiddleSelect(props) {\n return /*#__PURE__*/React.createElement(Select, _extends({}, props, {\n size: \"middle\"\n }));\n};\nMiniSelect.Option = Select.Option;\nMiddleSelect.Option = Select.Option;\nexport { MiniSelect, MiddleSelect };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { genBasicInputStyle, genInputSmallStyle, initInputToken } from '../../input/style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genFocusOutline, genFocusStyle, resetComponent } from '../../style';\nvar genPaginationDisabledStyle = function genPaginationDisabledStyle(token) {\n var _ref2, _ref3;\n var componentCls = token.componentCls;\n return _ref3 = {}, _defineProperty(_ref3, componentCls + \"-disabled\", {\n '&, &:hover': _defineProperty({\n cursor: 'not-allowed'\n }, componentCls + \"-item-link\", {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }),\n '&:focus-visible': _defineProperty({\n cursor: 'not-allowed'\n }, componentCls + \"-item-link\", {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n })\n }), _defineProperty(_ref3, \"&\" + componentCls + \"-disabled\", (_ref2 = {\n cursor: 'not-allowed'\n }, _defineProperty(_ref2, componentCls + \"-item\", {\n cursor: 'not-allowed',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n },\n a: {\n color: token.colorTextDisabled,\n backgroundColor: 'transparent',\n border: 'none',\n cursor: 'not-allowed'\n },\n '&-active': {\n borderColor: token.colorBorder,\n backgroundColor: token.paginationItemDisabledBgActive,\n '&:hover, &:active': {\n backgroundColor: token.paginationItemDisabledBgActive\n },\n a: {\n color: token.paginationItemDisabledColorActive\n }\n }\n }), _defineProperty(_ref2, componentCls + \"-item-link\", _defineProperty({\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n }\n }, componentCls + \"-simple&\", {\n backgroundColor: 'transparent'\n })), _defineProperty(_ref2, componentCls + \"-item-link-icon\", {\n opacity: 0\n }), _defineProperty(_ref2, componentCls + \"-item-ellipsis\", {\n opacity: 1\n }), _defineProperty(_ref2, componentCls + \"-simple-pager\", {\n color: token.colorTextDisabled\n }), _ref2)), _ref3;\n};\nvar genPaginationMiniStyle = function genPaginationMiniStyle(token) {\n var _ref4, _ref5;\n var componentCls = token.componentCls;\n return _ref5 = {}, _defineProperty(_ref5, \"&&-mini \" + componentCls + \"-total-text, &&-mini \" + componentCls + \"-simple-pager\", {\n height: token.paginationItemSizeSM,\n lineHeight: token.paginationItemSizeSM + \"px\"\n }), _defineProperty(_ref5, \"&&-mini \" + componentCls + \"-item\", {\n minWidth: token.paginationItemSizeSM,\n height: token.paginationItemSizeSM,\n margin: 0,\n lineHeight: token.paginationItemSizeSM - 2 + \"px\"\n }), _defineProperty(_ref5, \"&&-mini \" + componentCls + \"-item:not(\" + componentCls + \"-item-active)\", {\n backgroundColor: 'transparent',\n borderColor: 'transparent'\n }), _defineProperty(_ref5, \"&&-mini \" + componentCls + \"-prev, &&-mini \" + componentCls + \"-next\", {\n minWidth: token.paginationItemSizeSM,\n height: token.paginationItemSizeSM,\n margin: 0,\n lineHeight: token.paginationItemSizeSM + \"px\"\n }), _defineProperty(_ref5, \"\\n &&-mini \" + componentCls + \"-prev \" + componentCls + \"-item-link,\\n &&-mini \" + componentCls + \"-next \" + componentCls + \"-item-link\\n \", {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n '&::after': {\n height: token.paginationItemSizeSM,\n lineHeight: token.paginationItemSizeSM + \"px\"\n }\n }), _defineProperty(_ref5, \"&&-mini \" + componentCls + \"-jump-prev, &&-mini \" + componentCls + \"-jump-next\", {\n height: token.paginationItemSizeSM,\n marginInlineEnd: 0,\n lineHeight: token.paginationItemSizeSM + \"px\"\n }), _defineProperty(_ref5, \"&&-mini \" + componentCls + \"-options\", (_ref4 = {\n marginInlineStart: token.paginationMiniOptionsMarginInlineStart\n }, _defineProperty(_ref4, \"&-size-changer\", {\n top: token.paginationMiniOptionsSizeChangerTop\n }), _defineProperty(_ref4, \"&-quick-jumper\", {\n height: token.paginationItemSizeSM,\n lineHeight: token.paginationItemSizeSM + \"px\",\n input: _extends(_extends({}, genInputSmallStyle(token)), {\n width: token.paginationMiniQuickJumperInputWidth,\n height: token.controlHeightSM\n })\n }), _ref4)), _ref5;\n};\nvar genPaginationSimpleStyle = function genPaginationSimpleStyle(token) {\n var _ref7;\n var componentCls = token.componentCls;\n return _ref7 = {}, _defineProperty(_ref7, \"\\n &\" + componentCls + \"-simple \" + componentCls + \"-prev,\\n &\" + componentCls + \"-simple \" + componentCls + \"-next\\n \", _defineProperty({\n height: token.paginationItemSizeSM,\n lineHeight: token.paginationItemSizeSM + \"px\",\n verticalAlign: 'top'\n }, componentCls + \"-item-link\", {\n height: token.paginationItemSizeSM,\n backgroundColor: 'transparent',\n border: 0,\n '&::after': {\n height: token.paginationItemSizeSM,\n lineHeight: token.paginationItemSizeSM + \"px\"\n }\n })), _defineProperty(_ref7, \"&\" + componentCls + \"-simple \" + componentCls + \"-simple-pager\", {\n display: 'inline-block',\n height: token.paginationItemSizeSM,\n marginInlineEnd: token.marginXS,\n input: {\n boxSizing: 'border-box',\n height: '100%',\n marginInlineEnd: token.marginXS,\n padding: \"0 \" + token.paginationItemPaddingInline + \"px\",\n textAlign: 'center',\n backgroundColor: token.paginationItemInputBg,\n border: token.lineWidth + \"px \" + token.lineType + \" \" + token.colorBorder,\n borderRadius: token.borderRadius,\n outline: 'none',\n transition: \"border-color \" + token.motionDurationMid,\n color: 'inherit',\n '&:hover': {\n borderColor: token.colorPrimary\n },\n '&:focus': {\n borderColor: token.colorPrimaryHover,\n boxShadow: token.inputOutlineOffset + \"px 0 \" + token.controlOutlineWidth + \"px \" + token.controlOutline\n },\n '&[disabled]': {\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n cursor: 'not-allowed'\n }\n }\n }), _ref7;\n};\nvar genPaginationJumpStyle = function genPaginationJumpStyle(token) {\n var _ref8, _hover2, _extends2, _ref9, _ref11, _ref12;\n var componentCls = token.componentCls;\n return _ref12 = {}, _defineProperty(_ref12, componentCls + \"-jump-prev, \" + componentCls + \"-jump-next\", (_ref9 = {\n outline: 0\n }, _defineProperty(_ref9, componentCls + \"-item-container\", (_ref8 = {\n position: 'relative'\n }, _defineProperty(_ref8, componentCls + \"-item-link-icon\", {\n color: token.colorPrimary,\n fontSize: token.fontSizeSM,\n opacity: 0,\n transition: \"all \" + token.motionDurationMid,\n '&-svg': {\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n margin: 'auto'\n }\n }), _defineProperty(_ref8, componentCls + \"-item-ellipsis\", {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n display: 'block',\n margin: 'auto',\n color: token.colorTextDisabled,\n fontFamily: 'Arial, Helvetica, sans-serif',\n letterSpacing: token.paginationEllipsisLetterSpacing,\n textAlign: 'center',\n textIndent: token.paginationEllipsisTextIndent,\n opacity: 1,\n transition: \"all \" + token.motionDurationMid\n }), _ref8)), _defineProperty(_ref9, '&:hover', (_hover2 = {}, _defineProperty(_hover2, componentCls + \"-item-link-icon\", {\n opacity: 1\n }), _defineProperty(_hover2, componentCls + \"-item-ellipsis\", {\n opacity: 0\n }), _hover2)), _defineProperty(_ref9, '&:focus-visible', _extends((_extends2 = {}, _defineProperty(_extends2, componentCls + \"-item-link-icon\", {\n opacity: 1\n }), _defineProperty(_extends2, componentCls + \"-item-ellipsis\", {\n opacity: 0\n }), _extends2), genFocusOutline(token))), _ref9)), _defineProperty(_ref12, \"\\n \" + componentCls + \"-prev,\\n \" + componentCls + \"-jump-prev,\\n \" + componentCls + \"-jump-next\\n \", {\n marginInlineEnd: token.marginXS\n }), _defineProperty(_ref12, \"\\n \" + componentCls + \"-prev,\\n \" + componentCls + \"-next,\\n \" + componentCls + \"-jump-prev,\\n \" + componentCls + \"-jump-next\\n \", {\n display: 'inline-block',\n minWidth: token.paginationItemSize,\n height: token.paginationItemSize,\n color: token.colorText,\n fontFamily: token.paginationFontFamily,\n lineHeight: token.paginationItemSize + \"px\",\n textAlign: 'center',\n verticalAlign: 'middle',\n listStyle: 'none',\n borderRadius: token.borderRadius,\n cursor: 'pointer',\n transition: \"all \" + token.motionDurationMid\n }), _defineProperty(_ref12, componentCls + \"-prev, \" + componentCls + \"-next\", (_ref11 = {\n fontFamily: 'Arial, Helvetica, sans-serif',\n outline: 0,\n button: {\n color: token.colorText,\n cursor: 'pointer',\n userSelect: 'none'\n }\n }, _defineProperty(_ref11, componentCls + \"-item-link\", {\n display: 'block',\n width: '100%',\n height: '100%',\n padding: 0,\n fontSize: token.fontSizeSM,\n textAlign: 'center',\n backgroundColor: 'transparent',\n border: token.lineWidth + \"px \" + token.lineType + \" transparent\",\n borderRadius: token.borderRadius,\n outline: 'none',\n transition: \"border \" + token.motionDurationMid\n }), _defineProperty(_ref11, \"&:focus-visible \" + componentCls + \"-item-link\", _extends({}, genFocusOutline(token))), _defineProperty(_ref11, \"&:hover \" + componentCls + \"-item-link\", {\n backgroundColor: token.colorBgTextHover\n }), _defineProperty(_ref11, \"&:active \" + componentCls + \"-item-link\", {\n backgroundColor: token.colorBgTextActive\n }), _defineProperty(_ref11, \"&\" + componentCls + \"-disabled:hover\", _defineProperty({}, componentCls + \"-item-link\", {\n backgroundColor: 'transparent'\n })), _ref11)), _defineProperty(_ref12, componentCls + \"-slash\", {\n marginInlineEnd: token.paginationSlashMarginInlineEnd,\n marginInlineStart: token.paginationSlashMarginInlineStart\n }), _defineProperty(_ref12, componentCls + \"-options\", {\n display: 'inline-block',\n marginInlineStart: token.margin,\n verticalAlign: 'middle',\n '&-size-changer.-select': {\n display: 'inline-block',\n width: 'auto'\n },\n '&-quick-jumper': {\n display: 'inline-block',\n height: token.controlHeight,\n marginInlineStart: token.marginXS,\n lineHeight: token.controlHeight + \"px\",\n verticalAlign: 'top',\n input: _extends(_extends({}, genBasicInputStyle(token)), {\n width: token.controlHeightLG * 1.25,\n height: token.controlHeight,\n boxSizing: 'border-box',\n margin: 0,\n marginInlineStart: token.marginXS,\n marginInlineEnd: token.marginXS\n })\n }\n }), _ref12;\n};\nvar genPaginationItemStyle = function genPaginationItemStyle(token) {\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls + \"-item\", _extends(_extends(_defineProperty({\n display: 'inline-block',\n minWidth: token.paginationItemSize,\n height: token.paginationItemSize,\n marginInlineEnd: token.marginXS,\n fontFamily: token.paginationFontFamily,\n lineHeight: token.paginationItemSize - 2 + \"px\",\n textAlign: 'center',\n verticalAlign: 'middle',\n listStyle: 'none',\n backgroundColor: 'transparent',\n border: token.lineWidth + \"px \" + token.lineType + \" transparent\",\n borderRadius: token.borderRadius,\n outline: 0,\n cursor: 'pointer',\n userSelect: 'none',\n a: {\n display: 'block',\n padding: \"0 \" + token.paginationItemPaddingInline + \"px\",\n color: token.colorText,\n transition: 'none',\n '&:hover': {\n textDecoration: 'none'\n }\n }\n }, \"&:not(\" + componentCls + \"-item-active)\", {\n '&:hover': {\n transition: \"all \" + token.motionDurationMid,\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n }\n }), genFocusStyle(token)), {\n '&-active': {\n fontWeight: token.paginationFontWeightActive,\n backgroundColor: token.paginationItemBgActive,\n borderColor: token.colorPrimary,\n a: {\n color: token.colorPrimary\n },\n '&:hover': {\n borderColor: token.colorPrimaryHover\n },\n '&:hover a': {\n color: token.colorPrimaryHover\n }\n }\n }));\n};\nvar genPaginationStyle = function genPaginationStyle(token) {\n var _extends5, _ref16;\n var componentCls = token.componentCls;\n return _ref16 = {}, _defineProperty(_ref16, componentCls, _extends(_extends(_extends(_extends(_extends(_extends(_extends(_extends({}, resetComponent(token)), _defineProperty({\n 'ul, ol': {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n '&::after': {\n display: 'block',\n clear: 'both',\n height: 0,\n overflow: 'hidden',\n visibility: 'hidden',\n content: '\"\"'\n }\n }, componentCls + \"-total-text\", {\n display: 'inline-block',\n height: token.paginationItemSize,\n marginInlineEnd: token.marginXS,\n lineHeight: token.paginationItemSize - 2 + \"px\",\n verticalAlign: 'middle'\n })), genPaginationItemStyle(token)), genPaginationJumpStyle(token)), genPaginationSimpleStyle(token)), genPaginationMiniStyle(token)), genPaginationDisabledStyle(token)), (_extends5 = {}, _defineProperty(_extends5, \"@media only screen and (max-width: \" + token.screenLG + \"px)\", _defineProperty({}, componentCls + \"-item\", {\n '&-after-jump-prev, &-before-jump-next': {\n display: 'none'\n }\n })), _defineProperty(_extends5, \"@media only screen and (max-width: \" + token.screenSM + \"px)\", _defineProperty({}, componentCls + \"-options\", {\n display: 'none'\n })), _extends5))), _defineProperty(_ref16, \"&\" + token.componentCls + \"-rtl\", {\n direction: 'rtl'\n }), _ref16;\n};\nvar genBorderedStyle = function genBorderedStyle(token) {\n var _ref17, _ref19, _ref21, _ref22, _componentCls, _ref23;\n var componentCls = token.componentCls;\n return _ref23 = {}, _defineProperty(_ref23, \"\" + componentCls + componentCls + \"-disabled\", (_ref19 = {\n '&, &:hover': _defineProperty({}, componentCls + \"-item-link\", {\n borderColor: token.colorBorder\n }),\n '&:focus-visible': _defineProperty({}, componentCls + \"-item-link\", {\n borderColor: token.colorBorder\n })\n }, _defineProperty(_ref19, componentCls + \"-item, \" + componentCls + \"-item-link\", (_ref17 = {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder\n }, _defineProperty(_ref17, \"&:hover:not(\" + componentCls + \"-item-active)\", {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n a: {\n color: token.colorTextDisabled\n }\n }), _defineProperty(_ref17, \"&\" + componentCls + \"-item-active\", {\n backgroundColor: token.paginationItemDisabledBgActive\n }), _ref17)), _defineProperty(_ref19, componentCls + \"-prev, \" + componentCls + \"-next\", _defineProperty({\n '&:hover button': {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n color: token.colorTextDisabled\n }\n }, componentCls + \"-item-link\", {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder\n })), _ref19)), _defineProperty(_ref23, componentCls, (_componentCls = {}, _defineProperty(_componentCls, componentCls + \"-prev, \" + componentCls + \"-next\", (_ref21 = {\n '&:hover button': {\n borderColor: token.colorPrimaryHover,\n backgroundColor: token.paginationItemBg\n }\n }, _defineProperty(_ref21, componentCls + \"-item-link\", {\n backgroundColor: token.paginationItemLinkBg,\n borderColor: token.colorBorder\n }), _defineProperty(_ref21, \"&:hover \" + componentCls + \"-item-link\", {\n borderColor: token.colorPrimary,\n backgroundColor: token.paginationItemBg,\n color: token.colorPrimary\n }), _defineProperty(_ref21, \"&\" + componentCls + \"-disabled\", _defineProperty({}, componentCls + \"-item-link\", {\n borderColor: token.colorBorder,\n color: token.colorTextDisabled\n })), _ref21)), _defineProperty(_componentCls, componentCls + \"-item\", (_ref22 = {\n backgroundColor: token.paginationItemBg,\n border: token.lineWidth + \"px \" + token.lineType + \" \" + token.colorBorder\n }, _defineProperty(_ref22, \"&:hover:not(\" + componentCls + \"-item-active)\", {\n borderColor: token.colorPrimary,\n backgroundColor: token.paginationItemBg,\n a: {\n color: token.colorPrimary\n }\n }), _defineProperty(_ref22, '&-active', {\n borderColor: token.colorPrimary\n }), _ref22)), _componentCls)), _ref23;\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Pagination', function (token) {\n var paginationToken = mergeToken(token, {\n paginationItemSize: token.controlHeight,\n paginationFontFamily: token.fontFamily,\n paginationItemBg: token.colorBgContainer,\n paginationItemBgActive: token.colorBgContainer,\n paginationFontWeightActive: token.fontWeightStrong,\n paginationItemSizeSM: token.controlHeightSM,\n paginationItemInputBg: token.colorBgContainer,\n paginationMiniOptionsSizeChangerTop: 0,\n paginationItemDisabledBgActive: token.controlItemBgActiveDisabled,\n paginationItemDisabledColorActive: token.colorTextDisabled,\n paginationItemLinkBg: token.colorBgContainer,\n inputOutlineOffset: '0 0',\n paginationMiniOptionsMarginInlineStart: token.marginXXS / 2,\n paginationMiniQuickJumperInputWidth: token.controlHeightLG * 1.1,\n paginationItemPaddingInline: token.marginXXS * 1.5,\n paginationEllipsisLetterSpacing: token.marginXXS / 2,\n paginationSlashMarginInlineStart: token.marginXXS,\n paginationSlashMarginInlineEnd: token.marginSM,\n paginationEllipsisTextIndent: '0.13em' // magic for ui experience\n }, initInputToken(token));\n return [genPaginationStyle(paginationToken), token.wireframe && genBorderedStyle(paginationToken)];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport DoubleLeftOutlined from \"@ant-design/icons/es/icons/DoubleLeftOutlined\";\nimport DoubleRightOutlined from \"@ant-design/icons/es/icons/DoubleRightOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcPagination from 'rc-pagination';\nimport enUS from \"rc-pagination/es/locale/en_US\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { MiddleSelect, MiniSelect } from './Select';\nimport useStyle from './style';\nvar Pagination = function Pagination(_a) {\n var customizePrefixCls = _a.prefixCls,\n customizeSelectPrefixCls = _a.selectPrefixCls,\n className = _a.className,\n size = _a.size,\n customLocale = _a.locale,\n selectComponentClass = _a.selectComponentClass,\n responsive = _a.responsive,\n showSizeChanger = _a.showSizeChanger,\n restProps = __rest(_a, [\"prefixCls\", \"selectPrefixCls\", \"className\", \"size\", \"locale\", \"selectComponentClass\", \"responsive\", \"showSizeChanger\"]);\n var _useBreakpoint = useBreakpoint(responsive),\n xs = _useBreakpoint.xs;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction,\n _React$useContext$pag = _React$useContext.pagination,\n pagination = _React$useContext$pag === void 0 ? {} : _React$useContext$pag;\n var prefixCls = getPrefixCls('pagination', customizePrefixCls);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var mergedShowSizeChanger = showSizeChanger !== null && showSizeChanger !== void 0 ? showSizeChanger : pagination.showSizeChanger;\n var getIconsProps = function getIconsProps() {\n var ellipsis = /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-item-ellipsis\"\n }, \"\\u2022\\u2022\\u2022\");\n var prevIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: prefixCls + \"-item-link\",\n type: \"button\",\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(LeftOutlined, null));\n var nextIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: prefixCls + \"-item-link\",\n type: \"button\",\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(RightOutlined, null));\n var jumpPrevIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: prefixCls + \"-item-link\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"-item-container\"\n }, /*#__PURE__*/React.createElement(DoubleLeftOutlined, {\n className: prefixCls + \"-item-link-icon\"\n }), ellipsis));\n var jumpNextIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: prefixCls + \"-item-link\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"-item-container\"\n }, /*#__PURE__*/React.createElement(DoubleRightOutlined, {\n className: prefixCls + \"-item-link-icon\"\n }), ellipsis));\n // change arrows direction in right-to-left direction\n if (direction === 'rtl') {\n var _ref = [nextIcon, prevIcon];\n prevIcon = _ref[0];\n nextIcon = _ref[1];\n var _ref2 = [jumpNextIcon, jumpPrevIcon];\n jumpPrevIcon = _ref2[0];\n jumpNextIcon = _ref2[1];\n }\n return {\n prevIcon: prevIcon,\n nextIcon: nextIcon,\n jumpPrevIcon: jumpPrevIcon,\n jumpNextIcon: jumpNextIcon\n };\n };\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Pagination\",\n defaultLocale: enUS\n }, function (contextLocale) {\n var _classNames;\n var locale = _extends(_extends({}, contextLocale), customLocale);\n var isSmall = size === 'small' || !!(xs && !size && responsive);\n var selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n var extendedClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + \"-mini\", isSmall), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _classNames), className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(RcPagination, _extends({}, getIconsProps(), restProps, {\n prefixCls: prefixCls,\n selectPrefixCls: selectPrefixCls,\n className: extendedClassName,\n selectComponentClass: selectComponentClass || (isSmall ? MiniSelect : MiddleSelect),\n locale: locale,\n showSizeChanger: mergedShowSizeChanger\n })));\n });\n};\nexport default Pagination;","import Pagination from './Pagination';\nexport default Pagination;","// eslint-disable-next-line import/prefer-default-export\nexport function easeInOutCubic(t, b, c, d) {\n var cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n }\n // eslint-disable-next-line no-return-assign\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}","export function isWindow(obj) {\n return obj !== null && obj !== undefined && obj === obj.window;\n}\nexport default function getScroll(target, top) {\n var _a, _b;\n if (typeof window === 'undefined') {\n return 0;\n }\n var method = top ? 'scrollTop' : 'scrollLeft';\n var result = 0;\n if (isWindow(target)) {\n result = target[top ? 'pageYOffset' : 'pageXOffset'];\n } else if (target instanceof Document) {\n result = target.documentElement[method];\n } else if (target instanceof HTMLElement) {\n result = target[method];\n } else if (target) {\n // According to the type inference, the `target` is `never` type.\n // Since we configured the loose mode type checking, and supports mocking the target with such shape below::\n // `{ documentElement: { scrollLeft: 200, scrollTop: 400 } }`,\n // the program may falls into this branch.\n // Check the corresponding tests for details. Don't sure what is the real scenario this happens.\n result = target[method];\n }\n if (target && !isWindow(target) && typeof result !== 'number') {\n result = (_b = ((_a = target.ownerDocument) !== null && _a !== void 0 ? _a : target).documentElement) === null || _b === void 0 ? void 0 : _b[method];\n }\n return result;\n}","import raf from \"rc-util/es/raf\";\nimport { easeInOutCubic } from './easings';\nimport getScroll, { isWindow } from './getScroll';\nexport default function scrollTo(y) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$getContainer = options.getContainer,\n getContainer = _options$getContainer === void 0 ? function () {\n return window;\n } : _options$getContainer,\n callback = options.callback,\n _options$duration = options.duration,\n duration = _options$duration === void 0 ? 450 : _options$duration;\n var container = getContainer();\n var scrollTop = getScroll(container, true);\n var startTime = Date.now();\n var frameFunc = function frameFunc() {\n var timestamp = Date.now();\n var time = timestamp - startTime;\n var 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}","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\n// eslint-disable-next-line no-unused-vars\nfunction Column(_) {\n return null;\n}\nexport default Column;","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\n// eslint-disable-next-line no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\nexport default ColumnGroup;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nfunction renderExpandIcon(locale) {\n return function expandIcon(_ref) {\n var _classNames;\n var prefixCls = _ref.prefixCls,\n onExpand = _ref.onExpand,\n record = _ref.record,\n expanded = _ref.expanded,\n expandable = _ref.expandable;\n var iconPrefix = prefixCls + \"-row-expand-icon\";\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: function onClick(e) {\n onExpand(record, e);\n e.stopPropagation();\n },\n className: classNames(iconPrefix, (_classNames = {}, _defineProperty(_classNames, iconPrefix + \"-spaced\", !expandable), _defineProperty(_classNames, iconPrefix + \"-expanded\", expandable && expanded), _defineProperty(_classNames, iconPrefix + \"-collapsed\", expandable && !expanded), _classNames)),\n \"aria-label\": expanded ? locale.collapse : locale.expand,\n \"aria-expanded\": expanded\n });\n };\n}\nexport default renderExpandIcon;","export function getColumnKey(column, defaultKey) {\n if ('key' in column && column.key !== undefined && column.key !== null) {\n return column.key;\n }\n if (column.dataIndex) {\n return Array.isArray(column.dataIndex) ? column.dataIndex.join('.') : column.dataIndex;\n }\n return defaultKey;\n}\nexport function getColumnPos(index, pos) {\n return pos ? pos + \"-\" + index : \"\" + index;\n}\nexport function renderColumnTitle(title, props) {\n if (typeof title === 'function') {\n return title(props);\n }\n return title;\n}\n/**\n * Safe get column title\n *\n * Should filter [object Object]\n *\n * @param title\n * @returns\n */\nexport function safeColumnTitle(title, props) {\n var res = renderColumnTitle(title, props);\n if (Object.prototype.toString.call(res) === '[object Object]') return '';\n return res;\n}","// This icon file is generated automatically.\nvar FilterFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z\" } }] }, \"name\": \"filter\", \"theme\": \"filled\" };\nexport default FilterFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport FilterFilledSvg from \"@ant-design/icons-svg/es/asn/FilterFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar FilterFilled = function FilterFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: FilterFilledSvg\n }));\n};\nFilterFilled.displayName = 'FilterFilled';\nexport default /*#__PURE__*/React.forwardRef(FilterFilled);","import Dropdown from './dropdown';\nexport default Dropdown;","/**\n * Webpack has bug for import loop, which is not the same behavior as ES module.\n * When util.js imports the TreeNode for tree generate will cause treeContextTypes be empty.\n */\nimport * as React from 'react';\nexport var TreeContext = /*#__PURE__*/React.createContext(null);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nvar Indent = function Indent(_ref) {\n var prefixCls = _ref.prefixCls,\n level = _ref.level,\n isStart = _ref.isStart,\n isEnd = _ref.isEnd;\n var baseClassName = \"\".concat(prefixCls, \"-indent-unit\");\n var list = [];\n for (var i = 0; i < level; i += 1) {\n var _classNames;\n list.push( /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: classNames(baseClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(baseClassName, \"-start\"), isStart[i]), _defineProperty(_classNames, \"\".concat(baseClassName, \"-end\"), isEnd[i]), _classNames))\n }));\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-indent\")\n }, list);\n};\nexport default /*#__PURE__*/React.memo(Indent);","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport omit from \"rc-util/es/omit\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport { getPosition, isTreeNode } from '../util';\nexport function getKey(key, pos) {\n if (key !== null && key !== undefined) {\n return key;\n }\n return pos;\n}\nexport function fillFieldNames(fieldNames) {\n var _ref = fieldNames || {},\n title = _ref.title,\n _title = _ref._title,\n key = _ref.key,\n children = _ref.children;\n var mergedTitle = title || 'title';\n return {\n title: mergedTitle,\n _title: _title || [mergedTitle],\n key: key || 'key',\n children: children || 'children'\n };\n}\n/**\n * Warning if TreeNode do not provides key\n */\nexport function warningWithoutKey(treeData, fieldNames) {\n var keys = new Map();\n function dig(list) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (list || []).forEach(function (treeNode) {\n var key = treeNode[fieldNames.key];\n var children = treeNode[fieldNames.children];\n warning(key !== null && key !== undefined, \"Tree node must have a certain key: [\".concat(path).concat(key, \"]\"));\n var recordKey = String(key);\n warning(!keys.has(recordKey) || key === null || key === undefined, \"Same 'key' exist in the Tree: \".concat(recordKey));\n keys.set(recordKey, true);\n dig(children, \"\".concat(path).concat(recordKey, \" > \"));\n });\n }\n dig(treeData);\n}\n/**\n * Convert `children` of Tree into `treeData` structure.\n */\nexport function convertTreeToData(rootNodes) {\n function dig(node) {\n var treeNodes = toArray(node);\n return treeNodes.map(function (treeNode) {\n // Filter invalidate node\n if (!isTreeNode(treeNode)) {\n warning(!treeNode, 'Tree/TreeNode can only accept TreeNode as children.');\n return null;\n }\n var key = treeNode.key;\n var _treeNode$props = treeNode.props,\n children = _treeNode$props.children,\n rest = _objectWithoutProperties(_treeNode$props, _excluded);\n var dataNode = _objectSpread({\n key: key\n }, rest);\n var parsedChildren = dig(children);\n if (parsedChildren.length) {\n dataNode.children = parsedChildren;\n }\n return dataNode;\n }).filter(function (dataNode) {\n return dataNode;\n });\n }\n return dig(rootNodes);\n}\n/**\n * Flat nest tree data into flatten list. This is used for virtual list render.\n * @param treeNodeList Origin data node list\n * @param expandedKeys\n * need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).\n */\nexport function flattenTreeData(treeNodeList, expandedKeys, fieldNames) {\n var _fillFieldNames = fillFieldNames(fieldNames),\n fieldTitles = _fillFieldNames._title,\n fieldKey = _fillFieldNames.key,\n fieldChildren = _fillFieldNames.children;\n var expandedKeySet = new Set(expandedKeys === true ? [] : expandedKeys);\n var flattenList = [];\n function dig(list) {\n var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return list.map(function (treeNode, index) {\n var pos = getPosition(parent ? parent.pos : '0', index);\n var mergedKey = getKey(treeNode[fieldKey], pos);\n // Pick matched title in field title list\n var mergedTitle;\n for (var i = 0; i < fieldTitles.length; i += 1) {\n var fieldTitle = fieldTitles[i];\n if (treeNode[fieldTitle] !== undefined) {\n mergedTitle = treeNode[fieldTitle];\n break;\n }\n }\n // Add FlattenDataNode into list\n var flattenNode = _objectSpread(_objectSpread({}, omit(treeNode, [].concat(_toConsumableArray(fieldTitles), [fieldKey, fieldChildren]))), {}, {\n title: mergedTitle,\n key: mergedKey,\n parent: parent,\n pos: pos,\n children: null,\n data: treeNode,\n isStart: [].concat(_toConsumableArray(parent ? parent.isStart : []), [index === 0]),\n isEnd: [].concat(_toConsumableArray(parent ? parent.isEnd : []), [index === list.length - 1])\n });\n flattenList.push(flattenNode);\n // Loop treeNode children\n if (expandedKeys === true || expandedKeySet.has(mergedKey)) {\n flattenNode.children = dig(treeNode[fieldChildren] || [], flattenNode);\n } else {\n flattenNode.children = [];\n }\n return flattenNode;\n });\n }\n dig(treeNodeList);\n return flattenList;\n}\n/**\n * Traverse all the data by `treeData`.\n * Please not use it out of the `rc-tree` since we may refactor this code.\n */\nexport function traverseDataNodes(dataNodes, callback,\n// To avoid too many params, let use config instead of origin param\nconfig) {\n var mergedConfig = {};\n if (_typeof(config) === 'object') {\n mergedConfig = config;\n } else {\n mergedConfig = {\n externalGetKey: config\n };\n }\n mergedConfig = mergedConfig || {};\n // Init config\n var _mergedConfig = mergedConfig,\n childrenPropName = _mergedConfig.childrenPropName,\n externalGetKey = _mergedConfig.externalGetKey,\n fieldNames = _mergedConfig.fieldNames;\n var _fillFieldNames2 = fillFieldNames(fieldNames),\n fieldKey = _fillFieldNames2.key,\n fieldChildren = _fillFieldNames2.children;\n var mergeChildrenPropName = childrenPropName || fieldChildren;\n // Get keys\n var syntheticGetKey;\n if (externalGetKey) {\n if (typeof externalGetKey === 'string') {\n syntheticGetKey = function syntheticGetKey(node) {\n return node[externalGetKey];\n };\n } else if (typeof externalGetKey === 'function') {\n syntheticGetKey = function syntheticGetKey(node) {\n return externalGetKey(node);\n };\n }\n } else {\n syntheticGetKey = function syntheticGetKey(node, pos) {\n return getKey(node[fieldKey], pos);\n };\n }\n // Process\n function processNode(node, index, parent, pathNodes) {\n var children = node ? node[mergeChildrenPropName] : dataNodes;\n var pos = node ? getPosition(parent.pos, index) : '0';\n var connectNodes = node ? [].concat(_toConsumableArray(pathNodes), [node]) : [];\n // Process node if is not root\n if (node) {\n var key = syntheticGetKey(node, pos);\n var data = {\n node: node,\n index: index,\n pos: pos,\n key: key,\n parentPos: parent.node ? parent.pos : null,\n level: parent.level + 1,\n nodes: connectNodes\n };\n callback(data);\n }\n // Process children node\n if (children) {\n children.forEach(function (subNode, subIndex) {\n processNode(subNode, subIndex, {\n node: node,\n pos: pos,\n level: parent ? parent.level + 1 : -1\n }, connectNodes);\n });\n }\n }\n processNode(null);\n}\n/**\n * Convert `treeData` into entity records.\n */\nexport function convertDataToEntities(dataNodes) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n initWrapper = _ref2.initWrapper,\n processEntity = _ref2.processEntity,\n onProcessFinished = _ref2.onProcessFinished,\n externalGetKey = _ref2.externalGetKey,\n childrenPropName = _ref2.childrenPropName,\n fieldNames = _ref2.fieldNames;\n var /** @deprecated Use `config.externalGetKey` instead */\n legacyExternalGetKey = arguments.length > 2 ? arguments[2] : undefined;\n // Init config\n var mergedExternalGetKey = externalGetKey || legacyExternalGetKey;\n var posEntities = {};\n var keyEntities = {};\n var wrapper = {\n posEntities: posEntities,\n keyEntities: keyEntities\n };\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n traverseDataNodes(dataNodes, function (item) {\n var node = item.node,\n index = item.index,\n pos = item.pos,\n key = item.key,\n parentPos = item.parentPos,\n level = item.level,\n nodes = item.nodes;\n var entity = {\n node: node,\n nodes: nodes,\n index: index,\n key: key,\n pos: pos,\n level: level\n };\n var mergedKey = getKey(key, pos);\n posEntities[pos] = entity;\n keyEntities[mergedKey] = entity;\n // Fill children\n entity.parent = posEntities[parentPos];\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n }, {\n externalGetKey: mergedExternalGetKey,\n childrenPropName: childrenPropName,\n fieldNames: fieldNames\n });\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n return wrapper;\n}\n/**\n * Get TreeNode props with Tree props.\n */\nexport function getTreeNodeProps(key, _ref3) {\n var expandedKeys = _ref3.expandedKeys,\n selectedKeys = _ref3.selectedKeys,\n loadedKeys = _ref3.loadedKeys,\n loadingKeys = _ref3.loadingKeys,\n checkedKeys = _ref3.checkedKeys,\n halfCheckedKeys = _ref3.halfCheckedKeys,\n dragOverNodeKey = _ref3.dragOverNodeKey,\n dropPosition = _ref3.dropPosition,\n keyEntities = _ref3.keyEntities;\n var entity = keyEntities[key];\n var treeNodeProps = {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.indexOf(key) !== -1,\n checked: checkedKeys.indexOf(key) !== -1,\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos: String(entity ? entity.pos : ''),\n // [Legacy] Drag props\n // Since the interaction of drag is changed, the semantic of the props are\n // not accuracy, I think it should be finally removed\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1\n };\n return treeNodeProps;\n}\nexport function convertNodePropsToEventData(props) {\n var data = props.data,\n expanded = props.expanded,\n selected = props.selected,\n checked = props.checked,\n loaded = props.loaded,\n loading = props.loading,\n halfChecked = props.halfChecked,\n dragOver = props.dragOver,\n dragOverGapTop = props.dragOverGapTop,\n dragOverGapBottom = props.dragOverGapBottom,\n pos = props.pos,\n active = props.active,\n eventKey = props.eventKey;\n var eventData = _objectSpread(_objectSpread({}, data), {}, {\n expanded: expanded,\n selected: selected,\n checked: checked,\n loaded: loaded,\n loading: loading,\n halfChecked: halfChecked,\n dragOver: dragOver,\n dragOverGapTop: dragOverGapTop,\n dragOverGapBottom: dragOverGapBottom,\n pos: pos,\n active: active,\n key: eventKey\n });\n if (!('props' in eventData)) {\n Object.defineProperty(eventData, 'props', {\n get: function get() {\n warning(false, 'Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`.');\n return props;\n }\n });\n }\n return eventData;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\n/* eslint-disable no-lonely-if */\n/**\n * Legacy code. Should avoid to use if you are new to import these code.\n */\nimport React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport TreeNode from './TreeNode';\nexport function arrDel(list, value) {\n if (!list) return [];\n var clone = list.slice();\n var index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\nexport function arrAdd(list, value) {\n var clone = (list || []).slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\nexport function posToArr(pos) {\n return pos.split('-');\n}\nexport function getPosition(level, index) {\n return \"\".concat(level, \"-\").concat(index);\n}\nexport function isTreeNode(node) {\n return node && node.type && node.type.isTreeNode;\n}\nexport function getDragChildrenKeys(dragNodeKey, keyEntities) {\n // not contains self\n // self for left or right drag\n var dragChildrenKeys = [];\n var entity = keyEntities[dragNodeKey];\n function dig() {\n var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n list.forEach(function (_ref) {\n var key = _ref.key,\n children = _ref.children;\n dragChildrenKeys.push(key);\n dig(children);\n });\n }\n dig(entity.children);\n return dragChildrenKeys;\n}\nexport function isLastChild(treeNodeEntity) {\n if (treeNodeEntity.parent) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === treeNodeEntity.parent.children.length - 1;\n }\n return false;\n}\nexport function isFirstChild(treeNodeEntity) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === 0;\n}\n// Only used when drag, not affect SSR.\nexport function calcDropPosition(event, dragNode, targetNode, indent, startMousePosition, allowDrop, flattenedNodes, keyEntities, expandKeys, direction) {\n var _abstractDropNodeEnti;\n var clientX = event.clientX,\n clientY = event.clientY;\n var _event$target$getBoun = event.target.getBoundingClientRect(),\n top = _event$target$getBoun.top,\n height = _event$target$getBoun.height;\n // optional chain for testing\n var horizontalMouseOffset = (direction === 'rtl' ? -1 : 1) * (((startMousePosition === null || startMousePosition === void 0 ? void 0 : startMousePosition.x) || 0) - clientX);\n var rawDropLevelOffset = (horizontalMouseOffset - 12) / indent;\n // find abstract drop node by horizontal offset\n var abstractDropNodeEntity = keyEntities[targetNode.props.eventKey];\n if (clientY < top + height / 2) {\n // first half, set abstract drop node to previous node\n var nodeIndex = flattenedNodes.findIndex(function (flattenedNode) {\n return flattenedNode.key === abstractDropNodeEntity.key;\n });\n var prevNodeIndex = nodeIndex <= 0 ? 0 : nodeIndex - 1;\n var prevNodeKey = flattenedNodes[prevNodeIndex].key;\n abstractDropNodeEntity = keyEntities[prevNodeKey];\n }\n var initialAbstractDropNodeKey = abstractDropNodeEntity.key;\n var abstractDragOverEntity = abstractDropNodeEntity;\n var dragOverNodeKey = abstractDropNodeEntity.key;\n var dropPosition = 0;\n var dropLevelOffset = 0;\n // Only allow cross level drop when dragging on a non-expanded node\n if (!expandKeys.includes(initialAbstractDropNodeKey)) {\n for (var i = 0; i < rawDropLevelOffset; i += 1) {\n if (isLastChild(abstractDropNodeEntity)) {\n abstractDropNodeEntity = abstractDropNodeEntity.parent;\n dropLevelOffset += 1;\n } else {\n break;\n }\n }\n }\n var abstractDragDataNode = dragNode.props.data;\n var abstractDropDataNode = abstractDropNodeEntity.node;\n var dropAllowed = true;\n if (isFirstChild(abstractDropNodeEntity) && abstractDropNodeEntity.level === 0 && clientY < top + height / 2 && allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: -1\n }) && abstractDropNodeEntity.key === targetNode.props.eventKey) {\n // first half of first node in first level\n dropPosition = -1;\n } else if ((abstractDragOverEntity.children || []).length && expandKeys.includes(dragOverNodeKey)) {\n // drop on expanded node\n // only allow drop inside\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else {\n dropAllowed = false;\n }\n } else if (dropLevelOffset === 0) {\n if (rawDropLevelOffset > -1.5) {\n // | Node | <- abstractDropNode\n // | -^-===== | <- mousePosition\n // 1. try drop after\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n } else {\n // | Node | <- abstractDropNode\n // | ---==^== | <- mousePosition\n // whether it has children or doesn't has children\n // always\n // 1. try drop inside\n // 2. try drop after\n // 3. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n } else {\n // | Node1 | <- abstractDropNode\n // | Node2 |\n // --^--|----=====| <- mousePosition\n // 1. try insert after Node1\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n return {\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: abstractDropNodeEntity.key,\n dropTargetPos: abstractDropNodeEntity.pos,\n dragOverNodeKey: dragOverNodeKey,\n dropContainerKey: dropPosition === 0 ? null : ((_abstractDropNodeEnti = abstractDropNodeEntity.parent) === null || _abstractDropNodeEnti === void 0 ? void 0 : _abstractDropNodeEnti.key) || null,\n dropAllowed: dropAllowed\n };\n}\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) return undefined;\n var multiple = props.multiple;\n if (multiple) {\n return selectedKeys.slice();\n }\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\nvar internalProcessProps = function internalProcessProps(props) {\n return props;\n};\nexport function convertDataToTree(treeData, processor) {\n if (!treeData) return [];\n var _ref2 = processor || {},\n _ref2$processProps = _ref2.processProps,\n processProps = _ref2$processProps === void 0 ? internalProcessProps : _ref2$processProps;\n var list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(function (_ref3) {\n var children = _ref3.children,\n props = _objectWithoutProperties(_ref3, _excluded);\n var childrenNodes = convertDataToTree(children, processor);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n key: props.key\n }, processProps(props)), childrenNodes);\n });\n}\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n // Convert keys to object format\n var keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined\n };\n } else if (_typeof(keys) === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n return keyProps;\n}\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n var expandedKeys = new Set();\n function conductUp(key) {\n if (expandedKeys.has(key)) return;\n var entity = keyEntities[key];\n if (!entity) return;\n expandedKeys.add(key);\n var parent = entity.parent,\n node = entity.node;\n if (node.disabled) return;\n if (parent) {\n conductUp(parent.key);\n }\n }\n (keyList || []).forEach(function (key) {\n conductUp(key);\n });\n return _toConsumableArray(expandedKeys);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"eventKey\", \"className\", \"style\", \"dragOver\", \"dragOverGapTop\", \"dragOverGapBottom\", \"isLeaf\", \"isStart\", \"isEnd\", \"expanded\", \"selected\", \"checked\", \"halfChecked\", \"loading\", \"domRef\", \"active\", \"data\", \"onMouseMove\", \"selectable\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\n// @ts-ignore\nimport { TreeContext } from './contextTypes';\nimport Indent from './Indent';\nimport { convertNodePropsToEventData } from './utils/treeUtil';\nvar ICON_OPEN = 'open';\nvar ICON_CLOSE = 'close';\nvar defaultTitle = '---';\nvar InternalTreeNode = /*#__PURE__*/function (_React$Component) {\n _inherits(InternalTreeNode, _React$Component);\n var _super = _createSuper(InternalTreeNode);\n function InternalTreeNode() {\n var _this;\n _classCallCheck(this, InternalTreeNode);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n dragNodeHighlight: false\n };\n _this.selectHandle = void 0;\n _this.onSelectorClick = function (e) {\n // Click trigger before select/check operation\n var onNodeClick = _this.props.context.onNodeClick;\n onNodeClick(e, convertNodePropsToEventData(_this.props));\n if (_this.isSelectable()) {\n _this.onSelect(e);\n } else {\n _this.onCheck(e);\n }\n };\n _this.onSelectorDoubleClick = function (e) {\n var onNodeDoubleClick = _this.props.context.onNodeDoubleClick;\n onNodeDoubleClick(e, convertNodePropsToEventData(_this.props));\n };\n _this.onSelect = function (e) {\n if (_this.isDisabled()) return;\n var onNodeSelect = _this.props.context.onNodeSelect;\n e.preventDefault();\n onNodeSelect(e, convertNodePropsToEventData(_this.props));\n };\n _this.onCheck = function (e) {\n if (_this.isDisabled()) return;\n var _this$props = _this.props,\n disableCheckbox = _this$props.disableCheckbox,\n checked = _this$props.checked;\n var onNodeCheck = _this.props.context.onNodeCheck;\n if (!_this.isCheckable() || disableCheckbox) return;\n e.preventDefault();\n var targetChecked = !checked;\n onNodeCheck(e, convertNodePropsToEventData(_this.props), targetChecked);\n };\n _this.onMouseEnter = function (e) {\n var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;\n onNodeMouseEnter(e, convertNodePropsToEventData(_this.props));\n };\n _this.onMouseLeave = function (e) {\n var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;\n onNodeMouseLeave(e, convertNodePropsToEventData(_this.props));\n };\n _this.onContextMenu = function (e) {\n var onNodeContextMenu = _this.props.context.onNodeContextMenu;\n onNodeContextMenu(e, convertNodePropsToEventData(_this.props));\n };\n _this.onDragStart = function (e) {\n var onNodeDragStart = _this.props.context.onNodeDragStart;\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: true\n });\n onNodeDragStart(e, _assertThisInitialized(_this));\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } catch (error) {\n // empty\n }\n };\n _this.onDragEnter = function (e) {\n var onNodeDragEnter = _this.props.context.onNodeDragEnter;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, _assertThisInitialized(_this));\n };\n _this.onDragOver = function (e) {\n var onNodeDragOver = _this.props.context.onNodeDragOver;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, _assertThisInitialized(_this));\n };\n _this.onDragLeave = function (e) {\n var onNodeDragLeave = _this.props.context.onNodeDragLeave;\n e.stopPropagation();\n onNodeDragLeave(e, _assertThisInitialized(_this));\n };\n _this.onDragEnd = function (e) {\n var onNodeDragEnd = _this.props.context.onNodeDragEnd;\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: false\n });\n onNodeDragEnd(e, _assertThisInitialized(_this));\n };\n _this.onDrop = function (e) {\n var onNodeDrop = _this.props.context.onNodeDrop;\n e.preventDefault();\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: false\n });\n onNodeDrop(e, _assertThisInitialized(_this));\n };\n _this.onExpand = function (e) {\n var _this$props2 = _this.props,\n loading = _this$props2.loading,\n onNodeExpand = _this$props2.context.onNodeExpand;\n if (loading) return;\n onNodeExpand(e, convertNodePropsToEventData(_this.props));\n };\n _this.setSelectHandle = function (node) {\n _this.selectHandle = node;\n };\n _this.getNodeState = function () {\n var expanded = _this.props.expanded;\n if (_this.isLeaf()) {\n return null;\n }\n return expanded ? ICON_OPEN : ICON_CLOSE;\n };\n _this.hasChildren = function () {\n var eventKey = _this.props.eventKey;\n var keyEntities = _this.props.context.keyEntities;\n var _ref = keyEntities[eventKey] || {},\n children = _ref.children;\n return !!(children || []).length;\n };\n _this.isLeaf = function () {\n var _this$props3 = _this.props,\n isLeaf = _this$props3.isLeaf,\n loaded = _this$props3.loaded;\n var loadData = _this.props.context.loadData;\n var hasChildren = _this.hasChildren();\n if (isLeaf === false) {\n return false;\n }\n return isLeaf || !loadData && !hasChildren || loadData && loaded && !hasChildren;\n };\n _this.isDisabled = function () {\n var disabled = _this.props.disabled;\n var treeDisabled = _this.props.context.disabled;\n return !!(treeDisabled || disabled);\n };\n _this.isCheckable = function () {\n var checkable = _this.props.checkable;\n var treeCheckable = _this.props.context.checkable;\n // Return false if tree or treeNode is not checkable\n if (!treeCheckable || checkable === false) return false;\n return treeCheckable;\n };\n _this.syncLoadData = function (props) {\n var expanded = props.expanded,\n loading = props.loading,\n loaded = props.loaded;\n var _this$props$context = _this.props.context,\n loadData = _this$props$context.loadData,\n onNodeLoad = _this$props$context.onNodeLoad;\n if (loading) {\n return;\n }\n // read from state to avoid loadData at same time\n if (loadData && expanded && !_this.isLeaf()) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n if (!_this.hasChildren() && !loaded) {\n onNodeLoad(convertNodePropsToEventData(_this.props));\n }\n }\n };\n _this.isDraggable = function () {\n var _this$props4 = _this.props,\n data = _this$props4.data,\n draggable = _this$props4.context.draggable;\n return !!(draggable && (!draggable.nodeDraggable || draggable.nodeDraggable(data)));\n };\n _this.renderDragHandler = function () {\n var _this$props$context2 = _this.props.context,\n draggable = _this$props$context2.draggable,\n prefixCls = _this$props$context2.prefixCls;\n return (draggable === null || draggable === void 0 ? void 0 : draggable.icon) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-draggable-icon\")\n }, draggable.icon) : null;\n };\n _this.renderSwitcherIconDom = function (isLeaf) {\n var switcherIconFromProps = _this.props.switcherIcon;\n var switcherIconFromCtx = _this.props.context.switcherIcon;\n var switcherIcon = switcherIconFromProps || switcherIconFromCtx;\n // if switcherIconDom is null, no render switcher span\n if (typeof switcherIcon === 'function') {\n return switcherIcon(_objectSpread(_objectSpread({}, _this.props), {}, {\n isLeaf: isLeaf\n }));\n }\n return switcherIcon;\n };\n _this.renderSwitcher = function () {\n var expanded = _this.props.expanded;\n var prefixCls = _this.props.context.prefixCls;\n if (_this.isLeaf()) {\n // if switcherIconDom is null, no render switcher span\n var _switcherIconDom = _this.renderSwitcherIconDom(true);\n return _switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher-noop\"))\n }, _switcherIconDom) : null;\n }\n var switcherCls = classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher_\").concat(expanded ? ICON_OPEN : ICON_CLOSE));\n var switcherIconDom = _this.renderSwitcherIconDom(false);\n return switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n onClick: _this.onExpand,\n className: switcherCls\n }, switcherIconDom) : null;\n };\n _this.renderCheckbox = function () {\n var _this$props5 = _this.props,\n checked = _this$props5.checked,\n halfChecked = _this$props5.halfChecked,\n disableCheckbox = _this$props5.disableCheckbox;\n var prefixCls = _this.props.context.prefixCls;\n var disabled = _this.isDisabled();\n var checkable = _this.isCheckable();\n if (!checkable) return null;\n // [Legacy] Custom element should be separate with `checkable` in future\n var $custom = typeof checkable !== 'boolean' ? checkable : null;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-checkbox\"), checked && \"\".concat(prefixCls, \"-checkbox-checked\"), !checked && halfChecked && \"\".concat(prefixCls, \"-checkbox-indeterminate\"), (disabled || disableCheckbox) && \"\".concat(prefixCls, \"-checkbox-disabled\")),\n onClick: _this.onCheck\n }, $custom);\n };\n _this.renderIcon = function () {\n var loading = _this.props.loading;\n var prefixCls = _this.props.context.prefixCls;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__\").concat(_this.getNodeState() || 'docu'), loading && \"\".concat(prefixCls, \"-icon_loading\"))\n });\n };\n _this.renderSelector = function () {\n var dragNodeHighlight = _this.state.dragNodeHighlight;\n var _this$props6 = _this.props,\n title = _this$props6.title,\n selected = _this$props6.selected,\n icon = _this$props6.icon,\n loading = _this$props6.loading,\n data = _this$props6.data;\n var _this$props$context3 = _this.props.context,\n prefixCls = _this$props$context3.prefixCls,\n showIcon = _this$props$context3.showIcon,\n treeIcon = _this$props$context3.icon,\n loadData = _this$props$context3.loadData,\n titleRender = _this$props$context3.titleRender;\n var disabled = _this.isDisabled();\n var wrapClass = \"\".concat(prefixCls, \"-node-content-wrapper\");\n // Icon - Still show loading icon when loading without showIcon\n var $icon;\n if (showIcon) {\n var currentIcon = icon || treeIcon;\n $icon = currentIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__customize\"))\n }, typeof currentIcon === 'function' ? currentIcon(_this.props) : currentIcon) : _this.renderIcon();\n } else if (loadData && loading) {\n $icon = _this.renderIcon();\n }\n // Title\n var titleNode;\n if (typeof title === 'function') {\n titleNode = title(data);\n } else if (titleRender) {\n titleNode = titleRender(data);\n } else {\n titleNode = title;\n }\n var $title = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-title\")\n }, titleNode);\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: _this.setSelectHandle,\n title: typeof title === 'string' ? title : '',\n className: classNames(\"\".concat(wrapClass), \"\".concat(wrapClass, \"-\").concat(_this.getNodeState() || 'normal'), !disabled && (selected || dragNodeHighlight) && \"\".concat(prefixCls, \"-node-selected\")),\n onMouseEnter: _this.onMouseEnter,\n onMouseLeave: _this.onMouseLeave,\n onContextMenu: _this.onContextMenu,\n onClick: _this.onSelectorClick,\n onDoubleClick: _this.onSelectorDoubleClick\n }, $icon, $title, _this.renderDropIndicator());\n };\n _this.renderDropIndicator = function () {\n var _this$props7 = _this.props,\n disabled = _this$props7.disabled,\n eventKey = _this$props7.eventKey;\n var _this$props$context4 = _this.props.context,\n draggable = _this$props$context4.draggable,\n dropLevelOffset = _this$props$context4.dropLevelOffset,\n dropPosition = _this$props$context4.dropPosition,\n prefixCls = _this$props$context4.prefixCls,\n indent = _this$props$context4.indent,\n dropIndicatorRender = _this$props$context4.dropIndicatorRender,\n dragOverNodeKey = _this$props$context4.dragOverNodeKey,\n direction = _this$props$context4.direction;\n var rootDraggable = !!draggable;\n // allowDrop is calculated in Tree.tsx, there is no need for calc it here\n var showIndicator = !disabled && rootDraggable && dragOverNodeKey === eventKey;\n return showIndicator ? dropIndicatorRender({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n indent: indent,\n prefixCls: prefixCls,\n direction: direction\n }) : null;\n };\n return _this;\n }\n _createClass(InternalTreeNode, [{\n key: \"componentDidMount\",\n value:\n // Isomorphic needn't load data in server side\n function componentDidMount() {\n this.syncLoadData(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.syncLoadData(this.props);\n }\n }, {\n key: \"isSelectable\",\n value: function isSelectable() {\n var selectable = this.props.selectable;\n var treeSelectable = this.props.context.selectable;\n // Ignore when selectable is undefined or null\n if (typeof selectable === 'boolean') {\n return selectable;\n }\n return treeSelectable;\n }\n }, {\n key: \"render\",\n value:\n // =========================== Render ===========================\n function render() {\n var _classNames;\n var _this$props8 = this.props,\n eventKey = _this$props8.eventKey,\n className = _this$props8.className,\n style = _this$props8.style,\n dragOver = _this$props8.dragOver,\n dragOverGapTop = _this$props8.dragOverGapTop,\n dragOverGapBottom = _this$props8.dragOverGapBottom,\n isLeaf = _this$props8.isLeaf,\n isStart = _this$props8.isStart,\n isEnd = _this$props8.isEnd,\n expanded = _this$props8.expanded,\n selected = _this$props8.selected,\n checked = _this$props8.checked,\n halfChecked = _this$props8.halfChecked,\n loading = _this$props8.loading,\n domRef = _this$props8.domRef,\n active = _this$props8.active,\n data = _this$props8.data,\n onMouseMove = _this$props8.onMouseMove,\n selectable = _this$props8.selectable,\n otherProps = _objectWithoutProperties(_this$props8, _excluded);\n var _this$props$context5 = this.props.context,\n prefixCls = _this$props$context5.prefixCls,\n filterTreeNode = _this$props$context5.filterTreeNode,\n keyEntities = _this$props$context5.keyEntities,\n dropContainerKey = _this$props$context5.dropContainerKey,\n dropTargetKey = _this$props$context5.dropTargetKey,\n draggingNodeKey = _this$props$context5.draggingNodeKey;\n var disabled = this.isDisabled();\n var dataOrAriaAttributeProps = pickAttrs(otherProps, {\n aria: true,\n data: true\n });\n var _ref2 = keyEntities[eventKey] || {},\n level = _ref2.level;\n var isEndNode = isEnd[isEnd.length - 1];\n var mergedDraggable = this.isDraggable();\n var draggableWithoutDisabled = !disabled && mergedDraggable;\n var dragging = draggingNodeKey === eventKey;\n var ariaSelected = selectable !== undefined ? {\n 'aria-selected': !!selectable\n } : undefined;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: domRef,\n className: classNames(className, \"\".concat(prefixCls, \"-treenode\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-checked\"), checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-selected\"), selected), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-loading\"), loading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-leaf-last\"), isEndNode), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-draggable\"), mergedDraggable), _defineProperty(_classNames, \"dragging\", dragging), _defineProperty(_classNames, 'drop-target', dropTargetKey === eventKey), _defineProperty(_classNames, 'drop-container', dropContainerKey === eventKey), _defineProperty(_classNames, 'drag-over', !disabled && dragOver), _defineProperty(_classNames, 'drag-over-gap-top', !disabled && dragOverGapTop), _defineProperty(_classNames, 'drag-over-gap-bottom', !disabled && dragOverGapBottom), _defineProperty(_classNames, 'filter-node', filterTreeNode && filterTreeNode(convertNodePropsToEventData(this.props))), _classNames)),\n style: style\n // Draggable config\n ,\n draggable: draggableWithoutDisabled,\n \"aria-grabbed\": dragging,\n onDragStart: draggableWithoutDisabled ? this.onDragStart : undefined\n // Drop config\n ,\n onDragEnter: mergedDraggable ? this.onDragEnter : undefined,\n onDragOver: mergedDraggable ? this.onDragOver : undefined,\n onDragLeave: mergedDraggable ? this.onDragLeave : undefined,\n onDrop: mergedDraggable ? this.onDrop : undefined,\n onDragEnd: mergedDraggable ? this.onDragEnd : undefined,\n onMouseMove: onMouseMove\n }, ariaSelected, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(Indent, {\n prefixCls: prefixCls,\n level: level,\n isStart: isStart,\n isEnd: isEnd\n }), this.renderDragHandler(), this.renderSwitcher(), this.renderCheckbox(), this.renderSelector());\n }\n }]);\n return InternalTreeNode;\n}(React.Component);\nvar ContextTreeNode = function ContextTreeNode(props) {\n return /*#__PURE__*/React.createElement(TreeContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(InternalTreeNode, _extends({}, props, {\n context: context\n }));\n });\n};\nContextTreeNode.displayName = 'TreeNode';\nContextTreeNode.defaultProps = {\n title: defaultTitle\n};\nContextTreeNode.isTreeNode = 1;\nexport { InternalTreeNode };\nexport default ContextTreeNode;","export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n}","import _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"style\", \"motion\", \"motionNodes\", \"motionType\", \"onMotionStart\", \"onMotionEnd\", \"active\", \"treeNodeRequiredProps\"];\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport TreeNode from './TreeNode';\nimport { getTreeNodeProps } from './utils/treeUtil';\nimport { TreeContext } from './contextTypes';\nvar MotionTreeNode = function MotionTreeNode(_ref, ref) {\n var className = _ref.className,\n style = _ref.style,\n motion = _ref.motion,\n motionNodes = _ref.motionNodes,\n motionType = _ref.motionType,\n onOriginMotionStart = _ref.onMotionStart,\n onOriginMotionEnd = _ref.onMotionEnd,\n active = _ref.active,\n treeNodeRequiredProps = _ref.treeNodeRequiredProps,\n props = _objectWithoutProperties(_ref, _excluded);\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n var _React$useContext = React.useContext(TreeContext),\n prefixCls = _React$useContext.prefixCls;\n var motionedRef = React.useRef(false);\n var onMotionEnd = function onMotionEnd() {\n if (!motionedRef.current) {\n onOriginMotionEnd();\n }\n motionedRef.current = true;\n };\n useEffect(function () {\n if (motionNodes && motionType === 'hide' && visible) {\n setVisible(false);\n }\n }, [motionNodes]);\n useEffect(function () {\n // Trigger motion only when patched\n if (motionNodes) {\n onOriginMotionStart();\n }\n return function () {\n if (motionNodes) {\n onMotionEnd();\n }\n };\n }, []);\n if (motionNodes) {\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n ref: ref,\n visible: visible\n }, motion, {\n motionAppear: motionType === 'show',\n onAppearEnd: onMotionEnd,\n onLeaveEnd: onMotionEnd\n }), function (_ref2, motionRef) {\n var motionClassName = _ref2.className,\n motionStyle = _ref2.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: classNames(\"\".concat(prefixCls, \"-treenode-motion\"), motionClassName),\n style: motionStyle\n }, motionNodes.map(function (treeNode) {\n var restProps = _extends({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(key, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: active,\n data: treeNode.data,\n key: key,\n isStart: isStart,\n isEnd: isEnd\n }));\n }));\n });\n }\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n domRef: ref,\n className: className,\n style: style\n }, props, {\n active: active\n }));\n};\nMotionTreeNode.displayName = 'MotionTreeNode';\nvar RefMotionTreeNode = /*#__PURE__*/React.forwardRef(MotionTreeNode);\nexport default RefMotionTreeNode;","export function findExpandedKeys() {\n var prev = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var next = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var prevLen = prev.length;\n var nextLen = next.length;\n if (Math.abs(prevLen - nextLen) !== 1) {\n return {\n add: false,\n key: null\n };\n }\n function find(shorter, longer) {\n var cache = new Map();\n shorter.forEach(function (key) {\n cache.set(key, true);\n });\n var keys = longer.filter(function (key) {\n return !cache.has(key);\n });\n return keys.length === 1 ? keys[0] : null;\n }\n if (prevLen < nextLen) {\n return {\n add: true,\n key: find(prev, next)\n };\n }\n return {\n add: false,\n key: find(next, prev)\n };\n}\nexport function getExpandRange(shorter, longer, key) {\n var shorterStartIndex = shorter.findIndex(function (data) {\n return data.key === key;\n });\n var shorterEndNode = shorter[shorterStartIndex + 1];\n var longerStartIndex = longer.findIndex(function (data) {\n return data.key === key;\n });\n if (shorterEndNode) {\n var longerEndIndex = longer.findIndex(function (data) {\n return data.key === shorterEndNode.key;\n });\n return longer.slice(longerStartIndex + 1, longerEndIndex);\n }\n return longer.slice(longerStartIndex + 1);\n}","import _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"data\", \"selectable\", \"checkable\", \"expandedKeys\", \"selectedKeys\", \"checkedKeys\", \"loadedKeys\", \"loadingKeys\", \"halfCheckedKeys\", \"keyEntities\", \"disabled\", \"dragging\", \"dragOverNodeKey\", \"dropPosition\", \"motion\", \"height\", \"itemHeight\", \"virtual\", \"focusable\", \"activeItem\", \"focused\", \"tabIndex\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onActiveChange\", \"onListChangeStart\", \"onListChangeEnd\"];\n/**\n * Handle virtual list of the TreeNodes.\n */\nimport * as React from 'react';\nimport VirtualList from 'rc-virtual-list';\nimport MotionTreeNode from './MotionTreeNode';\nimport { findExpandedKeys, getExpandRange } from './utils/diffUtil';\nimport { getTreeNodeProps, getKey } from './utils/treeUtil';\nvar HIDDEN_STYLE = {\n width: 0,\n height: 0,\n display: 'flex',\n overflow: 'hidden',\n opacity: 0,\n border: 0,\n padding: 0,\n margin: 0\n};\nvar noop = function noop() {};\nexport var MOTION_KEY = \"RC_TREE_MOTION_\".concat(Math.random());\nvar MotionNode = {\n key: MOTION_KEY\n};\nexport var MotionEntity = {\n key: MOTION_KEY,\n level: 0,\n index: 0,\n pos: '0',\n node: MotionNode,\n nodes: [MotionNode]\n};\nvar MotionFlattenData = {\n parent: null,\n children: [],\n pos: MotionEntity.pos,\n data: MotionNode,\n title: null,\n key: MOTION_KEY,\n /** Hold empty list here since we do not use it */\n isStart: [],\n isEnd: []\n};\n/**\n * We only need get visible content items to play the animation.\n */\nexport function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {\n if (virtual === false || !height) {\n return list;\n }\n return list.slice(0, Math.ceil(height / itemHeight) + 1);\n}\nfunction itemKey(item) {\n var key = item.key,\n pos = item.pos;\n return getKey(key, pos);\n}\nfunction getAccessibilityPath(item) {\n var path = String(item.data.key);\n var current = item;\n while (current.parent) {\n current = current.parent;\n path = \"\".concat(current.data.key, \" > \").concat(path);\n }\n return path;\n}\nvar NodeList = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n data = props.data,\n selectable = props.selectable,\n checkable = props.checkable,\n expandedKeys = props.expandedKeys,\n selectedKeys = props.selectedKeys,\n checkedKeys = props.checkedKeys,\n loadedKeys = props.loadedKeys,\n loadingKeys = props.loadingKeys,\n halfCheckedKeys = props.halfCheckedKeys,\n keyEntities = props.keyEntities,\n disabled = props.disabled,\n dragging = props.dragging,\n dragOverNodeKey = props.dragOverNodeKey,\n dropPosition = props.dropPosition,\n motion = props.motion,\n height = props.height,\n itemHeight = props.itemHeight,\n virtual = props.virtual,\n focusable = props.focusable,\n activeItem = props.activeItem,\n focused = props.focused,\n tabIndex = props.tabIndex,\n onKeyDown = props.onKeyDown,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onActiveChange = props.onActiveChange,\n onListChangeStart = props.onListChangeStart,\n onListChangeEnd = props.onListChangeEnd,\n domProps = _objectWithoutProperties(props, _excluded);\n // =============================== Ref ================================\n var listRef = React.useRef(null);\n var indentMeasurerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n scrollTo: function scrollTo(scroll) {\n listRef.current.scrollTo(scroll);\n },\n getIndentWidth: function getIndentWidth() {\n return indentMeasurerRef.current.offsetWidth;\n }\n };\n });\n // ============================== Motion ==============================\n var _React$useState = React.useState(expandedKeys),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevExpandedKeys = _React$useState2[0],\n setPrevExpandedKeys = _React$useState2[1];\n var _React$useState3 = React.useState(data),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n prevData = _React$useState4[0],\n setPrevData = _React$useState4[1];\n var _React$useState5 = React.useState(data),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n transitionData = _React$useState6[0],\n setTransitionData = _React$useState6[1];\n var _React$useState7 = React.useState([]),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n transitionRange = _React$useState8[0],\n setTransitionRange = _React$useState8[1];\n var _React$useState9 = React.useState(null),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n motionType = _React$useState10[0],\n setMotionType = _React$useState10[1];\n // When motion end but data change, this will makes data back to previous one\n var dataRef = React.useRef(data);\n dataRef.current = data;\n function onMotionEnd() {\n var latestData = dataRef.current;\n setPrevData(latestData);\n setTransitionData(latestData);\n setTransitionRange([]);\n setMotionType(null);\n onListChangeEnd();\n }\n // Do animation if expanded keys changed\n React.useEffect(function () {\n setPrevExpandedKeys(expandedKeys);\n var diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);\n if (diffExpanded.key !== null) {\n if (diffExpanded.add) {\n var keyIndex = prevData.findIndex(function (_ref) {\n var key = _ref.key;\n return key === diffExpanded.key;\n });\n var rangeNodes = getMinimumRangeTransitionRange(getExpandRange(prevData, data, diffExpanded.key), virtual, height, itemHeight);\n var newTransitionData = prevData.slice();\n newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(newTransitionData);\n setTransitionRange(rangeNodes);\n setMotionType('show');\n } else {\n var _keyIndex = data.findIndex(function (_ref2) {\n var key = _ref2.key;\n return key === diffExpanded.key;\n });\n var _rangeNodes = getMinimumRangeTransitionRange(getExpandRange(data, prevData, diffExpanded.key), virtual, height, itemHeight);\n var _newTransitionData = data.slice();\n _newTransitionData.splice(_keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(_newTransitionData);\n setTransitionRange(_rangeNodes);\n setMotionType('hide');\n }\n } else if (prevData !== data) {\n // If whole data changed, we just refresh the list\n setPrevData(data);\n setTransitionData(data);\n }\n }, [expandedKeys, data]);\n // We should clean up motion if is changed by dragging\n React.useEffect(function () {\n if (!dragging) {\n onMotionEnd();\n }\n }, [dragging]);\n var mergedData = motion ? transitionData : data;\n var treeNodeRequiredProps = {\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n loadedKeys: loadedKeys,\n loadingKeys: loadingKeys,\n checkedKeys: checkedKeys,\n halfCheckedKeys: halfCheckedKeys,\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, focused && activeItem && /*#__PURE__*/React.createElement(\"span\", {\n style: HIDDEN_STYLE,\n \"aria-live\": \"assertive\"\n }, getAccessibilityPath(activeItem)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n style: HIDDEN_STYLE,\n disabled: focusable === false || disabled,\n tabIndex: focusable !== false ? tabIndex : null,\n onKeyDown: onKeyDown,\n onFocus: onFocus,\n onBlur: onBlur,\n value: \"\",\n onChange: noop,\n \"aria-label\": \"for screen reader\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-treenode\"),\n \"aria-hidden\": true,\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n visibility: 'hidden',\n height: 0,\n overflow: 'hidden'\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-indent\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: indentMeasurerRef,\n className: \"\".concat(prefixCls, \"-indent-unit\")\n }))), /*#__PURE__*/React.createElement(VirtualList, _extends({}, domProps, {\n data: mergedData,\n itemKey: itemKey,\n height: height,\n fullHeight: false,\n virtual: virtual,\n itemHeight: itemHeight,\n prefixCls: \"\".concat(prefixCls, \"-list\"),\n ref: listRef,\n onVisibleChange: function onVisibleChange(originList, fullList) {\n var originSet = new Set(originList);\n var restList = fullList.filter(function (item) {\n return !originSet.has(item);\n });\n // Motion node is not render. Skip motion\n if (restList.some(function (item) {\n return itemKey(item) === MOTION_KEY;\n })) {\n onMotionEnd();\n }\n }\n }), function (treeNode) {\n var pos = treeNode.pos,\n restProps = _extends({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n var mergedKey = getKey(key, pos);\n delete restProps.key;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(MotionTreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: !!activeItem && key === activeItem.key,\n pos: pos,\n data: treeNode.data,\n isStart: isStart,\n isEnd: isEnd,\n motion: motion,\n motionNodes: key === MOTION_KEY ? transitionRange : null,\n motionType: motionType,\n onMotionStart: onListChangeStart,\n onMotionEnd: onMotionEnd,\n treeNodeRequiredProps: treeNodeRequiredProps,\n onMouseMove: function onMouseMove() {\n onActiveChange(null);\n }\n }));\n }));\n});\nNodeList.displayName = 'NodeList';\nexport default NodeList;","import warning from \"rc-util/es/warning\";\nfunction removeFromCheckedKeys(halfCheckedKeys, checkedKeys) {\n var filteredKeys = new Set();\n halfCheckedKeys.forEach(function (key) {\n if (!checkedKeys.has(key)) {\n filteredKeys.add(key);\n }\n });\n return filteredKeys;\n}\nexport function isCheckDisabled(node) {\n var _ref = node || {},\n disabled = _ref.disabled,\n disableCheckbox = _ref.disableCheckbox,\n checkable = _ref.checkable;\n return !!(disabled || disableCheckbox) || checkable === false;\n}\n// Fill miss keys\nfunction fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set();\n // Add checked keys top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children = entity.children,\n children = _entity$children === void 0 ? [] : _entity$children;\n if (checkedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.add(childEntity.key);\n });\n }\n });\n }\n // Add checked keys from bottom to top\n var visitedKeys = new Set();\n for (var _level = maxLevel; _level >= 0; _level -= 1) {\n var _entities = levelEntities.get(_level) || new Set();\n _entities.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref2) {\n var key = _ref2.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (allChecked) {\n checkedKeys.add(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n// Remove useless key\nfunction cleanConductCheck(keys, halfKeys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set(halfKeys);\n // Remove checked keys from top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children2 = entity.children,\n children = _entity$children2 === void 0 ? [] : _entity$children2;\n if (!checkedKeys.has(key) && !halfCheckedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.delete(childEntity.key);\n });\n }\n });\n }\n // Remove checked keys form bottom to top\n halfCheckedKeys = new Set();\n var visitedKeys = new Set();\n for (var _level2 = maxLevel; _level2 >= 0; _level2 -= 1) {\n var _entities2 = levelEntities.get(_level2) || new Set();\n _entities2.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref3) {\n var key = _ref3.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (!allChecked) {\n checkedKeys.delete(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n/**\n * Conduct with keys.\n * @param keyList current key list\n * @param keyEntities key - dataEntity map\n * @param mode `fill` to fill missing key, `clean` to remove useless key\n */\nexport function conductCheck(keyList, checked, keyEntities, getCheckDisabled) {\n var warningMissKeys = [];\n var syntheticGetCheckDisabled;\n if (getCheckDisabled) {\n syntheticGetCheckDisabled = getCheckDisabled;\n } else {\n syntheticGetCheckDisabled = isCheckDisabled;\n }\n // We only handle exist keys\n var keys = new Set(keyList.filter(function (key) {\n var hasEntity = !!keyEntities[key];\n if (!hasEntity) {\n warningMissKeys.push(key);\n }\n return hasEntity;\n }));\n var levelEntities = new Map();\n var maxLevel = 0;\n // Convert entities by level for calculation\n Object.keys(keyEntities).forEach(function (key) {\n var entity = keyEntities[key];\n var level = entity.level;\n var levelSet = levelEntities.get(level);\n if (!levelSet) {\n levelSet = new Set();\n levelEntities.set(level, levelSet);\n }\n levelSet.add(entity);\n maxLevel = Math.max(maxLevel, level);\n });\n warning(!warningMissKeys.length, \"Tree missing follow keys: \".concat(warningMissKeys.slice(0, 100).map(function (key) {\n return \"'\".concat(key, \"'\");\n }).join(', ')));\n var result;\n if (checked === true) {\n result = fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n } else {\n result = cleanConductCheck(keys, checked.halfCheckedKeys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n }\n return result;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n// TODO: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/treeview/treeview-2/treeview-2a.html\n// Fully accessibility support\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport warning from \"rc-util/es/warning\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport classNames from 'classnames';\nimport { TreeContext } from './contextTypes';\nimport { getDragChildrenKeys, parseCheckedKeys, conductExpandParent, calcSelectedKeys, calcDropPosition, arrAdd, arrDel, posToArr } from './util';\nimport { flattenTreeData, convertTreeToData, convertDataToEntities, warningWithoutKey, convertNodePropsToEventData, getTreeNodeProps, fillFieldNames } from './utils/treeUtil';\nimport NodeList, { MOTION_KEY, MotionEntity } from './NodeList';\nimport TreeNode from './TreeNode';\nimport { conductCheck } from './utils/conductUtil';\nimport DropIndicator from './DropIndicator';\nvar MAX_RETRY_TIMES = 10;\nvar Tree = /*#__PURE__*/function (_React$Component) {\n _inherits(Tree, _React$Component);\n var _super = _createSuper(Tree);\n function Tree() {\n var _this;\n _classCallCheck(this, Tree);\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(_args));\n _this.destroyed = false;\n _this.delayedDragEnterLogic = void 0;\n _this.loadingRetryTimes = {};\n _this.state = {\n keyEntities: {},\n indent: null,\n selectedKeys: [],\n checkedKeys: [],\n halfCheckedKeys: [],\n loadedKeys: [],\n loadingKeys: [],\n expandedKeys: [],\n draggingNodeKey: null,\n dragChildrenKeys: [],\n // dropTargetKey is the key of abstract-drop-node\n // the abstract-drop-node is the real drop node when drag and drop\n // not the DOM drag over node\n dropTargetKey: null,\n dropPosition: null,\n dropContainerKey: null,\n dropLevelOffset: null,\n dropTargetPos: null,\n dropAllowed: true,\n // the abstract-drag-over-node\n // if mouse is on the bottom of top dom node or no the top of the bottom dom node\n // abstract-drag-over-node is the top node\n dragOverNodeKey: null,\n treeData: [],\n flattenNodes: [],\n focused: false,\n activeKey: null,\n listChanging: false,\n prevProps: null,\n fieldNames: fillFieldNames()\n };\n _this.dragStartMousePosition = null;\n _this.dragNode = void 0;\n _this.currentMouseOverDroppableNodeKey = null;\n _this.listRef = /*#__PURE__*/React.createRef();\n _this.onNodeDragStart = function (event, node) {\n var _this$state = _this.state,\n expandedKeys = _this$state.expandedKeys,\n keyEntities = _this$state.keyEntities;\n var onDragStart = _this.props.onDragStart;\n var eventKey = node.props.eventKey;\n _this.dragNode = node;\n _this.dragStartMousePosition = {\n x: event.clientX,\n y: event.clientY\n };\n var newExpandedKeys = arrDel(expandedKeys, eventKey);\n _this.setState({\n draggingNodeKey: eventKey,\n dragChildrenKeys: getDragChildrenKeys(eventKey, keyEntities),\n indent: _this.listRef.current.getIndentWidth()\n });\n _this.setExpandedKeys(newExpandedKeys);\n window.addEventListener('dragend', _this.onWindowDragEnd);\n onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n };\n _this.onNodeDragEnter = function (event, node) {\n var _this$state2 = _this.state,\n expandedKeys = _this$state2.expandedKeys,\n keyEntities = _this$state2.keyEntities,\n dragChildrenKeys = _this$state2.dragChildrenKeys,\n flattenNodes = _this$state2.flattenNodes,\n indent = _this$state2.indent;\n var _this$props = _this.props,\n onDragEnter = _this$props.onDragEnter,\n onExpand = _this$props.onExpand,\n allowDrop = _this$props.allowDrop,\n direction = _this$props.direction;\n var _node$props = node.props,\n pos = _node$props.pos,\n eventKey = _node$props.eventKey;\n var _assertThisInitialize = _assertThisInitialized(_this),\n dragNode = _assertThisInitialize.dragNode;\n // record the key of node which is latest entered, used in dragleave event.\n if (_this.currentMouseOverDroppableNodeKey !== eventKey) {\n _this.currentMouseOverDroppableNodeKey = eventKey;\n }\n if (!dragNode) {\n _this.resetDragState();\n return;\n }\n var _calcDropPosition = calcDropPosition(event, dragNode, node, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition.dropPosition,\n dropLevelOffset = _calcDropPosition.dropLevelOffset,\n dropTargetKey = _calcDropPosition.dropTargetKey,\n dropContainerKey = _calcDropPosition.dropContainerKey,\n dropTargetPos = _calcDropPosition.dropTargetPos,\n dropAllowed = _calcDropPosition.dropAllowed,\n dragOverNodeKey = _calcDropPosition.dragOverNodeKey;\n if (\n // don't allow drop inside its children\n dragChildrenKeys.indexOf(dropTargetKey) !== -1 ||\n // don't allow drop when drop is not allowed caculated by calcDropPosition\n !dropAllowed) {\n _this.resetDragState();\n return;\n }\n // Side effect for delay drag\n if (!_this.delayedDragEnterLogic) {\n _this.delayedDragEnterLogic = {};\n }\n Object.keys(_this.delayedDragEnterLogic).forEach(function (key) {\n clearTimeout(_this.delayedDragEnterLogic[key]);\n });\n if (dragNode.props.eventKey !== node.props.eventKey) {\n // hoist expand logic here\n // since if logic is on the bottom\n // it will be blocked by abstract dragover node check\n // => if you dragenter from top, you mouse will still be consider as in the top node\n event.persist();\n _this.delayedDragEnterLogic[pos] = window.setTimeout(function () {\n if (_this.state.draggingNodeKey === null) return;\n var newExpandedKeys = _toConsumableArray(expandedKeys);\n var entity = keyEntities[node.props.eventKey];\n if (entity && (entity.children || []).length) {\n newExpandedKeys = arrAdd(expandedKeys, node.props.eventKey);\n }\n if (!('expandedKeys' in _this.props)) {\n _this.setExpandedKeys(newExpandedKeys);\n }\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(newExpandedKeys, {\n node: convertNodePropsToEventData(node.props),\n expanded: true,\n nativeEvent: event.nativeEvent\n });\n }, 800);\n }\n // Skip if drag node is self\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n _this.resetDragState();\n return;\n }\n // Update drag over node and drag state\n _this.setState({\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed\n });\n onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter({\n event: event,\n node: convertNodePropsToEventData(node.props),\n expandedKeys: expandedKeys\n });\n };\n _this.onNodeDragOver = function (event, node) {\n var _this$state3 = _this.state,\n dragChildrenKeys = _this$state3.dragChildrenKeys,\n flattenNodes = _this$state3.flattenNodes,\n keyEntities = _this$state3.keyEntities,\n expandedKeys = _this$state3.expandedKeys,\n indent = _this$state3.indent;\n var _this$props2 = _this.props,\n onDragOver = _this$props2.onDragOver,\n allowDrop = _this$props2.allowDrop,\n direction = _this$props2.direction;\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n dragNode = _assertThisInitialize2.dragNode;\n if (!dragNode) {\n return;\n }\n var _calcDropPosition2 = calcDropPosition(event, dragNode, node, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition2.dropPosition,\n dropLevelOffset = _calcDropPosition2.dropLevelOffset,\n dropTargetKey = _calcDropPosition2.dropTargetKey,\n dropContainerKey = _calcDropPosition2.dropContainerKey,\n dropAllowed = _calcDropPosition2.dropAllowed,\n dropTargetPos = _calcDropPosition2.dropTargetPos,\n dragOverNodeKey = _calcDropPosition2.dragOverNodeKey;\n if (dragChildrenKeys.indexOf(dropTargetKey) !== -1 || !dropAllowed) {\n // don't allow drop inside its children\n // don't allow drop when drop is not allowed caculated by calcDropPosition\n return;\n }\n // Update drag position\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n if (!(_this.state.dropPosition === null && _this.state.dropLevelOffset === null && _this.state.dropTargetKey === null && _this.state.dropContainerKey === null && _this.state.dropTargetPos === null && _this.state.dropAllowed === false && _this.state.dragOverNodeKey === null)) {\n _this.resetDragState();\n }\n } else if (!(dropPosition === _this.state.dropPosition && dropLevelOffset === _this.state.dropLevelOffset && dropTargetKey === _this.state.dropTargetKey && dropContainerKey === _this.state.dropContainerKey && dropTargetPos === _this.state.dropTargetPos && dropAllowed === _this.state.dropAllowed && dragOverNodeKey === _this.state.dragOverNodeKey)) {\n _this.setState({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed,\n dragOverNodeKey: dragOverNodeKey\n });\n }\n onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n };\n _this.onNodeDragLeave = function (event, node) {\n // if it is outside the droppable area\n // currentMouseOverDroppableNodeKey will be updated in dragenter event when into another droppable receiver.\n if (_this.currentMouseOverDroppableNodeKey === node.props.eventKey && !event.currentTarget.contains(event.relatedTarget)) {\n _this.resetDragState();\n _this.currentMouseOverDroppableNodeKey = null;\n }\n var onDragLeave = _this.props.onDragLeave;\n onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n };\n _this.onWindowDragEnd = function (event) {\n _this.onNodeDragEnd(event, null, true);\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n };\n _this.onNodeDragEnd = function (event, node) {\n var onDragEnd = _this.props.onDragEnd;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n _this.dragNode = null;\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n };\n _this.onNodeDrop = function (event, node) {\n var _this$getActiveItem;\n var outsideTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var _this$state4 = _this.state,\n dragChildrenKeys = _this$state4.dragChildrenKeys,\n dropPosition = _this$state4.dropPosition,\n dropTargetKey = _this$state4.dropTargetKey,\n dropTargetPos = _this$state4.dropTargetPos,\n dropAllowed = _this$state4.dropAllowed;\n if (!dropAllowed) return;\n var onDrop = _this.props.onDrop;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n if (dropTargetKey === null) return;\n var abstractDropNodeProps = _objectSpread(_objectSpread({}, getTreeNodeProps(dropTargetKey, _this.getTreeNodeRequiredProps())), {}, {\n active: ((_this$getActiveItem = _this.getActiveItem()) === null || _this$getActiveItem === void 0 ? void 0 : _this$getActiveItem.key) === dropTargetKey,\n data: _this.state.keyEntities[dropTargetKey].node\n });\n var dropToChild = dragChildrenKeys.indexOf(dropTargetKey) !== -1;\n warning(!dropToChild, \"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.\");\n var posArr = posToArr(dropTargetPos);\n var dropResult = {\n event: event,\n node: convertNodePropsToEventData(abstractDropNodeProps),\n dragNode: _this.dragNode ? convertNodePropsToEventData(_this.dragNode.props) : null,\n dragNodesKeys: [_this.dragNode.props.eventKey].concat(dragChildrenKeys),\n dropToGap: dropPosition !== 0,\n dropPosition: dropPosition + Number(posArr[posArr.length - 1])\n };\n if (!outsideTree) {\n onDrop === null || onDrop === void 0 ? void 0 : onDrop(dropResult);\n }\n _this.dragNode = null;\n };\n _this.cleanDragState = function () {\n var draggingNodeKey = _this.state.draggingNodeKey;\n if (draggingNodeKey !== null) {\n _this.setState({\n draggingNodeKey: null,\n dropPosition: null,\n dropContainerKey: null,\n dropTargetKey: null,\n dropLevelOffset: null,\n dropAllowed: true,\n dragOverNodeKey: null\n });\n }\n _this.dragStartMousePosition = null;\n _this.currentMouseOverDroppableNodeKey = null;\n };\n _this.triggerExpandActionExpand = function (e, treeNode) {\n var _this$state5 = _this.state,\n expandedKeys = _this$state5.expandedKeys,\n flattenNodes = _this$state5.flattenNodes;\n var expanded = treeNode.expanded,\n key = treeNode.key,\n isLeaf = treeNode.isLeaf;\n if (isLeaf || e.shiftKey || e.metaKey || e.ctrlKey) {\n return;\n }\n var node = flattenNodes.filter(function (nodeItem) {\n return nodeItem.key === key;\n })[0];\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(key, _this.getTreeNodeRequiredProps())), {}, {\n data: node.data\n }));\n _this.setExpandedKeys(expanded ? arrDel(expandedKeys, key) : arrAdd(expandedKeys, key));\n _this.onNodeExpand(e, eventNode);\n };\n _this.onNodeClick = function (e, treeNode) {\n var _this$props3 = _this.props,\n onClick = _this$props3.onClick,\n expandAction = _this$props3.expandAction;\n if (expandAction === 'click') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(e, treeNode);\n };\n _this.onNodeDoubleClick = function (e, treeNode) {\n var _this$props4 = _this.props,\n onDoubleClick = _this$props4.onDoubleClick,\n expandAction = _this$props4.expandAction;\n if (expandAction === 'doubleClick') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onDoubleClick === null || onDoubleClick === void 0 ? void 0 : onDoubleClick(e, treeNode);\n };\n _this.onNodeSelect = function (e, treeNode) {\n var selectedKeys = _this.state.selectedKeys;\n var _this$state6 = _this.state,\n keyEntities = _this$state6.keyEntities,\n fieldNames = _this$state6.fieldNames;\n var _this$props5 = _this.props,\n onSelect = _this$props5.onSelect,\n multiple = _this$props5.multiple;\n var selected = treeNode.selected;\n var key = treeNode[fieldNames.key];\n var targetSelected = !selected;\n // Update selected keys\n if (!targetSelected) {\n selectedKeys = arrDel(selectedKeys, key);\n } else if (!multiple) {\n selectedKeys = [key];\n } else {\n selectedKeys = arrAdd(selectedKeys, key);\n }\n // [Legacy] Not found related usage in doc or upper libs\n var selectedNodes = selectedKeys.map(function (selectedKey) {\n var entity = keyEntities[selectedKey];\n if (!entity) return null;\n return entity.node;\n }).filter(function (node) {\n return node;\n });\n _this.setUncontrolledState({\n selectedKeys: selectedKeys\n });\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedKeys, {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes: selectedNodes,\n nativeEvent: e.nativeEvent\n });\n };\n _this.onNodeCheck = function (e, treeNode, checked) {\n var _this$state7 = _this.state,\n keyEntities = _this$state7.keyEntities,\n oriCheckedKeys = _this$state7.checkedKeys,\n oriHalfCheckedKeys = _this$state7.halfCheckedKeys;\n var _this$props6 = _this.props,\n checkStrictly = _this$props6.checkStrictly,\n onCheck = _this$props6.onCheck;\n var key = treeNode.key;\n // Prepare trigger arguments\n var checkedObj;\n var eventObj = {\n event: 'check',\n node: treeNode,\n checked: checked,\n nativeEvent: e.nativeEvent\n };\n if (checkStrictly) {\n var checkedKeys = checked ? arrAdd(oriCheckedKeys, key) : arrDel(oriCheckedKeys, key);\n var halfCheckedKeys = arrDel(oriHalfCheckedKeys, key);\n checkedObj = {\n checked: checkedKeys,\n halfChecked: halfCheckedKeys\n };\n eventObj.checkedNodes = checkedKeys.map(function (checkedKey) {\n return keyEntities[checkedKey];\n }).filter(function (entity) {\n return entity;\n }).map(function (entity) {\n return entity.node;\n });\n _this.setUncontrolledState({\n checkedKeys: checkedKeys\n });\n } else {\n // Always fill first\n var _conductCheck = conductCheck([].concat(_toConsumableArray(oriCheckedKeys), [key]), true, keyEntities),\n _checkedKeys = _conductCheck.checkedKeys,\n _halfCheckedKeys = _conductCheck.halfCheckedKeys;\n // If remove, we do it again to correction\n if (!checked) {\n var keySet = new Set(_checkedKeys);\n keySet.delete(key);\n var _conductCheck2 = conductCheck(Array.from(keySet), {\n checked: false,\n halfCheckedKeys: _halfCheckedKeys\n }, keyEntities);\n _checkedKeys = _conductCheck2.checkedKeys;\n _halfCheckedKeys = _conductCheck2.halfCheckedKeys;\n }\n checkedObj = _checkedKeys;\n // [Legacy] This is used for `rc-tree-select`\n eventObj.checkedNodes = [];\n eventObj.checkedNodesPositions = [];\n eventObj.halfCheckedKeys = _halfCheckedKeys;\n _checkedKeys.forEach(function (checkedKey) {\n var entity = keyEntities[checkedKey];\n if (!entity) return;\n var node = entity.node,\n pos = entity.pos;\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({\n node: node,\n pos: pos\n });\n });\n _this.setUncontrolledState({\n checkedKeys: _checkedKeys\n }, false, {\n halfCheckedKeys: _halfCheckedKeys\n });\n }\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(checkedObj, eventObj);\n };\n _this.onNodeLoad = function (treeNode) {\n var key = treeNode.key;\n var loadPromise = new Promise(function (resolve, reject) {\n // We need to get the latest state of loading/loaded keys\n _this.setState(function (_ref) {\n var _ref$loadedKeys = _ref.loadedKeys,\n loadedKeys = _ref$loadedKeys === void 0 ? [] : _ref$loadedKeys,\n _ref$loadingKeys = _ref.loadingKeys,\n loadingKeys = _ref$loadingKeys === void 0 ? [] : _ref$loadingKeys;\n var _this$props7 = _this.props,\n loadData = _this$props7.loadData,\n onLoad = _this$props7.onLoad;\n if (!loadData || loadedKeys.indexOf(key) !== -1 || loadingKeys.indexOf(key) !== -1) {\n return null;\n }\n // Process load data\n var promise = loadData(treeNode);\n promise.then(function () {\n var currentLoadedKeys = _this.state.loadedKeys;\n var newLoadedKeys = arrAdd(currentLoadedKeys, key);\n // onLoad should trigger before internal setState to avoid `loadData` trigger twice.\n // https://github.com/ant-design/ant-design/issues/12464\n onLoad === null || onLoad === void 0 ? void 0 : onLoad(newLoadedKeys, {\n event: 'load',\n node: treeNode\n });\n _this.setUncontrolledState({\n loadedKeys: newLoadedKeys\n });\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n resolve();\n }).catch(function (e) {\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n // If exceed max retry times, we give up retry\n _this.loadingRetryTimes[key] = (_this.loadingRetryTimes[key] || 0) + 1;\n if (_this.loadingRetryTimes[key] >= MAX_RETRY_TIMES) {\n var currentLoadedKeys = _this.state.loadedKeys;\n warning(false, 'Retry for `loadData` many times but still failed. No more retry.');\n _this.setUncontrolledState({\n loadedKeys: arrAdd(currentLoadedKeys, key)\n });\n resolve();\n }\n reject(e);\n });\n return {\n loadingKeys: arrAdd(loadingKeys, key)\n };\n });\n });\n // Not care warning if we ignore this\n loadPromise.catch(function () {});\n return loadPromise;\n };\n _this.onNodeMouseEnter = function (event, node) {\n var onMouseEnter = _this.props.onMouseEnter;\n onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({\n event: event,\n node: node\n });\n };\n _this.onNodeMouseLeave = function (event, node) {\n var onMouseLeave = _this.props.onMouseLeave;\n onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({\n event: event,\n node: node\n });\n };\n _this.onNodeContextMenu = function (event, node) {\n var onRightClick = _this.props.onRightClick;\n if (onRightClick) {\n event.preventDefault();\n onRightClick({\n event: event,\n node: node\n });\n }\n };\n _this.onFocus = function () {\n var onFocus = _this.props.onFocus;\n _this.setState({\n focused: true\n });\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n onFocus === null || onFocus === void 0 ? void 0 : onFocus.apply(void 0, args);\n };\n _this.onBlur = function () {\n var onBlur = _this.props.onBlur;\n _this.setState({\n focused: false\n });\n _this.onActiveChange(null);\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n onBlur === null || onBlur === void 0 ? void 0 : onBlur.apply(void 0, args);\n };\n _this.getTreeNodeRequiredProps = function () {\n var _this$state8 = _this.state,\n expandedKeys = _this$state8.expandedKeys,\n selectedKeys = _this$state8.selectedKeys,\n loadedKeys = _this$state8.loadedKeys,\n loadingKeys = _this$state8.loadingKeys,\n checkedKeys = _this$state8.checkedKeys,\n halfCheckedKeys = _this$state8.halfCheckedKeys,\n dragOverNodeKey = _this$state8.dragOverNodeKey,\n dropPosition = _this$state8.dropPosition,\n keyEntities = _this$state8.keyEntities;\n return {\n expandedKeys: expandedKeys || [],\n selectedKeys: selectedKeys || [],\n loadedKeys: loadedKeys || [],\n loadingKeys: loadingKeys || [],\n checkedKeys: checkedKeys || [],\n halfCheckedKeys: halfCheckedKeys || [],\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n };\n _this.setExpandedKeys = function (expandedKeys) {\n var _this$state9 = _this.state,\n treeData = _this$state9.treeData,\n fieldNames = _this$state9.fieldNames;\n var flattenNodes = flattenTreeData(treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n expandedKeys: expandedKeys,\n flattenNodes: flattenNodes\n }, true);\n };\n _this.onNodeExpand = function (e, treeNode) {\n var expandedKeys = _this.state.expandedKeys;\n var _this$state10 = _this.state,\n listChanging = _this$state10.listChanging,\n fieldNames = _this$state10.fieldNames;\n var _this$props8 = _this.props,\n onExpand = _this$props8.onExpand,\n loadData = _this$props8.loadData;\n var expanded = treeNode.expanded;\n var key = treeNode[fieldNames.key];\n // Do nothing when motion is in progress\n if (listChanging) {\n return;\n }\n // Update selected keys\n var index = expandedKeys.indexOf(key);\n var targetExpanded = !expanded;\n warning(expanded && index !== -1 || !expanded && index === -1, 'Expand state not sync with index check');\n if (targetExpanded) {\n expandedKeys = arrAdd(expandedKeys, key);\n } else {\n expandedKeys = arrDel(expandedKeys, key);\n }\n _this.setExpandedKeys(expandedKeys);\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e.nativeEvent\n });\n // Async Load data\n if (targetExpanded && loadData) {\n var loadPromise = _this.onNodeLoad(treeNode);\n if (loadPromise) {\n loadPromise.then(function () {\n // [Legacy] Refresh logic\n var newFlattenTreeData = flattenTreeData(_this.state.treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n flattenNodes: newFlattenTreeData\n });\n }).catch(function () {\n var currentExpandedKeys = _this.state.expandedKeys;\n var expandedKeysToRestore = arrDel(currentExpandedKeys, key);\n _this.setExpandedKeys(expandedKeysToRestore);\n });\n }\n }\n };\n _this.onListChangeStart = function () {\n _this.setUncontrolledState({\n listChanging: true\n });\n };\n _this.onListChangeEnd = function () {\n setTimeout(function () {\n _this.setUncontrolledState({\n listChanging: false\n });\n });\n };\n _this.onActiveChange = function (newActiveKey) {\n var activeKey = _this.state.activeKey;\n var onActiveChange = _this.props.onActiveChange;\n if (activeKey === newActiveKey) {\n return;\n }\n _this.setState({\n activeKey: newActiveKey\n });\n if (newActiveKey !== null) {\n _this.scrollTo({\n key: newActiveKey\n });\n }\n onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(newActiveKey);\n };\n _this.getActiveItem = function () {\n var _this$state11 = _this.state,\n activeKey = _this$state11.activeKey,\n flattenNodes = _this$state11.flattenNodes;\n if (activeKey === null) {\n return null;\n }\n return flattenNodes.find(function (_ref2) {\n var key = _ref2.key;\n return key === activeKey;\n }) || null;\n };\n _this.offsetActiveKey = function (offset) {\n var _this$state12 = _this.state,\n flattenNodes = _this$state12.flattenNodes,\n activeKey = _this$state12.activeKey;\n var index = flattenNodes.findIndex(function (_ref3) {\n var key = _ref3.key;\n return key === activeKey;\n });\n // Align with index\n if (index === -1 && offset < 0) {\n index = flattenNodes.length;\n }\n index = (index + offset + flattenNodes.length) % flattenNodes.length;\n var item = flattenNodes[index];\n if (item) {\n var key = item.key;\n _this.onActiveChange(key);\n } else {\n _this.onActiveChange(null);\n }\n };\n _this.onKeyDown = function (event) {\n var _this$state13 = _this.state,\n activeKey = _this$state13.activeKey,\n expandedKeys = _this$state13.expandedKeys,\n checkedKeys = _this$state13.checkedKeys,\n fieldNames = _this$state13.fieldNames;\n var _this$props9 = _this.props,\n onKeyDown = _this$props9.onKeyDown,\n checkable = _this$props9.checkable,\n selectable = _this$props9.selectable;\n // >>>>>>>>>> Direction\n switch (event.which) {\n case KeyCode.UP:\n {\n _this.offsetActiveKey(-1);\n event.preventDefault();\n break;\n }\n case KeyCode.DOWN:\n {\n _this.offsetActiveKey(1);\n event.preventDefault();\n break;\n }\n }\n // >>>>>>>>>> Expand & Selection\n var activeItem = _this.getActiveItem();\n if (activeItem && activeItem.data) {\n var treeNodeRequiredProps = _this.getTreeNodeRequiredProps();\n var expandable = activeItem.data.isLeaf === false || !!(activeItem.data[fieldNames.children] || []).length;\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(activeKey, treeNodeRequiredProps)), {}, {\n data: activeItem.data,\n active: true\n }));\n switch (event.which) {\n // >>> Expand\n case KeyCode.LEFT:\n {\n // Collapse if possible\n if (expandable && expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.parent) {\n _this.onActiveChange(activeItem.parent.key);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.RIGHT:\n {\n // Expand if possible\n if (expandable && !expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.children && activeItem.children.length) {\n _this.onActiveChange(activeItem.children[0].key);\n }\n event.preventDefault();\n break;\n }\n // Selection\n case KeyCode.ENTER:\n case KeyCode.SPACE:\n {\n if (checkable && !eventNode.disabled && eventNode.checkable !== false && !eventNode.disableCheckbox) {\n _this.onNodeCheck({}, eventNode, !checkedKeys.includes(activeKey));\n } else if (!checkable && selectable && !eventNode.disabled && eventNode.selectable !== false) {\n _this.onNodeSelect({}, eventNode);\n }\n break;\n }\n }\n }\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n };\n _this.setUncontrolledState = function (state) {\n var atomic = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var forceState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (!_this.destroyed) {\n var needSync = false;\n var allPassed = true;\n var newState = {};\n Object.keys(state).forEach(function (name) {\n if (name in _this.props) {\n allPassed = false;\n return;\n }\n needSync = true;\n newState[name] = state[name];\n });\n if (needSync && (!atomic || allPassed)) {\n _this.setState(_objectSpread(_objectSpread({}, newState), forceState));\n }\n }\n };\n _this.scrollTo = function (scroll) {\n _this.listRef.current.scrollTo(scroll);\n };\n return _this;\n }\n _createClass(Tree, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.destroyed = false;\n this.onUpdated();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onUpdated();\n }\n }, {\n key: \"onUpdated\",\n value: function onUpdated() {\n var activeKey = this.props.activeKey;\n if (activeKey !== undefined && activeKey !== this.state.activeKey) {\n this.setState({\n activeKey: activeKey\n });\n if (activeKey !== null) {\n this.scrollTo({\n key: activeKey\n });\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('dragend', this.onWindowDragEnd);\n this.destroyed = true;\n }\n }, {\n key: \"resetDragState\",\n value: function resetDragState() {\n this.setState({\n dragOverNodeKey: null,\n dropPosition: null,\n dropLevelOffset: null,\n dropTargetKey: null,\n dropContainerKey: null,\n dropTargetPos: null,\n dropAllowed: false\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n var _this$state14 = this.state,\n focused = _this$state14.focused,\n flattenNodes = _this$state14.flattenNodes,\n keyEntities = _this$state14.keyEntities,\n draggingNodeKey = _this$state14.draggingNodeKey,\n activeKey = _this$state14.activeKey,\n dropLevelOffset = _this$state14.dropLevelOffset,\n dropContainerKey = _this$state14.dropContainerKey,\n dropTargetKey = _this$state14.dropTargetKey,\n dropPosition = _this$state14.dropPosition,\n dragOverNodeKey = _this$state14.dragOverNodeKey,\n indent = _this$state14.indent;\n var _this$props10 = this.props,\n prefixCls = _this$props10.prefixCls,\n className = _this$props10.className,\n style = _this$props10.style,\n showLine = _this$props10.showLine,\n focusable = _this$props10.focusable,\n _this$props10$tabInde = _this$props10.tabIndex,\n tabIndex = _this$props10$tabInde === void 0 ? 0 : _this$props10$tabInde,\n selectable = _this$props10.selectable,\n showIcon = _this$props10.showIcon,\n icon = _this$props10.icon,\n switcherIcon = _this$props10.switcherIcon,\n draggable = _this$props10.draggable,\n checkable = _this$props10.checkable,\n checkStrictly = _this$props10.checkStrictly,\n disabled = _this$props10.disabled,\n motion = _this$props10.motion,\n loadData = _this$props10.loadData,\n filterTreeNode = _this$props10.filterTreeNode,\n height = _this$props10.height,\n itemHeight = _this$props10.itemHeight,\n virtual = _this$props10.virtual,\n titleRender = _this$props10.titleRender,\n dropIndicatorRender = _this$props10.dropIndicatorRender,\n onContextMenu = _this$props10.onContextMenu,\n onScroll = _this$props10.onScroll,\n direction = _this$props10.direction,\n rootClassName = _this$props10.rootClassName,\n rootStyle = _this$props10.rootStyle;\n var domProps = pickAttrs(this.props, {\n aria: true,\n data: true\n });\n // It's better move to hooks but we just simply keep here\n var draggableConfig;\n if (draggable) {\n if (_typeof(draggable) === 'object') {\n draggableConfig = draggable;\n } else if (typeof draggable === 'function') {\n draggableConfig = {\n nodeDraggable: draggable\n };\n } else {\n draggableConfig = {};\n }\n }\n return /*#__PURE__*/React.createElement(TreeContext.Provider, {\n value: {\n prefixCls: prefixCls,\n selectable: selectable,\n showIcon: showIcon,\n icon: icon,\n switcherIcon: switcherIcon,\n draggable: draggableConfig,\n draggingNodeKey: draggingNodeKey,\n checkable: checkable,\n checkStrictly: checkStrictly,\n disabled: disabled,\n keyEntities: keyEntities,\n dropLevelOffset: dropLevelOffset,\n dropContainerKey: dropContainerKey,\n dropTargetKey: dropTargetKey,\n dropPosition: dropPosition,\n dragOverNodeKey: dragOverNodeKey,\n indent: indent,\n direction: direction,\n dropIndicatorRender: dropIndicatorRender,\n loadData: loadData,\n filterTreeNode: filterTreeNode,\n titleRender: titleRender,\n onNodeClick: this.onNodeClick,\n onNodeDoubleClick: this.onNodeDoubleClick,\n onNodeExpand: this.onNodeExpand,\n onNodeSelect: this.onNodeSelect,\n onNodeCheck: this.onNodeCheck,\n onNodeLoad: this.onNodeLoad,\n onNodeMouseEnter: this.onNodeMouseEnter,\n onNodeMouseLeave: this.onNodeMouseLeave,\n onNodeContextMenu: this.onNodeContextMenu,\n onNodeDragStart: this.onNodeDragStart,\n onNodeDragEnter: this.onNodeDragEnter,\n onNodeDragOver: this.onNodeDragOver,\n onNodeDragLeave: this.onNodeDragLeave,\n onNodeDragEnd: this.onNodeDragEnd,\n onNodeDrop: this.onNodeDrop\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"tree\",\n className: classNames(prefixCls, className, rootClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-line\"), showLine), _defineProperty(_classNames, \"\".concat(prefixCls, \"-focused\"), focused), _defineProperty(_classNames, \"\".concat(prefixCls, \"-active-focused\"), activeKey !== null), _classNames)),\n style: rootStyle\n }, /*#__PURE__*/React.createElement(NodeList, _extends({\n ref: this.listRef,\n prefixCls: prefixCls,\n style: style,\n data: flattenNodes,\n disabled: disabled,\n selectable: selectable,\n checkable: !!checkable,\n motion: motion,\n dragging: draggingNodeKey !== null,\n height: height,\n itemHeight: itemHeight,\n virtual: virtual,\n focusable: focusable,\n focused: focused,\n tabIndex: tabIndex,\n activeItem: this.getActiveItem(),\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeyDown: this.onKeyDown,\n onActiveChange: this.onActiveChange,\n onListChangeStart: this.onListChangeStart,\n onListChangeEnd: this.onListChangeEnd,\n onContextMenu: onContextMenu,\n onScroll: onScroll\n }, this.getTreeNodeRequiredProps(), domProps))));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, prevState) {\n var prevProps = prevState.prevProps;\n var newState = {\n prevProps: props\n };\n function needSync(name) {\n return !prevProps && name in props || prevProps && prevProps[name] !== props[name];\n }\n // ================== Tree Node ==================\n var treeData;\n // fieldNames\n var fieldNames = prevState.fieldNames;\n if (needSync('fieldNames')) {\n fieldNames = fillFieldNames(props.fieldNames);\n newState.fieldNames = fieldNames;\n }\n // Check if `treeData` or `children` changed and save into the state.\n if (needSync('treeData')) {\n treeData = props.treeData;\n } else if (needSync('children')) {\n warning(false, '`children` of Tree is deprecated. Please use `treeData` instead.');\n treeData = convertTreeToData(props.children);\n }\n // Save flatten nodes info and convert `treeData` into keyEntities\n if (treeData) {\n newState.treeData = treeData;\n var entitiesMap = convertDataToEntities(treeData, {\n fieldNames: fieldNames\n });\n newState.keyEntities = _objectSpread(_defineProperty({}, MOTION_KEY, MotionEntity), entitiesMap.keyEntities);\n // Warning if treeNode not provide key\n if (process.env.NODE_ENV !== 'production') {\n warningWithoutKey(treeData, fieldNames);\n }\n }\n var keyEntities = newState.keyEntities || prevState.keyEntities;\n // ================ expandedKeys =================\n if (needSync('expandedKeys') || prevProps && needSync('autoExpandParent')) {\n newState.expandedKeys = props.autoExpandParent || !prevProps && props.defaultExpandParent ? conductExpandParent(props.expandedKeys, keyEntities) : props.expandedKeys;\n } else if (!prevProps && props.defaultExpandAll) {\n var cloneKeyEntities = _objectSpread({}, keyEntities);\n delete cloneKeyEntities[MOTION_KEY];\n newState.expandedKeys = Object.keys(cloneKeyEntities).map(function (key) {\n return cloneKeyEntities[key].key;\n });\n } else if (!prevProps && props.defaultExpandedKeys) {\n newState.expandedKeys = props.autoExpandParent || props.defaultExpandParent ? conductExpandParent(props.defaultExpandedKeys, keyEntities) : props.defaultExpandedKeys;\n }\n if (!newState.expandedKeys) {\n delete newState.expandedKeys;\n }\n // ================ flattenNodes =================\n if (treeData || newState.expandedKeys) {\n var flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, fieldNames);\n newState.flattenNodes = flattenNodes;\n }\n // ================ selectedKeys =================\n if (props.selectable) {\n if (needSync('selectedKeys')) {\n newState.selectedKeys = calcSelectedKeys(props.selectedKeys, props);\n } else if (!prevProps && props.defaultSelectedKeys) {\n newState.selectedKeys = calcSelectedKeys(props.defaultSelectedKeys, props);\n }\n }\n // ================= checkedKeys =================\n if (props.checkable) {\n var checkedKeyEntity;\n if (needSync('checkedKeys')) {\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {};\n } else if (!prevProps && props.defaultCheckedKeys) {\n checkedKeyEntity = parseCheckedKeys(props.defaultCheckedKeys) || {};\n } else if (treeData) {\n // If `treeData` changed, we also need check it\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {\n checkedKeys: prevState.checkedKeys,\n halfCheckedKeys: prevState.halfCheckedKeys\n };\n }\n if (checkedKeyEntity) {\n var _checkedKeyEntity = checkedKeyEntity,\n _checkedKeyEntity$che = _checkedKeyEntity.checkedKeys,\n checkedKeys = _checkedKeyEntity$che === void 0 ? [] : _checkedKeyEntity$che,\n _checkedKeyEntity$hal = _checkedKeyEntity.halfCheckedKeys,\n halfCheckedKeys = _checkedKeyEntity$hal === void 0 ? [] : _checkedKeyEntity$hal;\n if (!props.checkStrictly) {\n var conductKeys = conductCheck(checkedKeys, true, keyEntities);\n checkedKeys = conductKeys.checkedKeys;\n halfCheckedKeys = conductKeys.halfCheckedKeys;\n }\n newState.checkedKeys = checkedKeys;\n newState.halfCheckedKeys = halfCheckedKeys;\n }\n }\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState.loadedKeys = props.loadedKeys;\n }\n return newState;\n }\n }]);\n return Tree;\n}(React.Component);\nTree.defaultProps = {\n prefixCls: 'rc-tree',\n showLine: false,\n showIcon: true,\n selectable: true,\n multiple: false,\n checkable: false,\n disabled: false,\n checkStrictly: false,\n draggable: false,\n defaultExpandParent: true,\n autoExpandParent: false,\n defaultExpandAll: false,\n defaultExpandedKeys: [],\n defaultCheckedKeys: [],\n defaultSelectedKeys: [],\n dropIndicatorRender: DropIndicator,\n allowDrop: function allowDrop() {\n return true;\n },\n expandAction: false\n};\nTree.TreeNode = TreeNode;\nexport default Tree;","import * as React from 'react';\nexport default function DropIndicator(_ref) {\n var dropPosition = _ref.dropPosition,\n dropLevelOffset = _ref.dropLevelOffset,\n indent = _ref.indent;\n var style = {\n pointerEvents: 'none',\n position: 'absolute',\n right: 0,\n backgroundColor: 'red',\n height: 2\n };\n switch (dropPosition) {\n case -1:\n style.top = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 1:\n style.bottom = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 0:\n style.bottom = 0;\n style.left = indent;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style\n });\n}","import Tree from './Tree';\nimport TreeNode from './TreeNode';\nexport { TreeNode };\nexport default Tree;","// This icon file is generated automatically.\nvar HolderOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z\" } }] }, \"name\": \"holder\", \"theme\": \"outlined\" };\nexport default HolderOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport HolderOutlinedSvg from \"@ant-design/icons-svg/es/asn/HolderOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar HolderOutlined = function HolderOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: HolderOutlinedSvg\n }));\n};\nHolderOutlined.displayName = 'HolderOutlined';\nexport default /*#__PURE__*/React.forwardRef(HolderOutlined);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport React from 'react';\nexport var offset = 4;\nexport default function dropIndicatorRender(props) {\n var _style;\n var dropPosition = props.dropPosition,\n dropLevelOffset = props.dropLevelOffset,\n prefixCls = props.prefixCls,\n indent = props.indent,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'ltr' : _props$direction;\n var startPosition = direction === 'ltr' ? 'left' : 'right';\n var endPosition = direction === 'ltr' ? 'right' : 'left';\n var style = (_style = {}, _defineProperty(_style, startPosition, -dropLevelOffset * indent + offset), _defineProperty(_style, endPosition, 0), _style);\n switch (dropPosition) {\n case -1:\n style.top = -3;\n break;\n case 1:\n style.bottom = -3;\n break;\n default:\n // dropPosition === 0\n style.bottom = -3;\n style[startPosition] = indent + offset;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style,\n className: prefixCls + \"-drop-indicator\"\n });\n}","// This icon file is generated automatically.\nvar CaretDownFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"filled\" };\nexport default CaretDownFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CaretDownFilledSvg from \"@ant-design/icons-svg/es/asn/CaretDownFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar CaretDownFilled = function CaretDownFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CaretDownFilledSvg\n }));\n};\nCaretDownFilled.displayName = 'CaretDownFilled';\nexport default /*#__PURE__*/React.forwardRef(CaretDownFilled);","// This icon file is generated automatically.\nvar FileOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z\" } }] }, \"name\": \"file\", \"theme\": \"outlined\" };\nexport default FileOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport FileOutlinedSvg from \"@ant-design/icons-svg/es/asn/FileOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar FileOutlined = function FileOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: FileOutlinedSvg\n }));\n};\nFileOutlined.displayName = 'FileOutlined';\nexport default /*#__PURE__*/React.forwardRef(FileOutlined);","// This icon file is generated automatically.\nvar MinusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"minus-square\", \"theme\": \"outlined\" };\nexport default MinusSquareOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport MinusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/MinusSquareOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar MinusSquareOutlined = function MinusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: MinusSquareOutlinedSvg\n }));\n};\nMinusSquareOutlined.displayName = 'MinusSquareOutlined';\nexport default /*#__PURE__*/React.forwardRef(MinusSquareOutlined);","// This icon file is generated automatically.\nvar PlusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"plus-square\", \"theme\": \"outlined\" };\nexport default PlusSquareOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport PlusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusSquareOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar PlusSquareOutlined = function PlusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: PlusSquareOutlinedSvg\n }));\n};\nPlusSquareOutlined.displayName = 'PlusSquareOutlined';\nexport default /*#__PURE__*/React.forwardRef(PlusSquareOutlined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Keyframes } from '@ant-design/cssinjs';\nimport { genCollapseMotion } from '../../style/motion';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genFocusOutline, resetComponent } from '../../style';\n// ============================ Keyframes =============================\nvar treeNodeFX = new Keyframes('ant-tree-node-fx-do-not-use', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\n// ============================== Switch ==============================\nvar getSwitchStyle = function getSwitchStyle(prefixCls, token) {\n return _defineProperty({}, \".\" + prefixCls + \"-switcher-icon\", {\n display: 'inline-block',\n fontSize: 10,\n verticalAlign: 'baseline',\n svg: {\n transition: \"transform \" + token.motionDurationSlow\n }\n });\n};\n// =============================== Drop ===============================\nvar getDropIndicatorStyle = function getDropIndicatorStyle(prefixCls, token) {\n return _defineProperty({}, \".\" + prefixCls + \"-drop-indicator\", {\n position: 'absolute',\n // it should displayed over the following node\n zIndex: 1,\n height: 2,\n backgroundColor: token.colorPrimary,\n borderRadius: 1,\n pointerEvents: 'none',\n '&:after': {\n position: 'absolute',\n top: -3,\n insetInlineStart: -6,\n width: 8,\n height: 8,\n backgroundColor: 'transparent',\n border: token.lineWidthBold + \"px solid \" + token.colorPrimary,\n borderRadius: '50%',\n content: '\"\"'\n }\n });\n};\nexport var genBaseStyle = function genBaseStyle(prefixCls, token) {\n var _ref3, _draggable, _ref7, _ref8, _showLine, _extends2;\n var treeCls = token.treeCls,\n treeNodeCls = token.treeNodeCls,\n treeNodePadding = token.treeNodePadding,\n treeTitleHeight = token.treeTitleHeight;\n var treeCheckBoxMarginVertical = (treeTitleHeight - token.fontSizeLG) / 2;\n var treeCheckBoxMarginHorizontal = token.paddingXS;\n return _defineProperty({}, treeCls, _extends(_extends({}, resetComponent(token)), (_extends2 = {\n background: token.colorBgContainer,\n borderRadius: token.borderRadius,\n transition: \"background-color \" + token.motionDurationSlow,\n '&&-rtl': _defineProperty({}, treeCls + \"-switcher\", {\n '&_close': _defineProperty({}, treeCls + \"-switcher-icon\", {\n svg: {\n transform: 'rotate(90deg)'\n }\n })\n }),\n '&-focused:not(:hover):not(&-active-focused)': _extends({}, genFocusOutline(token))\n }, _defineProperty(_extends2, treeCls + \"-list-holder-inner\", {\n alignItems: 'flex-start'\n }), _defineProperty(_extends2, \"&\" + treeCls + \"-block-node\", _defineProperty({}, treeCls + \"-list-holder-inner\", (_ref3 = {\n alignItems: 'stretch'\n }, _defineProperty(_ref3, treeCls + \"-node-content-wrapper\", {\n flex: 'auto'\n }), _defineProperty(_ref3, treeNodeCls + \".dragging\", {\n position: 'relative',\n '&:after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: treeNodePadding,\n insetInlineStart: 0,\n border: \"1px solid \" + token.colorPrimary,\n opacity: 0,\n animationName: treeNodeFX,\n animationDuration: token.motionDurationSlow,\n animationPlayState: 'running',\n animationFillMode: 'forwards',\n content: '\"\"',\n pointerEvents: 'none'\n }\n }), _ref3))), _defineProperty(_extends2, \"\" + treeNodeCls, (_ref7 = {\n display: 'flex',\n alignItems: 'flex-start',\n padding: \"0 0 \" + treeNodePadding + \"px 0\",\n outline: 'none',\n '&-rtl': {\n direction: 'rtl'\n },\n // Disabled\n '&-disabled': _defineProperty({}, treeCls + \"-node-content-wrapper\", {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n background: 'transparent'\n }\n })\n }, _defineProperty(_ref7, \"&-active \" + treeCls + \"-node-content-wrapper\", _extends({}, genFocusOutline(token))), _defineProperty(_ref7, \"&:not(&-disabled).filter-node \" + treeCls + \"-title\", {\n color: 'inherit',\n fontWeight: 500\n }), _defineProperty(_ref7, '&-draggable', (_draggable = {}, _defineProperty(_draggable, treeCls + \"-draggable-icon\", _defineProperty({\n width: treeTitleHeight,\n lineHeight: treeTitleHeight + \"px\",\n textAlign: 'center',\n visibility: 'visible',\n opacity: 0.2,\n transition: \"opacity \" + token.motionDurationSlow\n }, treeNodeCls + \":hover &\", {\n opacity: 0.45\n })), _defineProperty(_draggable, \"&\" + treeNodeCls + \"-disabled\", _defineProperty({}, treeCls + \"-draggable-icon\", {\n visibility: 'hidden'\n })), _draggable)), _ref7)), _defineProperty(_extends2, treeCls + \"-indent\", {\n alignSelf: 'stretch',\n whiteSpace: 'nowrap',\n userSelect: 'none',\n '&-unit': {\n display: 'inline-block',\n width: treeTitleHeight\n }\n }), _defineProperty(_extends2, treeCls + \"-draggable-icon\", {\n visibility: 'hidden'\n }), _defineProperty(_extends2, treeCls + \"-switcher\", _extends(_extends({}, getSwitchStyle(prefixCls, token)), {\n position: 'relative',\n flex: 'none',\n alignSelf: 'stretch',\n width: treeTitleHeight,\n margin: 0,\n lineHeight: treeTitleHeight + \"px\",\n textAlign: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n '&-noop': {\n cursor: 'default'\n },\n '&_close': _defineProperty({}, treeCls + \"-switcher-icon\", {\n svg: {\n transform: 'rotate(-90deg)'\n }\n }),\n '&-loading-icon': {\n color: token.colorPrimary\n },\n '&-leaf-line': {\n position: 'relative',\n zIndex: 1,\n display: 'inline-block',\n width: '100%',\n height: '100%',\n // https://github.com/ant-design/ant-design/issues/31884\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: treeTitleHeight / 2,\n bottom: -treeNodePadding,\n marginInlineStart: -1,\n borderInlineEnd: \"1px solid \" + token.colorBorder,\n content: '\"\"'\n },\n '&:after': {\n position: 'absolute',\n width: treeTitleHeight / 2 * 0.8,\n height: treeTitleHeight / 2,\n borderBottom: \"1px solid \" + token.colorBorder,\n content: '\"\"'\n }\n }\n })), _defineProperty(_extends2, treeCls + \"-checkbox\", {\n top: 'initial',\n marginInlineEnd: treeCheckBoxMarginHorizontal,\n marginBlockStart: treeCheckBoxMarginVertical\n }), _defineProperty(_extends2, \"\\n \" + treeCls + \"-node-content-wrapper,\\n \" + treeCls + \"-checkbox + span\\n \", (_ref8 = {\n display: 'flex',\n flexWrap: 'nowrap',\n position: 'relative',\n zIndex: 'auto',\n minHeight: treeTitleHeight,\n margin: 0,\n padding: \"0 \" + token.paddingXS / 2 + \"px\",\n color: 'inherit',\n lineHeight: treeTitleHeight + \"px\",\n background: 'transparent',\n borderRadius: token.borderRadius,\n cursor: 'pointer',\n transition: \"all \" + token.motionDurationMid + \", border 0s, line-height 0s, box-shadow 0s\",\n '&:hover': {\n backgroundColor: token.controlItemBgHover\n }\n }, _defineProperty(_ref8, \"&\" + treeCls + \"-node-selected\", {\n backgroundColor: token.controlOutline\n }), _defineProperty(_ref8, treeCls + \"-iconEle\", {\n display: 'inline-block',\n width: treeTitleHeight,\n height: treeTitleHeight,\n lineHeight: treeTitleHeight + \"px\",\n textAlign: 'center',\n verticalAlign: 'top',\n '&:empty': {\n display: 'none'\n }\n }), _ref8)), _defineProperty(_extends2, treeCls + \"-unselectable \" + treeCls + \"-node-content-wrapper:hover\", {\n backgroundColor: 'transparent'\n }), _defineProperty(_extends2, treeCls + \"-node-content-wrapper\", _extends({\n lineHeight: treeTitleHeight + \"px\",\n userSelect: 'none'\n }, getDropIndicatorStyle(prefixCls, token))), _defineProperty(_extends2, treeNodeCls + \".drop-container\", {\n '> [draggable]': {\n boxShadow: \"0 0 0 2px \" + token.colorPrimary\n }\n }), _defineProperty(_extends2, '&-show-line', (_showLine = {}, _defineProperty(_showLine, treeCls + \"-indent\", {\n '&-unit': {\n position: 'relative',\n height: '100%',\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: treeTitleHeight / 2,\n bottom: -treeNodePadding,\n borderInlineEnd: \"1px solid \" + token.colorBorder,\n content: '\"\"'\n },\n '&-end': {\n '&:before': {\n display: 'none'\n }\n }\n }\n }), _defineProperty(_showLine, treeCls + \"-switcher\", {\n background: token.colorBgContainer,\n '&-line-icon': {\n // https://github.com/ant-design/ant-design/issues/32813\n verticalAlign: '-0.15em'\n }\n }), _showLine)), _defineProperty(_extends2, treeNodeCls + \"-leaf-last\", _defineProperty({}, treeCls + \"-switcher\", {\n '&-leaf-line': {\n '&:before': {\n top: 'auto !important',\n bottom: 'auto !important',\n height: treeTitleHeight / 2 + \"px !important\"\n }\n }\n })), _extends2)));\n};\n// ============================ Directory =============================\nexport var genDirectoryStyle = function genDirectoryStyle(token) {\n var _selected, _treeNodeCls;\n var treeCls = token.treeCls,\n treeNodeCls = token.treeNodeCls,\n treeNodePadding = token.treeNodePadding;\n return _defineProperty({}, \"\" + treeCls + treeCls + \"-directory\", _defineProperty({}, treeNodeCls, (_treeNodeCls = {\n position: 'relative',\n // Hover color\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: treeNodePadding,\n insetInlineStart: 0,\n transition: \"background-color \" + token.motionDurationMid,\n content: '\"\"',\n pointerEvents: 'none'\n },\n '&:hover': {\n '&:before': {\n background: token.controlItemBgHover\n }\n },\n // Elements\n '> *': {\n zIndex: 1\n }\n }, _defineProperty(_treeNodeCls, treeCls + \"-switcher\", {\n transition: \"color \" + token.motionDurationMid\n }), _defineProperty(_treeNodeCls, treeCls + \"-node-content-wrapper\", _defineProperty({\n borderRadius: 0,\n userSelect: 'none',\n '&:hover': {\n background: 'transparent'\n }\n }, \"&\" + treeCls + \"-node-selected\", {\n color: token.colorTextLightSolid,\n background: 'transparent'\n })), _defineProperty(_treeNodeCls, '&-selected', (_selected = {}, _defineProperty(_selected, \"\\n &:hover::before,\\n &::before\\n \", {\n background: token.colorPrimary\n }), _defineProperty(_selected, treeCls + \"-switcher\", {\n color: token.colorTextLightSolid\n }), _defineProperty(_selected, treeCls + \"-node-content-wrapper\", {\n color: token.colorTextLightSolid,\n background: 'transparent'\n }), _selected)), _treeNodeCls)));\n};\n// ============================== Merged ==============================\nexport var genTreeStyle = function genTreeStyle(prefixCls, token) {\n var treeCls = \".\" + prefixCls;\n var treeNodeCls = treeCls + \"-treenode\";\n var treeNodePadding = token.paddingXS / 2;\n var treeTitleHeight = token.controlHeightSM;\n var treeToken = mergeToken(token, {\n treeCls: treeCls,\n treeNodeCls: treeNodeCls,\n treeNodePadding: treeNodePadding,\n treeTitleHeight: treeTitleHeight\n });\n return [\n // Basic\n genBaseStyle(prefixCls, treeToken),\n // Directory\n genDirectoryStyle(treeToken)];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tree', function (token, _ref14) {\n var prefixCls = _ref14.prefixCls;\n return [_defineProperty({}, token.componentCls, getCheckboxStyle(prefixCls + \"-checkbox\", token)), genTreeStyle(prefixCls, token), genCollapseMotion(token)];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport HolderOutlined from \"@ant-design/icons/es/icons/HolderOutlined\";\nimport classNames from 'classnames';\nimport RcTree from 'rc-tree';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport initCollapseMotion from '../_util/motion';\nimport dropIndicatorRender from './utils/dropIndicator';\nimport renderSwitcherIcon from './utils/iconUtil';\nimport useStyle from './style';\nvar Tree = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction,\n virtual = _React$useContext.virtual;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n _props$showIcon = props.showIcon,\n showIcon = _props$showIcon === void 0 ? false : _props$showIcon,\n showLine = props.showLine,\n _switcherIcon = props.switcherIcon,\n _props$blockNode = props.blockNode,\n blockNode = _props$blockNode === void 0 ? false : _props$blockNode,\n children = props.children,\n _props$checkable = props.checkable,\n checkable = _props$checkable === void 0 ? false : _props$checkable,\n _props$selectable = props.selectable,\n selectable = _props$selectable === void 0 ? true : _props$selectable,\n draggable = props.draggable,\n customMotion = props.motion;\n var prefixCls = getPrefixCls('tree', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var motion = customMotion !== null && customMotion !== void 0 ? customMotion : _extends(_extends({}, initCollapseMotion(rootPrefixCls)), {\n motionAppear: false\n });\n var newProps = _extends(_extends({}, props), {\n checkable: checkable,\n selectable: selectable,\n showIcon: showIcon,\n motion: motion,\n blockNode: blockNode,\n showLine: Boolean(showLine),\n dropIndicatorRender: dropIndicatorRender\n });\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var draggableConfig = React.useMemo(function () {\n if (!draggable) {\n return false;\n }\n var mergedDraggable = {};\n switch (_typeof(draggable)) {\n case 'function':\n mergedDraggable.nodeDraggable = draggable;\n break;\n case 'object':\n mergedDraggable = _extends({}, draggable);\n break;\n default:\n break;\n // Do nothing\n }\n\n if (mergedDraggable.icon !== false) {\n mergedDraggable.icon = mergedDraggable.icon || /*#__PURE__*/React.createElement(HolderOutlined, null);\n }\n return mergedDraggable;\n }, [draggable]);\n return wrapSSR( /*#__PURE__*/React.createElement(RcTree, _extends({\n itemHeight: 20,\n ref: ref,\n virtual: virtual\n }, newProps, {\n prefixCls: prefixCls,\n className: classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + \"-icon-hide\", !showIcon), _defineProperty(_classNames, prefixCls + \"-block-node\", blockNode), _defineProperty(_classNames, prefixCls + \"-unselectable\", !selectable), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _classNames), className, hashId),\n direction: direction,\n checkable: checkable ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-checkbox-inner\"\n }) : checkable,\n selectable: selectable,\n switcherIcon: function switcherIcon(nodeProps) {\n return renderSwitcherIcon(prefixCls, _switcherIcon, showLine, nodeProps);\n },\n draggable: draggableConfig\n }), children));\n});\nexport default Tree;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport CaretDownFilled from \"@ant-design/icons/es/icons/CaretDownFilled\";\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport MinusSquareOutlined from \"@ant-design/icons/es/icons/MinusSquareOutlined\";\nimport PlusSquareOutlined from \"@ant-design/icons/es/icons/PlusSquareOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { cloneElement, isValidElement } from '../../_util/reactNode';\nexport default function renderSwitcherIcon(prefixCls, switcherIcon, showLine, treeNodeProps) {\n var isLeaf = treeNodeProps.isLeaf,\n expanded = treeNodeProps.expanded,\n loading = treeNodeProps.loading;\n if (loading) {\n return /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: prefixCls + \"-switcher-loading-icon\"\n });\n }\n var showLeafIcon;\n if (showLine && _typeof(showLine) === 'object') {\n showLeafIcon = showLine.showLeafIcon;\n }\n if (isLeaf) {\n if (!showLine) {\n return null;\n }\n if (typeof showLeafIcon !== 'boolean' && !!showLeafIcon) {\n var leafIcon = typeof showLeafIcon === 'function' ? showLeafIcon(treeNodeProps) : showLeafIcon;\n var leafCls = prefixCls + \"-switcher-line-custom-icon\";\n if (isValidElement(leafIcon)) {\n return cloneElement(leafIcon, {\n className: classNames(leafIcon.props.className || '', leafCls)\n });\n }\n return leafIcon;\n }\n return showLeafIcon ? /*#__PURE__*/React.createElement(FileOutlined, {\n className: prefixCls + \"-switcher-line-icon\"\n }) : /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-switcher-leaf-line\"\n });\n }\n var switcherCls = prefixCls + \"-switcher-icon\";\n var switcher = typeof switcherIcon === 'function' ? switcherIcon(treeNodeProps) : switcherIcon;\n if (isValidElement(switcher)) {\n return cloneElement(switcher, {\n className: classNames(switcher.props.className || '', switcherCls)\n });\n }\n if (switcher) {\n return switcher;\n }\n if (showLine) {\n return expanded ? /*#__PURE__*/React.createElement(MinusSquareOutlined, {\n className: prefixCls + \"-switcher-line-icon\"\n }) : /*#__PURE__*/React.createElement(PlusSquareOutlined, {\n className: prefixCls + \"-switcher-line-icon\"\n });\n }\n return /*#__PURE__*/React.createElement(CaretDownFilled, {\n className: switcherCls\n });\n}","// This icon file is generated automatically.\nvar FolderOpenOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z\" } }] }, \"name\": \"folder-open\", \"theme\": \"outlined\" };\nexport default FolderOpenOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport FolderOpenOutlinedSvg from \"@ant-design/icons-svg/es/asn/FolderOpenOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar FolderOpenOutlined = function FolderOpenOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: FolderOpenOutlinedSvg\n }));\n};\nFolderOpenOutlined.displayName = 'FolderOpenOutlined';\nexport default /*#__PURE__*/React.forwardRef(FolderOpenOutlined);","// This icon file is generated automatically.\nvar FolderOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z\" } }] }, \"name\": \"folder\", \"theme\": \"outlined\" };\nexport default FolderOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport FolderOutlinedSvg from \"@ant-design/icons-svg/es/asn/FolderOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar FolderOutlined = function FolderOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: FolderOutlinedSvg\n }));\n};\nFolderOutlined.displayName = 'FolderOutlined';\nexport default /*#__PURE__*/React.forwardRef(FolderOutlined);","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar Record;\n(function (Record) {\n Record[Record[\"None\"] = 0] = \"None\";\n Record[Record[\"Start\"] = 1] = \"Start\";\n Record[Record[\"End\"] = 2] = \"End\";\n})(Record || (Record = {}));\nfunction traverseNodesKey(treeData, callback) {\n function processNode(dataNode) {\n var key = dataNode.key,\n children = dataNode.children;\n if (callback(key, dataNode) !== false) {\n traverseNodesKey(children || [], callback);\n }\n }\n treeData.forEach(processNode);\n}\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(_ref) {\n var treeData = _ref.treeData,\n expandedKeys = _ref.expandedKeys,\n startKey = _ref.startKey,\n endKey = _ref.endKey;\n var keys = [];\n var record = Record.None;\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n if (!startKey || !endKey) {\n return [];\n }\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n traverseNodesKey(treeData, function (key) {\n if (record === Record.End) {\n return false;\n }\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n if (record === Record.None) {\n record = Record.Start;\n } else if (record === Record.Start) {\n record = Record.End;\n return false;\n }\n } else if (record === Record.Start) {\n // Append selection\n keys.push(key);\n }\n return expandedKeys.includes(key);\n });\n return keys;\n}\nexport function convertDirectoryKeysToNodes(treeData, keys) {\n var restKeys = _toConsumableArray(keys);\n var nodes = [];\n traverseNodesKey(treeData, function (key, node) {\n var index = restKeys.indexOf(key);\n if (index !== -1) {\n nodes.push(node);\n restKeys.splice(index, 1);\n }\n return !!restKeys.length;\n });\n return nodes;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport FolderOpenOutlined from \"@ant-design/icons/es/icons/FolderOpenOutlined\";\nimport FolderOutlined from \"@ant-design/icons/es/icons/FolderOutlined\";\nimport classNames from 'classnames';\nimport { conductExpandParent } from \"rc-tree/es/util\";\nimport { convertDataToEntities, convertTreeToData } from \"rc-tree/es/utils/treeUtil\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Tree from './Tree';\nimport { calcRangeKeys, convertDirectoryKeysToNodes } from './utils/dictUtil';\nfunction getIcon(props) {\n var isLeaf = props.isLeaf,\n expanded = props.expanded;\n if (isLeaf) {\n return /*#__PURE__*/React.createElement(FileOutlined, null);\n }\n return expanded ? /*#__PURE__*/React.createElement(FolderOpenOutlined, null) : /*#__PURE__*/React.createElement(FolderOutlined, null);\n}\nfunction getTreeData(_ref) {\n var treeData = _ref.treeData,\n children = _ref.children;\n return treeData || convertTreeToData(children);\n}\nvar DirectoryTree = function DirectoryTree(_a, ref) {\n var defaultExpandAll = _a.defaultExpandAll,\n defaultExpandParent = _a.defaultExpandParent,\n defaultExpandedKeys = _a.defaultExpandedKeys,\n props = __rest(_a, [\"defaultExpandAll\", \"defaultExpandParent\", \"defaultExpandedKeys\"]);\n // Shift click usage\n var lastSelectedKey = React.useRef();\n var cachedSelectedKeys = React.useRef();\n var getInitExpandedKeys = function getInitExpandedKeys() {\n var _convertDataToEntitie = convertDataToEntities(getTreeData(props)),\n keyEntities = _convertDataToEntitie.keyEntities;\n var initExpandedKeys;\n // Expanded keys\n if (defaultExpandAll) {\n initExpandedKeys = Object.keys(keyEntities);\n } else if (defaultExpandParent) {\n initExpandedKeys = conductExpandParent(props.expandedKeys || defaultExpandedKeys || [], keyEntities);\n } else {\n initExpandedKeys = props.expandedKeys || defaultExpandedKeys;\n }\n return initExpandedKeys;\n };\n var _React$useState = React.useState(props.selectedKeys || props.defaultSelectedKeys || []),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n selectedKeys = _React$useState2[0],\n setSelectedKeys = _React$useState2[1];\n var _React$useState3 = React.useState(function () {\n return getInitExpandedKeys();\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n expandedKeys = _React$useState4[0],\n setExpandedKeys = _React$useState4[1];\n React.useEffect(function () {\n if ('selectedKeys' in props) {\n setSelectedKeys(props.selectedKeys);\n }\n }, [props.selectedKeys]);\n React.useEffect(function () {\n if ('expandedKeys' in props) {\n setExpandedKeys(props.expandedKeys);\n }\n }, [props.expandedKeys]);\n var onExpand = function onExpand(keys, info) {\n var _a;\n if (!('expandedKeys' in props)) {\n setExpandedKeys(keys);\n }\n // Call origin function\n return (_a = props.onExpand) === null || _a === void 0 ? void 0 : _a.call(props, keys, info);\n };\n var onSelect = function onSelect(keys, event) {\n var _a;\n var multiple = props.multiple;\n var node = event.node,\n nativeEvent = event.nativeEvent;\n var _node$key = node.key,\n key = _node$key === void 0 ? '' : _node$key;\n var treeData = getTreeData(props);\n // const newState: DirectoryTreeState = {};\n // We need wrap this event since some value is not same\n var newEvent = _extends(_extends({}, event), {\n selected: true\n });\n // Windows / Mac single pick\n var ctrlPick = (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.ctrlKey) || (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.metaKey);\n var shiftPick = nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.shiftKey;\n // Generate new selected keys\n var newSelectedKeys;\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(new Set([].concat(_toConsumableArray(cachedSelectedKeys.current || []), _toConsumableArray(calcRangeKeys({\n treeData: treeData,\n expandedKeys: expandedKeys,\n startKey: key,\n endKey: lastSelectedKey.current\n })))));\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n } else {\n // Single click\n newSelectedKeys = [key];\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n }\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, newSelectedKeys, newEvent);\n if (!('selectedKeys' in props)) {\n setSelectedKeys(newSelectedKeys);\n }\n };\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n _props$showIcon = props.showIcon,\n showIcon = _props$showIcon === void 0 ? true : _props$showIcon,\n _props$expandAction = props.expandAction,\n expandAction = _props$expandAction === void 0 ? 'click' : _props$expandAction,\n otherProps = __rest(props, [\"prefixCls\", \"className\", \"showIcon\", \"expandAction\"]);\n var prefixCls = getPrefixCls('tree', customizePrefixCls);\n var connectClassName = classNames(prefixCls + \"-directory\", _defineProperty({}, prefixCls + \"-directory-rtl\", direction === 'rtl'), className);\n return /*#__PURE__*/React.createElement(Tree, _extends({\n icon: getIcon,\n ref: ref,\n blockNode: true\n }, otherProps, {\n showIcon: showIcon,\n expandAction: expandAction,\n prefixCls: prefixCls,\n className: connectClassName,\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n onSelect: onSelect,\n onExpand: onExpand\n }));\n};\nvar ForwardDirectoryTree = /*#__PURE__*/React.forwardRef(DirectoryTree);\nif (process.env.NODE_ENV !== 'production') {\n ForwardDirectoryTree.displayName = 'DirectoryTree';\n}\nexport default ForwardDirectoryTree;","import { TreeNode } from 'rc-tree';\nimport TreePure from './Tree';\nimport DirectoryTree from './DirectoryTree';\nvar Tree = TreePure;\nTree.DirectoryTree = DirectoryTree;\nTree.TreeNode = TreeNode;\nexport default Tree;","import SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport * as React from 'react';\nimport Input from '../../../input';\nfunction FilterSearch(_ref) {\n var value = _ref.value,\n onChange = _ref.onChange,\n filterSearch = _ref.filterSearch,\n tablePrefixCls = _ref.tablePrefixCls,\n locale = _ref.locale;\n if (!filterSearch) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: tablePrefixCls + \"-filter-dropdown-search\"\n }, /*#__PURE__*/React.createElement(Input, {\n prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),\n placeholder: locale.filterSearchPlaceholder,\n onChange: onChange,\n value: value,\n // for skip min-width of input\n htmlSize: 1,\n className: tablePrefixCls + \"-filter-dropdown-search-input\"\n }));\n}\nexport default FilterSearch;","import * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nvar onKeyDown = function onKeyDown(event) {\n var keyCode = event.keyCode;\n if (keyCode === KeyCode.ENTER) {\n event.stopPropagation();\n }\n};\nvar FilterDropdownMenuWrapper = function FilterDropdownMenuWrapper(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: props.className,\n onClick: function onClick(e) {\n return e.stopPropagation();\n },\n onKeyDown: onKeyDown\n }, props.children);\n};\nexport default FilterDropdownMenuWrapper;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport FilterFilled from \"@ant-design/icons/es/icons/FilterFilled\";\nimport classNames from 'classnames';\nimport isEqual from 'lodash/isEqual';\nimport * as React from 'react';\nimport { flattenKeys } from '.';\nimport Button from '../../../button';\nimport Checkbox from '../../../checkbox';\nimport { ConfigContext } from '../../../config-provider/context';\nimport Dropdown from '../../../dropdown';\nimport Empty from '../../../empty';\nimport Menu from '../../../menu';\nimport { OverrideProvider } from '../../../menu/OverrideContext';\nimport Radio from '../../../radio';\nimport Tree from '../../../tree';\nimport useSyncState from '../../../_util/hooks/useSyncState';\nimport FilterSearch from './FilterSearch';\nimport FilterDropdownMenuWrapper from './FilterWrapper';\nimport warning from '../../../_util/warning';\nfunction hasSubMenu(filters) {\n return filters.some(function (_ref) {\n var children = _ref.children;\n return children;\n });\n}\nfunction searchValueMatched(searchValue, text) {\n if (typeof text === 'string' || typeof text === 'number') {\n return text === null || text === void 0 ? void 0 : text.toString().toLowerCase().includes(searchValue.trim().toLowerCase());\n }\n return false;\n}\nfunction renderFilterItems(_ref2) {\n var filters = _ref2.filters,\n prefixCls = _ref2.prefixCls,\n filteredKeys = _ref2.filteredKeys,\n filterMultiple = _ref2.filterMultiple,\n searchValue = _ref2.searchValue,\n filterSearch = _ref2.filterSearch;\n return filters.map(function (filter, index) {\n var 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: prefixCls,\n filteredKeys: filteredKeys,\n filterMultiple: filterMultiple,\n searchValue: searchValue,\n filterSearch: filterSearch\n })\n };\n }\n var Component = filterMultiple ? Checkbox : Radio;\n var item = {\n key: filter.value !== undefined ? key : index,\n label: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Component, {\n checked: filteredKeys.includes(key)\n }), /*#__PURE__*/React.createElement(\"span\", null, filter.text))\n };\n if (searchValue.trim()) {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, filter) ? item : null;\n }\n return searchValueMatched(searchValue, filter.text) ? item : null;\n }\n return item;\n });\n}\nfunction FilterDropdown(props) {\n var _a, _b;\n var tablePrefixCls = props.tablePrefixCls,\n prefixCls = props.prefixCls,\n column = props.column,\n dropdownPrefixCls = props.dropdownPrefixCls,\n columnKey = props.columnKey,\n filterMultiple = props.filterMultiple,\n _props$filterMode = props.filterMode,\n filterMode = _props$filterMode === void 0 ? 'menu' : _props$filterMode,\n _props$filterSearch = props.filterSearch,\n filterSearch = _props$filterSearch === void 0 ? false : _props$filterSearch,\n filterState = props.filterState,\n triggerFilter = props.triggerFilter,\n locale = props.locale,\n children = props.children,\n getPopupContainer = props.getPopupContainer;\n var filterDropdownOpen = column.filterDropdownOpen,\n onFilterDropdownOpenChange = column.onFilterDropdownOpenChange,\n filterResetToDefaultFilteredValue = column.filterResetToDefaultFilteredValue,\n defaultFilteredValue = column.defaultFilteredValue,\n filterDropdownVisible = column.filterDropdownVisible,\n onFilterDropdownVisibleChange = column.onFilterDropdownVisibleChange;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n var filtered = !!(filterState && (((_a = filterState.filteredKeys) === null || _a === void 0 ? void 0 : _a.length) || filterState.forceFiltered));\n var triggerVisible = function triggerVisible(newVisible) {\n setVisible(newVisible);\n onFilterDropdownOpenChange === null || onFilterDropdownOpenChange === void 0 ? void 0 : onFilterDropdownOpenChange(newVisible);\n onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(newVisible);\n };\n if (process.env.NODE_ENV !== 'production') {\n [['filterDropdownVisible', 'filterDropdownOpen', filterDropdownVisible], ['onFilterDropdownVisibleChange', 'onFilterDropdownOpenChange', onFilterDropdownVisibleChange]].forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 3),\n deprecatedName = _ref4[0],\n newName = _ref4[1],\n prop = _ref4[2];\n process.env.NODE_ENV !== \"production\" ? warning(prop === undefined || prop === null, 'Table', \"`\" + deprecatedName + \"` is deprecated. Please use `\" + newName + \"` instead.\") : void 0;\n });\n }\n var mergedVisible = (_b = filterDropdownOpen !== null && filterDropdownOpen !== void 0 ? filterDropdownOpen : filterDropdownVisible) !== null && _b !== void 0 ? _b : visible;\n // ===================== Select Keys =====================\n var propFilteredKeys = filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys;\n var _useSyncState = useSyncState(propFilteredKeys || []),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n getFilteredKeysSync = _useSyncState2[0],\n setFilteredKeysSync = _useSyncState2[1];\n var onSelectKeys = function onSelectKeys(_ref5) {\n var selectedKeys = _ref5.selectedKeys;\n setFilteredKeysSync(selectedKeys);\n };\n var onCheck = function onCheck(keys, _ref6) {\n var node = _ref6.node,\n checked = _ref6.checked;\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(function () {\n if (!visible) {\n return;\n }\n onSelectKeys({\n selectedKeys: propFilteredKeys || []\n });\n }, [propFilteredKeys]);\n // ====================== Open Keys ======================\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n openKeys = _React$useState4[0],\n setOpenKeys = _React$useState4[1];\n var onOpenChange = function onOpenChange(keys) {\n setOpenKeys(keys);\n };\n // search in tree mode column filter\n var _React$useState5 = React.useState(''),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n searchValue = _React$useState6[0],\n setSearchValue = _React$useState6[1];\n var onSearch = function onSearch(e) {\n var value = e.target.value;\n setSearchValue(value);\n };\n // clear search value after close filter dropdown\n React.useEffect(function () {\n if (!visible) {\n setSearchValue('');\n }\n }, [visible]);\n // ======================= Submit ========================\n var internalTriggerFilter = function internalTriggerFilter(keys) {\n var mergedKeys = keys && keys.length ? keys : null;\n if (mergedKeys === null && (!filterState || !filterState.filteredKeys)) {\n return null;\n }\n if (isEqual(mergedKeys, filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys)) {\n return null;\n }\n triggerFilter({\n column: column,\n key: columnKey,\n filteredKeys: mergedKeys\n });\n };\n var onConfirm = function onConfirm() {\n triggerVisible(false);\n internalTriggerFilter(getFilteredKeysSync());\n };\n var onReset = function onReset() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n confirm: false,\n closeDropdown: false\n },\n confirm = _ref7.confirm,\n closeDropdown = _ref7.closeDropdown;\n if (confirm) {\n internalTriggerFilter([]);\n }\n if (closeDropdown) {\n triggerVisible(false);\n }\n setSearchValue('');\n if (filterResetToDefaultFilteredValue) {\n setFilteredKeysSync((defaultFilteredValue || []).map(function (key) {\n return String(key);\n }));\n } else {\n setFilteredKeysSync([]);\n }\n };\n var doFilter = function doFilter() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n closeDropdown: true\n },\n closeDropdown = _ref8.closeDropdown;\n if (closeDropdown) {\n triggerVisible(false);\n }\n internalTriggerFilter(getFilteredKeysSync());\n };\n var onVisibleChange = function onVisibleChange(newVisible) {\n if (newVisible && propFilteredKeys !== undefined) {\n // Sync filteredKeys on appear in controlled mode (propFilteredKeys !== undefiend)\n setFilteredKeysSync(propFilteredKeys || []);\n }\n triggerVisible(newVisible);\n // Default will filter when closed\n if (!newVisible && !column.filterDropdown) {\n onConfirm();\n }\n };\n // ======================== Style ========================\n var dropdownMenuClass = classNames(_defineProperty({}, dropdownPrefixCls + \"-menu-without-submenu\", !hasSubMenu(column.filters || [])));\n var onCheckAll = function onCheckAll(e) {\n if (e.target.checked) {\n var allFilterKeys = flattenKeys(column === null || column === void 0 ? void 0 : column.filters).map(function (key) {\n return String(key);\n });\n setFilteredKeysSync(allFilterKeys);\n } else {\n setFilteredKeysSync([]);\n }\n };\n var getTreeData = function getTreeData(_ref9) {\n var filters = _ref9.filters;\n return (filters || []).map(function (filter, index) {\n var key = String(filter.value);\n var item = {\n title: filter.text,\n key: filter.value !== undefined ? key : index\n };\n if (filter.children) {\n item.children = getTreeData({\n filters: filter.children\n });\n }\n return item;\n });\n };\n var getFilterData = function getFilterData(node) {\n var _a;\n return _extends(_extends({}, node), {\n text: node.title,\n value: node.key,\n children: ((_a = node.children) === null || _a === void 0 ? void 0 : _a.map(function (item) {\n return getFilterData(item);\n })) || []\n });\n };\n var dropdownContent;\n if (typeof column.filterDropdown === 'function') {\n dropdownContent = column.filterDropdown({\n prefixCls: dropdownPrefixCls + \"-custom\",\n setSelectedKeys: function setSelectedKeys(selectedKeys) {\n return onSelectKeys({\n selectedKeys: selectedKeys\n });\n },\n selectedKeys: getFilteredKeysSync(),\n confirm: doFilter,\n clearFilters: onReset,\n filters: column.filters,\n visible: mergedVisible,\n close: function close() {\n triggerVisible(false);\n }\n });\n } else if (column.filterDropdown) {\n dropdownContent = column.filterDropdown;\n } else {\n var selectedKeys = getFilteredKeysSync() || [];\n var getFilterComponent = function getFilterComponent() {\n if ((column.filters || []).length === 0) {\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE,\n description: locale.filterEmptyText,\n imageStyle: {\n height: 24\n },\n style: {\n margin: 0,\n padding: '16px 0'\n }\n });\n }\n if (filterMode === 'tree') {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: tablePrefixCls + \"-filter-dropdown-tree\"\n }, filterMultiple ? /*#__PURE__*/React.createElement(Checkbox, {\n checked: selectedKeys.length === flattenKeys(column.filters).length,\n indeterminate: selectedKeys.length > 0 && selectedKeys.length < flattenKeys(column.filters).length,\n className: tablePrefixCls + \"-filter-dropdown-checkall\",\n onChange: onCheckAll\n }, locale.filterCheckall) : null, /*#__PURE__*/React.createElement(Tree, {\n checkable: true,\n selectable: false,\n blockNode: true,\n multiple: filterMultiple,\n checkStrictly: !filterMultiple,\n className: dropdownPrefixCls + \"-menu\",\n onCheck: onCheck,\n checkedKeys: selectedKeys,\n selectedKeys: selectedKeys,\n showIcon: false,\n treeData: getTreeData({\n filters: column.filters\n }),\n autoExpandParent: true,\n defaultExpandAll: true,\n filterTreeNode: searchValue.trim() ? function (node) {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, getFilterData(node));\n }\n return searchValueMatched(searchValue, node.title);\n } : undefined\n })));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), /*#__PURE__*/React.createElement(Menu, {\n selectable: true,\n multiple: filterMultiple,\n prefixCls: dropdownPrefixCls + \"-menu\",\n className: dropdownMenuClass,\n onSelect: onSelectKeys,\n onDeselect: onSelectKeys,\n selectedKeys: selectedKeys,\n getPopupContainer: getPopupContainer,\n openKeys: openKeys,\n onOpenChange: onOpenChange,\n items: renderFilterItems({\n filters: column.filters || [],\n filterSearch: filterSearch,\n prefixCls: prefixCls,\n filteredKeys: getFilteredKeysSync(),\n filterMultiple: filterMultiple,\n searchValue: searchValue\n })\n }));\n };\n var getResetDisabled = function getResetDisabled() {\n if (filterResetToDefaultFilteredValue) {\n return isEqual((defaultFilteredValue || []).map(function (key) {\n return String(key);\n }), selectedKeys);\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: function onClick() {\n return onReset();\n }\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 var menu = function menu() {\n return /*#__PURE__*/React.createElement(FilterDropdownMenuWrapper, {\n className: prefixCls + \"-dropdown\"\n }, dropdownContent);\n };\n var 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 var _React$useContext = React.useContext(ConfigContext),\n direction = _React$useContext.direction;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"-column\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: tablePrefixCls + \"-column-title\"\n }, children), /*#__PURE__*/React.createElement(Dropdown, {\n dropdownRender: menu,\n trigger: ['click'],\n open: mergedVisible,\n onOpenChange: onVisibleChange,\n getPopupContainer: getPopupContainer,\n placement: direction === 'rtl' ? 'bottomLeft' : 'bottomRight'\n }, /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n tabIndex: -1,\n className: classNames(prefixCls + \"-trigger\", {\n active: filtered\n }),\n onClick: function onClick(e) {\n e.stopPropagation();\n }\n }, filterIcon)));\n}\nexport default FilterDropdown;","import * as React from 'react';\nimport useForceUpdate from './useForceUpdate';\nexport default function useSyncState(initialValue) {\n var ref = React.useRef(initialValue);\n var forceUpdate = useForceUpdate();\n return [function () {\n return ref.current;\n }, function (newValue) {\n ref.current = newValue;\n // re-render\n forceUpdate();\n }];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport warning from '../../../_util/warning';\nimport { getColumnKey, getColumnPos, renderColumnTitle } from '../../util';\nimport FilterDropdown from './FilterDropdown';\nfunction collectFilterStates(columns, init, pos) {\n var filterStates = [];\n (columns || []).forEach(function (column, index) {\n var _a;\n var columnPos = getColumnPos(index, pos);\n if (column.filters || 'filterDropdown' in column || 'onFilter' in column) {\n if ('filteredValue' in column) {\n // Controlled\n var 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: column,\n key: getColumnKey(column, columnPos),\n filteredKeys: filteredValues,\n forceFiltered: column.filtered\n });\n } else {\n // Uncontrolled\n filterStates.push({\n column: 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, triggerFilter, getPopupContainer, locale, pos) {\n return columns.map(function (column, index) {\n var columnPos = getColumnPos(index, pos);\n var _column$filterMultipl = column.filterMultiple,\n filterMultiple = _column$filterMultipl === void 0 ? true : _column$filterMultipl,\n filterMode = column.filterMode,\n filterSearch = column.filterSearch;\n var newColumn = column;\n if (newColumn.filters || newColumn.filterDropdown) {\n var columnKey = getColumnKey(newColumn, columnPos);\n var filterState = filterStates.find(function (_ref) {\n var key = _ref.key;\n return columnKey === key;\n });\n newColumn = _extends(_extends({}, newColumn), {\n title: function title(renderProps) {\n return /*#__PURE__*/React.createElement(FilterDropdown, {\n tablePrefixCls: prefixCls,\n prefixCls: prefixCls + \"-filter\",\n dropdownPrefixCls: dropdownPrefixCls,\n column: newColumn,\n columnKey: columnKey,\n filterState: filterState,\n filterMultiple: filterMultiple,\n filterMode: filterMode,\n filterSearch: filterSearch,\n triggerFilter: triggerFilter,\n locale: locale,\n getPopupContainer: getPopupContainer\n }, renderColumnTitle(column.title, renderProps));\n }\n });\n }\n if ('children' in newColumn) {\n newColumn = _extends(_extends({}, newColumn), {\n children: injectFilter(prefixCls, dropdownPrefixCls, newColumn.children, filterStates, triggerFilter, getPopupContainer, locale, columnPos)\n });\n }\n return newColumn;\n });\n}\nexport function flattenKeys(filters) {\n var keys = [];\n (filters || []).forEach(function (_ref2) {\n var value = _ref2.value,\n children = _ref2.children;\n keys.push(value);\n if (children) {\n keys = [].concat(_toConsumableArray(keys), _toConsumableArray(flattenKeys(children)));\n }\n });\n return keys;\n}\nfunction generateFilterInfo(filterStates) {\n var currentFilters = {};\n filterStates.forEach(function (_ref3) {\n var key = _ref3.key,\n filteredKeys = _ref3.filteredKeys,\n column = _ref3.column;\n var filters = column.filters,\n filterDropdown = column.filterDropdown;\n if (filterDropdown) {\n currentFilters[key] = filteredKeys || null;\n } else if (Array.isArray(filteredKeys)) {\n var keys = flattenKeys(filters);\n currentFilters[key] = keys.filter(function (originKey) {\n return filteredKeys.includes(String(originKey));\n });\n } else {\n currentFilters[key] = null;\n }\n });\n return currentFilters;\n}\nexport function getFilterData(data, filterStates) {\n return filterStates.reduce(function (currentData, filterState) {\n var _filterState$column = filterState.column,\n onFilter = _filterState$column.onFilter,\n filters = _filterState$column.filters,\n filteredKeys = filterState.filteredKeys;\n if (onFilter && filteredKeys && filteredKeys.length) {\n return currentData.filter(function (record) {\n return filteredKeys.some(function (key) {\n var keys = flattenKeys(filters);\n var keyIndex = keys.findIndex(function (k) {\n return String(k) === String(key);\n });\n var realKey = keyIndex !== -1 ? keys[keyIndex] : key;\n return onFilter(realKey, record);\n });\n });\n }\n return currentData;\n }, data);\n}\nfunction useFilter(_ref4) {\n var prefixCls = _ref4.prefixCls,\n dropdownPrefixCls = _ref4.dropdownPrefixCls,\n mergedColumns = _ref4.mergedColumns,\n onFilterChange = _ref4.onFilterChange,\n getPopupContainer = _ref4.getPopupContainer,\n tableLocale = _ref4.locale;\n var _React$useState = React.useState(function () {\n return collectFilterStates(mergedColumns, true);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n filterStates = _React$useState2[0],\n setFilterStates = _React$useState2[1];\n var mergedFilterStates = React.useMemo(function () {\n var collectedStates = collectFilterStates(mergedColumns, false);\n if (collectedStates.length === 0) {\n return collectedStates;\n }\n var filteredKeysIsAllNotControlled = true;\n var filteredKeysIsAllControlled = true;\n collectedStates.forEach(function (_ref5) {\n var filteredKeys = _ref5.filteredKeys;\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 var keyList = (mergedColumns || []).map(function (column, index) {\n return getColumnKey(column, getColumnPos(index));\n });\n return filterStates.filter(function (_ref6) {\n var key = _ref6.key;\n return keyList.includes(key);\n });\n }\n process.env.NODE_ENV !== \"production\" ? warning(filteredKeysIsAllControlled, 'Table', 'Columns should all contain `filteredValue` or not contain `filteredValue`.') : void 0;\n return collectedStates;\n }, [mergedColumns, filterStates]);\n var filters = React.useMemo(function () {\n return generateFilterInfo(mergedFilterStates);\n }, [mergedFilterStates]);\n var triggerFilter = function triggerFilter(filterState) {\n var newFilterStates = mergedFilterStates.filter(function (_ref7) {\n var key = _ref7.key;\n return key !== filterState.key;\n });\n newFilterStates.push(filterState);\n setFilterStates(newFilterStates);\n onFilterChange(generateFilterInfo(newFilterStates), newFilterStates);\n };\n var transformColumns = function transformColumns(innerColumns) {\n return injectFilter(prefixCls, dropdownPrefixCls, innerColumns, mergedFilterStates, triggerFilter, getPopupContainer, tableLocale);\n };\n return [transformColumns, mergedFilterStates, filters];\n}\nexport default useFilter;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\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';\nexport var DEFAULT_PAGE_SIZE = 10;\nexport function getPaginationParam(pagination, mergedPagination) {\n var param = {\n current: mergedPagination.current,\n pageSize: mergedPagination.pageSize\n };\n var paginationObj = pagination && _typeof(pagination) === 'object' ? pagination : {};\n Object.keys(paginationObj).forEach(function (pageProp) {\n var value = mergedPagination[pageProp];\n if (typeof value !== 'function') {\n param[pageProp] = value;\n }\n });\n return param;\n}\nfunction extendsObject() {\n var result = {};\n for (var _len = arguments.length, list = new Array(_len), _key = 0; _key < _len; _key++) {\n list[_key] = arguments[_key];\n }\n list.forEach(function (obj) {\n if (obj) {\n Object.keys(obj).forEach(function (key) {\n var val = obj[key];\n if (val !== undefined) {\n result[key] = val;\n }\n });\n }\n });\n return result;\n}\nexport default function usePagination(total, pagination, onChange) {\n var _a = pagination && _typeof(pagination) === 'object' ? pagination : {},\n _a$total = _a.total,\n paginationTotal = _a$total === void 0 ? 0 : _a$total,\n paginationObj = __rest(_a, [\"total\"]);\n var _useState = useState(function () {\n return {\n current: 'defaultCurrent' in paginationObj ? paginationObj.defaultCurrent : 1,\n pageSize: 'defaultPageSize' in paginationObj ? paginationObj.defaultPageSize : DEFAULT_PAGE_SIZE\n };\n }),\n _useState2 = _slicedToArray(_useState, 2),\n innerPagination = _useState2[0],\n setInnerPagination = _useState2[1];\n // ============ Basic Pagination Config ============\n var mergedPagination = extendsObject(innerPagination, paginationObj, {\n total: paginationTotal > 0 ? paginationTotal : total\n });\n // Reset `current` if data length or pageSize changed\n var 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 var refreshPagination = function refreshPagination(current, pageSize) {\n setInnerPagination({\n current: current !== null && current !== void 0 ? current : 1,\n pageSize: pageSize || mergedPagination.pageSize\n });\n };\n var onInternalChange = function 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 [{}, function () {}];\n }\n return [_extends(_extends({}, mergedPagination), {\n onChange: onInternalChange\n }), refreshPagination];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport { INTERNAL_COL_DEFINE } from 'rc-table';\nimport { arrAdd, arrDel } from \"rc-tree/es/util\";\nimport { conductCheck } from \"rc-tree/es/utils/conductUtil\";\nimport { convertDataToEntities } from \"rc-tree/es/utils/treeUtil\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { useCallback, useMemo, useState } from 'react';\nimport Checkbox from '../../checkbox';\nimport Dropdown from '../../dropdown';\nimport Radio from '../../radio';\nimport warning from '../../_util/warning';\n// TODO: warning if use ajax!!!\nexport var SELECTION_COLUMN = {};\nexport var SELECTION_ALL = 'SELECT_ALL';\nexport var SELECTION_INVERT = 'SELECT_INVERT';\nexport var SELECTION_NONE = 'SELECT_NONE';\nvar EMPTY_LIST = [];\nfunction flattenData(data, childrenColumnName) {\n var list = [];\n (data || []).forEach(function (record) {\n list.push(record);\n if (record && _typeof(record) === 'object' && childrenColumnName in record) {\n list = [].concat(_toConsumableArray(list), _toConsumableArray(flattenData(record[childrenColumnName], childrenColumnName)));\n }\n });\n return list;\n}\nexport default function useSelection(rowSelection, config) {\n var _ref = rowSelection || {},\n preserveSelectedRowKeys = _ref.preserveSelectedRowKeys,\n selectedRowKeys = _ref.selectedRowKeys,\n defaultSelectedRowKeys = _ref.defaultSelectedRowKeys,\n getCheckboxProps = _ref.getCheckboxProps,\n onSelectionChange = _ref.onChange,\n onSelect = _ref.onSelect,\n onSelectAll = _ref.onSelectAll,\n onSelectInvert = _ref.onSelectInvert,\n onSelectNone = _ref.onSelectNone,\n onSelectMultiple = _ref.onSelectMultiple,\n selectionColWidth = _ref.columnWidth,\n selectionType = _ref.type,\n selections = _ref.selections,\n fixed = _ref.fixed,\n customizeRenderCell = _ref.renderCell,\n hideSelectAll = _ref.hideSelectAll,\n _ref$checkStrictly = _ref.checkStrictly,\n checkStrictly = _ref$checkStrictly === void 0 ? true : _ref$checkStrictly;\n var prefixCls = config.prefixCls,\n data = config.data,\n pageData = config.pageData,\n getRecordByKey = config.getRecordByKey,\n getRowKey = config.getRowKey,\n expandType = config.expandType,\n childrenColumnName = config.childrenColumnName,\n tableLocale = config.locale,\n getPopupContainer = config.getPopupContainer;\n // ========================= Keys =========================\n var _useMergedState = useMergedState(selectedRowKeys || defaultSelectedRowKeys || EMPTY_LIST, {\n value: selectedRowKeys\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedSelectedKeys = _useMergedState2[0],\n setMergedSelectedKeys = _useMergedState2[1];\n // ======================== Caches ========================\n var preserveRecordsRef = React.useRef(new Map());\n var updatePreserveRecordsCache = useCallback(function (keys) {\n if (preserveSelectedRowKeys) {\n var newCache = new Map();\n // Keep key if mark as preserveSelectedRowKeys\n keys.forEach(function (key) {\n var 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(function () {\n updatePreserveRecordsCache(mergedSelectedKeys);\n }, [mergedSelectedKeys]);\n var _useMemo = useMemo(function () {\n return checkStrictly ? {\n keyEntities: null\n } : convertDataToEntities(data, {\n externalGetKey: getRowKey,\n childrenPropName: childrenColumnName\n });\n }, [data, getRowKey, checkStrictly, childrenColumnName]),\n keyEntities = _useMemo.keyEntities;\n // Get flatten data\n var flattedData = useMemo(function () {\n return flattenData(pageData, childrenColumnName);\n }, [pageData, childrenColumnName]);\n // Get all checkbox props\n var checkboxPropsMap = useMemo(function () {\n var map = new Map();\n flattedData.forEach(function (record, index) {\n var key = getRowKey(record, index);\n var checkboxProps = (getCheckboxProps ? getCheckboxProps(record) : null) || {};\n map.set(key, checkboxProps);\n process.env.NODE_ENV !== \"production\" ? warning(!('checked' in checkboxProps || 'defaultChecked' in checkboxProps), 'Table', 'Do not set `checked` or `defaultChecked` in `getCheckboxProps`. Please use `selectedRowKeys` instead.') : void 0;\n });\n return map;\n }, [flattedData, getRowKey, getCheckboxProps]);\n var isCheckboxDisabled = useCallback(function (r) {\n var _a;\n return !!((_a = checkboxPropsMap.get(getRowKey(r))) === null || _a === void 0 ? void 0 : _a.disabled);\n }, [checkboxPropsMap, getRowKey]);\n var _useMemo2 = useMemo(function () {\n if (checkStrictly) {\n return [mergedSelectedKeys || [], []];\n }\n var _conductCheck = conductCheck(mergedSelectedKeys, true, keyEntities, isCheckboxDisabled),\n checkedKeys = _conductCheck.checkedKeys,\n halfCheckedKeys = _conductCheck.halfCheckedKeys;\n return [checkedKeys || [], halfCheckedKeys];\n }, [mergedSelectedKeys, checkStrictly, keyEntities, isCheckboxDisabled]),\n _useMemo3 = _slicedToArray(_useMemo2, 2),\n derivedSelectedKeys = _useMemo3[0],\n derivedHalfSelectedKeys = _useMemo3[1];\n var derivedSelectedKeySet = useMemo(function () {\n var keys = selectionType === 'radio' ? derivedSelectedKeys.slice(0, 1) : derivedSelectedKeys;\n return new Set(keys);\n }, [derivedSelectedKeys, selectionType]);\n var derivedHalfSelectedKeySet = useMemo(function () {\n return selectionType === 'radio' ? new Set() : new Set(derivedHalfSelectedKeys);\n }, [derivedHalfSelectedKeys, selectionType]);\n // Save last selected key to enable range selection\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n lastSelectedKey = _useState2[0],\n setLastSelectedKey = _useState2[1];\n // Reset if rowSelection reset\n React.useEffect(function () {\n if (!rowSelection) {\n setMergedSelectedKeys(EMPTY_LIST);\n }\n }, [!!rowSelection]);\n var setSelectedKeys = useCallback(function (keys, method) {\n var availableKeys;\n var records;\n updatePreserveRecordsCache(keys);\n if (preserveSelectedRowKeys) {\n availableKeys = keys;\n records = keys.map(function (key) {\n return preserveRecordsRef.current.get(key);\n });\n } else {\n // Filter key which not exist in the `dataSource`\n availableKeys = [];\n records = [];\n keys.forEach(function (key) {\n var 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 var triggerSingleSelection = useCallback(function (key, selected, keys, event) {\n if (onSelect) {\n var rows = keys.map(function (k) {\n return getRecordByKey(k);\n });\n onSelect(getRecordByKey(key), selected, rows, event);\n }\n setSelectedKeys(keys, 'single');\n }, [onSelect, getRecordByKey, setSelectedKeys]);\n var mergedSelections = useMemo(function () {\n if (!selections || hideSelectAll) {\n return null;\n }\n var selectionList = selections === true ? [SELECTION_ALL, SELECTION_INVERT, SELECTION_NONE] : selections;\n return selectionList.map(function (selection) {\n if (selection === SELECTION_ALL) {\n return {\n key: 'all',\n text: tableLocale.selectionAll,\n onSelect: function onSelect() {\n setSelectedKeys(data.map(function (record, index) {\n return getRowKey(record, index);\n }).filter(function (key) {\n var 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: function onSelect() {\n var keySet = new Set(derivedSelectedKeySet);\n pageData.forEach(function (record, index) {\n var key = getRowKey(record, index);\n var 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 var keys = Array.from(keySet);\n if (onSelectInvert) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Table', '`onSelectInvert` will be removed in future. Please use `onChange` instead.') : void 0;\n onSelectInvert(keys);\n }\n setSelectedKeys(keys, 'invert');\n }\n };\n }\n if (selection === SELECTION_NONE) {\n return {\n key: 'none',\n text: tableLocale.selectNone,\n onSelect: function onSelect() {\n onSelectNone === null || onSelectNone === void 0 ? void 0 : onSelectNone();\n setSelectedKeys(Array.from(derivedSelectedKeySet).filter(function (key) {\n var 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(function (selection) {\n return _extends(_extends({}, selection), {\n onSelect: function onSelect() {\n var _a2;\n var _a;\n for (var _len = arguments.length, rest = new Array(_len), _key = 0; _key < _len; _key++) {\n rest[_key] = arguments[_key];\n }\n (_a = selection.onSelect) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [selection].concat(rest));\n setLastSelectedKey(null);\n }\n });\n });\n }, [selections, derivedSelectedKeySet, pageData, getRowKey, onSelectInvert, setSelectedKeys]);\n // ======================= Columns ========================\n var transformColumns = useCallback(function (columns) {\n var _a;\n // >>>>>>>>>>> Skip if not exists `rowSelection`\n if (!rowSelection) {\n process.env.NODE_ENV !== \"production\" ? warning(!columns.includes(SELECTION_COLUMN), 'Table', '`rowSelection` is not config but `SELECTION_COLUMN` exists in the `columns`.') : void 0;\n return columns.filter(function (col) {\n return col !== SELECTION_COLUMN;\n });\n }\n // >>>>>>>>>>> Support selection\n var cloneColumns = _toConsumableArray(columns);\n var keySet = new Set(derivedSelectedKeySet);\n // Record key only need check with enabled\n var recordKeys = flattedData.map(getRowKey).filter(function (key) {\n return !checkboxPropsMap.get(key).disabled;\n });\n var checkedCurrentAll = recordKeys.every(function (key) {\n return keySet.has(key);\n });\n var checkedCurrentSome = recordKeys.some(function (key) {\n return keySet.has(key);\n });\n var onSelectAllChange = function onSelectAllChange() {\n var changeKeys = [];\n if (checkedCurrentAll) {\n recordKeys.forEach(function (key) {\n keySet[\"delete\"](key);\n changeKeys.push(key);\n });\n } else {\n recordKeys.forEach(function (key) {\n if (!keySet.has(key)) {\n keySet.add(key);\n changeKeys.push(key);\n }\n });\n }\n var keys = Array.from(keySet);\n onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(!checkedCurrentAll, keys.map(function (k) {\n return getRecordByKey(k);\n }), changeKeys.map(function (k) {\n return getRecordByKey(k);\n }));\n setSelectedKeys(keys, 'all');\n setLastSelectedKey(null);\n };\n // ===================== Render =====================\n // Title Cell\n var title;\n if (selectionType !== 'radio') {\n var customizeSelections;\n if (mergedSelections) {\n var menu = {\n getPopupContainer: getPopupContainer,\n items: mergedSelections.map(function (selection, index) {\n var key = selection.key,\n text = selection.text,\n onSelectionClick = selection.onSelect;\n return {\n key: key || index,\n onClick: function 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 var allDisabledData = flattedData.map(function (record, index) {\n var key = getRowKey(record, index);\n var checkboxProps = checkboxPropsMap.get(key) || {};\n return _extends({\n checked: keySet.has(key)\n }, checkboxProps);\n }).filter(function (_ref2) {\n var disabled = _ref2.disabled;\n return disabled;\n });\n var allDisabled = !!allDisabledData.length && allDisabledData.length === flattedData.length;\n var allDisabledAndChecked = allDisabled && allDisabledData.every(function (_ref3) {\n var checked = _ref3.checked;\n return checked;\n });\n var allDisabledSomeChecked = allDisabled && allDisabledData.some(function (_ref4) {\n var checked = _ref4.checked;\n return checked;\n });\n title = !hideSelectAll && /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"-selection\"\n }, /*#__PURE__*/React.createElement(Checkbox, {\n checked: !allDisabled ? !!flattedData.length && checkedCurrentAll : allDisabledAndChecked,\n indeterminate: !allDisabled ? !checkedCurrentAll && checkedCurrentSome : !allDisabledAndChecked && allDisabledSomeChecked,\n onChange: onSelectAllChange,\n disabled: flattedData.length === 0 || allDisabled,\n \"aria-label\": customizeSelections ? 'Custom selection' : 'Select all',\n skipGroup: true\n }), customizeSelections);\n }\n // Body Cell\n var renderCell;\n if (selectionType === 'radio') {\n renderCell = function renderCell(_, record, index) {\n var key = getRowKey(record, index);\n var checked = keySet.has(key);\n return {\n node: /*#__PURE__*/React.createElement(Radio, _extends({}, checkboxPropsMap.get(key), {\n checked: checked,\n onClick: function onClick(e) {\n return e.stopPropagation();\n },\n onChange: function onChange(event) {\n if (!keySet.has(key)) {\n triggerSingleSelection(key, true, [key], event.nativeEvent);\n }\n }\n })),\n checked: checked\n };\n };\n } else {\n renderCell = function renderCell(_, record, index) {\n var _a;\n var key = getRowKey(record, index);\n var checked = keySet.has(key);\n var indeterminate = derivedHalfSelectedKeySet.has(key);\n var checkboxProps = checkboxPropsMap.get(key);\n var mergedIndeterminate;\n if (expandType === 'nest') {\n mergedIndeterminate = indeterminate;\n process.env.NODE_ENV !== \"production\" ? warning(typeof (checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== 'boolean', 'Table', 'set `indeterminate` using `rowSelection.getCheckboxProps` is not allowed with tree structured dataSource.') : void 0;\n } else {\n mergedIndeterminate = (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== null && _a !== void 0 ? _a : indeterminate;\n }\n // Record checked\n return {\n node: /*#__PURE__*/React.createElement(Checkbox, _extends({}, checkboxProps, {\n indeterminate: mergedIndeterminate,\n checked: checked,\n skipGroup: true,\n onClick: function onClick(e) {\n return e.stopPropagation();\n },\n onChange: function onChange(_ref5) {\n var nativeEvent = _ref5.nativeEvent;\n var shiftKey = nativeEvent.shiftKey;\n var startIndex = -1;\n var endIndex = -1;\n // Get range of this\n if (shiftKey && checkStrictly) {\n var pointKeys = new Set([lastSelectedKey, key]);\n recordKeys.some(function (recordKey, recordIndex) {\n if (pointKeys.has(recordKey)) {\n if (startIndex === -1) {\n startIndex = recordIndex;\n } else {\n endIndex = recordIndex;\n return true;\n }\n }\n return false;\n });\n }\n if (endIndex !== -1 && startIndex !== endIndex && checkStrictly) {\n // Batch update selections\n var rangeKeys = recordKeys.slice(startIndex, endIndex + 1);\n var changedKeys = [];\n if (checked) {\n rangeKeys.forEach(function (recordKey) {\n if (keySet.has(recordKey)) {\n changedKeys.push(recordKey);\n keySet[\"delete\"](recordKey);\n }\n });\n } else {\n rangeKeys.forEach(function (recordKey) {\n if (!keySet.has(recordKey)) {\n changedKeys.push(recordKey);\n keySet.add(recordKey);\n }\n });\n }\n var keys = Array.from(keySet);\n onSelectMultiple === null || onSelectMultiple === void 0 ? void 0 : onSelectMultiple(!checked, keys.map(function (recordKey) {\n return getRecordByKey(recordKey);\n }), changedKeys.map(function (recordKey) {\n return getRecordByKey(recordKey);\n }));\n setSelectedKeys(keys, 'multiple');\n } else {\n // Single record selected\n var originCheckedKeys = derivedSelectedKeys;\n if (checkStrictly) {\n var checkedKeys = checked ? arrDel(originCheckedKeys, key) : arrAdd(originCheckedKeys, key);\n triggerSingleSelection(key, !checked, checkedKeys, nativeEvent);\n } else {\n // Always fill first\n var result = conductCheck([].concat(_toConsumableArray(originCheckedKeys), [key]), true, keyEntities, isCheckboxDisabled);\n var _checkedKeys = result.checkedKeys,\n halfCheckedKeys = result.halfCheckedKeys;\n var nextCheckedKeys = _checkedKeys;\n // If remove, we do it again to correction\n if (checked) {\n var tempKeySet = new Set(_checkedKeys);\n tempKeySet[\"delete\"](key);\n nextCheckedKeys = conductCheck(Array.from(tempKeySet), {\n checked: false,\n halfCheckedKeys: halfCheckedKeys\n }, keyEntities, isCheckboxDisabled).checkedKeys;\n }\n triggerSingleSelection(key, !checked, nextCheckedKeys, nativeEvent);\n }\n }\n if (checked) {\n setLastSelectedKey(null);\n } else {\n setLastSelectedKey(key);\n }\n }\n })),\n checked: checked\n };\n };\n }\n var renderSelectionCell = function renderSelectionCell(_, record, index) {\n var _renderCell = renderCell(_, record, index),\n node = _renderCell.node,\n checked = _renderCell.checked;\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(function (col) {\n var _a;\n return ((_a = col[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN';\n }) === 0) {\n var _cloneColumns = cloneColumns,\n _cloneColumns2 = _toArray(_cloneColumns),\n expandColumn = _cloneColumns2[0],\n restColumns = _cloneColumns2.slice(1);\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 var selectionColumnIndex = cloneColumns.indexOf(SELECTION_COLUMN);\n process.env.NODE_ENV !== \"production\" ? warning(cloneColumns.filter(function (col) {\n return col === SELECTION_COLUMN;\n }).length <= 1, 'Table', 'Multiple `SELECTION_COLUMN` exist in `columns`.') : void 0;\n cloneColumns = cloneColumns.filter(function (column, index) {\n return column !== SELECTION_COLUMN || index === selectionColumnIndex;\n });\n // Fixed column logic\n var prevCol = cloneColumns[selectionColumnIndex - 1];\n var nextCol = cloneColumns[selectionColumnIndex + 1];\n var mergedFixed = fixed;\n if (mergedFixed === undefined) {\n if ((nextCol === null || nextCol === void 0 ? void 0 : nextCol.fixed) !== undefined) {\n mergedFixed = nextCol.fixed;\n } else if ((prevCol === null || prevCol === void 0 ? void 0 : prevCol.fixed) !== undefined) {\n mergedFixed = prevCol.fixed;\n }\n }\n if (mergedFixed && prevCol && ((_a = prevCol[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN' && prevCol.fixed === undefined) {\n prevCol.fixed = mergedFixed;\n }\n // Replace with real selection column\n var selectionColumn = _defineProperty({\n fixed: mergedFixed,\n width: selectionColWidth,\n className: prefixCls + \"-selection-column\",\n title: rowSelection.columnTitle || title,\n render: renderSelectionCell\n }, INTERNAL_COL_DEFINE, {\n className: prefixCls + \"-selection-col\"\n });\n return cloneColumns.map(function (col) {\n return col === SELECTION_COLUMN ? selectionColumn : col;\n });\n }, [getRowKey, flattedData, rowSelection, derivedSelectedKeys, derivedSelectedKeySet, derivedHalfSelectedKeySet, selectionColWidth, mergedSelections, expandType, lastSelectedKey, checkboxPropsMap, onSelectMultiple, triggerSingleSelection, isCheckboxDisabled]);\n return [transformColumns, derivedSelectedKeySet];\n}","// This icon file is generated automatically.\nvar CaretDownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"outlined\" };\nexport default CaretDownOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CaretDownOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretDownOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CaretDownOutlined = function CaretDownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CaretDownOutlinedSvg\n }));\n};\nCaretDownOutlined.displayName = 'CaretDownOutlined';\nexport default /*#__PURE__*/React.forwardRef(CaretDownOutlined);","// This icon file is generated automatically.\nvar CaretUpOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z\" } }] }, \"name\": \"caret-up\", \"theme\": \"outlined\" };\nexport default CaretUpOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CaretUpOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretUpOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CaretUpOutlined = function CaretUpOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CaretUpOutlinedSvg\n }));\n};\nCaretUpOutlined.displayName = 'CaretUpOutlined';\nexport default /*#__PURE__*/React.forwardRef(CaretUpOutlined);","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport CaretDownOutlined from \"@ant-design/icons/es/icons/CaretDownOutlined\";\nimport CaretUpOutlined from \"@ant-design/icons/es/icons/CaretUpOutlined\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport Tooltip from '../../tooltip';\nimport { getColumnKey, getColumnPos, renderColumnTitle, safeColumnTitle } from '../util';\nvar ASCEND = 'ascend';\nvar DESCEND = 'descend';\nfunction getMultiplePriority(column) {\n if (_typeof(column.sorter) === 'object' && typeof column.sorter.multiple === 'number') {\n return column.sorter.multiple;\n }\n return false;\n}\nfunction getSortFunction(sorter) {\n if (typeof sorter === 'function') {\n return sorter;\n }\n if (sorter && _typeof(sorter) === 'object' && sorter.compare) {\n return sorter.compare;\n }\n return false;\n}\nfunction nextSortDirection(sortDirections, current) {\n if (!current) {\n return sortDirections[0];\n }\n return sortDirections[sortDirections.indexOf(current) + 1];\n}\nfunction collectSortStates(columns, init, pos) {\n var sortStates = [];\n function pushState(column, columnPos) {\n sortStates.push({\n column: column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.sortOrder\n });\n }\n (columns || []).forEach(function (column, index) {\n var 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: column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.defaultSortOrder\n });\n }\n }\n });\n return sortStates;\n}\nfunction injectSorter(prefixCls, columns, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, pos) {\n return (columns || []).map(function (column, index) {\n var columnPos = getColumnPos(index, pos);\n var newColumn = column;\n if (newColumn.sorter) {\n var sortDirections = newColumn.sortDirections || defaultSortDirections;\n var showSorterTooltip = newColumn.showSorterTooltip === undefined ? tableShowSorterTooltip : newColumn.showSorterTooltip;\n var columnKey = getColumnKey(newColumn, columnPos);\n var sorterState = sorterStates.find(function (_ref) {\n var key = _ref.key;\n return key === columnKey;\n });\n var sorterOrder = sorterState ? sorterState.sortOrder : null;\n var nextSortOrder = nextSortDirection(sortDirections, sorterOrder);\n var upNode = sortDirections.includes(ASCEND) && /*#__PURE__*/React.createElement(CaretUpOutlined, {\n className: classNames(prefixCls + \"-column-sorter-up\", {\n active: sorterOrder === ASCEND\n }),\n role: \"presentation\"\n });\n var downNode = sortDirections.includes(DESCEND) && /*#__PURE__*/React.createElement(CaretDownOutlined, {\n className: classNames(prefixCls + \"-column-sorter-down\", {\n active: sorterOrder === DESCEND\n }),\n role: \"presentation\"\n });\n var _ref2 = tableLocale || {},\n cancelSort = _ref2.cancelSort,\n triggerAsc = _ref2.triggerAsc,\n triggerDesc = _ref2.triggerDesc;\n var sortTip = cancelSort;\n if (nextSortOrder === DESCEND) {\n sortTip = triggerDesc;\n } else if (nextSortOrder === ASCEND) {\n sortTip = triggerAsc;\n }\n var tooltipProps = _typeof(showSorterTooltip) === 'object' ? showSorterTooltip : {\n title: sortTip\n };\n newColumn = _extends(_extends({}, newColumn), {\n className: classNames(newColumn.className, _defineProperty({}, prefixCls + \"-column-sort\", sorterOrder)),\n title: function title(renderProps) {\n var renderSortTitle = /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"-column-sorters\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-column-title\"\n }, renderColumnTitle(column.title, renderProps)), /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(prefixCls + \"-column-sorter\", _defineProperty({}, prefixCls + \"-column-sorter-full\", !!(upNode && downNode)))\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-column-sorter-inner\"\n }, upNode, downNode)));\n return showSorterTooltip ? /*#__PURE__*/React.createElement(Tooltip, _extends({}, tooltipProps), renderSortTitle) : renderSortTitle;\n },\n onHeaderCell: function onHeaderCell(col) {\n var cell = column.onHeaderCell && column.onHeaderCell(col) || {};\n var originOnClick = cell.onClick;\n var originOKeyDown = cell.onKeyDown;\n cell.onClick = function (event) {\n triggerSorter({\n column: 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 = function (event) {\n if (event.keyCode === KeyCode.ENTER) {\n triggerSorter({\n column: 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 var renderTitle = safeColumnTitle(column.title, {});\n var displayTitle = renderTitle === null || renderTitle === void 0 ? void 0 : renderTitle.toString();\n // Inform the screen-reader so it can tell the visually impaired user which column is sorted\n if (sorterOrder) {\n cell['aria-sort'] = sorterOrder === 'ascend' ? 'ascending' : 'descending';\n } else {\n cell['aria-label'] = (displayTitle ? \"this column's title is \" + displayTitle + \",\" : '') + \"this column is sortable\";\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 = _extends(_extends({}, newColumn), {\n children: injectSorter(prefixCls, newColumn.children, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, columnPos)\n });\n }\n return newColumn;\n });\n}\nfunction stateToInfo(sorterStates) {\n var column = sorterStates.column,\n sortOrder = sorterStates.sortOrder;\n return {\n column: column,\n order: sortOrder,\n field: column.dataIndex,\n columnKey: column.key\n };\n}\nfunction generateSorterInfo(sorterStates) {\n var list = sorterStates.filter(function (_ref3) {\n var sortOrder = _ref3.sortOrder;\n return sortOrder;\n }).map(stateToInfo);\n // =========== Legacy compatible support ===========\n // https://github.com/ant-design/ant-design/pull/19226\n if (list.length === 0 && sorterStates.length) {\n return _extends(_extends({}, stateToInfo(sorterStates[sorterStates.length - 1])), {\n column: undefined\n });\n }\n if (list.length <= 1) {\n return list[0] || {};\n }\n return list;\n}\nexport function getSortData(data, sortStates, childrenColumnName) {\n var innerSorterStates = sortStates.slice().sort(function (a, b) {\n return b.multiplePriority - a.multiplePriority;\n });\n var cloneData = data.slice();\n var runningSorters = innerSorterStates.filter(function (_ref4) {\n var sorter = _ref4.column.sorter,\n sortOrder = _ref4.sortOrder;\n return getSortFunction(sorter) && sortOrder;\n });\n // Skip if no sorter needed\n if (!runningSorters.length) {\n return cloneData;\n }\n return cloneData.sort(function (record1, record2) {\n for (var i = 0; i < runningSorters.length; i += 1) {\n var sorterState = runningSorters[i];\n var sorter = sorterState.column.sorter,\n sortOrder = sorterState.sortOrder;\n var compareFn = getSortFunction(sorter);\n if (compareFn && sortOrder) {\n var compareResult = compareFn(record1, record2, sortOrder);\n if (compareResult !== 0) {\n return sortOrder === ASCEND ? compareResult : -compareResult;\n }\n }\n }\n return 0;\n }).map(function (record) {\n var subRecords = record[childrenColumnName];\n if (subRecords) {\n return _extends(_extends({}, record), _defineProperty({}, childrenColumnName, getSortData(subRecords, sortStates, childrenColumnName)));\n }\n return record;\n });\n}\nexport default function useFilterSorter(_ref5) {\n var prefixCls = _ref5.prefixCls,\n mergedColumns = _ref5.mergedColumns,\n onSorterChange = _ref5.onSorterChange,\n sortDirections = _ref5.sortDirections,\n tableLocale = _ref5.tableLocale,\n showSorterTooltip = _ref5.showSorterTooltip;\n var _React$useState = React.useState(collectSortStates(mergedColumns, true)),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n sortStates = _React$useState2[0],\n setSortStates = _React$useState2[1];\n var mergedSorterStates = React.useMemo(function () {\n var validate = true;\n var collectedStates = collectSortStates(mergedColumns, false);\n // Return if not controlled\n if (!collectedStates.length) {\n return sortStates;\n }\n var validateStates = [];\n function patchStates(state) {\n if (validate) {\n validateStates.push(state);\n } else {\n validateStates.push(_extends(_extends({}, state), {\n sortOrder: null\n }));\n }\n }\n var multipleMode = null;\n collectedStates.forEach(function (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 var columnTitleSorterProps = React.useMemo(function () {\n var sortColumns = mergedSorterStates.map(function (_ref6) {\n var column = _ref6.column,\n sortOrder = _ref6.sortOrder;\n return {\n column: column,\n order: sortOrder\n };\n });\n return {\n sortColumns: sortColumns,\n // Legacy\n sortColumn: sortColumns[0] && sortColumns[0].column,\n sortOrder: sortColumns[0] && sortColumns[0].order\n };\n }, [mergedSorterStates]);\n function triggerSorter(sortState) {\n var newSorterStates;\n if (sortState.multiplePriority === false || !mergedSorterStates.length || mergedSorterStates[0].multiplePriority === false) {\n newSorterStates = [sortState];\n } else {\n newSorterStates = [].concat(_toConsumableArray(mergedSorterStates.filter(function (_ref7) {\n var key = _ref7.key;\n return key !== sortState.key;\n })), [sortState]);\n }\n setSortStates(newSorterStates);\n onSorterChange(generateSorterInfo(newSorterStates), newSorterStates);\n }\n var transformColumns = function transformColumns(innerColumns) {\n return injectSorter(prefixCls, innerColumns, mergedSorterStates, triggerSorter, sortDirections, tableLocale, showSorterTooltip);\n };\n var getSorters = function getSorters() {\n return generateSorterInfo(mergedSorterStates);\n };\n return [transformColumns, mergedSorterStates, columnTitleSorterProps, getSorters];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { renderColumnTitle } from '../util';\nfunction fillTitle(columns, columnTitleProps) {\n return columns.map(function (column) {\n var cloneColumn = _extends({}, column);\n cloneColumn.title = renderColumnTitle(column.title, columnTitleProps);\n if ('children' in cloneColumn) {\n cloneColumn.children = fillTitle(cloneColumn.children, columnTitleProps);\n }\n return cloneColumn;\n });\n}\nexport default function useTitleColumns(columnTitleProps) {\n var filledColumns = React.useCallback(function (columns) {\n return fillTitle(columns, columnTitleProps);\n }, [columnTitleProps]);\n return [filledColumns];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genBorderedStyle = function genBorderedStyle(token) {\n var _table, _ref4, _extends2, _ref6, _ref7;\n var componentCls = token.componentCls;\n var tableBorder = token.lineWidth + \"px \" + token.lineType + \" \" + token.tableBorderColor;\n var getSizeBorderStyle = function getSizeBorderStyle(size, paddingVertical, paddingHorizontal) {\n return _defineProperty({}, \"&\" + componentCls + \"-\" + size, _defineProperty({}, \"> \" + componentCls + \"-container\", _defineProperty({}, \"> \" + componentCls + \"-content, > \" + componentCls + \"-body\", {\n '> table > tbody > tr > td': _defineProperty({}, \"> \" + componentCls + \"-expanded-row-fixed\", {\n margin: \"-\" + paddingVertical + \"px -\" + (paddingHorizontal + token.lineWidth) + \"px\"\n })\n })));\n };\n return _defineProperty({}, componentCls + \"-wrapper\", (_ref7 = {}, _defineProperty(_ref7, \"\" + componentCls + componentCls + \"-bordered\", _extends(_extends(_extends((_extends2 = {}, _defineProperty(_extends2, \"> \" + componentCls + \"-title\", {\n border: tableBorder,\n borderBottom: 0\n }), _defineProperty(_extends2, \"> \" + componentCls + \"-container\", (_ref4 = {\n borderInlineStart: tableBorder\n }, _defineProperty(_ref4, \"\\n > \" + componentCls + \"-content,\\n > \" + componentCls + \"-header,\\n > \" + componentCls + \"-body,\\n > \" + componentCls + \"-summary\\n \", {\n '> table': (_table = {}, _defineProperty(_table, \"\\n > thead > tr > th,\\n > tbody > tr > td,\\n > tfoot > tr > th,\\n > tfoot > tr > td\\n \", {\n borderInlineEnd: tableBorder\n }), _defineProperty(_table, '> thead', {\n '> tr:not(:last-child) > th': {\n borderBottom: tableBorder\n },\n '> tr > th::before': {\n backgroundColor: 'transparent !important'\n }\n }), _defineProperty(_table, \"\\n > thead > tr,\\n > tbody > tr,\\n > tfoot > tr\\n \", _defineProperty({}, \"> \" + componentCls + \"-cell-fix-right-first::after\", {\n borderInlineEnd: tableBorder\n })), _defineProperty(_table, '> table > tbody > tr > td', _defineProperty({}, \"> \" + componentCls + \"-expanded-row-fixed\", {\n margin: \"-\" + token.tablePaddingVertical + \"px -\" + (token.tablePaddingHorizontal + token.lineWidth) + \"px\",\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.lineWidth,\n bottom: 0,\n borderInlineEnd: tableBorder,\n content: '\"\"'\n }\n })), _table)\n }), _defineProperty(_ref4, \"\\n > \" + componentCls + \"-content,\\n > \" + componentCls + \"-header\\n \", {\n '> table': {\n borderTop: tableBorder\n }\n }), _ref4)), _defineProperty(_extends2, \"&\" + componentCls + \"-scroll-horizontal\", _defineProperty({}, \"> \" + componentCls + \"-container > \" + componentCls + \"-body\", {\n '> table > tbody': _defineProperty({}, \"\\n > tr\" + componentCls + \"-expanded-row,\\n > tr\" + componentCls + \"-placeholder\\n \", {\n '> td': {\n borderInlineEnd: 0\n }\n })\n })), _extends2), getSizeBorderStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle)), getSizeBorderStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall)), _defineProperty({}, \"> \" + componentCls + \"-footer\", {\n border: tableBorder,\n borderTop: 0\n }))), _defineProperty(_ref7, componentCls + \"-cell\", (_ref6 = {}, _defineProperty(_ref6, componentCls + \"-container:first-child\", {\n // :first-child to avoid the case when bordered and title is set\n borderTop: 0\n }), _defineProperty(_ref6, '&-scrollbar:not([rowspan])', {\n boxShadow: \"0 \" + token.lineWidth + \"px 0 \" + token.lineWidth + \"px \" + token.tableHeaderBg\n }), _ref6)), _ref7));\n};\nexport default genBorderedStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { textEllipsis } from '../../style';\nvar genEllipsisStyle = function genEllipsisStyle(token) {\n var _extends2;\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls + \"-wrapper\", _defineProperty({}, componentCls + \"-cell-ellipsis\", _extends(_extends({}, textEllipsis), (_extends2 = {\n wordBreak: 'keep-all'\n }, _defineProperty(_extends2, \"\\n &\" + componentCls + \"-cell-fix-left-last,\\n &\" + componentCls + \"-cell-fix-right-first\\n \", _defineProperty({\n overflow: 'visible'\n }, componentCls + \"-cell-content\", {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n })), _defineProperty(_extends2, componentCls + \"-column-title\", {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n wordBreak: 'keep-all'\n }), _extends2))));\n};\nexport default genEllipsisStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// ========================= Placeholder ==========================\nvar genEmptyStyle = function genEmptyStyle(token) {\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls + \"-wrapper\", _defineProperty({}, componentCls + \"-tbody > tr\" + componentCls + \"-placeholder\", {\n textAlign: 'center',\n color: token.colorTextDisabled,\n '&:hover > td': {\n background: token.colorBgContainer\n }\n }));\n};\nexport default genEmptyStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { operationUnit } from '../../style';\nvar genExpandStyle = function genExpandStyle(token) {\n var _extends2, _ref3;\n var componentCls = token.componentCls,\n antCls = token.antCls,\n checkboxSize = token.controlInteractiveSize,\n motionDurationSlow = token.motionDurationSlow,\n lineWidth = token.lineWidth,\n paddingXS = token.paddingXS,\n lineType = token.lineType,\n tableBorderColor = token.tableBorderColor,\n tableExpandIconBg = token.tableExpandIconBg,\n tableExpandColumnWidth = token.tableExpandColumnWidth,\n borderRadius = token.borderRadius,\n fontSize = token.fontSize,\n fontSizeSM = token.fontSizeSM,\n lineHeight = token.lineHeight,\n tablePaddingVertical = token.tablePaddingVertical,\n tablePaddingHorizontal = token.tablePaddingHorizontal,\n tableExpandedRowBg = token.tableExpandedRowBg,\n paddingXXS = token.paddingXXS;\n var halfInnerSize = checkboxSize / 2 - lineWidth;\n // must be odd number, unless it cannot align center\n var expandIconSize = halfInnerSize * 2 + lineWidth * 3;\n var tableBorder = lineWidth + \"px \" + lineType + \" \" + tableBorderColor;\n var expandIconLineOffset = paddingXXS - lineWidth;\n return _defineProperty({}, componentCls + \"-wrapper\", (_ref3 = {}, _defineProperty(_ref3, componentCls + \"-expand-icon-col\", {\n width: tableExpandColumnWidth\n }), _defineProperty(_ref3, componentCls + \"-row-expand-icon-cell\", _defineProperty({\n textAlign: 'center'\n }, componentCls + \"-row-expand-icon\", {\n display: 'inline-flex',\n \"float\": 'none',\n verticalAlign: 'sub'\n })), _defineProperty(_ref3, componentCls + \"-row-indent\", {\n height: 1,\n \"float\": 'left'\n }), _defineProperty(_ref3, componentCls + \"-row-expand-icon\", _extends(_extends({}, operationUnit(token)), (_extends2 = {\n position: 'relative',\n \"float\": 'left',\n boxSizing: 'border-box',\n width: expandIconSize,\n height: expandIconSize,\n padding: 0,\n color: 'inherit',\n lineHeight: expandIconSize + \"px\",\n background: tableExpandIconBg,\n border: tableBorder,\n borderRadius: borderRadius,\n transform: \"scale(\" + checkboxSize / expandIconSize + \")\",\n transition: \"all \" + motionDurationSlow,\n userSelect: 'none'\n }, _defineProperty(_extends2, \"&:focus, &:hover, &:active\", {\n borderColor: 'currentcolor'\n }), _defineProperty(_extends2, \"&::before, &::after\", {\n position: 'absolute',\n background: 'currentcolor',\n transition: \"transform \" + motionDurationSlow + \" ease-out\",\n content: '\"\"'\n }), _defineProperty(_extends2, '&::before', {\n top: halfInnerSize,\n insetInlineEnd: expandIconLineOffset,\n insetInlineStart: expandIconLineOffset,\n height: lineWidth\n }), _defineProperty(_extends2, '&::after', {\n top: expandIconLineOffset,\n bottom: expandIconLineOffset,\n insetInlineStart: halfInnerSize,\n width: lineWidth,\n transform: 'rotate(90deg)'\n }), _defineProperty(_extends2, '&-collapsed::before', {\n transform: 'rotate(-180deg)'\n }), _defineProperty(_extends2, '&-collapsed::after', {\n transform: 'rotate(0deg)'\n }), _defineProperty(_extends2, '&-spaced', {\n '&::before, &::after': {\n display: 'none',\n content: 'none'\n },\n background: 'transparent',\n border: 0,\n visibility: 'hidden'\n }), _extends2))), _defineProperty(_ref3, componentCls + \"-row-indent + \" + componentCls + \"-row-expand-icon\", {\n marginTop: (fontSize * lineHeight - lineWidth * 3) / 2 - Math.ceil((fontSizeSM * 1.4 - lineWidth * 3) / 2),\n marginInlineEnd: paddingXS\n }), _defineProperty(_ref3, \"tr\" + componentCls + \"-expanded-row\", _defineProperty({\n '&, &:hover': {\n '> td': {\n background: tableExpandedRowBg\n }\n }\n }, antCls + \"-descriptions-view\", {\n display: 'flex',\n table: {\n flex: 'auto',\n width: 'auto'\n }\n })), _defineProperty(_ref3, componentCls + \"-expanded-row-fixed\", {\n position: 'relative',\n margin: \"-\" + tablePaddingVertical + \"px -\" + tablePaddingHorizontal + \"px\",\n padding: tablePaddingVertical + \"px \" + tablePaddingHorizontal + \"px\"\n }), _ref3));\n};\nexport default genExpandStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { resetComponent } from '../../style';\nvar genFilterStyle = function genFilterStyle(token) {\n var _ref, _ref3, _extends2, _ref6;\n var componentCls = token.componentCls,\n antCls = token.antCls,\n iconCls = token.iconCls,\n tableFilterDropdownWidth = token.tableFilterDropdownWidth,\n tableFilterDropdownSearchWidth = token.tableFilterDropdownSearchWidth,\n paddingXXS = token.paddingXXS,\n paddingXS = token.paddingXS,\n colorText = token.colorText,\n lineWidth = token.lineWidth,\n lineType = token.lineType,\n tableBorderColor = token.tableBorderColor,\n tableHeaderIconColor = token.tableHeaderIconColor,\n fontSizeSM = token.fontSizeSM,\n tablePaddingHorizontal = token.tablePaddingHorizontal,\n borderRadius = token.borderRadius,\n motionDurationSlow = token.motionDurationSlow,\n colorTextDescription = token.colorTextDescription,\n colorPrimary = token.colorPrimary,\n colorPrimaryActive = token.colorPrimaryActive,\n tableHeaderFilterActiveBg = token.tableHeaderFilterActiveBg,\n colorTextDisabled = token.colorTextDisabled,\n tableFilterDropdownBg = token.tableFilterDropdownBg,\n tableFilterDropdownHeight = token.tableFilterDropdownHeight,\n controlItemBgHover = token.controlItemBgHover,\n boxShadow = token.boxShadow;\n var dropdownPrefixCls = antCls + \"-dropdown\";\n var tableFilterDropdownPrefixCls = componentCls + \"-filter-dropdown\";\n var treePrefixCls = antCls + \"-tree\";\n var tableBorder = lineWidth + \"px \" + lineType + \" \" + tableBorderColor;\n return [_defineProperty({}, componentCls + \"-wrapper\", (_ref = {}, _defineProperty(_ref, componentCls + \"-filter-column\", {\n display: 'flex',\n justifyContent: 'space-between'\n }), _defineProperty(_ref, componentCls + \"-filter-trigger\", {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n marginBlock: -paddingXXS,\n marginInline: paddingXXS + \"px \" + -tablePaddingHorizontal / 2 + \"px\",\n padding: \"0 \" + paddingXXS + \"px\",\n color: tableHeaderIconColor,\n fontSize: fontSizeSM,\n borderRadius: borderRadius,\n cursor: 'pointer',\n transition: \"all \" + motionDurationSlow,\n '&:hover': {\n color: colorTextDescription,\n background: tableHeaderFilterActiveBg\n },\n '&.active': {\n color: colorPrimary\n }\n }), _ref)), _defineProperty({}, antCls + \"-dropdown\", _defineProperty({}, tableFilterDropdownPrefixCls, _extends(_extends({}, resetComponent(token)), (_extends2 = {\n minWidth: tableFilterDropdownWidth,\n backgroundColor: tableFilterDropdownBg,\n borderRadius: borderRadius,\n boxShadow: boxShadow\n }, _defineProperty(_extends2, dropdownPrefixCls + \"-menu\", {\n // https://github.com/ant-design/ant-design/issues/4916\n // https://github.com/ant-design/ant-design/issues/19542\n maxHeight: tableFilterDropdownHeight,\n overflowX: 'hidden',\n border: 0,\n boxShadow: 'none',\n '&:empty::after': {\n display: 'block',\n padding: paddingXS + \"px 0\",\n color: colorTextDisabled,\n fontSize: fontSizeSM,\n textAlign: 'center',\n content: '\"Not Found\"'\n }\n }), _defineProperty(_extends2, tableFilterDropdownPrefixCls + \"-tree\", (_ref3 = {\n paddingBlock: paddingXS + \"px 0\",\n paddingInline: paddingXS\n }, _defineProperty(_ref3, treePrefixCls, {\n padding: 0\n }), _defineProperty(_ref3, treePrefixCls + \"-treenode \" + treePrefixCls + \"-node-content-wrapper:hover\", {\n backgroundColor: controlItemBgHover\n }), _defineProperty(_ref3, treePrefixCls + \"-treenode-checkbox-checked \" + treePrefixCls + \"-node-content-wrapper\", {\n '&, &:hover': {\n backgroundColor: colorPrimaryActive\n }\n }), _ref3)), _defineProperty(_extends2, tableFilterDropdownPrefixCls + \"-search\", {\n padding: paddingXS,\n borderBottom: tableBorder,\n '&-input': _defineProperty({\n input: {\n minWidth: tableFilterDropdownSearchWidth\n }\n }, iconCls, {\n color: colorTextDisabled\n })\n }), _defineProperty(_extends2, tableFilterDropdownPrefixCls + \"-checkall\", {\n width: '100%',\n marginBottom: paddingXXS,\n marginInlineStart: paddingXXS\n }), _defineProperty(_extends2, tableFilterDropdownPrefixCls + \"-btns\", {\n display: 'flex',\n justifyContent: 'space-between',\n padding: paddingXS - lineWidth + \"px \" + paddingXS + \"px\",\n overflow: 'hidden',\n backgroundColor: 'inherit',\n borderTop: tableBorder\n }), _extends2)))), // Dropdown Menu & SubMenu\n _defineProperty({}, antCls + \"-dropdown \" + tableFilterDropdownPrefixCls + \", \" + tableFilterDropdownPrefixCls + \"-submenu\", (_ref6 = {}, _defineProperty(_ref6, antCls + \"-checkbox-wrapper + span\", {\n paddingInlineStart: paddingXS,\n color: colorText\n }), _defineProperty(_ref6, \"> ul\", {\n maxHeight: 'calc(100vh - 130px)',\n overflowX: 'hidden',\n overflowY: 'auto'\n }), _ref6))];\n};\nexport default genFilterStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genFixedStyle = function genFixedStyle(token) {\n var _ref, _ref2, _ref3;\n var componentCls = token.componentCls,\n lineWidth = token.lineWidth,\n colorSplit = token.colorSplit,\n motionDurationSlow = token.motionDurationSlow,\n zIndexTableFixed = token.zIndexTableFixed,\n tableBg = token.tableBg;\n var shadowColor = colorSplit;\n // Follow style is magic of shadow which should not follow token:\n return _defineProperty({}, componentCls + \"-wrapper\", (_ref3 = {}, _defineProperty(_ref3, \"\\n \" + componentCls + \"-cell-fix-left,\\n \" + componentCls + \"-cell-fix-right\\n \", {\n position: 'sticky !important',\n zIndex: zIndexTableFixed,\n background: tableBg\n }), _defineProperty(_ref3, \"\\n \" + componentCls + \"-cell-fix-left-first::after,\\n \" + componentCls + \"-cell-fix-left-last::after\\n \", {\n position: 'absolute',\n top: 0,\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: -lineWidth,\n width: 30,\n transform: 'translateX(100%)',\n transition: \"box-shadow \" + motionDurationSlow,\n content: '\"\"',\n pointerEvents: 'none'\n }), _defineProperty(_ref3, componentCls + \"-cell-fix-left-all::after\", {\n display: 'none'\n }), _defineProperty(_ref3, \"\\n \" + componentCls + \"-cell-fix-right-first::after,\\n \" + componentCls + \"-cell-fix-right-last::after\\n \", {\n position: 'absolute',\n top: 0,\n bottom: -lineWidth,\n left: {\n _skip_check_: true,\n value: 0\n },\n width: 30,\n transform: 'translateX(-100%)',\n transition: \"box-shadow \" + motionDurationSlow,\n content: '\"\"',\n pointerEvents: 'none'\n }), _defineProperty(_ref3, componentCls + \"-container\", {\n '&::before, &::after': {\n position: 'absolute',\n top: 0,\n bottom: 0,\n zIndex: zIndexTableFixed,\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 }), _defineProperty(_ref3, componentCls + \"-ping-left\", (_ref = {}, _defineProperty(_ref, \"&:not(\" + componentCls + \"-has-fix-left) \" + componentCls + \"-container\", {\n position: 'relative',\n '&::before': {\n boxShadow: \"inset 10px 0 8px -8px \" + shadowColor\n }\n }), _defineProperty(_ref, \"\\n \" + componentCls + \"-cell-fix-left-first::after,\\n \" + componentCls + \"-cell-fix-left-last::after\\n \", {\n boxShadow: \"inset 10px 0 8px -8px \" + shadowColor\n }), _defineProperty(_ref, componentCls + \"-cell-fix-left-last::before\", {\n backgroundColor: 'transparent !important'\n }), _ref)), _defineProperty(_ref3, componentCls + \"-ping-right\", (_ref2 = {}, _defineProperty(_ref2, \"&:not(\" + componentCls + \"-has-fix-right) \" + componentCls + \"-container\", {\n position: 'relative',\n '&::after': {\n boxShadow: \"inset -10px 0 8px -8px \" + shadowColor\n }\n }), _defineProperty(_ref2, \"\\n \" + componentCls + \"-cell-fix-right-first::after,\\n \" + componentCls + \"-cell-fix-right-last::after\\n \", {\n boxShadow: \"inset -10px 0 8px -8px \" + shadowColor\n }), _ref2)), _ref3));\n};\nexport default genFixedStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genPaginationStyle = function genPaginationStyle(token) {\n var _ref;\n var componentCls = token.componentCls,\n antCls = token.antCls;\n return _defineProperty({}, componentCls + \"-wrapper\", (_ref = {}, _defineProperty(_ref, componentCls + \"-pagination\" + antCls + \"-pagination\", {\n margin: token.margin + \"px 0\"\n }), _defineProperty(_ref, 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 }), _ref));\n};\nexport default genPaginationStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genRadiusStyle = function genRadiusStyle(token) {\n var _componentCls;\n var componentCls = token.componentCls,\n tableRadius = token.tableRadius;\n return _defineProperty({}, componentCls + \"-wrapper\", _defineProperty({}, componentCls, (_componentCls = {}, _defineProperty(_componentCls, componentCls + \"-title\", {\n borderRadius: tableRadius + \"px \" + tableRadius + \"px 0 0\"\n }), _defineProperty(_componentCls, componentCls + \"-title + \" + componentCls + \"-container\", {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0,\n table: {\n borderRadius: 0,\n '> thead > tr:first-child': {\n 'th:first-child': {\n borderRadius: 0\n },\n 'th:last-child': {\n borderRadius: 0\n }\n }\n }\n }), _defineProperty(_componentCls, '&-container', {\n borderStartStartRadius: tableRadius,\n borderStartEndRadius: tableRadius,\n 'table > thead > tr:first-child': {\n 'th:first-child': {\n borderStartStartRadius: tableRadius\n },\n 'th:last-child': {\n borderStartEndRadius: tableRadius\n }\n }\n }), _defineProperty(_componentCls, '&-footer', {\n borderRadius: \"0 0 \" + tableRadius + \"px \" + tableRadius + \"px\"\n }), _componentCls)));\n};\nexport default genRadiusStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genStyle = function genStyle(token) {\n var _ref;\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls + \"-wrapper-rtl\", (_ref = {\n direction: 'rtl',\n table: {\n direction: 'rtl'\n }\n }, _defineProperty(_ref, componentCls + \"-pagination-left\", {\n justifyContent: 'flex-end'\n }), _defineProperty(_ref, componentCls + \"-pagination-right\", {\n justifyContent: 'flex-start'\n }), _defineProperty(_ref, componentCls + \"-row-expand-icon\", {\n '&::after': {\n transform: 'rotate(-90deg)'\n },\n '&-collapsed::before': {\n transform: 'rotate(180deg)'\n },\n '&-collapsed::after': {\n transform: 'rotate(0deg)'\n }\n }), _ref));\n};\nexport default genStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genSelectionStyle = function genSelectionStyle(token) {\n var _ref3;\n var componentCls = token.componentCls,\n antCls = token.antCls,\n iconCls = token.iconCls,\n fontSizeIcon = token.fontSizeIcon,\n paddingXS = token.paddingXS,\n tableHeaderIconColor = token.tableHeaderIconColor,\n tableHeaderIconColorHover = token.tableHeaderIconColorHover;\n return _defineProperty({}, componentCls + \"-wrapper\", (_ref3 = {}, _defineProperty(_ref3, componentCls + \"-selection-col\", {\n width: token.tableSelectionColumnWidth\n }), _defineProperty(_ref3, componentCls + \"-bordered \" + componentCls + \"-selection-col\", {\n width: token.tableSelectionColumnWidth + paddingXS * 2\n }), _defineProperty(_ref3, \"\\n table tr th\" + componentCls + \"-selection-column,\\n table tr td\" + componentCls + \"-selection-column\\n \", _defineProperty({\n paddingInlineEnd: token.paddingXS,\n paddingInlineStart: token.paddingXS,\n textAlign: 'center'\n }, antCls + \"-radio-wrapper\", {\n marginInlineEnd: 0\n })), _defineProperty(_ref3, \"table tr th\" + componentCls + \"-selection-column\" + componentCls + \"-cell-fix-left\", {\n zIndex: token.zIndexTableFixed\n }), _defineProperty(_ref3, \"table tr th\" + componentCls + \"-selection-column::after\", {\n backgroundColor: 'transparent !important'\n }), _defineProperty(_ref3, componentCls + \"-selection\", {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column'\n }), _defineProperty(_ref3, componentCls + \"-selection-extra\", _defineProperty({\n position: 'absolute',\n top: 0,\n zIndex: 1,\n cursor: 'pointer',\n transition: \"all \" + token.motionDurationSlow,\n marginInlineStart: '100%',\n paddingInlineStart: token.tablePaddingHorizontal / 4 + \"px\"\n }, iconCls, {\n color: tableHeaderIconColor,\n fontSize: fontSizeIcon,\n verticalAlign: 'baseline',\n '&:hover': {\n color: tableHeaderIconColorHover\n }\n })), _ref3));\n};\nexport default genSelectionStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genSizeStyle = function genSizeStyle(token) {\n var componentCls = token.componentCls;\n var getSizeStyle = function getSizeStyle(size, paddingVertical, paddingHorizontal, fontSize) {\n var _ref2;\n return _defineProperty({}, \"\" + componentCls + componentCls + \"-\" + size, (_ref2 = {\n fontSize: fontSize\n }, _defineProperty(_ref2, \"\\n \" + componentCls + \"-title,\\n \" + componentCls + \"-footer,\\n \" + componentCls + \"-thead > tr > th,\\n \" + componentCls + \"-tbody > tr > td,\\n tfoot > tr > th,\\n tfoot > tr > td\\n \", {\n padding: paddingVertical + \"px \" + paddingHorizontal + \"px\"\n }), _defineProperty(_ref2, componentCls + \"-filter-trigger\", {\n marginInlineEnd: \"-\" + paddingHorizontal / 2 + \"px\"\n }), _defineProperty(_ref2, componentCls + \"-expanded-row-fixed\", {\n margin: \"-\" + paddingVertical + \"px -\" + paddingHorizontal + \"px\"\n }), _defineProperty(_ref2, componentCls + \"-tbody\", _defineProperty({}, componentCls + \"-wrapper:only-child \" + componentCls, {\n marginBlock: \"-\" + paddingVertical + \"px\",\n marginInline: token.tableExpandColumnWidth - paddingHorizontal + \"px -\" + paddingHorizontal + \"px\"\n })), _defineProperty(_ref2, componentCls + \"-selection-column\", {\n paddingInlineStart: paddingHorizontal / 4 + \"px\"\n }), _ref2));\n };\n return _defineProperty({}, componentCls + \"-wrapper\", _extends(_extends({}, getSizeStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle, token.tableFontSizeMiddle)), getSizeStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall, token.tableFontSizeSmall)));\n};\nexport default genSizeStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genSorterStyle = function genSorterStyle(token) {\n var _ref3;\n var componentCls = token.componentCls,\n marginXXS = token.marginXXS,\n fontSizeIcon = token.fontSizeIcon,\n tableHeaderIconColor = token.tableHeaderIconColor,\n tableHeaderIconColorHover = token.tableHeaderIconColorHover;\n return _defineProperty({}, componentCls + \"-wrapper\", (_ref3 = {}, _defineProperty(_ref3, componentCls + \"-thead th\" + componentCls + \"-column-has-sorters\", _defineProperty({\n outline: 'none',\n cursor: 'pointer',\n transition: \"all \" + token.motionDurationSlow,\n '&:hover': {\n background: token.tableHeaderSortHoverBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n },\n '&:focus-visible': {\n color: token.colorPrimary\n }\n }, \"\\n &\" + componentCls + \"-cell-fix-left:hover,\\n &\" + componentCls + \"-cell-fix-right:hover\\n \", {\n background: token.tableFixedHeaderSortActiveBg\n })), _defineProperty(_ref3, componentCls + \"-thead th\" + componentCls + \"-column-sort\", {\n background: token.tableHeaderSortBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n }), _defineProperty(_ref3, \"td\" + componentCls + \"-column-sort\", {\n background: token.tableBodySortBg\n }), _defineProperty(_ref3, componentCls + \"-column-title\", {\n position: 'relative',\n zIndex: 1,\n flex: 1\n }), _defineProperty(_ref3, 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 }), _defineProperty(_ref3, componentCls + \"-column-sorter\", _defineProperty({\n marginInlineStart: marginXXS,\n color: tableHeaderIconColor,\n fontSize: 0,\n transition: \"color \" + token.motionDurationSlow,\n '&-inner': {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n '&-up, &-down': {\n fontSize: fontSizeIcon,\n '&.active': {\n color: token.colorPrimary\n }\n }\n }, componentCls + \"-column-sorter-up + \" + componentCls + \"-column-sorter-down\", {\n marginTop: '-0.3em'\n })), _defineProperty(_ref3, componentCls + \"-column-sorters:hover \" + componentCls + \"-column-sorter\", {\n color: tableHeaderIconColorHover\n }), _ref3));\n};\nexport default genSorterStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genStickyStyle = function genStickyStyle(token) {\n var componentCls = token.componentCls,\n opacityLoading = token.opacityLoading,\n tableScrollThumbBg = token.tableScrollThumbBg,\n tableScrollThumbBgHover = token.tableScrollThumbBgHover,\n tableScrollThumbSize = token.tableScrollThumbSize,\n tableScrollBg = token.tableScrollBg,\n zIndexTableSticky = token.zIndexTableSticky;\n var tableBorder = token.lineWidth + \"px \" + token.lineType + \" \" + token.tableBorderColor;\n return _defineProperty({}, componentCls + \"-wrapper\", _defineProperty({}, componentCls + \"-sticky\", {\n '&-holder': {\n position: 'sticky',\n zIndex: zIndexTableSticky,\n background: token.colorBgContainer\n },\n '&-scroll': {\n position: 'sticky',\n bottom: 0,\n height: tableScrollThumbSize + \"px !important\",\n zIndex: zIndexTableSticky,\n display: 'flex',\n alignItems: 'center',\n background: tableScrollBg,\n borderTop: tableBorder,\n opacity: opacityLoading,\n '&:hover': {\n transformOrigin: 'center bottom'\n },\n // fake scrollbar style of sticky\n '&-bar': {\n height: tableScrollThumbSize,\n backgroundColor: tableScrollThumbBg,\n borderRadius: 100,\n transition: \"all \" + token.motionDurationSlow + \", transform none\",\n position: 'absolute',\n bottom: 0,\n '&:hover, &-active': {\n backgroundColor: tableScrollThumbBgHover\n }\n }\n }\n }));\n};\nexport default genStickyStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genSummaryStyle = function genSummaryStyle(token) {\n var _ref;\n var componentCls = token.componentCls,\n lineWidth = token.lineWidth,\n tableBorderColor = token.tableBorderColor;\n var tableBorder = lineWidth + \"px \" + token.lineType + \" \" + tableBorderColor;\n return _defineProperty({}, componentCls + \"-wrapper\", (_ref = {}, _defineProperty(_ref, componentCls + \"-summary\", {\n position: 'relative',\n zIndex: token.zIndexTableFixed,\n background: token.tableBg,\n '> tr': {\n '> th, > td': {\n borderBottom: tableBorder\n }\n }\n }), _defineProperty(_ref, \"div\" + componentCls + \"-summary\", {\n boxShadow: \"0 -\" + lineWidth + \"px 0 \" + tableBorderColor\n }), _ref));\n};\nexport default genSummaryStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genBorderedStyle from './bordered';\nimport genEllipsisStyle from './ellipsis';\nimport genEmptyStyle from './empty';\nimport genExpandStyle from './expand';\nimport genFilterStyle from './filter';\nimport genFixedStyle from './fixed';\nimport genPaginationStyle from './pagination';\nimport genRadiusStyle from './radius';\nimport genRtlStyle from './rtl';\nimport genSelectionStyle from './selection';\nimport genSizeStyle from './size';\nimport genSorterStyle from './sorter';\nimport genStickyStyle from './sticky';\nimport genSummaryStyle from './summary';\nimport { clearFix, resetComponent } from '../../style';\nvar genTableStyle = function genTableStyle(token) {\n var _tr, _ref3, _extends2;\n var componentCls = token.componentCls,\n fontWeightStrong = token.fontWeightStrong,\n tablePaddingVertical = token.tablePaddingVertical,\n tablePaddingHorizontal = token.tablePaddingHorizontal,\n lineWidth = token.lineWidth,\n lineType = token.lineType,\n tableBorderColor = token.tableBorderColor,\n tableFontSize = token.tableFontSize,\n tableBg = token.tableBg,\n tableRadius = token.tableRadius,\n tableHeaderTextColor = token.tableHeaderTextColor,\n motionDurationSlow = token.motionDurationSlow,\n tableHeaderBg = token.tableHeaderBg,\n tableHeaderCellSplitColor = token.tableHeaderCellSplitColor,\n tableRowHoverBg = token.tableRowHoverBg,\n tableSelectedRowBg = token.tableSelectedRowBg,\n tableSelectedRowHoverBg = token.tableSelectedRowHoverBg,\n tableFooterTextColor = token.tableFooterTextColor,\n tableFooterBg = token.tableFooterBg,\n paddingContentVerticalLG = token.paddingContentVerticalLG,\n wireframe = token.wireframe;\n var tableBorder = lineWidth + \"px \" + lineType + \" \" + tableBorderColor;\n return _defineProperty({}, componentCls + \"-wrapper\", _extends(_extends({\n clear: 'both',\n maxWidth: '100%'\n }, clearFix()), (_extends2 = {}, _defineProperty(_extends2, componentCls, _extends(_extends({}, resetComponent(token)), {\n fontSize: tableFontSize,\n background: tableBg,\n borderRadius: tableRadius\n })), _defineProperty(_extends2, \"table\", {\n width: '100%',\n textAlign: 'start',\n borderRadius: tableRadius + \"px \" + tableRadius + \"px 0 0\",\n borderCollapse: 'separate',\n borderSpacing: 0\n }), _defineProperty(_extends2, \"\\n \" + componentCls + \"-thead > tr > th,\\n \" + componentCls + \"-tbody > tr > td,\\n tfoot > tr > th,\\n tfoot > tr > td\\n \", {\n position: 'relative',\n padding: paddingContentVerticalLG + \"px \" + tablePaddingHorizontal + \"px\",\n overflowWrap: 'break-word'\n }), _defineProperty(_extends2, componentCls + \"-title\", {\n padding: tablePaddingVertical + \"px \" + tablePaddingHorizontal + \"px\"\n }), _defineProperty(_extends2, componentCls + \"-thead\", {\n '> tr > th': _defineProperty({\n position: 'relative',\n color: tableHeaderTextColor,\n fontWeight: fontWeightStrong,\n textAlign: 'start',\n background: tableHeaderBg,\n borderBottom: tableBorder,\n transition: \"background \" + motionDurationSlow + \" 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 \" + motionDurationSlow,\n content: '\"\"'\n }),\n '> tr:not(:last-child) > th[colspan]': {\n borderBottom: 0\n }\n }), _defineProperty(_extends2, componentCls + \"-tbody\", {\n '> tr': (_tr = {\n '> td': _defineProperty({\n borderTop: tableBorder,\n transition: \"background \" + motionDurationSlow\n }, \"\\n > \" + componentCls + \"-wrapper:only-child,\\n > \" + componentCls + \"-expanded-row-fixed > \" + componentCls + \"-wrapper:only-child\\n \", _defineProperty({}, componentCls, _defineProperty({\n marginBlock: \"-\" + tablePaddingVertical + \"px\",\n marginInline: token.tableExpandColumnWidth - tablePaddingHorizontal + \"px -\" + tablePaddingHorizontal + \"px\"\n }, componentCls + \"-tbody > tr:last-child > td\", {\n borderBottom: 0,\n '&:first-child, &:last-child': {\n borderRadius: 0\n }\n }))),\n '&:last-child > td': {\n borderBottom: tableBorder\n }\n }, _defineProperty(_tr, \"&:first-child > td,\\n &\" + componentCls + \"-measure-row + tr > td\", {\n borderTop: 'none'\n }), _defineProperty(_tr, \"\\n &\" + componentCls + \"-row:hover > td,\\n > td\" + componentCls + \"-cell-row-hover\\n \", {\n background: tableRowHoverBg\n }), _defineProperty(_tr, \"&\" + componentCls + \"-row-selected\", {\n '> td': {\n background: tableSelectedRowBg\n },\n '&:hover > td': {\n background: tableSelectedRowHoverBg\n }\n }), _tr)\n }), _defineProperty(_extends2, componentCls + \":not(\" + componentCls + \"-bordered) \" + componentCls + \"-tbody > tr\", wireframe ? undefined : (_ref3 = {}, _defineProperty(_ref3, \"&\" + componentCls + \"-row:hover, &\" + componentCls + \"-row\" + componentCls + \"-row-selected\", _defineProperty({}, \"+ tr\" + componentCls + \"-row > td\", {\n borderTopColor: 'transparent'\n })), _defineProperty(_ref3, \"&\" + componentCls + \"-row:last-child:hover > td,\\n &\" + componentCls + \"-row\" + componentCls + \"-row-selected:last-child > td\", {\n borderBottomColor: 'transparent'\n }), _defineProperty(_ref3, \"\\n &\" + componentCls + \"-row:hover > td,\\n > td\" + componentCls + \"-cell-row-hover,\\n &\" + componentCls + \"-row\" + componentCls + \"-row-selected > td\\n \", {\n borderTopColor: 'transparent',\n '&:first-child': {\n borderStartStartRadius: tableRadius,\n borderEndStartRadius: tableRadius\n },\n '&:last-child': {\n borderStartEndRadius: tableRadius,\n borderEndEndRadius: tableRadius\n }\n }), _ref3)), _defineProperty(_extends2, componentCls + \"-footer\", {\n padding: tablePaddingVertical + \"px \" + tablePaddingHorizontal + \"px\",\n color: tableFooterTextColor,\n background: tableFooterBg\n }), _extends2)));\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Table', function (token) {\n var controlItemBgActive = token.controlItemBgActive,\n controlItemBgActiveHover = token.controlItemBgActiveHover,\n colorTextPlaceholder = token.colorTextPlaceholder,\n colorTextHeading = token.colorTextHeading,\n colorSplit = token.colorSplit,\n fontSize = token.fontSize,\n padding = token.padding,\n paddingXS = token.paddingXS,\n paddingSM = token.paddingSM,\n controlHeight = token.controlHeight,\n colorFillAlter = token.colorFillAlter,\n colorIcon = token.colorIcon,\n colorIconHover = token.colorIconHover,\n opacityLoading = token.opacityLoading,\n colorBgContainer = token.colorBgContainer,\n colorFillSecondary = token.colorFillSecondary,\n borderRadiusLG = token.borderRadiusLG,\n colorFillContent = token.colorFillContent,\n checkboxSize = token.controlInteractiveSize;\n var baseColorAction = new TinyColor(colorIcon);\n var baseColorActionHover = new TinyColor(colorIconHover);\n var tableSelectedRowBg = controlItemBgActive;\n var zIndexTableFixed = 2;\n var colorFillAlterSolid = new TinyColor(colorFillAlter).onBackground(colorBgContainer).toHexString();\n var tableToken = mergeToken(token, {\n tableFontSize: fontSize,\n tableBg: colorBgContainer,\n tableRadius: borderRadiusLG,\n tablePaddingVertical: padding,\n tablePaddingHorizontal: padding,\n tablePaddingVerticalMiddle: paddingSM,\n tablePaddingHorizontalMiddle: paddingXS,\n tablePaddingVerticalSmall: paddingXS,\n tablePaddingHorizontalSmall: paddingXS,\n tableBorderColor: colorSplit,\n tableHeaderTextColor: colorTextHeading,\n tableHeaderBg: colorFillAlterSolid,\n tableFooterTextColor: colorTextHeading,\n tableFooterBg: colorFillAlterSolid,\n tableHeaderCellSplitColor: colorSplit,\n tableHeaderSortBg: colorFillSecondary,\n tableHeaderSortHoverBg: colorFillContent,\n tableHeaderIconColor: baseColorAction.clone().setAlpha(baseColorAction.getAlpha() * opacityLoading).toRgbString(),\n tableHeaderIconColorHover: baseColorActionHover.clone().setAlpha(baseColorActionHover.getAlpha() * opacityLoading).toRgbString(),\n tableBodySortBg: colorFillAlter,\n tableFixedHeaderSortActiveBg: colorFillSecondary,\n tableHeaderFilterActiveBg: colorFillContent,\n tableFilterDropdownBg: colorBgContainer,\n tableRowHoverBg: colorFillAlterSolid,\n tableSelectedRowBg: tableSelectedRowBg,\n tableSelectedRowHoverBg: controlItemBgActiveHover,\n zIndexTableFixed: zIndexTableFixed,\n zIndexTableSticky: zIndexTableFixed + 1,\n tableFontSizeMiddle: fontSize,\n tableFontSizeSmall: fontSize,\n tableSelectionColumnWidth: controlHeight,\n tableExpandIconBg: colorBgContainer,\n tableExpandColumnWidth: checkboxSize + 2 * token.padding,\n tableExpandedRowBg: colorFillAlter,\n // Dropdown\n tableFilterDropdownWidth: 120,\n tableFilterDropdownHeight: 264,\n tableFilterDropdownSearchWidth: 140,\n // Virtual Scroll Bar\n tableScrollThumbSize: 8,\n tableScrollThumbBg: colorTextPlaceholder,\n tableScrollThumbBgHover: colorTextHeading,\n tableScrollBg: colorSplit\n });\n return [genTableStyle(tableToken), genPaginationStyle(tableToken), genSummaryStyle(tableToken), genSorterStyle(tableToken), genFilterStyle(tableToken), genBorderedStyle(tableToken), genRadiusStyle(tableToken), genExpandStyle(tableToken), genSummaryStyle(tableToken), genEmptyStyle(tableToken), genSelectionStyle(tableToken), genFixedStyle(tableToken), genStickyStyle(tableToken), genEllipsisStyle(tableToken), genSizeStyle(tableToken), genRtlStyle(tableToken)];\n});","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport classNames from 'classnames';\nimport RcTable, { Summary } from 'rc-table';\nimport { convertChildrenToColumns } from \"rc-table/es/hooks/useColumns\";\nimport { INTERNAL_HOOKS } from \"rc-table/es/Table\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider/context';\nimport defaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport SizeContext from '../config-provider/SizeContext';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport defaultLocale from '../locale/en_US';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport scrollTo from '../_util/scrollTo';\nimport warning from '../_util/warning';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport renderExpandIcon from './ExpandIcon';\nimport useFilter, { getFilterData } from './hooks/useFilter';\nimport useLazyKVMap from './hooks/useLazyKVMap';\nimport usePagination, { DEFAULT_PAGE_SIZE, getPaginationParam } from './hooks/usePagination';\nimport useSelection, { SELECTION_ALL, SELECTION_COLUMN, SELECTION_INVERT, SELECTION_NONE } from './hooks/useSelection';\nimport useSorter, { getSortData } from './hooks/useSorter';\nimport useTitleColumns from './hooks/useTitleColumns';\nimport useStyle from './style';\nvar EMPTY_LIST = [];\nfunction InternalTable(props, ref) {\n var _classNames3;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n customizeSize = props.size,\n bordered = props.bordered,\n customizeDropdownPrefixCls = props.dropdownPrefixCls,\n dataSource = props.dataSource,\n pagination = props.pagination,\n rowSelection = props.rowSelection,\n _props$rowKey = props.rowKey,\n rowKey = _props$rowKey === void 0 ? 'key' : _props$rowKey,\n rowClassName = props.rowClassName,\n columns = props.columns,\n children = props.children,\n legacyChildrenColumnName = props.childrenColumnName,\n onChange = props.onChange,\n getPopupContainer = props.getPopupContainer,\n loading = props.loading,\n expandIcon = props.expandIcon,\n expandable = props.expandable,\n expandedRowRender = props.expandedRowRender,\n expandIconColumnIndex = props.expandIconColumnIndex,\n indentSize = props.indentSize,\n scroll = props.scroll,\n sortDirections = props.sortDirections,\n locale = props.locale,\n _props$showSorterTool = props.showSorterTooltip,\n showSorterTooltip = _props$showSorterTool === void 0 ? true : _props$showSorterTool;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof rowKey === 'function' && rowKey.length > 1), 'Table', '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.') : void 0;\n }\n var baseColumns = React.useMemo(function () {\n return columns || convertChildrenToColumns(children);\n }, [columns, children]);\n var needResponsive = React.useMemo(function () {\n return baseColumns.some(function (col) {\n return col.responsive;\n });\n }, [baseColumns]);\n var screens = useBreakpoint(needResponsive);\n var mergedColumns = React.useMemo(function () {\n var matched = new Set(Object.keys(screens).filter(function (m) {\n return screens[m];\n }));\n return baseColumns.filter(function (c) {\n return !c.responsive || c.responsive.some(function (r) {\n return matched.has(r);\n });\n });\n }, [baseColumns, screens]);\n var tableProps = omit(props, ['className', 'style', 'columns']);\n var size = React.useContext(SizeContext);\n var _React$useContext = React.useContext(ConfigContext),\n _React$useContext$loc = _React$useContext.locale,\n contextLocale = _React$useContext$loc === void 0 ? defaultLocale : _React$useContext$loc,\n renderEmpty = _React$useContext.renderEmpty,\n direction = _React$useContext.direction;\n var mergedSize = customizeSize || size;\n var tableLocale = _extends(_extends({}, contextLocale.Table), locale);\n var rawData = dataSource || EMPTY_LIST;\n var _React$useContext2 = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext2.getPrefixCls;\n var prefixCls = getPrefixCls('table', customizePrefixCls);\n var dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n var mergedExpandable = _extends({\n childrenColumnName: legacyChildrenColumnName,\n expandIconColumnIndex: expandIconColumnIndex\n }, expandable);\n var _mergedExpandable$chi = mergedExpandable.childrenColumnName,\n childrenColumnName = _mergedExpandable$chi === void 0 ? 'children' : _mergedExpandable$chi;\n var expandType = React.useMemo(function () {\n if (rawData.some(function (item) {\n return item === null || item === void 0 ? void 0 : item[childrenColumnName];\n })) {\n return 'nest';\n }\n if (expandedRowRender || expandable && expandable.expandedRowRender) {\n return 'row';\n }\n return null;\n }, [rawData]);\n var internalRefs = {\n body: React.useRef()\n };\n // ============================ RowKey ============================\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return function (record) {\n return record === null || record === void 0 ? void 0 : record[rowKey];\n };\n }, [rowKey]);\n var _useLazyKVMap = useLazyKVMap(rawData, childrenColumnName, getRowKey),\n _useLazyKVMap2 = _slicedToArray(_useLazyKVMap, 1),\n getRecordByKey = _useLazyKVMap2[0];\n // ============================ Events =============================\n var changeEventInfo = {};\n var triggerOnChange = function triggerOnChange(info, action) {\n var reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var changeInfo = _extends(_extends({}, changeEventInfo), info);\n if (reset) {\n changeEventInfo.resetPagination();\n // Reset event param\n if (changeInfo.pagination.current) {\n changeInfo.pagination.current = 1;\n }\n // Trigger pagination events\n if (pagination && pagination.onChange) {\n pagination.onChange(1, changeInfo.pagination.pageSize);\n }\n }\n if (scroll && scroll.scrollToFirstRowOnChange !== false && internalRefs.body.current) {\n scrollTo(0, {\n getContainer: function getContainer() {\n return internalRefs.body.current;\n }\n });\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(changeInfo.pagination, changeInfo.filters, changeInfo.sorter, {\n currentDataSource: getFilterData(getSortData(rawData, changeInfo.sorterStates, childrenColumnName), changeInfo.filterStates),\n action: 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 var onSorterChange = function onSorterChange(sorter, sorterStates) {\n triggerOnChange({\n sorter: sorter,\n sorterStates: sorterStates\n }, 'sort', false);\n };\n var _useSorter = useSorter({\n prefixCls: prefixCls,\n mergedColumns: mergedColumns,\n onSorterChange: onSorterChange,\n sortDirections: sortDirections || ['ascend', 'descend'],\n tableLocale: tableLocale,\n showSorterTooltip: showSorterTooltip\n }),\n _useSorter2 = _slicedToArray(_useSorter, 4),\n transformSorterColumns = _useSorter2[0],\n sortStates = _useSorter2[1],\n sorterTitleProps = _useSorter2[2],\n getSorters = _useSorter2[3];\n var sortedData = React.useMemo(function () {\n return getSortData(rawData, sortStates, childrenColumnName);\n }, [rawData, sortStates]);\n changeEventInfo.sorter = getSorters();\n changeEventInfo.sorterStates = sortStates;\n // ============================ Filter ============================\n var onFilterChange = function onFilterChange(filters, filterStates) {\n triggerOnChange({\n filters: filters,\n filterStates: filterStates\n }, 'filter', true);\n };\n var _useFilter = useFilter({\n prefixCls: prefixCls,\n locale: tableLocale,\n dropdownPrefixCls: dropdownPrefixCls,\n mergedColumns: mergedColumns,\n onFilterChange: onFilterChange,\n getPopupContainer: getPopupContainer\n }),\n _useFilter2 = _slicedToArray(_useFilter, 3),\n transformFilterColumns = _useFilter2[0],\n filterStates = _useFilter2[1],\n filters = _useFilter2[2];\n var mergedData = getFilterData(sortedData, filterStates);\n changeEventInfo.filters = filters;\n changeEventInfo.filterStates = filterStates;\n // ============================ Column ============================\n var columnTitleProps = React.useMemo(function () {\n var mergedFilters = {};\n Object.keys(filters).forEach(function (filterKey) {\n if (filters[filterKey] !== null) {\n mergedFilters[filterKey] = filters[filterKey];\n }\n });\n return _extends(_extends({}, sorterTitleProps), {\n filters: mergedFilters\n });\n }, [sorterTitleProps, filters]);\n var _useTitleColumns = useTitleColumns(columnTitleProps),\n _useTitleColumns2 = _slicedToArray(_useTitleColumns, 1),\n transformTitleColumns = _useTitleColumns2[0];\n // ========================== Pagination ==========================\n var onPaginationChange = function onPaginationChange(current, pageSize) {\n triggerOnChange({\n pagination: _extends(_extends({}, changeEventInfo.pagination), {\n current: current,\n pageSize: pageSize\n })\n }, 'paginate');\n };\n var _usePagination = usePagination(mergedData.length, pagination, onPaginationChange),\n _usePagination2 = _slicedToArray(_usePagination, 2),\n mergedPagination = _usePagination2[0],\n resetPagination = _usePagination2[1];\n changeEventInfo.pagination = pagination === false ? {} : getPaginationParam(pagination, mergedPagination);\n changeEventInfo.resetPagination = resetPagination;\n // ============================= Data =============================\n var pageData = React.useMemo(function () {\n if (pagination === false || !mergedPagination.pageSize) {\n return mergedData;\n }\n var _mergedPagination$cur = mergedPagination.current,\n current = _mergedPagination$cur === void 0 ? 1 : _mergedPagination$cur,\n total = mergedPagination.total,\n _mergedPagination$pag = mergedPagination.pageSize,\n pageSize = _mergedPagination$pag === void 0 ? DEFAULT_PAGE_SIZE : _mergedPagination$pag;\n process.env.NODE_ENV !== \"production\" ? warning(current > 0, 'Table', '`current` should be positive number.') : void 0;\n // Dynamic table data\n if (mergedData.length < total) {\n if (mergedData.length > pageSize) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Table', '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.') : void 0;\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }\n return mergedData;\n }\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }, [!!pagination, mergedData, mergedPagination && mergedPagination.current, mergedPagination && mergedPagination.pageSize, mergedPagination && mergedPagination.total]);\n // ========================== Selections ==========================\n var _useSelection = useSelection(rowSelection, {\n prefixCls: prefixCls,\n data: mergedData,\n pageData: pageData,\n getRowKey: getRowKey,\n getRecordByKey: getRecordByKey,\n expandType: expandType,\n childrenColumnName: childrenColumnName,\n locale: tableLocale,\n getPopupContainer: getPopupContainer\n }),\n _useSelection2 = _slicedToArray(_useSelection, 2),\n transformSelectionColumns = _useSelection2[0],\n selectedKeySet = _useSelection2[1];\n var internalRowClassName = function internalRowClassName(record, index, indent) {\n var mergedRowClassName;\n if (typeof rowClassName === 'function') {\n mergedRowClassName = classNames(rowClassName(record, index, indent));\n } else {\n mergedRowClassName = classNames(rowClassName);\n }\n return classNames(_defineProperty({}, prefixCls + \"-row-selected\", selectedKeySet.has(getRowKey(record, index))), 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 var transformColumns = React.useCallback(function (innerColumns) {\n return transformTitleColumns(transformSelectionColumns(transformFilterColumns(transformSorterColumns(innerColumns))));\n }, [transformSorterColumns, transformFilterColumns, transformSelectionColumns]);\n var topPaginationNode;\n var bottomPaginationNode;\n if (pagination !== false && (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total)) {\n var paginationSize;\n if (mergedPagination.size) {\n paginationSize = mergedPagination.size;\n } else {\n paginationSize = mergedSize === 'small' || mergedSize === 'middle' ? 'small' : undefined;\n }\n var renderPagination = function renderPagination(position) {\n return /*#__PURE__*/React.createElement(Pagination, _extends({}, mergedPagination, {\n className: classNames(prefixCls + \"-pagination \" + prefixCls + \"-pagination-\" + position, mergedPagination.className),\n size: paginationSize\n }));\n };\n var defaultPosition = direction === 'rtl' ? 'left' : 'right';\n var position = mergedPagination.position;\n if (position !== null && Array.isArray(position)) {\n var topPos = position.find(function (p) {\n return p.includes('top');\n });\n var bottomPos = position.find(function (p) {\n return p.includes('bottom');\n });\n var isDisable = position.every(function (p) {\n return \"\" + p === 'none';\n });\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 var spinProps;\n if (typeof loading === 'boolean') {\n spinProps = {\n spinning: loading\n };\n } else if (_typeof(loading) === 'object') {\n spinProps = _extends({\n spinning: true\n }, loading);\n }\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var wrapperClassNames = classNames(prefixCls + \"-wrapper\", _defineProperty({}, prefixCls + \"-wrapper-rtl\", direction === 'rtl'), className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: wrapperClassNames,\n style: style\n }, /*#__PURE__*/React.createElement(Spin, _extends({\n spinning: false\n }, spinProps), topPaginationNode, /*#__PURE__*/React.createElement(RcTable, _extends({}, tableProps, {\n columns: mergedColumns,\n direction: direction,\n expandable: mergedExpandable,\n prefixCls: prefixCls,\n className: classNames((_classNames3 = {}, _defineProperty(_classNames3, prefixCls + \"-middle\", mergedSize === 'middle'), _defineProperty(_classNames3, prefixCls + \"-small\", mergedSize === 'small'), _defineProperty(_classNames3, prefixCls + \"-bordered\", bordered), _defineProperty(_classNames3, prefixCls + \"-empty\", rawData.length === 0), _classNames3)),\n data: pageData,\n rowKey: getRowKey,\n rowClassName: internalRowClassName,\n emptyText: locale && locale.emptyText || (renderEmpty || defaultRenderEmpty)('Table'),\n // Internal\n internalHooks: INTERNAL_HOOKS,\n internalRefs: internalRefs,\n transformColumns: transformColumns\n })), bottomPaginationNode)));\n}\nvar ForwardTable = /*#__PURE__*/React.forwardRef(InternalTable);\nvar Table = ForwardTable;\nTable.SELECTION_COLUMN = SELECTION_COLUMN;\nTable.EXPAND_COLUMN = RcTable.EXPAND_COLUMN;\nTable.SELECTION_ALL = SELECTION_ALL;\nTable.SELECTION_INVERT = SELECTION_INVERT;\nTable.SELECTION_NONE = SELECTION_NONE;\nTable.Column = Column;\nTable.ColumnGroup = ColumnGroup;\nTable.Summary = Summary;\nexport default Table;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nexport default function useLazyKVMap(data, childrenColumnName, getRowKey) {\n var mapCacheRef = React.useRef({});\n function getRecordByKey(key) {\n if (!mapCacheRef.current || mapCacheRef.current.data !== data || mapCacheRef.current.childrenColumnName !== childrenColumnName || mapCacheRef.current.getRowKey !== getRowKey) {\n var kvMap = new Map();\n /* eslint-disable no-inner-declarations */\n function dig(records) {\n records.forEach(function (record, index) {\n var rowKey = getRowKey(record, index);\n kvMap.set(rowKey, record);\n if (record && _typeof(record) === 'object' && childrenColumnName in record) {\n dig(record[childrenColumnName] || []);\n }\n });\n }\n /* eslint-enable */\n dig(data);\n mapCacheRef.current = {\n data: data,\n childrenColumnName: childrenColumnName,\n kvMap: kvMap,\n getRowKey: getRowKey\n };\n }\n return mapCacheRef.current.kvMap.get(key);\n }\n return [getRecordByKey];\n}","import Table from './Table';\nexport default Table;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { genComponentStyleHook, mergeToken, PresetColors } from '../../theme/internal';\nimport capitalize from '../../_util/capitalize';\nimport { resetComponent } from '../../style';\nvar genTagStatusStyle = function genTagStatusStyle(token, status, cssVariableType) {\n var capitalizedCssVariableType = capitalize(cssVariableType);\n return _defineProperty({}, token.componentCls + \"-\" + status, {\n color: token[\"color\" + cssVariableType],\n background: token[\"color\" + capitalizedCssVariableType + \"Bg\"],\n borderColor: token[\"color\" + capitalizedCssVariableType + \"Border\"]\n });\n};\n// FIXME: special preset colors\nvar genTagColorStyle = function genTagColorStyle(token) {\n return PresetColors.reduce(function (prev, colorKey) {\n var _extends2;\n var lightColor = token[colorKey + \"-1\"];\n var lightBorderColor = token[colorKey + \"-3\"];\n var darkColor = token[colorKey + \"-6\"];\n var textColor = token[colorKey + \"-7\"];\n return _extends(_extends({}, prev), (_extends2 = {}, _defineProperty(_extends2, token.componentCls + \"-\" + colorKey, {\n color: textColor,\n background: lightColor,\n borderColor: lightBorderColor\n }), _defineProperty(_extends2, token.componentCls + \"-\" + colorKey + \"-inverse\", {\n color: token.colorTextLightSolid,\n background: darkColor,\n borderColor: darkColor\n }), _extends2));\n }, {});\n};\nvar genBaseStyle = function genBaseStyle(token) {\n var _extends3;\n var paddingXXS = token.paddingXXS,\n lineWidth = token.lineWidth,\n tagPaddingHorizontal = token.tagPaddingHorizontal;\n var paddingInline = tagPaddingHorizontal - lineWidth;\n var iconMarginInline = paddingXXS - lineWidth;\n return _defineProperty({}, token.componentCls, _extends(_extends({}, resetComponent(token)), (_extends3 = {\n display: 'inline-block',\n height: 'auto',\n marginInlineEnd: token.marginXS,\n paddingInline: paddingInline,\n fontSize: token.tagFontSize,\n lineHeight: token.tagLineHeight + \"px\",\n whiteSpace: 'nowrap',\n background: token.tagDefaultBg,\n border: token.lineWidth + \"px \" + token.lineType + \" \" + token.colorBorder,\n borderRadius: token.borderRadiusSM,\n opacity: 1,\n transition: \"all \" + token.motionDurationMid,\n textAlign: 'start',\n // RTL\n '&&-rtl': {\n direction: 'rtl'\n },\n '&, a, a:hover': {\n color: token.tagDefaultColor\n }\n }, _defineProperty(_extends3, token.componentCls + \"-close-icon\", {\n marginInlineStart: iconMarginInline,\n color: token.colorTextDescription,\n fontSize: token.tagIconSize,\n cursor: 'pointer',\n transition: \"all \" + token.motionDurationMid,\n '&:hover': {\n color: token.colorTextHeading\n }\n }), _defineProperty(_extends3, \"&&-has-color\", _defineProperty({\n borderColor: 'transparent'\n }, \"&, a, a:hover, \" + token.iconCls + \"-close, \" + token.iconCls + \"-close:hover\", {\n color: token.colorTextLightSolid\n })), _defineProperty(_extends3, \"&-checkable\", {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n cursor: 'pointer',\n '&:not(&-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 }), _defineProperty(_extends3, \"&-hidden\", {\n display: 'none'\n }), _defineProperty(_extends3, \"> \" + token.iconCls + \" + span, > span + \" + token.iconCls, {\n marginInlineStart: paddingInline\n }), _extends3)));\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tag', function (token) {\n var fontSize = token.fontSize,\n lineHeight = token.lineHeight,\n lineWidth = token.lineWidth,\n fontSizeIcon = token.fontSizeIcon;\n var tagHeight = Math.round(fontSize * lineHeight);\n var tagFontSize = token.fontSizeSM;\n var tagLineHeight = tagHeight - lineWidth * 2;\n var tagDefaultBg = token.colorFillAlter;\n var tagDefaultColor = token.colorText;\n var tagToken = mergeToken(token, {\n tagFontSize: tagFontSize,\n tagLineHeight: tagLineHeight,\n tagDefaultBg: tagDefaultBg,\n tagDefaultColor: tagDefaultColor,\n tagIconSize: fontSizeIcon - 2 * lineWidth,\n tagPaddingHorizontal: 8 // Fixed padding.\n });\n\n return [genBaseStyle(tagToken), genTagColorStyle(tagToken), genTagStatusStyle(tagToken, 'success', 'Success'), genTagStatusStyle(tagToken, 'processing', 'Info'), genTagStatusStyle(tagToken, 'error', 'Error'), genTagStatusStyle(tagToken, 'warning', 'Warning')];\n});","export default function capitalize(str) {\n if (typeof str !== 'string') {\n return str;\n }\n var ret = str.charAt(0).toUpperCase() + str.slice(1);\n return ret;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nvar CheckableTag = function CheckableTag(_a) {\n var _classNames;\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n checked = _a.checked,\n onChange = _a.onChange,\n onClick = _a.onClick,\n restProps = __rest(_a, [\"prefixCls\", \"className\", \"checked\", \"onChange\", \"onClick\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var handleClick = function handleClick(e) {\n onChange === null || onChange === void 0 ? void 0 : onChange(!checked);\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n var prefixCls = getPrefixCls('tag', customizePrefixCls);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-checkable\", true), _defineProperty(_classNames, prefixCls + \"-checkable-checked\", checked), _classNames), className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", _extends({}, restProps, {\n className: cls,\n onClick: handleClick\n })));\n};\nexport default CheckableTag;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\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 CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { PresetColorTypes, PresetStatusColorTypes } from '../_util/colors';\nimport Wave from '../_util/wave';\nimport warning from '../_util/warning';\nimport CheckableTag from './CheckableTag';\nimport useStyle from './style';\nvar PresetColorRegex = new RegExp(\"^(\" + PresetColorTypes.join('|') + \")(-inverse)?$\");\nvar PresetStatusColorRegex = new RegExp(\"^(\" + PresetStatusColorTypes.join('|') + \")$\");\nvar InternalTag = function InternalTag(_a, ref) {\n var _classNames;\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n style = _a.style,\n children = _a.children,\n icon = _a.icon,\n color = _a.color,\n onClose = _a.onClose,\n closeIcon = _a.closeIcon,\n _a$closable = _a.closable,\n closable = _a$closable === void 0 ? false : _a$closable,\n props = __rest(_a, [\"prefixCls\", \"className\", \"style\", \"children\", \"icon\", \"color\", \"onClose\", \"closeIcon\", \"closable\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n // Warning for deprecated usage\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!('visible' in props), 'Tag', '`visible` is deprecated, please use `visible && ` instead.') : void 0;\n }\n React.useEffect(function () {\n if ('visible' in props) {\n setVisible(props.visible);\n }\n }, [props.visible]);\n var isPresetColor = function isPresetColor() {\n if (!color) {\n return false;\n }\n return PresetColorRegex.test(color) || PresetStatusColorRegex.test(color);\n };\n var tagStyle = _extends({\n backgroundColor: color && !isPresetColor() ? color : undefined\n }, style);\n var presetColor = isPresetColor();\n var prefixCls = getPrefixCls('tag', customizePrefixCls);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var tagClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-\" + color, presetColor), _defineProperty(_classNames, prefixCls + \"-has-color\", color && !presetColor), _defineProperty(_classNames, prefixCls + \"-hidden\", !visible), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _classNames), className, hashId);\n var handleCloseClick = function 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 var renderCloseIcon = function renderCloseIcon() {\n if (closable) {\n return closeIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-close-icon\",\n onClick: handleCloseClick\n }, closeIcon) : /*#__PURE__*/React.createElement(CloseOutlined, {\n className: prefixCls + \"-close-icon\",\n onClick: handleCloseClick\n });\n }\n return null;\n };\n var isNeedWave = 'onClick' in props || children && children.type === 'a';\n var iconNode = icon || null;\n var kids = iconNode ? /*#__PURE__*/React.createElement(React.Fragment, null, iconNode, /*#__PURE__*/React.createElement(\"span\", null, children)) : children;\n var tagNode = /*#__PURE__*/React.createElement(\"span\", _extends({}, props, {\n ref: ref,\n className: tagClassName,\n style: tagStyle\n }), kids, renderCloseIcon());\n return wrapSSR(isNeedWave ? /*#__PURE__*/React.createElement(Wave, null, tagNode) : tagNode);\n};\nvar Tag = /*#__PURE__*/React.forwardRef(InternalTag);\nif (process.env.NODE_ENV !== 'production') {\n Tag.displayName = 'Tag';\n}\nTag.CheckableTag = CheckableTag;\nexport default Tag;","import arrayWithHoles from './_array_with_holes.mjs';\nimport iterableToArray from './_iterable_to_array.mjs';\nimport nonIterableRest from './_non_iterable_rest.mjs';\nimport unsupportedIterableToArray from './_unsupported_iterable_to_array.mjs';\n\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n"],"names":["useForceUpdate","_React$useReducer","x","_","toArray","arr","undefined","Array","isArray","getPathValue","record","path","pathList","current","i","length","getColumnsKey","columns","columnKeys","keys","forEach","column","_ref","key","dataIndex","mergedKey","join","concat","push","validateValue","val","HoverContext","Context","Provider","value","children","valueRef","_React$useState","getValue","listeners","Set","context","useLayoutEffect","listener","createContext","renderWithProps","_excluded","Cell","_ref2","ref","_ref4","_ref5","_classNames","prefixCls","className","index","renderIndex","render","_ref2$component","component","Component","colSpan","rowSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_ref2$additionalProps","additionalProps","ellipsis","align","rowType","isSticky","hovering","onHover","cellPrefixCls","perfRecord","supportSticky","allColumnsFixedLeft","_React$useMemo","data","returnChildNode","returnCellProps","renderData","props","Math","random","_React$useMemo2","childNode","legacyCellProps","mergedChildNode","_ref3","cellColSpan","cellRowSpan","cellStyle","style","cellClassName","restCellProps","mergedColSpan","mergedRowSpan","fixedStyle","isFixLeft","isFixRight","position","left","right","alignStyle","textAlign","title","ellipsisConfig","showTitle","toString","getTitleFromCellRenderChildren","componentProps","onMouseEnter","event","_additionalProps$onMo","call","onMouseLeave","_additionalProps$onMo2","RefCell","displayName","comparePropList","MemoCell","prev","next","shouldCellUpdate","every","propName","WrappedCell","_props$additionalProp","_useContextSelector","holder","selector","eventSelector","useEvent","_React$useState3","_React$useState4","setValue","add","trigger","delete","nextValue","selectedValue","useContextSelector","cxt","isHovering","cellStartRow","startRow","endRow","inHoverRange","getCellFixedInfo","colStart","colEnd","stickyOffsets","direction","startColumn","endColumn","fixed","nextColumn","prevColumn","HeaderRow","rowProps","cells","flattenColumns","RowComponent","rowComponent","CellComponent","cellComponent","onHeaderRow","_React$useContext","map","cell","columnsKey","cellIndex","fixedInfo","onHeaderCell","getComponent","rows","rootColumns","fillRowCells","colIndex","rowIndex","arguments","currentColIndex","filter","Boolean","subColumns","reduce","total","count","hasSubColumns","rowCount","_loop","parseHeaderRows","WrapperComponent","trComponent","thComponent","row","expanded","isEmpty","scrollbarSize","_React$useContext2","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","width","overflow","display","BodyRow","rowKey","rowExpandable","expandedKeys","onRow","_props$indent","indent","childrenColumnName","fixedInfoList","expandableType","expandRowByClick","onTriggerExpand","rowClassName","expandedRowClassName","indentSize","expandIcon","expandedRowRender","expandIconColumnIndex","_React$useState2","expandRended","setExpandRended","has","recordKey","rowSupportExpand","nestExpandable","hasNestChildren","mergedExpandable","onExpandRef","computeRowClassName","onInternalTriggerExpand","apply","expandRowNode","baseRowNode","onClick","_additionalProps$onCl","_len","args","_key","appendCellNode","additionalCellProps","columnClassName","paddingLeft","expandable","onExpand","onCell","expandContent","computedExpandedRowClassName","flatRecord","getRowKey","tempArr","MeasureCell","columnKey","onColumnResize","cellRef","offsetWidth","padding","border","height","MeasureRow","fontSize","onBatchResize","infoList","size","Body","measureColumnWidth","emptyNode","flattenData","temp","item","useFlattenRecords","perfRef","setStartRow","setEndRow","start","end","bodyNode","tdComponent","idx","MemoBody","INTERNAL_COL_DEFINE","EXPAND_COLUMN","_excluded2","convertChildrenToColumns","node","nodeChildren","restProps","flatColumns","list","parsedFixed","subColum","transformColumns","columnTitle","columnWidth","baseColumns","withExpandColumns","_expandColumn","cloneColumns","slice","includes","expandColIndex","splice","expandColumnIndex","indexOf","fixedColumn","expandColumn","columnType","recordExpandable","icon","e","stopPropagation","col","mergedColumns","finalColumns","revertForRtl","useLayoutState","defaultState","stateRef","useRef","_useState","useState","forceUpdate","lastPromiseRef","updateBatchRef","useEffect","updater","promise","Promise","resolve","then","prevBatch","prevState","batchUpdater","colWidths","columnCount","useMemo","leftOffsets","rightOffsets","_end","cols","mustInsert","columCount","restAdditionalProps","unshift","Summary","Row","_ref$colSpan","scrollColumnIndex","lastColumnIndex","scrollColumn","summaryContext","scrollbar","FooterComponents","renderExpandIcon","expandClassName","getOffset","box","getBoundingClientRect","docElem","document","documentElement","window","pageXOffset","scrollLeft","clientLeft","body","top","pageYOffset","scrollTop","clientTop","StickyScrollBar","_scrollBodyRef$curren","_scrollBodyRef$curren2","scrollBodyRef","onScroll","offsetScroll","container","bodyScrollWidth","scrollWidth","bodyWidth","clientWidth","scrollBarWidth","scrollBarRef","_useLayoutState","isHiddenScrollBar","_useLayoutState2","scrollState","setScrollState","refState","delta","isActive","setActive","onMouseUp","onMouseMove","_window","buttons","pageX","onContainerScroll","tableOffsetTop","tableBottomOffset","offsetHeight","currentClientOffset","innerHeight","clientHeight","getScrollBarSize","state","setScrollLeft","onMouseUpListener","addEventListener","onMouseMoveListener","remove","onScrollListener","onResizeListener","bottom","onMouseDown","persist","preventDefault","transform","defaultContainer","FixedHolder","noData","stickyTopOffset","stickyBottomOffset","stickyClassName","maxContentScroll","combinationScrollBarSize","scrollRef","setScrollRef","element","_scrollRef$current","onWheel","currentTarget","deltaX","_scrollRef$current2","removeEventListener","allFlattenColumnsWithWidth","lastColumn","ScrollBarColumn","columnsWithScrollbar","flattenColumnsWithScrollbar","headerStickyOffsets","mergedColumnWidth","useColumnWidth","tableLayout","visibility","EMPTY_DATA","EMPTY_SCROLL_TARGET","INTERNAL_HOOKS","MemoTableContent","pingLeft","pingRight","Table","scroll","footer","summary","id","showHeader","components","emptyText","internalHooks","internalRefs","sticky","mergedData","hasData","defaultComponent","expandableConfig","config","legacyExpandableConfig","showExpandColumn","getExpandableProps","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","onExpandedRowsChange","mergedExpandIcon","mergedChildrenColumnName","__PARENT_RENDER_ICON__","some","dig","findAllChildrenKeys","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","hasKey","scrollXStyle","scrollYStyle","scrollTableStyle","setComponentWidth","_useColumns","_useColumns2","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","scrollSummaryRef","_React$useState5","_React$useState6","pingedLeft","setPingedLeft","_React$useState7","_React$useState8","pingedRight","setPingedRight","Map","colsWidths","updateColsWidths","pureColWidths","get","y","stickyRef","_useSticky","_ref$offsetHeader","offsetHeader","_ref$offsetSummary","offsetSummary","_ref$offsetScroll","_ref$getContainer","getContainer","useSticky","summaryNode","fixFooter","type","overflowY","maxHeight","overflowX","minWidth","isVisible","widths","newWidths","set","_useTimeoutLock","frameRef","timeoutRef","cleanUp","clearTimeout","newState","setTimeout","useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","target","_stickyRef$current","isRTL","mergedScrollLeft","compareTarget","triggerOnScroll","mounted","_React$useState9","_React$useState10","setScrollbarSize","_React$useState11","_React$useState12","setSupportSticky","Element","groupTableNode","TableComponent","mergedTableLayout","headerProps","bodyTable","bodyColGroup","_ref6","customizeScrollBody","bodyContent","_ref7","colWidth","Number","isNaN","fixedHolderProps","fixedHolderPassProps","ariaProps","pickAttrs","aria","fullTable","onResize","TableContextValue","BodyContextValue","ExpandedRowContextValue","ResizeContextValue","Column","ColumnGroup","defaultProps","AntdIcon","rootPrefixCls","cls","page","active","onKeyPress","tabIndex","itemRender","rel","Options","_React$Component","_super","_this","this","goInputText","buildOptionText","locale","items_per_page","changeSize","handleChange","setState","handleBlur","_this$props","goButton","quickGo","relatedTarget","getValidValue","go","keyCode","_this$props2","pageSize","pageSizeOptions","option","sort","a","b","_this2","_this$props3","selectComponentClass","selectPrefixCls","disabled","Select","changeSelect","goInput","gotoButton","getPageSizeOptions","options","opt","Option","showSearch","optionLabelProp","dropdownMatchSelectWidth","onChange","getPopupContainer","triggerNode","parentNode","page_size","defaultOpen","onKeyUp","jump_to_confirm","jump_to","onBlur","noop","isInteger","v","isFinite","floor","calculatePage","p","Pagination","getJumpPrevPage","max","showLessItems","getJumpNextPage","min","getItemIcon","label","iconNode","savePaginationNode","paginationNode","isValid","shouldDisplayQuickJumper","showQuickJumper","handleKeyDown","handleKeyUp","currentInputValue","changePageSize","newCurrent","onShowSizeChange","_this$state","currentPage","newPage","hasPrev","hasNext","jumpPrev","jumpNext","runIfEnter","callback","charCode","restParams","runIfEnterPrev","runIfEnterNext","runIfEnterJumpPrev","runIfEnterJumpNext","handleGoTO","hasOnChange","console","warn","_current","defaultCurrent","_pageSize","defaultPageSize","prevProps","lastCurrentNode","querySelector","activeElement","blur","inputValue","allPages","showSizeChanger","totalBoundaryShowSizeChanger","prevPage","_this$props4","prevIcon","prevButton","isValidElement","cloneElement","nextPage","_this$props5","nextIcon","nextButton","_this$props6","hideOnSinglePage","showTotal","simple","showPrevNextJumpers","jumpPrevIcon","jumpNextIcon","_this$state2","pagerList","firstPager","lastPager","pageBufferSize","dataOrAriaAttributeProps","Object","substr","totalText","prev_page","renderPrev","onKeyDown","next_page","renderNext","pagerProps","prevItemTitle","prev_3","prev_5","nextItemTitle","next_3","next_5","last","_i","_active","prevDisabled","nextDisabled","getShowSizeChanger","MiniSelect","MiddleSelect","genPaginationStyle","token","_extends5","_ref16","componentCls","margin","listStyle","clear","content","paginationItemSize","marginInlineEnd","marginXS","lineHeight","verticalAlign","fontFamily","paginationFontFamily","backgroundColor","lineWidth","lineType","borderRadius","outline","cursor","userSelect","paginationItemPaddingInline","color","colorText","transition","textDecoration","motionDurationMid","colorBgTextHover","colorBgTextActive","fontWeight","paginationFontWeightActive","paginationItemBgActive","borderColor","colorPrimary","colorPrimaryHover","genPaginationItemStyle","_ref8","_hover2","_extends2","_ref9","_ref11","_ref12","fontSizeSM","opacity","insetInlineEnd","insetInlineStart","colorTextDisabled","letterSpacing","paginationEllipsisLetterSpacing","textIndent","paginationEllipsisTextIndent","button","paginationSlashMarginInlineEnd","marginInlineStart","paginationSlashMarginInlineStart","controlHeight","input","controlHeightLG","boxSizing","genPaginationJumpStyle","paginationItemSizeSM","paginationItemInputBg","colorBorder","boxShadow","inputOutlineOffset","controlOutlineWidth","controlOutline","colorBgContainerDisabled","genPaginationSimpleStyle","paginationMiniOptionsMarginInlineStart","paginationMiniOptionsSizeChangerTop","paginationMiniQuickJumperInputWidth","controlHeightSM","genPaginationMiniStyle","paginationItemDisabledBgActive","paginationItemDisabledColorActive","genPaginationDisabledStyle","screenLG","screenSM","genBorderedStyle","_ref17","_ref19","_ref21","_ref22","_componentCls","_ref23","paginationItemBg","paginationItemLinkBg","genComponentStyleHook","paginationToken","colorBgContainer","fontWeightStrong","controlItemBgActiveDisabled","marginXXS","marginSM","wireframe","__rest","s","t","prototype","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","_a","customizePrefixCls","customizeSelectPrefixCls","customLocale","responsive","xs","useBreakpoint","getPrefixCls","_React$useContext$pag","pagination","_useStyle","_useStyle2","wrapSSR","hashId","mergedShowSizeChanger","LocaleReceiver","componentName","defaultLocale","contextLocale","isSmall","extendedClassName","LeftOutlined","RightOutlined","getIconsProps","easeInOutCubic","c","d","cc","isWindow","obj","_b","method","result","Document","HTMLElement","ownerDocument","scrollTo","_options$getContainer","_options$duration","duration","startTime","Date","now","frameFunc","time","nextScrollTop","constructor","name","raf","iconPrefix","collapse","expand","getColumnKey","defaultKey","getColumnPos","pos","renderColumnTitle","TreeContext","Indent","level","isStart","isEnd","baseClassName","getKey","fillFieldNames","fieldNames","mergedTitle","_title","convertTreeToData","rootNodes","treeNode","isTreeNode","_treeNode$props","rest","dataNode","parsedChildren","flattenTreeData","treeNodeList","_fillFieldNames","fieldTitles","fieldKey","fieldChildren","expandedKeySet","flattenList","parent","getPosition","fieldTitle","flattenNode","omit","traverseDataNodes","dataNodes","syntheticGetKey","_mergedConfig","externalGetKey","childrenPropName","_fillFieldNames2","mergeChildrenPropName","processNode","pathNodes","connectNodes","parentPos","nodes","subNode","subIndex","convertDataToEntities","initWrapper","processEntity","onProcessFinished","legacyExternalGetKey","mergedExternalGetKey","posEntities","keyEntities","wrapper","entity","getTreeNodeProps","selectedKeys","loadedKeys","loadingKeys","checkedKeys","halfCheckedKeys","dragOverNodeKey","dropPosition","eventKey","selected","loaded","loading","checked","halfChecked","String","dragOver","dragOverGapTop","dragOverGapBottom","convertNodePropsToEventData","eventData","defineProperty","ICON_OPEN","ICON_CLOSE","InternalTreeNode","dragNodeHighlight","selectHandle","onSelectorClick","onNodeClick","isSelectable","onSelect","onCheck","onSelectorDoubleClick","onNodeDoubleClick","isDisabled","onNodeSelect","disableCheckbox","onNodeCheck","isCheckable","targetChecked","onNodeMouseEnter","onNodeMouseLeave","onContextMenu","onNodeContextMenu","onDragStart","onNodeDragStart","dataTransfer","setData","error","onDragEnter","onNodeDragEnter","onDragOver","onNodeDragOver","onDragLeave","onNodeDragLeave","onDragEnd","onNodeDragEnd","onDrop","onNodeDrop","onNodeExpand","setSelectHandle","getNodeState","isLeaf","hasChildren","loadData","checkable","treeCheckable","syncLoadData","_this$props$context","onNodeLoad","isDraggable","draggable","nodeDraggable","renderDragHandler","_this$props$context2","renderSwitcherIconDom","switcherIconFromProps","switcherIcon","switcherIconFromCtx","renderSwitcher","_switcherIconDom","switcherCls","switcherIconDom","renderCheckbox","$custom","renderIcon","renderSelector","$icon","titleNode","_this$props$context3","showIcon","treeIcon","titleRender","wrapClass","currentIcon","$title","onDoubleClick","renderDropIndicator","_this$props7","_this$props$context4","dropLevelOffset","dropIndicatorRender","selectable","treeSelectable","_this$props8","domRef","otherProps","_this$props$context5","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","isEndNode","mergedDraggable","draggableWithoutDisabled","dragging","ariaSelected","ContextTreeNode","Consumer","arrDel","clone","arrAdd","posToArr","split","getDragChildrenKeys","dragNodeKey","dragChildrenKeys","isLastChild","treeNodeEntity","posArr","calcDropPosition","dragNode","targetNode","startMousePosition","allowDrop","flattenedNodes","expandKeys","_abstractDropNodeEnti","clientX","clientY","_event$target$getBoun","rawDropLevelOffset","abstractDropNodeEntity","nodeIndex","findIndex","flattenedNode","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","abstractDragDataNode","abstractDropDataNode","dropAllowed","isFirstChild","dropNode","dropTargetPos","calcSelectedKeys","multiple","parseCheckedKeys","keyProps","conductExpandParent","keyList","conductUp","_objectDestructuringEmpty","TypeError","MotionTreeNode","motion","motionNodes","motionType","onOriginMotionStart","onMotionStart","onOriginMotionEnd","onMotionEnd","treeNodeRequiredProps","visible","setVisible","motionedRef","motionAppear","onAppearEnd","onLeaveEnd","motionRef","motionClassName","motionStyle","treeNodeProps","getExpandRange","shorter","longer","shorterStartIndex","shorterEndNode","longerStartIndex","longerEndIndex","HIDDEN_STYLE","MOTION_KEY","MotionNode","MotionEntity","MotionFlattenData","getMinimumRangeTransitionRange","virtual","itemHeight","ceil","itemKey","NodeList","focusable","activeItem","focused","onFocus","onActiveChange","onListChangeStart","onListChangeEnd","domProps","listRef","indentMeasurerRef","getIndentWidth","prevExpandedKeys","setPrevExpandedKeys","prevData","setPrevData","transitionData","setTransitionData","transitionRange","setTransitionRange","setMotionType","dataRef","latestData","diffExpanded","prevLen","nextLen","abs","find","cache","findExpandedKeys","keyIndex","rangeNodes","newTransitionData","_keyIndex","_rangeNodes","_newTransitionData","getAccessibilityPath","pointerEvents","fullHeight","onVisibleChange","originList","fullList","originSet","removeFromCheckedKeys","filteredKeys","isCheckDisabled","conductCheck","getCheckDisabled","syntheticGetCheckDisabled","warningMissKeys","hasEntity","levelEntities","maxLevel","levelSet","_entity$children","childEntity","visitedKeys","_level","allChecked","partialChecked","from","fillConductCheck","halfKeys","_entity$children2","_level2","cleanConductCheck","Tree","_args","destroyed","delayedDragEnterLogic","loadingRetryTimes","treeData","flattenNodes","activeKey","listChanging","dragStartMousePosition","currentMouseOverDroppableNodeKey","setExpandedKeys","onWindowDragEnd","_node$props","_calcDropPosition","nativeEvent","resetDragState","_this$state3","_calcDropPosition2","contains","cleanDragState","_this$getActiveItem","outsideTree","_this$state4","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropToChild","dropResult","dragNodesKeys","dropToGap","triggerExpandActionExpand","_this$state5","shiftKey","metaKey","ctrlKey","nodeItem","eventNode","expandAction","_this$state6","targetSelected","selectedNodes","selectedKey","setUncontrolledState","checkedObj","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","checkStrictly","eventObj","checkedNodes","checkedKey","_conductCheck","_checkedKeys","_halfCheckedKeys","keySet","_conductCheck2","checkedNodesPositions","loadPromise","reject","_ref$loadedKeys","_ref$loadingKeys","onLoad","newLoadedKeys","catch","currentLoadedKeys","onRightClick","_len2","_key2","_len3","_key3","_this$state8","_this$state9","_this$state10","targetExpanded","newFlattenTreeData","expandedKeysToRestore","newActiveKey","_this$state11","offsetActiveKey","offset","_this$state12","_this$state13","_this$props9","which","atomic","forceState","needSync","allPassed","onUpdated","draggableConfig","_this$state14","_this$props10","showLine","_this$props10$tabInde","rootClassName","rootStyle","role","entitiesMap","checkedKeyEntity","autoExpandParent","defaultExpandParent","defaultExpandAll","cloneKeyEntities","defaultExpandedKeys","defaultSelectedKeys","defaultCheckedKeys","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","TreeNode","_style","_props$direction","startPosition","endPosition","treeNodeFX","genBaseStyle","_draggable","_showLine","treeCls","treeNodeCls","treeNodePadding","treeTitleHeight","treeCheckBoxMarginVertical","fontSizeLG","treeCheckBoxMarginHorizontal","paddingXS","background","motionDurationSlow","svg","alignItems","flex","animationName","animationDuration","animationPlayState","animationFillMode","alignSelf","whiteSpace","getSwitchStyle","zIndex","borderInlineEnd","borderBottom","marginBlockStart","flexWrap","minHeight","controlItemBgHover","lineWidthBold","getDropIndicatorStyle","genDirectoryStyle","_selected","_treeNodeCls","colorTextLightSolid","genTreeStyle","treeToken","_ref14","_props$showIcon","_switcherIcon","_props$blockNode","blockNode","_props$checkable","_props$selectable","customMotion","newProps","nodeProps","showLeafIcon","LoadingOutlined","leafIcon","leafCls","switcher","renderSwitcherIcon","Record","traverseNodesKey","calcRangeKeys","startKey","endKey","None","End","matchKey","Start","convertDirectoryKeysToNodes","restKeys","getIcon","getTreeData","DirectoryTree","lastSelectedKey","cachedSelectedKeys","setSelectedKeys","getInitExpandedKeys","_props$expandAction","connectClassName","newSelectedKeys","_node$key","newEvent","ctrlPick","shiftPick","info","filterSearch","tablePrefixCls","prefix","SearchOutlined","placeholder","filterSearchPlaceholder","htmlSize","searchValueMatched","searchValue","text","toLowerCase","trim","renderFilterItems","filters","filterMultiple","popupClassName","dropdownPrefixCls","_props$filterMode","filterMode","_props$filterSearch","filterState","triggerFilter","filterDropdownOpen","onFilterDropdownOpenChange","filterResetToDefaultFilteredValue","defaultFilteredValue","filterDropdownVisible","onFilterDropdownVisibleChange","filtered","forceFiltered","triggerVisible","newVisible","mergedVisible","propFilteredKeys","_useSyncState","initialValue","newValue","useSyncState","_useSyncState2","getFilteredKeysSync","setFilteredKeysSync","onSelectKeys","openKeys","setOpenKeys","onOpenChange","setSearchValue","onSearch","dropdownContent","filterIcon","internalTriggerFilter","mergedKeys","onConfirm","onReset","confirm","closeDropdown","dropdownMenuClass","onCheckAll","allFilterKeys","flattenKeys","getFilterData","filterDropdown","clearFilters","close","image","description","filterEmptyText","imageStyle","indeterminate","filterCheckall","onDeselect","items","filterReset","filterConfirm","dropdownRender","open","placement","collectFilterStates","init","filterStates","columnPos","filteredValues","filteredValue","injectFilter","_column$filterMultipl","newColumn","renderProps","generateFilterInfo","currentFilters","originKey","currentData","_filterState$column","onFilter","k","realKey","onFilterChange","tableLocale","setFilterStates","mergedFilterStates","collectedStates","filteredKeysIsAllNotControlled","newFilterStates","innerColumns","usePagination","_a$total","paginationTotal","paginationObj","_useState2","innerPagination","setInnerPagination","mergedPagination","extendsObject","maxPage","refreshPagination","SELECTION_COLUMN","SELECTION_ALL","SELECTION_INVERT","SELECTION_NONE","EMPTY_LIST","useSelection","rowSelection","preserveSelectedRowKeys","selectedRowKeys","defaultSelectedRowKeys","getCheckboxProps","onSelectionChange","onSelectAll","onSelectInvert","onSelectNone","onSelectMultiple","selectionColWidth","selectionType","selections","customizeRenderCell","renderCell","hideSelectAll","_ref$checkStrictly","pageData","getRecordByKey","expandType","_useMergedState","useMergedState","_useMergedState2","mergedSelectedKeys","setMergedSelectedKeys","preserveRecordsRef","updatePreserveRecordsCache","useCallback","newCache","flattedData","checkboxPropsMap","checkboxProps","isCheckboxDisabled","r","_useMemo2","_useMemo3","derivedSelectedKeys","derivedHalfSelectedKeys","derivedSelectedKeySet","derivedHalfSelectedKeySet","setLastSelectedKey","availableKeys","records","triggerSingleSelection","mergedSelections","selection","selectionAll","checkProps","selectInvert","selectNone","_a2","recordKeys","checkedCurrentAll","checkedCurrentSome","customizeSelections","menu","onSelectionClick","DownOutlined","allDisabledData","allDisabled","allDisabledAndChecked","allDisabledSomeChecked","changeKeys","skipGroup","mergedIndeterminate","startIndex","endIndex","pointKeys","recordIndex","rangeKeys","changedKeys","originCheckedKeys","nextCheckedKeys","tempKeySet","_cloneColumns","_cloneColumns2","restColumns","selectionColumnIndex","prevCol","nextCol","mergedFixed","selectionColumn","_renderCell","ASCEND","DESCEND","getMultiplePriority","sorter","getSortFunction","compare","collectSortStates","sortStates","pushState","multiplePriority","sortOrder","defaultSortOrder","injectSorter","sorterStates","triggerSorter","defaultSortDirections","tableShowSorterTooltip","sortDirections","showSorterTooltip","sorterState","sorterOrder","nextSortOrder","nextSortDirection","upNode","downNode","cancelSort","triggerAsc","triggerDesc","sortTip","tooltipProps","renderSortTitle","originOnClick","originOKeyDown","renderTitle","res","safeColumnTitle","displayTitle","stateToInfo","order","field","generateSorterInfo","getSortData","innerSorterStates","cloneData","runningSorters","record1","record2","compareFn","compareResult","subRecords","fillTitle","columnTitleProps","cloneColumn","useTitleColumns","_table","tableBorder","tableBorderColor","getSizeBorderStyle","paddingVertical","paddingHorizontal","borderInlineStart","tablePaddingVertical","tablePaddingHorizontal","borderTop","tablePaddingVerticalMiddle","tablePaddingHorizontalMiddle","tablePaddingVerticalSmall","tablePaddingHorizontalSmall","tableHeaderBg","wordBreak","textOverflow","antCls","checkboxSize","controlInteractiveSize","tableExpandIconBg","tableExpandColumnWidth","tableExpandedRowBg","halfInnerSize","expandIconSize","expandIconLineOffset","paddingXXS","operationUnit","marginTop","table","iconCls","tableFilterDropdownWidth","tableFilterDropdownSearchWidth","tableHeaderIconColor","colorTextDescription","colorPrimaryActive","tableHeaderFilterActiveBg","tableFilterDropdownBg","tableFilterDropdownHeight","tableFilterDropdownPrefixCls","treePrefixCls","justifyContent","marginBlock","marginInline","paddingBlock","paddingInline","marginBottom","paddingInlineStart","colorSplit","zIndexTableFixed","tableBg","shadowColor","_skip_check_","rowGap","tableRadius","borderStartStartRadius","borderStartEndRadius","fontSizeIcon","tableHeaderIconColorHover","tableSelectionColumnWidth","paddingInlineEnd","flexDirection","getSizeStyle","tableFontSizeMiddle","tableFontSizeSmall","tableHeaderSortHoverBg","tableFixedHeaderSortActiveBg","tableHeaderSortBg","tableBodySortBg","inset","opacityLoading","tableScrollThumbBg","tableScrollThumbBgHover","tableScrollThumbSize","tableScrollBg","zIndexTableSticky","transformOrigin","genTableStyle","_tr","tableFontSize","tableHeaderTextColor","tableHeaderCellSplitColor","tableRowHoverBg","tableSelectedRowBg","tableSelectedRowHoverBg","tableFooterTextColor","tableFooterBg","paddingContentVerticalLG","maxWidth","borderCollapse","borderSpacing","overflowWrap","borderTopColor","borderBottomColor","borderEndStartRadius","borderEndEndRadius","controlItemBgActive","controlItemBgActiveHover","colorTextPlaceholder","colorTextHeading","paddingSM","colorFillAlter","colorIcon","colorIconHover","colorFillSecondary","borderRadiusLG","colorFillContent","baseColorAction","baseColorActionHover","colorFillAlterSolid","onBackground","toHexString","tableToken","setAlpha","getAlpha","toRgbString","InternalTable","_classNames3","customizeSize","bordered","customizeDropdownPrefixCls","dataSource","_props$rowKey","legacyChildrenColumnName","_props$showSorterTool","needResponsive","screens","matched","m","tableProps","SizeContext","_React$useContext$loc","renderEmpty","mergedSize","rawData","_mergedExpandable$chi","_useLazyKVMap","mapCacheRef","kvMap","useLazyKVMap","changeEventInfo","triggerOnChange","action","reset","changeInfo","resetPagination","scrollToFirstRowOnChange","currentDataSource","_useSorter","onSorterChange","setSortStates","mergedSorterStates","validate","validateStates","patchStates","multipleMode","columnTitleSorterProps","sortColumns","sortColumn","sortState","newSorterStates","_useSorter2","transformSorterColumns","sorterTitleProps","getSorters","sortedData","_useFilter","_useFilter2","transformFilterColumns","_useTitleColumns","mergedFilters","filterKey","transformTitleColumns","_usePagination","_usePagination2","param","pageProp","getPaginationParam","_mergedPagination$cur","_mergedPagination$pag","_useSelection","_useSelection2","transformSelectionColumns","selectedKeySet","topPaginationNode","bottomPaginationNode","spinProps","paginationSize","renderPagination","defaultPosition","topPos","bottomPos","isDisable","replace","spinning","wrapperClassNames","mergedRowClassName","defaultRenderEmpty","genTagStatusStyle","status","cssVariableType","str","capitalizedCssVariableType","charAt","toUpperCase","genTagColorStyle","colorKey","lightColor","lightBorderColor","darkColor","textColor","_extends3","tagPaddingHorizontal","iconMarginInline","tagFontSize","tagLineHeight","tagDefaultBg","borderRadiusSM","tagDefaultColor","tagIconSize","tagHeight","round","tagToken","PresetColorRegex","RegExp","PresetStatusColorRegex","InternalTag","onClose","closeIcon","_a$closable","closable","isPresetColor","test","tagStyle","presetColor","tagClassName","handleCloseClick","defaultPrevented","isNeedWave","kids","tagNode","CloseOutlined","Tag","CheckableTag","_toArray"],"sourceRoot":""}