ziya 0.2.4__py3-none-any.whl → 0.2.4.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ziya might be problematic. Click here for more details.

Files changed (38) hide show
  1. app/main.py +2 -1
  2. app/server.py +11 -2
  3. app/templates/asset-manifest.json +17 -17
  4. app/templates/index.html +1 -1
  5. app/templates/static/js/14386.567bf803.chunk.js +2 -0
  6. app/templates/static/js/14386.567bf803.chunk.js.map +1 -0
  7. app/templates/static/js/94645.a352e47a.chunk.js +2 -0
  8. app/templates/static/js/94645.a352e47a.chunk.js.map +1 -0
  9. app/templates/static/js/98244.0b90f940.chunk.js +3 -0
  10. app/templates/static/js/98244.0b90f940.chunk.js.map +1 -0
  11. app/templates/static/js/99948.71670e91.chunk.js +2 -0
  12. app/templates/static/js/99948.71670e91.chunk.js.map +1 -0
  13. app/templates/static/js/{main.05ba4902.js → main.77e20f53.js} +3 -3
  14. app/templates/static/js/{main.05ba4902.js.map → main.77e20f53.js.map} +1 -1
  15. app/utils/aws_utils.py +48 -36
  16. app/utils/diff_utils/application/identical_blocks_handler.py +290 -0
  17. app/utils/diff_utils/application/patch_apply.py +248 -2
  18. app/utils/diff_utils/application/simple_identical_blocks_fix.py +129 -0
  19. app/utils/diff_utils/parsing/diff_parser.py +37 -13
  20. app/utils/diff_utils/pipeline/pipeline_manager.py +56 -3
  21. app/utils/diff_utils/validation/validators.py +201 -259
  22. app/utils/directory_util.py +34 -3
  23. app/utils/gitignore_parser.py +19 -6
  24. {ziya-0.2.4.dist-info → ziya-0.2.4.2.dist-info}/METADATA +5 -2
  25. {ziya-0.2.4.dist-info → ziya-0.2.4.2.dist-info}/RECORD +31 -29
  26. app/templates/static/js/14386.881399c5.chunk.js +0 -2
  27. app/templates/static/js/14386.881399c5.chunk.js.map +0 -1
  28. app/templates/static/js/19886.c4b3152d.chunk.js +0 -3
  29. app/templates/static/js/19886.c4b3152d.chunk.js.map +0 -1
  30. app/templates/static/js/94645.68d48e03.chunk.js +0 -2
  31. app/templates/static/js/94645.68d48e03.chunk.js.map +0 -1
  32. app/templates/static/js/99948.fdf17a82.chunk.js +0 -2
  33. app/templates/static/js/99948.fdf17a82.chunk.js.map +0 -1
  34. /app/templates/static/js/{19886.c4b3152d.chunk.js.LICENSE.txt → 98244.0b90f940.chunk.js.LICENSE.txt} +0 -0
  35. /app/templates/static/js/{main.05ba4902.js.LICENSE.txt → main.77e20f53.js.LICENSE.txt} +0 -0
  36. {ziya-0.2.4.dist-info → ziya-0.2.4.2.dist-info}/LICENSE +0 -0
  37. {ziya-0.2.4.dist-info → ziya-0.2.4.2.dist-info}/WHEEL +0 -0
  38. {ziya-0.2.4.dist-info → ziya-0.2.4.2.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/98244.0b90f940.chunk.js","mappings":"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","sources":["../node_modules/@ant-design/icons-svg/es/asn/FileOutlined.js","../node_modules/@ant-design/icons/es/icons/FileOutlined.js","../node_modules/antd/es/checkbox/GroupContext.js","../node_modules/antd/es/checkbox/Checkbox.js","../node_modules/antd/es/checkbox/Group.js","../node_modules/antd/es/checkbox/index.js","../node_modules/antd/es/checkbox/style/index.js","../node_modules/antd/es/col/index.js","../node_modules/antd/es/row/index.js","../node_modules/rc-table/es/constant.js","../node_modules/@rc-component/context/es/context.js","../node_modules/@rc-component/context/es/Immutable.js","../node_modules/@rc-component/context/es/index.js","../node_modules/rc-table/es/context/TableContext.js","../node_modules/rc-table/es/context/PerfContext.js","../node_modules/rc-table/es/utils/valueUtil.js","../node_modules/rc-table/es/Cell/useCellRender.js","../node_modules/rc-table/es/Cell/index.js","../node_modules/rc-table/es/Cell/useHoverState.js","../node_modules/rc-table/es/utils/fixUtil.js","../node_modules/rc-table/es/Footer/SummaryContext.js","../node_modules/rc-table/es/Footer/Row.js","../node_modules/rc-table/es/Footer/Summary.js","../node_modules/rc-table/es/Footer/Cell.js","../node_modules/rc-table/es/Footer/index.js","../node_modules/rc-table/es/hooks/useFlattenRecords.js","../node_modules/rc-table/es/hooks/useRowInfo.js","../node_modules/rc-table/es/Body/ExpandedRow.js","../node_modules/rc-table/es/utils/expandUtil.js","../node_modules/rc-table/es/Body/BodyRow.js","../node_modules/rc-table/es/Body/MeasureCell.js","../node_modules/rc-table/es/Body/MeasureRow.js","../node_modules/rc-table/es/Body/index.js","../node_modules/rc-table/es/utils/legacyUtil.js","../node_modules/rc-table/es/ColGroup.js","../node_modules/rc-table/es/FixedHolder/index.js","../node_modules/rc-table/es/Header/HeaderRow.js","../node_modules/rc-table/es/Header/Header.js","../node_modules/rc-table/es/hooks/useColumns/useWidthColumns.js","../node_modules/rc-table/es/hooks/useColumns/index.js","../node_modules/rc-table/es/hooks/useExpand.js","../node_modules/rc-table/es/hooks/useFrame.js","../node_modules/rc-table/es/hooks/useSticky.js","../node_modules/rc-table/es/hooks/useStickyOffsets.js","../node_modules/rc-table/es/Panel/index.js","../node_modules/rc-util/es/Dom/addEventListener.js","../node_modules/rc-util/es/Dom/css.js","../node_modules/rc-table/es/stickyScrollBar.js","../node_modules/rc-table/es/sugar/Column.js","../node_modules/rc-table/es/sugar/ColumnGroup.js","../node_modules/rc-table/es/Table.js","../node_modules/rc-table/es/hooks/useHover.js","../node_modules/rc-table/es/hooks/useFixedInfo.js","../node_modules/rc-table/es/VirtualTable/context.js","../node_modules/rc-table/es/VirtualTable/VirtualCell.js","../node_modules/rc-table/es/VirtualTable/BodyLine.js","../node_modules/rc-table/es/VirtualTable/BodyGrid.js","../node_modules/rc-table/es/VirtualTable/index.js","../node_modules/antd/es/table/Column.js","../node_modules/antd/es/table/ColumnGroup.js","../node_modules/rc-tree/es/contextTypes.js","../node_modules/rc-tree/es/Indent.js","../node_modules/rc-tree/es/utils/keyUtil.js","../node_modules/rc-tree/es/utils/treeUtil.js","../node_modules/rc-tree/es/TreeNode.js","../node_modules/rc-tree/es/util.js","../node_modules/rc-tree/es/utils/conductUtil.js","../node_modules/antd/es/table/hooks/useSelection.js","../node_modules/antd/es/_util/hooks/useMultipleSelect.js","../node_modules/antd/es/_util/hooks/useProxyImperativeHandle.js","../node_modules/antd/es/_util/getScroll.js","../node_modules/antd/es/table/ExpandIcon.js","../node_modules/antd/es/table/util.js","../node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","../node_modules/@ant-design/icons/es/icons/FilterFilled.js","../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","../node_modules/rc-tree/es/MotionTreeNode.js","../node_modules/rc-tree/es/useUnmount.js","../node_modules/rc-tree/es/utils/diffUtil.js","../node_modules/rc-tree/es/NodeList.js","../node_modules/rc-tree/es/Tree.js","../node_modules/rc-tree/es/DropIndicator.js","../node_modules/rc-tree/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/FolderOpenOutlined.js","../node_modules/@ant-design/icons/es/icons/FolderOpenOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/HolderOutlined.js","../node_modules/@ant-design/icons/es/icons/HolderOutlined.js","../node_modules/antd/es/tree/style/directory.js","../node_modules/antd/es/tree/style/index.js","../node_modules/antd/es/tree/utils/dropIndicator.js","../node_modules/@ant-design/icons-svg/es/asn/CaretDownFilled.js","../node_modules/@ant-design/icons/es/icons/CaretDownFilled.js","../node_modules/@ant-design/icons-svg/es/asn/MinusSquareOutlined.js","../node_modules/@ant-design/icons/es/icons/MinusSquareOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/PlusSquareOutlined.js","../node_modules/@ant-design/icons/es/icons/PlusSquareOutlined.js","../node_modules/antd/es/tree/utils/iconUtil.js","../node_modules/antd/es/tree/Tree.js","../node_modules/antd/es/tree/utils/dictUtil.js","../node_modules/antd/es/tree/DirectoryTree.js","../node_modules/antd/es/tree/index.js","../node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","../node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","../node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","../node_modules/antd/es/_util/hooks/useSyncState.js","../node_modules/antd/es/table/hooks/useFilter/index.js","../node_modules/antd/es/table/hooks/useLazyKVMap.js","../node_modules/antd/es/table/hooks/usePagination.js","../node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","../node_modules/antd/es/table/hooks/useSorter.js","../node_modules/antd/es/table/hooks/useTitleColumns.js","../node_modules/antd/es/table/RcTable/index.js","../node_modules/antd/es/table/RcTable/VirtualTable.js","../node_modules/antd/es/table/style/bordered.js","../node_modules/antd/es/table/style/ellipsis.js","../node_modules/antd/es/table/style/empty.js","../node_modules/antd/es/table/style/expand.js","../node_modules/antd/es/table/style/filter.js","../node_modules/antd/es/table/style/fixed.js","../node_modules/antd/es/table/style/pagination.js","../node_modules/antd/es/table/style/radius.js","../node_modules/antd/es/table/style/rtl.js","../node_modules/antd/es/table/style/selection.js","../node_modules/antd/es/table/style/size.js","../node_modules/antd/es/table/style/sorter.js","../node_modules/antd/es/table/style/sticky.js","../node_modules/antd/es/table/style/summary.js","../node_modules/antd/es/table/style/virtual.js","../node_modules/antd/es/table/style/index.js","../node_modules/antd/es/table/InternalTable.js","../node_modules/antd/es/table/hooks/useContainerWidth.js","../node_modules/antd/es/_util/scrollTo.js","../node_modules/antd/es/_util/easings.js","../node_modules/antd/es/table/Table.js","../node_modules/antd/es/table/index.js"],"sourcesContent":["// This icon file is generated automatically.\nvar FileOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z\" } }] }, \"name\": \"file\", \"theme\": \"outlined\" };\nexport default FileOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FileOutlinedSvg from \"@ant-design/icons-svg/es/asn/FileOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FileOutlined = function FileOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FileOutlinedSvg\n }));\n};\n\n/**![file](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1NC42IDI4OC42TDYzOS40IDczLjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjgzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NDBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzExLjNjMC04LjUtMy40LTE2LjctOS40LTIyLjd6TTc5MC4yIDMyNkg2MDJWMTM3LjhMNzkwLjIgMzI2em0xLjggNTYySDIzMlYxMzZoMzAydjIxNmE0MiA0MiAwIDAwNDIgNDJoMjE2djQ5NHoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FileOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FileOutlined';\n}\nexport default RefIcon;","import React from 'react';\nconst GroupContext = /*#__PURE__*/React.createContext(null);\nexport default GroupContext;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport { FormItemInputContext } from '../form/context';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nimport useBubbleLock from './useBubbleLock';\nconst InternalCheckbox = (props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n indeterminate = false,\n style,\n onMouseEnter,\n onMouseLeave,\n skipGroup = false,\n disabled\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"indeterminate\", \"style\", \"onMouseEnter\", \"onMouseLeave\", \"skipGroup\", \"disabled\"]);\n const {\n getPrefixCls,\n direction,\n checkbox\n } = React.useContext(ConfigContext);\n const checkboxGroup = React.useContext(GroupContext);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n const contextDisabled = React.useContext(DisabledContext);\n const mergedDisabled = (_a = (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.disabled) || disabled) !== null && _a !== void 0 ? _a : contextDisabled;\n const prevValue = React.useRef(restProps.value);\n const checkboxRef = React.useRef(null);\n const mergedRef = composeRef(ref, checkboxRef);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Checkbox');\n process.env.NODE_ENV !== \"production\" ? warning('checked' in restProps || !!checkboxGroup || !('value' in restProps), 'usage', '`value` is not a valid prop, do you mean `checked`?') : void 0;\n }\n React.useEffect(() => {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n }, []);\n React.useEffect(() => {\n if (skipGroup) {\n return;\n }\n if (restProps.value !== prevValue.current) {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(prevValue.current);\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n prevValue.current = restProps.value;\n }\n return () => checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(restProps.value);\n }, [restProps.value]);\n React.useEffect(() => {\n var _a;\n if ((_a = checkboxRef.current) === null || _a === void 0 ? void 0 : _a.input) {\n checkboxRef.current.input.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const checkboxProps = Object.assign({}, restProps);\n if (checkboxGroup && !skipGroup) {\n checkboxProps.onChange = function () {\n if (restProps.onChange) {\n restProps.onChange.apply(restProps, arguments);\n }\n if (checkboxGroup.toggleOption) {\n checkboxGroup.toggleOption({\n label: children,\n value: restProps.value\n });\n }\n };\n checkboxProps.name = checkboxGroup.name;\n checkboxProps.checked = checkboxGroup.value.includes(restProps.value);\n }\n const classString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-checked`]: checkboxProps.checked,\n [`${prefixCls}-wrapper-disabled`]: mergedDisabled,\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, checkbox === null || checkbox === void 0 ? void 0 : checkbox.className, className, rootClassName, cssVarCls, rootCls, hashId);\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate\n }, TARGET_CLS, hashId);\n // ============================ Event Lock ============================\n const [onLabelClick, onInputClick] = useBubbleLock(checkboxProps.onClick);\n // ============================== Render ==============================\n return wrapCSSVar(/*#__PURE__*/React.createElement(Wave, {\n component: \"Checkbox\",\n disabled: mergedDisabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: classString,\n style: Object.assign(Object.assign({}, checkbox === null || checkbox === void 0 ? void 0 : checkbox.style), style),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onClick: onLabelClick\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, checkboxProps, {\n onClick: onInputClick,\n prefixCls: prefixCls,\n className: checkboxClass,\n disabled: mergedDisabled,\n ref: mergedRef\n })), children !== undefined && /*#__PURE__*/React.createElement(\"span\", null, children))));\n};\nconst Checkbox = /*#__PURE__*/React.forwardRef(InternalCheckbox);\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport Checkbox from './Checkbox';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nconst CheckboxGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n defaultValue,\n children,\n options = [],\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n onChange\n } = props,\n restProps = __rest(props, [\"defaultValue\", \"children\", \"options\", \"prefixCls\", \"className\", \"rootClassName\", \"style\", \"onChange\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [value, setValue] = React.useState(restProps.value || defaultValue || []);\n const [registeredValues, setRegisteredValues] = React.useState([]);\n React.useEffect(() => {\n if ('value' in restProps) {\n setValue(restProps.value || []);\n }\n }, [restProps.value]);\n const memoOptions = React.useMemo(() => options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n return {\n label: option,\n value: option\n };\n }\n return option;\n }), [options]);\n const cancelValue = val => {\n setRegisteredValues(prevValues => prevValues.filter(v => v !== val));\n };\n const registerValue = val => {\n setRegisteredValues(prevValues => [].concat(_toConsumableArray(prevValues), [val]));\n };\n const toggleOption = option => {\n const optionIndex = value.indexOf(option.value);\n const newValue = _toConsumableArray(value);\n if (optionIndex === -1) {\n newValue.push(option.value);\n } else {\n newValue.splice(optionIndex, 1);\n }\n if (!('value' in restProps)) {\n setValue(newValue);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(newValue.filter(val => registeredValues.includes(val)).sort((a, b) => {\n const indexA = memoOptions.findIndex(opt => opt.value === a);\n const indexB = memoOptions.findIndex(opt => opt.value === b);\n return indexA - indexB;\n }));\n };\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const domProps = omit(restProps, ['value', 'disabled']);\n const childrenNode = options.length ? memoOptions.map(option => (/*#__PURE__*/React.createElement(Checkbox, {\n prefixCls: prefixCls,\n key: option.value.toString(),\n disabled: 'disabled' in option ? option.disabled : restProps.disabled,\n value: option.value,\n checked: value.includes(option.value),\n onChange: option.onChange,\n className: `${groupPrefixCls}-item`,\n style: option.style,\n title: option.title,\n id: option.id,\n required: option.required\n }, option.label))) : children;\n const context = {\n toggleOption,\n value,\n disabled: restProps.disabled,\n name: restProps.name,\n // https://github.com/ant-design/ant-design/issues/16376\n registerValue,\n cancelValue\n };\n const classString = classNames(groupPrefixCls, {\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, cssVarCls, rootCls, hashId);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classString,\n style: style\n }, domProps, {\n ref: ref\n }), /*#__PURE__*/React.createElement(GroupContext.Provider, {\n value: context\n }, childrenNode)));\n});\nexport { GroupContext };\nexport default CheckboxGroup;","\"use client\";\n\nimport InternalCheckbox from './Checkbox';\nimport Group from './Group';\nconst Checkbox = InternalCheckbox;\nCheckbox.Group = Group;\nCheckbox.__ANT_CHECKBOX = true;\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","import { unit } from '@ant-design/cssinjs';\nimport { genFocusOutline, resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\nexport const genCheckboxStyle = token => {\n const {\n checkboxCls\n } = token;\n const wrapperCls = `${checkboxCls}-wrapper`;\n return [\n // ===================== Basic =====================\n {\n // Group\n [`${checkboxCls}-group`]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-flex',\n flexWrap: 'wrap',\n columnGap: token.marginXS,\n // Group > Grid\n [`> ${token.antCls}-row`]: {\n flex: 1\n }\n }),\n // Wrapper\n [wrapperCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-flex',\n alignItems: 'baseline',\n cursor: 'pointer',\n // Fix checkbox & radio in flex align #30260\n '&:after': {\n display: 'inline-block',\n width: 0,\n overflow: 'hidden',\n content: \"'\\\\a0'\"\n },\n // Checkbox near checkbox\n [`& + ${wrapperCls}`]: {\n marginInlineStart: 0\n },\n [`&${wrapperCls}-in-form-item`]: {\n 'input[type=\"checkbox\"]': {\n width: 14,\n // FIXME: magic\n height: 14 // FIXME: magic\n }\n }\n }),\n // Wrapper > Checkbox\n [checkboxCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n whiteSpace: 'nowrap',\n lineHeight: 1,\n cursor: 'pointer',\n borderRadius: token.borderRadiusSM,\n // To make alignment right when `controlHeight` is changed\n // Ref: https://github.com/ant-design/ant-design/issues/41564\n alignSelf: 'center',\n // Wrapper > Checkbox > input\n [`${checkboxCls}-input`]: {\n position: 'absolute',\n // Since baseline align will get additional space offset,\n // we need to move input to top to make it align with text.\n // Ref: https://github.com/ant-design/ant-design/issues/38926#issuecomment-1486137799\n inset: 0,\n zIndex: 1,\n cursor: 'pointer',\n opacity: 0,\n margin: 0,\n [`&:focus-visible + ${checkboxCls}-inner`]: Object.assign({}, genFocusOutline(token))\n },\n // Wrapper > Checkbox > inner\n [`${checkboxCls}-inner`]: {\n boxSizing: 'border-box',\n display: 'block',\n width: token.checkboxSize,\n height: token.checkboxSize,\n direction: 'ltr',\n backgroundColor: token.colorBgContainer,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadiusSM,\n borderCollapse: 'separate',\n transition: `all ${token.motionDurationSlow}`,\n '&:after': {\n boxSizing: 'border-box',\n position: 'absolute',\n top: '50%',\n insetInlineStart: '25%',\n display: 'table',\n width: token.calc(token.checkboxSize).div(14).mul(5).equal(),\n height: token.calc(token.checkboxSize).div(14).mul(8).equal(),\n border: `${unit(token.lineWidthBold)} solid ${token.colorWhite}`,\n borderTop: 0,\n borderInlineStart: 0,\n transform: 'rotate(45deg) scale(0) translate(-50%,-50%)',\n opacity: 0,\n content: '\"\"',\n transition: `all ${token.motionDurationFast} ${token.motionEaseInBack}, opacity ${token.motionDurationFast}`\n }\n },\n // Wrapper > Checkbox + Text\n '& + span': {\n paddingInlineStart: token.paddingXS,\n paddingInlineEnd: token.paddingXS\n }\n })\n },\n // ===================== Hover =====================\n {\n // Wrapper & Wrapper > Checkbox\n [`\n ${wrapperCls}:not(${wrapperCls}-disabled),\n ${checkboxCls}:not(${checkboxCls}-disabled)\n `]: {\n [`&:hover ${checkboxCls}-inner`]: {\n borderColor: token.colorPrimary\n }\n },\n [`${wrapperCls}:not(${wrapperCls}-disabled)`]: {\n [`&:hover ${checkboxCls}-checked:not(${checkboxCls}-disabled) ${checkboxCls}-inner`]: {\n backgroundColor: token.colorPrimaryHover,\n borderColor: 'transparent'\n },\n [`&:hover ${checkboxCls}-checked:not(${checkboxCls}-disabled):after`]: {\n borderColor: token.colorPrimaryHover\n }\n }\n },\n // ==================== Checked ====================\n {\n // Wrapper > Checkbox\n [`${checkboxCls}-checked`]: {\n [`${checkboxCls}-inner`]: {\n backgroundColor: token.colorPrimary,\n borderColor: token.colorPrimary,\n '&:after': {\n opacity: 1,\n transform: 'rotate(45deg) scale(1) translate(-50%,-50%)',\n transition: `all ${token.motionDurationMid} ${token.motionEaseOutBack} ${token.motionDurationFast}`\n }\n }\n },\n [`\n ${wrapperCls}-checked:not(${wrapperCls}-disabled),\n ${checkboxCls}-checked:not(${checkboxCls}-disabled)\n `]: {\n [`&:hover ${checkboxCls}-inner`]: {\n backgroundColor: token.colorPrimaryHover,\n borderColor: 'transparent'\n }\n }\n },\n // ================= Indeterminate =================\n {\n [checkboxCls]: {\n '&-indeterminate': {\n // Wrapper > Checkbox > inner\n [`${checkboxCls}-inner`]: {\n backgroundColor: `${token.colorBgContainer} !important`,\n borderColor: `${token.colorBorder} !important`,\n '&:after': {\n top: '50%',\n insetInlineStart: '50%',\n width: token.calc(token.fontSizeLG).div(2).equal(),\n height: token.calc(token.fontSizeLG).div(2).equal(),\n backgroundColor: token.colorPrimary,\n border: 0,\n transform: 'translate(-50%, -50%) scale(1)',\n opacity: 1,\n content: '\"\"'\n }\n },\n // https://github.com/ant-design/ant-design/issues/50074\n [`&:hover ${checkboxCls}-inner`]: {\n backgroundColor: `${token.colorBgContainer} !important`,\n borderColor: `${token.colorPrimary} !important`\n }\n }\n }\n },\n // ==================== Disable ====================\n {\n // Wrapper\n [`${wrapperCls}-disabled`]: {\n cursor: 'not-allowed'\n },\n // Wrapper > Checkbox\n [`${checkboxCls}-disabled`]: {\n // Wrapper > Checkbox > input\n [`&, ${checkboxCls}-input`]: {\n cursor: 'not-allowed',\n // Disabled for native input to enable Tooltip event handler\n // ref: https://github.com/ant-design/ant-design/issues/39822#issuecomment-1365075901\n pointerEvents: 'none'\n },\n // Wrapper > Checkbox > inner\n [`${checkboxCls}-inner`]: {\n background: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n '&:after': {\n borderColor: token.colorTextDisabled\n }\n },\n '&:after': {\n display: 'none'\n },\n '& + span': {\n color: token.colorTextDisabled\n },\n [`&${checkboxCls}-indeterminate ${checkboxCls}-inner::after`]: {\n background: token.colorTextDisabled\n }\n }\n }];\n};\n// ============================== Export ==============================\nexport function getStyle(prefixCls, token) {\n const checkboxToken = mergeToken(token, {\n checkboxCls: `.${prefixCls}`,\n checkboxSize: token.controlInteractiveSize\n });\n return [genCheckboxStyle(checkboxToken)];\n}\nexport default genStyleHooks('Checkbox', (token, _ref) => {\n let {\n prefixCls\n } = _ref;\n return [getStyle(prefixCls, token)];\n});","\"use client\";\n\nimport { Col } from '../grid';\nexport default Col;","\"use client\";\n\nimport { Row } from '../grid';\nexport default Row;","export var EXPAND_COLUMN = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nexport function createContext(defaultValue) {\n var Context = /*#__PURE__*/React.createContext(undefined);\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n useLayoutEffect(function () {\n unstable_batchedUpdates(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n return {\n Context: Context,\n Provider: Provider,\n defaultValue: defaultValue\n };\n}\n\n/** e.g. useSelect(userContext) => user */\n\n/** e.g. useSelect(userContext, user => user.name) => user.name */\n\n/** e.g. useSelect(userContext, ['name', 'age']) => user { name, age } */\n\n/** e.g. useSelect(userContext, 'name') => user.name */\n\nexport function useContext(holder, selector) {\n var eventSelector = useEvent(typeof selector === 'function' ? selector : function (ctx) {\n if (selector === undefined) {\n return ctx;\n }\n if (!Array.isArray(selector)) {\n return ctx[selector];\n }\n var obj = {};\n selector.forEach(function (key) {\n obj[key] = ctx[key];\n });\n return obj;\n });\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n var valueRef = React.useRef();\n valueRef.current = eventSelector(context ? getValue() : holder === null || holder === void 0 ? void 0 : holder.defaultValue);\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n forceUpdate = _React$useState4[1];\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n function trigger(nextValue) {\n var nextSelectorValue = eventSelector(nextValue);\n if (!isEqual(valueRef.current, nextSelectorValue, true)) {\n forceUpdate({});\n }\n }\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return valueRef.current;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\n/**\n * Create Immutable pair for `makeImmutable` and `responseImmutable`.\n */\nexport default function createImmutable() {\n var ImmutableContext = /*#__PURE__*/React.createContext(null);\n\n /**\n * Get render update mark by `makeImmutable` root.\n * Do not deps on the return value as render times\n * but only use for `useMemo` or `useCallback` deps.\n */\n function useImmutableMark() {\n return React.useContext(ImmutableContext);\n }\n\n /**\n * Wrapped Component will be marked as Immutable.\n * When Component parent trigger render,\n * it will notice children component (use with `responseImmutable`) node that parent has updated.\n * @param Component Passed Component\n * @param triggerRender Customize trigger `responseImmutable` children re-render logic. Default will always trigger re-render when this component re-render.\n */\n function makeImmutable(Component, shouldTriggerRender) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n var renderTimesRef = React.useRef(0);\n var prevProps = React.useRef(props);\n\n // If parent has the context, we do not wrap it\n var mark = useImmutableMark();\n if (mark !== null) {\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n }\n if (\n // Always trigger re-render if not provide `notTriggerRender`\n !shouldTriggerRender || shouldTriggerRender(prevProps.current, props)) {\n renderTimesRef.current += 1;\n }\n prevProps.current = props;\n return /*#__PURE__*/React.createElement(ImmutableContext.Provider, {\n value: renderTimesRef.current\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps)));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableRoot(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;\n }\n\n /**\n * Wrapped Component with `React.memo`.\n * But will rerender when parent with `makeImmutable` rerender.\n */\n function responseImmutable(Component, propsAreEqual) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n useImmutableMark();\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableResponse(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(ImmutableComponent), propsAreEqual) : /*#__PURE__*/React.memo(ImmutableComponent, propsAreEqual);\n }\n return {\n makeImmutable: makeImmutable,\n responseImmutable: responseImmutable,\n useImmutableMark: useImmutableMark\n };\n}","import { createContext, useContext } from \"./context\";\nimport createImmutable from \"./Immutable\";\n\n// For legacy usage, we export it directly\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { createContext, useContext, createImmutable, makeImmutable, responseImmutable, useImmutableMark };","import { createContext, createImmutable } from '@rc-component/context';\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { makeImmutable, responseImmutable, useImmutableMark };\nvar TableContext = createContext();\nexport default TableContext;","import * as React from 'react';\n// TODO: Remove when use `responsiveImmutable`\nvar PerfContext = /*#__PURE__*/React.createContext({\n renderWithProps: false\n});\nexport default PerfContext;","var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';\nfunction toArray(arr) {\n if (arr === undefined || arr === null) {\n return [];\n }\n return Array.isArray(arr) ? arr : [arr];\n}\nexport function getColumnsKey(columns) {\n var columnKeys = [];\n var keys = {};\n columns.forEach(function (column) {\n var _ref = column || {},\n key = _ref.key,\n dataIndex = _ref.dataIndex;\n var mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;\n while (keys[mergedKey]) {\n mergedKey = \"\".concat(mergedKey, \"_next\");\n }\n keys[mergedKey] = true;\n columnKeys.push(mergedKey);\n });\n return columnKeys;\n}\nexport function validateValue(val) {\n return val !== null && val !== undefined;\n}\nexport function validNumberValue(value) {\n return typeof value === 'number' && !Number.isNaN(value);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport { validateValue } from \"../utils/valueUtil\";\nimport { useImmutableMark } from \"../context/TableContext\";\nfunction isRenderCell(data) {\n return data && _typeof(data) === 'object' && !Array.isArray(data) && ! /*#__PURE__*/React.isValidElement(data);\n}\nexport default function useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate) {\n // TODO: Remove this after next major version\n var perfRecord = React.useContext(PerfContext);\n var mark = useImmutableMark();\n\n // ======================== Render ========================\n var retData = useMemo(function () {\n if (validateValue(children)) {\n return [children];\n }\n var path = dataIndex === null || dataIndex === undefined || dataIndex === '' ? [] : Array.isArray(dataIndex) ? dataIndex : [dataIndex];\n var value = getValue(record, path);\n\n // Customize render node\n var returnChildNode = value;\n var returnCellProps = undefined;\n if (render) {\n var renderData = render(value, record, renderIndex);\n if (isRenderCell(renderData)) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`columns.render` return cell props is deprecated with perf issue, please use `onCell` instead.');\n }\n returnChildNode = renderData.children;\n returnCellProps = renderData.props;\n perfRecord.renderWithProps = true;\n } else {\n returnChildNode = renderData;\n }\n }\n return [returnChildNode, returnCellProps];\n }, [\n // Force update deps\n mark,\n // Normal deps\n record, children, dataIndex, render, renderIndex], function (prev, next) {\n if (shouldCellUpdate) {\n var _prev = _slicedToArray(prev, 2),\n prevRecord = _prev[1];\n var _next = _slicedToArray(next, 2),\n nextRecord = _next[1];\n return shouldCellUpdate(nextRecord, prevRecord);\n }\n\n // Legacy mode should always update\n if (perfRecord.renderWithProps) {\n return true;\n }\n return !isEqual(prev, next, true);\n });\n return retData;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useCellRender from \"./useCellRender\";\nimport useHoverState from \"./useHoverState\";\nimport { useEvent } from 'rc-util';\nvar getTitleFromCellRenderChildren = function getTitleFromCellRenderChildren(_ref) {\n var ellipsis = _ref.ellipsis,\n rowType = _ref.rowType,\n children = _ref.children;\n var title;\n var ellipsisConfig = ellipsis === true ? {\n showTitle: true\n } : ellipsis;\n if (ellipsisConfig && (ellipsisConfig.showTitle || rowType === 'header')) {\n if (typeof children === 'string' || typeof children === 'number') {\n title = children.toString();\n } else if ( /*#__PURE__*/React.isValidElement(children) && typeof children.props.children === 'string') {\n title = children.props.children;\n }\n }\n return title;\n};\nfunction Cell(props) {\n var _ref2, _ref3, _legacyCellProps$colS, _ref4, _ref5, _legacyCellProps$rowS, _additionalProps$titl, _classNames;\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var Component = props.component,\n children = props.children,\n ellipsis = props.ellipsis,\n scope = props.scope,\n prefixCls = props.prefixCls,\n className = props.className,\n align = props.align,\n record = props.record,\n render = props.render,\n dataIndex = props.dataIndex,\n renderIndex = props.renderIndex,\n shouldCellUpdate = props.shouldCellUpdate,\n index = props.index,\n rowType = props.rowType,\n colSpan = props.colSpan,\n rowSpan = props.rowSpan,\n fixLeft = props.fixLeft,\n fixRight = props.fixRight,\n firstFixLeft = props.firstFixLeft,\n lastFixLeft = props.lastFixLeft,\n firstFixRight = props.firstFixRight,\n lastFixRight = props.lastFixRight,\n appendNode = props.appendNode,\n _props$additionalProp = props.additionalProps,\n additionalProps = _props$additionalProp === void 0 ? {} : _props$additionalProp,\n isSticky = props.isSticky;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var _useContext = useContext(TableContext, ['supportSticky', 'allColumnsFixedLeft', 'rowHoverable']),\n supportSticky = _useContext.supportSticky,\n allColumnsFixedLeft = _useContext.allColumnsFixedLeft,\n rowHoverable = _useContext.rowHoverable;\n\n // ====================== Value =======================\n var _useCellRender = useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate),\n _useCellRender2 = _slicedToArray(_useCellRender, 2),\n childNode = _useCellRender2[0],\n legacyCellProps = _useCellRender2[1];\n\n // ====================== Fixed =======================\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number' && supportSticky;\n var isFixRight = typeof fixRight === 'number' && supportSticky;\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = fixLeft;\n }\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = fixRight;\n }\n\n // ================ RowSpan & ColSpan =================\n var mergedColSpan = (_ref2 = (_ref3 = (_legacyCellProps$colS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.colSpan) !== null && _legacyCellProps$colS !== void 0 ? _legacyCellProps$colS : additionalProps.colSpan) !== null && _ref3 !== void 0 ? _ref3 : colSpan) !== null && _ref2 !== void 0 ? _ref2 : 1;\n var mergedRowSpan = (_ref4 = (_ref5 = (_legacyCellProps$rowS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.rowSpan) !== null && _legacyCellProps$rowS !== void 0 ? _legacyCellProps$rowS : additionalProps.rowSpan) !== null && _ref5 !== void 0 ? _ref5 : rowSpan) !== null && _ref4 !== void 0 ? _ref4 : 1;\n\n // ====================== Hover =======================\n var _useHoverState = useHoverState(index, mergedRowSpan),\n _useHoverState2 = _slicedToArray(_useHoverState, 2),\n hovering = _useHoverState2[0],\n onHover = _useHoverState2[1];\n var onMouseEnter = useEvent(function (event) {\n var _additionalProps$onMo;\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 || _additionalProps$onMo.call(additionalProps, event);\n });\n var onMouseLeave = useEvent(function (event) {\n var _additionalProps$onMo2;\n if (record) {\n onHover(-1, -1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === void 0 || _additionalProps$onMo2.call(additionalProps, event);\n });\n\n // ====================== Render ======================\n if (mergedColSpan === 0 || mergedRowSpan === 0) {\n return null;\n }\n\n // >>>>> Title\n var title = (_additionalProps$titl = additionalProps.title) !== null && _additionalProps$titl !== void 0 ? _additionalProps$titl : getTitleFromCellRenderChildren({\n rowType: rowType,\n ellipsis: ellipsis,\n children: childNode\n });\n\n // >>>>> ClassName\n var mergedClassName = classNames(cellPrefixCls, className, (_classNames = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left\"), isFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-first\"), firstFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-last\"), lastFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-all\"), lastFixLeft && allColumnsFixedLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right\"), isFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-first\"), firstFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-last\"), lastFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-ellipsis\"), ellipsis), \"\".concat(cellPrefixCls, \"-with-append\"), appendNode), \"\".concat(cellPrefixCls, \"-fix-sticky\"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-row-hover\"), !legacyCellProps && hovering)), additionalProps.className, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.className);\n\n // >>>>> Style\n var alignStyle = {};\n if (align) {\n alignStyle.textAlign = align;\n }\n\n // The order is important since user can overwrite style.\n // For example ant-design/ant-design#51763\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.style), fixedStyle), alignStyle), additionalProps.style);\n\n // >>>>> Children Node\n var mergedChildNode = childNode;\n\n // Not crash if final `childNode` is not validate ReactNode\n if (_typeof(mergedChildNode) === 'object' && !Array.isArray(mergedChildNode) && ! /*#__PURE__*/React.isValidElement(mergedChildNode)) {\n mergedChildNode = null;\n }\n if (ellipsis && (lastFixLeft || firstFixRight)) {\n mergedChildNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(cellPrefixCls, \"-content\")\n }, mergedChildNode);\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, legacyCellProps, additionalProps, {\n className: mergedClassName,\n style: mergedStyle\n // A11y\n ,\n title: title,\n scope: scope\n // Hover\n ,\n onMouseEnter: rowHoverable ? onMouseEnter : undefined,\n onMouseLeave: rowHoverable ? onMouseLeave : undefined\n //Span\n ,\n colSpan: mergedColSpan !== 1 ? mergedColSpan : null,\n rowSpan: mergedRowSpan !== 1 ? mergedRowSpan : null\n }), appendNode, mergedChildNode);\n}\nexport default /*#__PURE__*/React.memo(Cell);","import { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\n/** Check if cell is in hover range */\nfunction inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {\n var cellEndRow = cellStartRow + cellRowSpan - 1;\n return cellStartRow <= endRow && cellEndRow >= startRow;\n}\nexport default function useHoverState(rowIndex, rowSpan) {\n return useContext(TableContext, function (ctx) {\n var hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow);\n return [hovering, ctx.onHover];\n });\n}","export function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets, direction) {\n var startColumn = columns[colStart] || {};\n var endColumn = columns[colEnd] || {};\n var fixLeft;\n var fixRight;\n if (startColumn.fixed === 'left') {\n fixLeft = stickyOffsets.left[direction === 'rtl' ? colEnd : colStart];\n } else if (endColumn.fixed === 'right') {\n fixRight = stickyOffsets.right[direction === 'rtl' ? colStart : colEnd];\n }\n var lastFixLeft = false;\n var firstFixRight = false;\n var lastFixRight = false;\n var firstFixLeft = false;\n var nextColumn = columns[colEnd + 1];\n var prevColumn = columns[colStart - 1];\n\n // need show shadow only when canLastFix is true\n var canLastFix = nextColumn && !nextColumn.fixed || prevColumn && !prevColumn.fixed || columns.every(function (col) {\n return col.fixed === 'left';\n });\n if (direction === 'rtl') {\n if (fixLeft !== undefined) {\n var prevFixLeft = prevColumn && prevColumn.fixed === 'left';\n firstFixLeft = !prevFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var nextFixRight = nextColumn && nextColumn.fixed === 'right';\n lastFixRight = !nextFixRight && canLastFix;\n }\n } else if (fixLeft !== undefined) {\n var nextFixLeft = nextColumn && nextColumn.fixed === 'left';\n lastFixLeft = !nextFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var prevFixRight = prevColumn && prevColumn.fixed === 'right';\n firstFixRight = !prevFixRight && canLastFix;\n }\n return {\n fixLeft: fixLeft,\n fixRight: fixRight,\n lastFixLeft: lastFixLeft,\n firstFixRight: firstFixRight,\n lastFixRight: lastFixRight,\n firstFixLeft: firstFixLeft,\n isSticky: stickyOffsets.isSticky\n };\n}","import * as React from 'react';\nvar SummaryContext = /*#__PURE__*/React.createContext({});\nexport default SummaryContext;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport default function FooterRow(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"tr\", props, children);\n}","import Cell from \"./Cell\";\nimport Row from \"./Row\";\n/**\n * Syntactic sugar. Do not support HOC.\n */\nfunction Summary(_ref) {\n var children = _ref.children;\n return children;\n}\nSummary.Row = Row;\nSummary.Cell = Cell;\nexport default Summary;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport SummaryContext from \"./SummaryContext\";\nexport default function SummaryCell(_ref) {\n var className = _ref.className,\n index = _ref.index,\n children = _ref.children,\n _ref$colSpan = _ref.colSpan,\n colSpan = _ref$colSpan === void 0 ? 1 : _ref$colSpan,\n rowSpan = _ref.rowSpan,\n align = _ref.align;\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var _React$useContext = React.useContext(SummaryContext),\n scrollColumnIndex = _React$useContext.scrollColumnIndex,\n stickyOffsets = _React$useContext.stickyOffsets,\n flattenColumns = _React$useContext.flattenColumns;\n var lastIndex = index + colSpan - 1;\n var mergedColSpan = lastIndex + 1 === scrollColumnIndex ? colSpan + 1 : colSpan;\n var fixedInfo = getCellFixedInfo(index, index + mergedColSpan - 1, flattenColumns, stickyOffsets, direction);\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: className,\n index: index,\n component: \"td\",\n prefixCls: prefixCls,\n record: null,\n dataIndex: null,\n align: align,\n colSpan: mergedColSpan,\n rowSpan: rowSpan,\n render: function render() {\n return children;\n }\n }, fixedInfo));\n}","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport Summary from \"./Summary\";\nimport SummaryContext from \"./SummaryContext\";\nfunction Footer(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var children = props.children,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns;\n var prefixCls = useContext(TableContext, 'prefixCls');\n var lastColumnIndex = flattenColumns.length - 1;\n var scrollColumn = flattenColumns[lastColumnIndex];\n var summaryContext = React.useMemo(function () {\n return {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n scrollColumnIndex: scrollColumn !== null && scrollColumn !== void 0 && scrollColumn.scrollbar ? lastColumnIndex : null\n };\n }, [scrollColumn, flattenColumns, lastColumnIndex, stickyOffsets]);\n return /*#__PURE__*/React.createElement(SummaryContext.Provider, {\n value: summaryContext\n }, /*#__PURE__*/React.createElement(\"tfoot\", {\n className: \"\".concat(prefixCls, \"-summary\")\n }, children));\n}\nexport default responseImmutable(Footer);\nexport var FooterComponents = Summary;","import * as React from 'react';\n// recursion (flat tree structure)\nfunction fillRecords(list, record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n list.push({\n record: record,\n indent: indent,\n index: index\n });\n var key = getRowKey(record);\n var expanded = expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.has(key);\n if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n fillRecords(list, record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n }\n }\n}\n/**\n * flat tree data on expanded state\n *\n * @export\n * @template T\n * @param {*} data : table data\n * @param {string} childrenColumnName : 指定树形结构的列名\n * @param {Set<Key>} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey<T>} getRowKey : 获取当前rowKey的方法\n * @returns flattened data\n */\nexport default function useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey) {\n var arr = React.useMemo(function () {\n if (expandedKeys !== null && expandedKeys !== void 0 && expandedKeys.size) {\n var list = [];\n\n // collect flattened record\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n\n // using array.push or spread operator may cause \"Maximum call stack size exceeded\" exception if array size is big enough.\n fillRecords(list, record, 0, childrenColumnName, expandedKeys, getRowKey, i);\n }\n return list;\n }\n return data === null || data === void 0 ? void 0 : data.map(function (item, index) {\n return {\n record: item,\n indent: 0,\n index: index\n };\n });\n }, [data, childrenColumnName, expandedKeys, getRowKey]);\n return arr;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport { useEvent } from 'rc-util';\nimport classNames from 'classnames';\nexport default function useRowInfo(record, rowKey, recordIndex, indent) {\n var context = useContext(TableContext, ['prefixCls', 'fixedInfoList', 'flattenColumns', 'expandableType', 'expandRowByClick', 'onTriggerExpand', 'rowClassName', 'expandedRowClassName', 'indentSize', 'expandIcon', 'expandedRowRender', 'expandIconColumnIndex', 'expandedKeys', 'childrenColumnName', 'rowExpandable', 'onRow']);\n var flattenColumns = context.flattenColumns,\n expandableType = context.expandableType,\n expandedKeys = context.expandedKeys,\n childrenColumnName = context.childrenColumnName,\n onTriggerExpand = context.onTriggerExpand,\n rowExpandable = context.rowExpandable,\n onRow = context.onRow,\n expandRowByClick = context.expandRowByClick,\n rowClassName = context.rowClassName;\n\n // ======================= Expandable =======================\n // Only when row is not expandable and `children` exist in record\n var nestExpandable = expandableType === 'nest';\n var rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record));\n var mergedExpandable = rowSupportExpand || nestExpandable;\n var expanded = expandedKeys && expandedKeys.has(rowKey);\n var hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n var onInternalTriggerExpand = useEvent(onTriggerExpand);\n\n // ========================= onRow ==========================\n var rowProps = onRow === null || onRow === void 0 ? void 0 : onRow(record, recordIndex);\n var onRowClick = rowProps === null || rowProps === void 0 ? void 0 : rowProps.onClick;\n var onClick = function onClick(event) {\n if (expandRowByClick && mergedExpandable) {\n onTriggerExpand(record, event);\n }\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n onRowClick === null || onRowClick === void 0 || onRowClick.apply(void 0, [event].concat(args));\n };\n\n // ====================== RowClassName ======================\n var computeRowClassName;\n if (typeof rowClassName === 'string') {\n computeRowClassName = rowClassName;\n } else if (typeof rowClassName === 'function') {\n computeRowClassName = rowClassName(record, recordIndex, indent);\n }\n\n // ========================= Column =========================\n var columnsKey = getColumnsKey(flattenColumns);\n return _objectSpread(_objectSpread({}, context), {}, {\n columnsKey: columnsKey,\n nestExpandable: nestExpandable,\n expanded: expanded,\n hasNestChildren: hasNestChildren,\n record: record,\n onTriggerExpand: onInternalTriggerExpand,\n rowSupportExpand: rowSupportExpand,\n expandable: mergedExpandable,\n rowProps: _objectSpread(_objectSpread({}, rowProps), {}, {\n className: classNames(computeRowClassName, rowProps === null || rowProps === void 0 ? void 0 : rowProps.className),\n onClick: onClick\n })\n });\n}","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nfunction ExpandedRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var prefixCls = props.prefixCls,\n children = props.children,\n Component = props.component,\n cellComponent = props.cellComponent,\n className = props.className,\n expanded = props.expanded,\n colSpan = props.colSpan,\n isEmpty = props.isEmpty;\n var _useContext = useContext(TableContext, ['scrollbarSize', 'fixHeader', 'fixColumn', 'componentWidth', 'horizonScroll']),\n scrollbarSize = _useContext.scrollbarSize,\n fixHeader = _useContext.fixHeader,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth,\n horizonScroll = _useContext.horizonScroll;\n\n // Cache render node\n var contentNode = children;\n if (isEmpty ? horizonScroll && componentWidth : fixColumn) {\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: componentWidth - (fixHeader && !isEmpty ? scrollbarSize : 0),\n position: 'sticky',\n left: 0,\n overflow: 'hidden'\n },\n className: \"\".concat(prefixCls, \"-expanded-row-fixed\")\n }, contentNode);\n }\n return /*#__PURE__*/React.createElement(Component, {\n className: className,\n style: {\n display: expanded ? null : 'none'\n }\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n colSpan: colSpan\n }, contentNode));\n}\nexport default ExpandedRow;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport function renderExpandIcon(_ref) {\n var prefixCls = _ref.prefixCls,\n record = _ref.record,\n onExpand = _ref.onExpand,\n expanded = _ref.expanded,\n expandable = _ref.expandable;\n var expandClassName = \"\".concat(prefixCls, \"-row-expand-icon\");\n if (!expandable) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, \"\".concat(prefixCls, \"-row-spaced\"))\n });\n }\n var onClick = function onClick(event) {\n onExpand(record, event);\n event.stopPropagation();\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-row-expanded\"), expanded), \"\".concat(prefixCls, \"-row-collapsed\"), !expanded)),\n onClick: onClick\n });\n}\nexport function findAllChildrenKeys(data, getRowKey, childrenColumnName) {\n var keys = [];\n function dig(list) {\n (list || []).forEach(function (item, index) {\n keys.push(getRowKey(item, index));\n dig(item[childrenColumnName]);\n });\n }\n dig(data);\n return keys;\n}\nexport function computedExpandedClassName(cls, record, index, indent) {\n if (typeof cls === 'string') {\n return cls;\n }\n if (typeof cls === 'function') {\n return cls(record, index, indent);\n }\n return '';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport ExpandedRow from \"./ExpandedRow\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nexport function getCellProps(rowInfo, column, colIndex, indent, index) {\n var record = rowInfo.record,\n prefixCls = rowInfo.prefixCls,\n columnsKey = rowInfo.columnsKey,\n fixedInfoList = rowInfo.fixedInfoList,\n expandIconColumnIndex = rowInfo.expandIconColumnIndex,\n nestExpandable = rowInfo.nestExpandable,\n indentSize = rowInfo.indentSize,\n expandIcon = rowInfo.expandIcon,\n expanded = rowInfo.expanded,\n hasNestChildren = rowInfo.hasNestChildren,\n onTriggerExpand = rowInfo.onTriggerExpand;\n var key = columnsKey[colIndex];\n var fixedInfo = fixedInfoList[colIndex];\n\n // ============= Used for nest expandable =============\n var appendCellNode;\n if (colIndex === (expandIconColumnIndex || 0) && nestExpandable) {\n appendCellNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n paddingLeft: \"\".concat(indentSize * indent, \"px\")\n },\n className: \"\".concat(prefixCls, \"-row-indent indent-level-\").concat(indent)\n }), expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: hasNestChildren,\n record: record,\n onExpand: onTriggerExpand\n }));\n }\n var additionalCellProps;\n if (column.onCell) {\n additionalCellProps = column.onCell(record, index);\n }\n return {\n key: key,\n fixedInfo: fixedInfo,\n appendCellNode: appendCellNode,\n additionalCellProps: additionalCellProps || {}\n };\n}\n\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nfunction BodyRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var className = props.className,\n style = props.style,\n record = props.record,\n index = props.index,\n renderIndex = props.renderIndex,\n rowKey = props.rowKey,\n _props$indent = props.indent,\n indent = _props$indent === void 0 ? 0 : _props$indent,\n RowComponent = props.rowComponent,\n cellComponent = props.cellComponent,\n scopeCellComponent = props.scopeCellComponent;\n var rowInfo = useRowInfo(record, rowKey, index, indent);\n var prefixCls = rowInfo.prefixCls,\n flattenColumns = rowInfo.flattenColumns,\n expandedRowClassName = rowInfo.expandedRowClassName,\n expandedRowRender = rowInfo.expandedRowRender,\n rowProps = rowInfo.rowProps,\n expanded = rowInfo.expanded,\n rowSupportExpand = rowInfo.rowSupportExpand;\n\n // Force render expand row if expanded before\n var expandedRef = React.useRef(false);\n expandedRef.current || (expandedRef.current = expanded);\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n // 若没有 expandedRowRender 参数, 将使用 baseRowNode 渲染 Children\n // 此时如果 level > 1 则说明是 expandedRow, 一样需要附加 computedExpandedRowClassName\n var expandedClsName = computedExpandedClassName(expandedRowClassName, record, index, indent);\n\n // ======================== Base tr row ========================\n var baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, {\n \"data-row-key\": rowKey,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), \"\".concat(prefixCls, \"-row-level-\").concat(indent), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className, _defineProperty({}, expandedClsName, indent >= 1)),\n style: _objectSpread(_objectSpread({}, style), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className;\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: columnClassName,\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: column.rowScope ? scopeCellComponent : cellComponent,\n prefixCls: prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: render,\n shouldCellUpdate: column.shouldCellUpdate\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: additionalCellProps\n }));\n }));\n\n // ======================== Expand Row =========================\n var expandRowNode;\n if (rowSupportExpand && (expandedRef.current || expanded)) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n expandRowNode = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: expanded,\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), expandedClsName),\n prefixCls: prefixCls,\n component: RowComponent,\n cellComponent: cellComponent,\n colSpan: flattenColumns.length,\n isEmpty: false\n }, expandContent);\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, baseRowNode, expandRowNode);\n}\nif (process.env.NODE_ENV !== 'production') {\n BodyRow.displayName = 'BodyRow';\n}\nexport default responseImmutable(BodyRow);","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nexport default function MeasureCell(_ref) {\n var columnKey = _ref.columnKey,\n onColumnResize = _ref.onColumnResize;\n var cellRef = React.useRef();\n React.useEffect(function () {\n if (cellRef.current) {\n onColumnResize(columnKey, cellRef.current.offsetWidth);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n data: columnKey\n }, /*#__PURE__*/React.createElement(\"td\", {\n ref: cellRef,\n style: {\n padding: 0,\n border: 0,\n height: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: 0,\n overflow: 'hidden'\n }\n }, \"\\xA0\")));\n}","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport MeasureCell from \"./MeasureCell\";\nexport default function MeasureRow(_ref) {\n var prefixCls = _ref.prefixCls,\n columnsKey = _ref.columnsKey,\n onColumnResize = _ref.onColumnResize;\n return /*#__PURE__*/React.createElement(\"tr\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-measure-row\"),\n style: {\n height: 0,\n fontSize: 0\n }\n }, /*#__PURE__*/React.createElement(ResizeObserver.Collection, {\n onBatchResize: function onBatchResize(infoList) {\n infoList.forEach(function (_ref2) {\n var columnKey = _ref2.data,\n size = _ref2.size;\n onColumnResize(columnKey, size.offsetWidth);\n });\n }\n }, columnsKey.map(function (columnKey) {\n return /*#__PURE__*/React.createElement(MeasureCell, {\n key: columnKey,\n columnKey: columnKey,\n onColumnResize: onColumnResize\n });\n })));\n}","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport BodyRow from \"./BodyRow\";\nimport ExpandedRow from \"./ExpandedRow\";\nimport MeasureRow from \"./MeasureRow\";\nfunction Body(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var data = props.data,\n measureColumnWidth = props.measureColumnWidth;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent', 'onColumnResize', 'flattenColumns', 'getRowKey', 'expandedKeys', 'childrenColumnName', 'emptyNode']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent,\n onColumnResize = _useContext.onColumnResize,\n flattenColumns = _useContext.flattenColumns,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n childrenColumnName = _useContext.childrenColumnName,\n emptyNode = _useContext.emptyNode;\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // =================== Performance ====================\n var perfRef = React.useRef({\n renderWithProps: false\n });\n\n // ====================== Render ======================\n var WrapperComponent = getComponent(['body', 'wrapper'], 'tbody');\n var trComponent = getComponent(['body', 'row'], 'tr');\n var tdComponent = getComponent(['body', 'cell'], 'td');\n var thComponent = getComponent(['body', 'cell'], 'th');\n var rows;\n if (data.length) {\n rows = flattenData.map(function (item, idx) {\n var record = item.record,\n indent = item.indent,\n renderIndex = item.index;\n var key = getRowKey(record, idx);\n return /*#__PURE__*/React.createElement(BodyRow, {\n key: key,\n rowKey: key,\n record: record,\n index: idx,\n renderIndex: renderIndex,\n rowComponent: trComponent,\n cellComponent: tdComponent,\n scopeCellComponent: thComponent,\n getRowKey: getRowKey,\n indent: indent\n });\n });\n } else {\n rows = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: true,\n className: \"\".concat(prefixCls, \"-placeholder\"),\n prefixCls: prefixCls,\n component: trComponent,\n cellComponent: tdComponent,\n colSpan: flattenColumns.length,\n isEmpty: true\n }, emptyNode);\n }\n var columnsKey = getColumnsKey(flattenColumns);\n return /*#__PURE__*/React.createElement(PerfContext.Provider, {\n value: perfRef.current\n }, /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-tbody\")\n }, measureColumnWidth && /*#__PURE__*/React.createElement(MeasureRow, {\n prefixCls: prefixCls,\n columnsKey: columnsKey,\n onColumnResize: onColumnResize\n }), rows));\n}\nif (process.env.NODE_ENV !== 'production') {\n Body.displayName = 'Body';\n}\nexport default responseImmutable(Body);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"expandable\"];\nimport warning from \"rc-util/es/warning\";\nexport var INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\nexport function getExpandableProps(props) {\n var expandable = props.expandable,\n legacyExpandableConfig = _objectWithoutProperties(props, _excluded);\n var config;\n if ('expandable' in props) {\n config = _objectSpread(_objectSpread({}, legacyExpandableConfig), expandable);\n } else {\n if (process.env.NODE_ENV !== 'production' && ['indentSize', 'expandedRowKeys', 'defaultExpandedRowKeys', 'defaultExpandAllRows', 'expandedRowRender', 'expandRowByClick', 'expandIcon', 'onExpand', 'onExpandedRowsChange', 'expandedRowClassName', 'expandIconColumnIndex', 'showExpandColumn', 'title'].some(function (prop) {\n return prop in props;\n })) {\n warning(false, 'expanded related props have been moved into `expandable`.');\n }\n config = legacyExpandableConfig;\n }\n if (config.showExpandColumn === false) {\n config.expandIconColumnIndex = -1;\n }\n return config;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"columnType\"];\nimport * as React from 'react';\nimport { INTERNAL_COL_DEFINE } from \"./utils/legacyUtil\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"./context/TableContext\";\nfunction ColGroup(_ref) {\n var colWidths = _ref.colWidths,\n columns = _ref.columns,\n columCount = _ref.columCount;\n var _useContext = useContext(TableContext, ['tableLayout']),\n tableLayout = _useContext.tableLayout;\n var cols = [];\n var len = columCount || columns.length;\n\n // Only insert col with width & additional props\n // Skip if rest col do not have any useful info\n var mustInsert = false;\n for (var i = len - 1; i >= 0; i -= 1) {\n var width = colWidths[i];\n var column = columns && columns[i];\n var additionalProps = void 0;\n var minWidth = void 0;\n if (column) {\n additionalProps = column[INTERNAL_COL_DEFINE];\n\n // fixed will cause layout problems\n if (tableLayout === 'auto') {\n minWidth = column.minWidth;\n }\n }\n if (width || minWidth || additionalProps || mustInsert) {\n var _ref2 = additionalProps || {},\n columnType = _ref2.columnType,\n restAdditionalProps = _objectWithoutProperties(_ref2, _excluded);\n cols.unshift( /*#__PURE__*/React.createElement(\"col\", _extends({\n key: i,\n style: {\n width: width,\n minWidth: minWidth\n }\n }, restAdditionalProps)));\n mustInsert = true;\n }\n }\n return /*#__PURE__*/React.createElement(\"colgroup\", null, cols);\n}\nexport default ColGroup;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"noData\", \"columns\", \"flattenColumns\", \"colWidths\", \"columCount\", \"stickyOffsets\", \"direction\", \"fixHeader\", \"stickyTopOffset\", \"stickyBottomOffset\", \"stickyClassName\", \"onScroll\", \"maxContentScroll\", \"children\"];\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport { fillRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport ColGroup from \"../ColGroup\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nfunction useColumnWidth(colWidths, columCount) {\n return useMemo(function () {\n var cloneColumns = [];\n for (var i = 0; i < columCount; i += 1) {\n var val = colWidths[i];\n if (val !== undefined) {\n cloneColumns[i] = val;\n } else {\n return null;\n }\n }\n return cloneColumns;\n }, [colWidths.join('_'), columCount]);\n}\nvar FixedHolder = /*#__PURE__*/React.forwardRef(function (props, ref) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var className = props.className,\n noData = props.noData,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n colWidths = props.colWidths,\n columCount = props.columCount,\n stickyOffsets = props.stickyOffsets,\n direction = props.direction,\n fixHeader = props.fixHeader,\n stickyTopOffset = props.stickyTopOffset,\n stickyBottomOffset = props.stickyBottomOffset,\n stickyClassName = props.stickyClassName,\n onScroll = props.onScroll,\n maxContentScroll = props.maxContentScroll,\n children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var _useContext = useContext(TableContext, ['prefixCls', 'scrollbarSize', 'isSticky', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n scrollbarSize = _useContext.scrollbarSize,\n isSticky = _useContext.isSticky,\n getComponent = _useContext.getComponent;\n var TableComponent = getComponent(['header', 'table'], 'table');\n var combinationScrollBarSize = isSticky && !fixHeader ? 0 : scrollbarSize;\n\n // Pass wheel to scroll event\n var scrollRef = React.useRef(null);\n var setScrollRef = React.useCallback(function (element) {\n fillRef(ref, element);\n fillRef(scrollRef, element);\n }, []);\n React.useEffect(function () {\n var _scrollRef$current;\n function onWheel(e) {\n var _ref = e,\n currentTarget = _ref.currentTarget,\n deltaX = _ref.deltaX;\n if (deltaX) {\n onScroll({\n currentTarget: currentTarget,\n scrollLeft: currentTarget.scrollLeft + deltaX\n });\n e.preventDefault();\n }\n }\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 || _scrollRef$current.addEventListener('wheel', onWheel, {\n passive: false\n });\n return function () {\n var _scrollRef$current2;\n (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 || _scrollRef$current2.removeEventListener('wheel', onWheel);\n };\n }, []);\n\n // Check if all flattenColumns has width\n var allFlattenColumnsWithWidth = React.useMemo(function () {\n return flattenColumns.every(function (column) {\n return column.width;\n });\n }, [flattenColumns]);\n\n // Add scrollbar column\n var lastColumn = flattenColumns[flattenColumns.length - 1];\n var ScrollBarColumn = {\n fixed: lastColumn ? lastColumn.fixed : null,\n scrollbar: true,\n onHeaderCell: function onHeaderCell() {\n return {\n className: \"\".concat(prefixCls, \"-cell-scrollbar\")\n };\n }\n };\n var columnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(columns), [ScrollBarColumn]) : columns;\n }, [combinationScrollBarSize, columns]);\n var flattenColumnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(flattenColumns), [ScrollBarColumn]) : flattenColumns;\n }, [combinationScrollBarSize, flattenColumns]);\n\n // Calculate the sticky offsets\n var headerStickyOffsets = useMemo(function () {\n var right = stickyOffsets.right,\n left = stickyOffsets.left;\n return _objectSpread(_objectSpread({}, stickyOffsets), {}, {\n left: direction === 'rtl' ? [].concat(_toConsumableArray(left.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]) : left,\n right: direction === 'rtl' ? right : [].concat(_toConsumableArray(right.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]),\n isSticky: isSticky\n });\n }, [combinationScrollBarSize, stickyOffsets, isSticky]);\n var mergedColumnWidth = useColumnWidth(colWidths, columCount);\n return /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread({\n overflow: 'hidden'\n }, isSticky ? {\n top: stickyTopOffset,\n bottom: stickyBottomOffset\n } : {}),\n ref: setScrollRef,\n className: classNames(className, _defineProperty({}, stickyClassName, !!stickyClassName))\n }, /*#__PURE__*/React.createElement(TableComponent, {\n style: {\n tableLayout: 'fixed',\n visibility: noData || mergedColumnWidth ? null : 'hidden'\n }\n }, (!noData || !maxContentScroll || allFlattenColumnsWithWidth) && /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: mergedColumnWidth ? [].concat(_toConsumableArray(mergedColumnWidth), [combinationScrollBarSize]) : [],\n columCount: columCount + 1,\n columns: flattenColumnsWithScrollbar\n }), children(_objectSpread(_objectSpread({}, restProps), {}, {\n stickyOffsets: headerStickyOffsets,\n columns: columnsWithScrollbar,\n flattenColumns: flattenColumnsWithScrollbar\n }))));\n});\nif (process.env.NODE_ENV !== 'production') {\n FixedHolder.displayName = 'FixedHolder';\n}\n\n/** Return a table in div as fixed element which contains sticky info */\n// export default responseImmutable(FixedHolder);\nexport default /*#__PURE__*/React.memo(FixedHolder);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nvar HeaderRow = function HeaderRow(props) {\n var cells = props.cells,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns,\n RowComponent = props.rowComponent,\n CellComponent = props.cellComponent,\n onHeaderRow = props.onHeaderRow,\n index = props.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var rowProps;\n if (onHeaderRow) {\n rowProps = onHeaderRow(cells.map(function (cell) {\n return cell.column;\n }), index);\n }\n var columnsKey = getColumnsKey(cells.map(function (cell) {\n return cell.column;\n }));\n return /*#__PURE__*/React.createElement(RowComponent, rowProps, cells.map(function (cell, cellIndex) {\n var column = cell.column;\n var fixedInfo = getCellFixedInfo(cell.colStart, cell.colEnd, flattenColumns, stickyOffsets, direction);\n var additionalProps;\n if (column && column.onHeaderCell) {\n additionalProps = cell.column.onHeaderCell(column);\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({}, cell, {\n scope: column.title ? cell.colSpan > 1 ? 'colgroup' : 'col' : null,\n ellipsis: column.ellipsis,\n align: column.align,\n component: CellComponent,\n prefixCls: prefixCls,\n key: columnsKey[cellIndex]\n }, fixedInfo, {\n additionalProps: additionalProps,\n rowType: \"header\"\n }));\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n HeaderRow.displayName = 'HeaderRow';\n}\nexport default HeaderRow;","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport HeaderRow from \"./HeaderRow\";\nfunction parseHeaderRows(rootColumns) {\n var rows = [];\n function fillRowCells(columns, colIndex) {\n var rowIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n // Init rows\n rows[rowIndex] = rows[rowIndex] || [];\n var currentColIndex = colIndex;\n var colSpans = columns.filter(Boolean).map(function (column) {\n var cell = {\n key: column.key,\n className: column.className || '',\n children: column.title,\n column: column,\n colStart: currentColIndex\n };\n var colSpan = 1;\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n colSpan = fillRowCells(subColumns, currentColIndex, rowIndex + 1).reduce(function (total, count) {\n return total + count;\n }, 0);\n cell.hasSubColumns = true;\n }\n if ('colSpan' in column) {\n colSpan = column.colSpan;\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n cell.colSpan = colSpan;\n cell.colEnd = cell.colStart + colSpan - 1;\n rows[rowIndex].push(cell);\n currentColIndex += colSpan;\n return colSpan;\n });\n return colSpans;\n }\n\n // Generate `rows` cell data\n fillRowCells(rootColumns, 0);\n\n // Handle `rowSpan`\n var rowCount = rows.length;\n var _loop = function _loop(rowIndex) {\n rows[rowIndex].forEach(function (cell) {\n if (!('rowSpan' in cell) && !cell.hasSubColumns) {\n // eslint-disable-next-line no-param-reassign\n cell.rowSpan = rowCount - rowIndex;\n }\n });\n };\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n _loop(rowIndex);\n }\n return rows;\n}\nvar Header = function Header(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var stickyOffsets = props.stickyOffsets,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n onHeaderRow = props.onHeaderRow;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent;\n var rows = React.useMemo(function () {\n return parseHeaderRows(columns);\n }, [columns]);\n var WrapperComponent = getComponent(['header', 'wrapper'], 'thead');\n var trComponent = getComponent(['header', 'row'], 'tr');\n var thComponent = getComponent(['header', 'cell'], 'th');\n return /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-thead\")\n }, rows.map(function (row, rowIndex) {\n var rowNode = /*#__PURE__*/React.createElement(HeaderRow, {\n key: rowIndex,\n flattenColumns: flattenColumns,\n cells: row,\n stickyOffsets: stickyOffsets,\n rowComponent: trComponent,\n cellComponent: thComponent,\n onHeaderRow: onHeaderRow,\n index: rowIndex\n });\n return rowNode;\n }));\n};\nexport default responseImmutable(Header);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction parseColWidth(totalWidth) {\n var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (typeof width === 'number') {\n return width;\n }\n if (width.endsWith('%')) {\n return totalWidth * parseFloat(width) / 100;\n }\n return null;\n}\n\n/**\n * Fill all column with width\n */\nexport default function useWidthColumns(flattenColumns, scrollWidth, clientWidth) {\n return React.useMemo(function () {\n // Fill width if needed\n if (scrollWidth && scrollWidth > 0) {\n var totalWidth = 0;\n var missWidthCount = 0;\n\n // collect not given width column\n flattenColumns.forEach(function (col) {\n var colWidth = parseColWidth(scrollWidth, col.width);\n if (colWidth) {\n totalWidth += colWidth;\n } else {\n missWidthCount += 1;\n }\n });\n\n // Fill width\n var maxFitWidth = Math.max(scrollWidth, clientWidth);\n var restWidth = Math.max(maxFitWidth - totalWidth, missWidthCount);\n var restCount = missWidthCount;\n var avgWidth = restWidth / missWidthCount;\n var realTotal = 0;\n var filledColumns = flattenColumns.map(function (col) {\n var clone = _objectSpread({}, col);\n var colWidth = parseColWidth(scrollWidth, clone.width);\n if (colWidth) {\n clone.width = colWidth;\n } else {\n var colAvgWidth = Math.floor(avgWidth);\n clone.width = restCount === 1 ? restWidth : colAvgWidth;\n restWidth -= colAvgWidth;\n restCount -= 1;\n }\n realTotal += clone.width;\n return clone;\n });\n\n // If realTotal is less than clientWidth,\n // We need extend column width\n if (realTotal < maxFitWidth) {\n var scale = maxFitWidth / realTotal;\n restWidth = maxFitWidth;\n filledColumns.forEach(function (col, index) {\n var colWidth = Math.floor(col.width * scale);\n col.width = index === filledColumns.length - 1 ? restWidth : colWidth;\n restWidth -= colWidth;\n });\n }\n return [filledColumns, Math.max(realTotal, maxFitWidth)];\n }\n return [flattenColumns, scrollWidth];\n }, [flattenColumns, scrollWidth, clientWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"fixed\"];\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { EXPAND_COLUMN } from \"../../constant\";\nimport { INTERNAL_COL_DEFINE } from \"../../utils/legacyUtil\";\nimport useWidthColumns from \"./useWidthColumns\";\nexport function convertChildrenToColumns(children) {\n return toArray(children).filter(function (node) {\n return /*#__PURE__*/React.isValidElement(node);\n }).map(function (_ref) {\n var key = _ref.key,\n props = _ref.props;\n var nodeChildren = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var column = _objectSpread({\n key: key\n }, restProps);\n if (nodeChildren) {\n column.children = convertChildrenToColumns(nodeChildren);\n }\n return column;\n });\n}\nfunction filterHiddenColumns(columns) {\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object' && !column.hidden;\n }).map(function (column) {\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return _objectSpread(_objectSpread({}, column), {}, {\n children: filterHiddenColumns(subColumns)\n });\n }\n return column;\n });\n}\nfunction flatColumns(columns) {\n var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key';\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object';\n }).reduce(function (list, column, index) {\n var fixed = column.fixed;\n // Convert `fixed='true'` to `fixed='left'` instead\n var parsedFixed = fixed === true ? 'left' : fixed;\n var mergedKey = \"\".concat(parentKey, \"-\").concat(index);\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return [].concat(_toConsumableArray(list), _toConsumableArray(flatColumns(subColumns, mergedKey).map(function (subColum) {\n return _objectSpread({\n fixed: parsedFixed\n }, subColum);\n })));\n }\n return [].concat(_toConsumableArray(list), [_objectSpread(_objectSpread({\n key: mergedKey\n }, column), {}, {\n fixed: parsedFixed\n })]);\n }, []);\n}\nfunction revertForRtl(columns) {\n return columns.map(function (column) {\n var fixed = column.fixed,\n restProps = _objectWithoutProperties(column, _excluded2);\n\n // Convert `fixed='left'` to `fixed='right'` instead\n var parsedFixed = fixed;\n if (fixed === 'left') {\n parsedFixed = 'right';\n } else if (fixed === 'right') {\n parsedFixed = 'left';\n }\n return _objectSpread({\n fixed: parsedFixed\n }, restProps);\n });\n}\n\n/**\n * Parse `columns` & `children` into `columns`.\n */\nfunction useColumns(_ref2, transformColumns) {\n var prefixCls = _ref2.prefixCls,\n columns = _ref2.columns,\n children = _ref2.children,\n expandable = _ref2.expandable,\n expandedKeys = _ref2.expandedKeys,\n columnTitle = _ref2.columnTitle,\n getRowKey = _ref2.getRowKey,\n onTriggerExpand = _ref2.onTriggerExpand,\n expandIcon = _ref2.expandIcon,\n rowExpandable = _ref2.rowExpandable,\n expandIconColumnIndex = _ref2.expandIconColumnIndex,\n direction = _ref2.direction,\n expandRowByClick = _ref2.expandRowByClick,\n columnWidth = _ref2.columnWidth,\n fixed = _ref2.fixed,\n scrollWidth = _ref2.scrollWidth,\n clientWidth = _ref2.clientWidth;\n var baseColumns = React.useMemo(function () {\n var newColumns = columns || convertChildrenToColumns(children) || [];\n return filterHiddenColumns(newColumns.slice());\n }, [columns, children]);\n\n // ========================== Expand ==========================\n var withExpandColumns = React.useMemo(function () {\n if (expandable) {\n var cloneColumns = baseColumns.slice();\n\n // >>> Warning if use `expandIconColumnIndex`\n if (process.env.NODE_ENV !== 'production' && expandIconColumnIndex >= 0) {\n warning(false, '`expandIconColumnIndex` is deprecated. Please use `Table.EXPAND_COLUMN` in `columns` instead.');\n }\n\n // >>> Insert expand column if not exist\n if (!cloneColumns.includes(EXPAND_COLUMN)) {\n var expandColIndex = expandIconColumnIndex || 0;\n if (expandColIndex >= 0) {\n cloneColumns.splice(expandColIndex, 0, EXPAND_COLUMN);\n }\n }\n\n // >>> Deduplicate additional expand column\n if (process.env.NODE_ENV !== 'production' && cloneColumns.filter(function (c) {\n return c === EXPAND_COLUMN;\n }).length > 1) {\n warning(false, 'There exist more than one `EXPAND_COLUMN` in `columns`.');\n }\n var expandColumnIndex = cloneColumns.indexOf(EXPAND_COLUMN);\n cloneColumns = cloneColumns.filter(function (column, index) {\n return column !== EXPAND_COLUMN || index === expandColumnIndex;\n });\n\n // >>> Check if expand column need to fixed\n var prevColumn = baseColumns[expandColumnIndex];\n var fixedColumn;\n if ((fixed === 'left' || fixed) && !expandIconColumnIndex) {\n fixedColumn = 'left';\n } else if ((fixed === 'right' || fixed) && expandIconColumnIndex === baseColumns.length) {\n fixedColumn = 'right';\n } else {\n fixedColumn = prevColumn ? prevColumn.fixed : null;\n }\n\n // >>> Create expandable column\n var expandColumn = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, INTERNAL_COL_DEFINE, {\n className: \"\".concat(prefixCls, \"-expand-icon-col\"),\n columnType: 'EXPAND_COLUMN'\n }), \"title\", columnTitle), \"fixed\", fixedColumn), \"className\", \"\".concat(prefixCls, \"-row-expand-icon-cell\")), \"width\", columnWidth), \"render\", function render(_, record, index) {\n var rowKey = getRowKey(record, index);\n var expanded = expandedKeys.has(rowKey);\n var recordExpandable = rowExpandable ? rowExpandable(record) : true;\n var icon = expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: recordExpandable,\n record: record,\n onExpand: onTriggerExpand\n });\n if (expandRowByClick) {\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, icon);\n }\n return icon;\n });\n return cloneColumns.map(function (col) {\n return col === EXPAND_COLUMN ? expandColumn : col;\n });\n }\n if (process.env.NODE_ENV !== 'production' && baseColumns.includes(EXPAND_COLUMN)) {\n warning(false, '`expandable` is not config but there exist `EXPAND_COLUMN` in `columns`.');\n }\n return baseColumns.filter(function (col) {\n return col !== EXPAND_COLUMN;\n });\n }, [expandable, baseColumns, getRowKey, expandedKeys, expandIcon, direction]);\n\n // ========================= Transform ========================\n var mergedColumns = React.useMemo(function () {\n var finalColumns = withExpandColumns;\n if (transformColumns) {\n finalColumns = transformColumns(finalColumns);\n }\n\n // Always provides at least one column for table display\n if (!finalColumns.length) {\n finalColumns = [{\n render: function render() {\n return null;\n }\n }];\n }\n return finalColumns;\n }, [transformColumns, withExpandColumns, direction]);\n\n // ========================== Flatten =========================\n var flattenColumns = React.useMemo(function () {\n if (direction === 'rtl') {\n return revertForRtl(flatColumns(mergedColumns));\n }\n return flatColumns(mergedColumns);\n }, [mergedColumns, direction, scrollWidth]);\n\n // ========================= Gap Fixed ========================\n var hasGapFixed = React.useMemo(function () {\n // Fixed: left, since old browser not support `findLastIndex`, we should use reverse loop\n var lastLeftIndex = -1;\n for (var i = flattenColumns.length - 1; i >= 0; i -= 1) {\n var colFixed = flattenColumns[i].fixed;\n if (colFixed === 'left' || colFixed === true) {\n lastLeftIndex = i;\n break;\n }\n }\n if (lastLeftIndex >= 0) {\n for (var _i = 0; _i <= lastLeftIndex; _i += 1) {\n var _colFixed = flattenColumns[_i].fixed;\n if (_colFixed !== 'left' && _colFixed !== true) {\n return true;\n }\n }\n }\n\n // Fixed: right\n var firstRightIndex = flattenColumns.findIndex(function (_ref3) {\n var colFixed = _ref3.fixed;\n return colFixed === 'right';\n });\n if (firstRightIndex >= 0) {\n for (var _i2 = firstRightIndex; _i2 < flattenColumns.length; _i2 += 1) {\n var _colFixed2 = flattenColumns[_i2].fixed;\n if (_colFixed2 !== 'right') {\n return true;\n }\n }\n }\n return false;\n }, [flattenColumns]);\n\n // ========================= FillWidth ========================\n var _useWidthColumns = useWidthColumns(flattenColumns, scrollWidth, clientWidth),\n _useWidthColumns2 = _slicedToArray(_useWidthColumns, 2),\n filledColumns = _useWidthColumns2[0],\n realScrollWidth = _useWidthColumns2[1];\n return [mergedColumns, filledColumns, realScrollWidth, hasGapFixed];\n}\nexport default useColumns;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../constant\";\nimport { findAllChildrenKeys, renderExpandIcon } from \"../utils/expandUtil\";\nimport { getExpandableProps } from \"../utils/legacyUtil\";\nexport default function useExpand(props, mergedData, getRowKey) {\n var expandableConfig = getExpandableProps(props);\n var expandIcon = expandableConfig.expandIcon,\n expandedRowKeys = expandableConfig.expandedRowKeys,\n defaultExpandedRowKeys = expandableConfig.defaultExpandedRowKeys,\n defaultExpandAllRows = expandableConfig.defaultExpandAllRows,\n expandedRowRender = expandableConfig.expandedRowRender,\n onExpand = expandableConfig.onExpand,\n onExpandedRowsChange = expandableConfig.onExpandedRowsChange,\n childrenColumnName = expandableConfig.childrenColumnName;\n var mergedExpandIcon = expandIcon || renderExpandIcon;\n var mergedChildrenColumnName = childrenColumnName || 'children';\n var expandableType = React.useMemo(function () {\n if (expandedRowRender) {\n return 'row';\n }\n /* eslint-disable no-underscore-dangle */\n /**\n * Fix https://github.com/ant-design/ant-design/issues/21154\n * This is a workaround to not to break current behavior.\n * We can remove follow code after final release.\n *\n * To other developer:\n * Do not use `__PARENT_RENDER_ICON__` in prod since we will remove this when refactor\n */\n if (props.expandable && props.internalHooks === INTERNAL_HOOKS && props.expandable.__PARENT_RENDER_ICON__ || mergedData.some(function (record) {\n return record && _typeof(record) === 'object' && record[mergedChildrenColumnName];\n })) {\n return 'nest';\n }\n /* eslint-enable */\n return false;\n }, [!!expandedRowRender, mergedData]);\n var _React$useState = React.useState(function () {\n if (defaultExpandedRowKeys) {\n return defaultExpandedRowKeys;\n }\n if (defaultExpandAllRows) {\n return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName);\n }\n return [];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerExpandedKeys = _React$useState2[0],\n setInnerExpandedKeys = _React$useState2[1];\n var mergedExpandedKeys = React.useMemo(function () {\n return new Set(expandedRowKeys || innerExpandedKeys || []);\n }, [expandedRowKeys, innerExpandedKeys]);\n var onTriggerExpand = React.useCallback(function (record) {\n var key = getRowKey(record, mergedData.indexOf(record));\n var newExpandedKeys;\n var hasKey = mergedExpandedKeys.has(key);\n if (hasKey) {\n mergedExpandedKeys.delete(key);\n newExpandedKeys = _toConsumableArray(mergedExpandedKeys);\n } else {\n newExpandedKeys = [].concat(_toConsumableArray(mergedExpandedKeys), [key]);\n }\n setInnerExpandedKeys(newExpandedKeys);\n if (onExpand) {\n onExpand(!hasKey, record);\n }\n if (onExpandedRowsChange) {\n onExpandedRowsChange(newExpandedKeys);\n }\n }, [getRowKey, mergedExpandedKeys, mergedData, onExpand, onExpandedRowsChange]);\n\n // Warning if use `expandedRowRender` and nest children in the same time\n if (process.env.NODE_ENV !== 'production' && expandedRowRender && mergedData.some(function (record) {\n return Array.isArray(record === null || record === void 0 ? void 0 : record[mergedChildrenColumnName]);\n })) {\n warning(false, '`expandedRowRender` should not use with nested Table');\n }\n return [expandableConfig, expandableType, mergedExpandedKeys, mergedExpandIcon, mergedChildrenColumnName, onTriggerExpand];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\n/**\n * Execute code before next frame but async\n */\nexport function useLayoutState(defaultState) {\n var stateRef = useRef(defaultState);\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n var lastPromiseRef = useRef(null);\n var updateBatchRef = useRef([]);\n function setFrameState(updater) {\n updateBatchRef.current.push(updater);\n var promise = Promise.resolve();\n lastPromiseRef.current = promise;\n promise.then(function () {\n if (lastPromiseRef.current === promise) {\n var prevBatch = updateBatchRef.current;\n var prevState = stateRef.current;\n updateBatchRef.current = [];\n prevBatch.forEach(function (batchUpdater) {\n stateRef.current = batchUpdater(stateRef.current);\n });\n lastPromiseRef.current = null;\n if (prevState !== stateRef.current) {\n forceUpdate({});\n }\n }\n });\n }\n useEffect(function () {\n return function () {\n lastPromiseRef.current = null;\n };\n }, []);\n return [stateRef.current, setFrameState];\n}\n\n/** Lock frame, when frame pass reset the lock. */\nexport function useTimeoutLock(defaultState) {\n var frameRef = useRef(defaultState || null);\n var timeoutRef = useRef();\n function cleanUp() {\n window.clearTimeout(timeoutRef.current);\n }\n function setState(newState) {\n frameRef.current = newState;\n cleanUp();\n timeoutRef.current = window.setTimeout(function () {\n frameRef.current = null;\n timeoutRef.current = undefined;\n }, 100);\n }\n function getState() {\n return frameRef.current;\n }\n useEffect(function () {\n return cleanUp;\n }, []);\n return [setState, getState];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\n// fix ssr render\nvar defaultContainer = canUseDom() ? window : null;\n\n/** Sticky header hooks */\nexport default function useSticky(sticky, prefixCls) {\n var _ref = _typeof(sticky) === 'object' ? sticky : {},\n _ref$offsetHeader = _ref.offsetHeader,\n offsetHeader = _ref$offsetHeader === void 0 ? 0 : _ref$offsetHeader,\n _ref$offsetSummary = _ref.offsetSummary,\n offsetSummary = _ref$offsetSummary === void 0 ? 0 : _ref$offsetSummary,\n _ref$offsetScroll = _ref.offsetScroll,\n offsetScroll = _ref$offsetScroll === void 0 ? 0 : _ref$offsetScroll,\n _ref$getContainer = _ref.getContainer,\n getContainer = _ref$getContainer === void 0 ? function () {\n return defaultContainer;\n } : _ref$getContainer;\n var container = getContainer() || defaultContainer;\n var isSticky = !!sticky;\n return React.useMemo(function () {\n return {\n isSticky: isSticky,\n stickyClassName: isSticky ? \"\".concat(prefixCls, \"-sticky-holder\") : '',\n offsetHeader: offsetHeader,\n offsetSummary: offsetSummary,\n offsetScroll: offsetScroll,\n container: container\n };\n }, [isSticky, offsetScroll, offsetHeader, offsetSummary, prefixCls, container]);\n}","import { useMemo } from 'react';\n/**\n * Get sticky column offset width\n */\nfunction useStickyOffsets(colWidths, flattenColumns, direction) {\n var stickyOffsets = useMemo(function () {\n var columnCount = flattenColumns.length;\n var getOffsets = function getOffsets(startIndex, endIndex, offset) {\n var offsets = [];\n var total = 0;\n for (var i = startIndex; i !== endIndex; i += offset) {\n offsets.push(total);\n if (flattenColumns[i].fixed) {\n total += colWidths[i] || 0;\n }\n }\n return offsets;\n };\n var startOffsets = getOffsets(0, columnCount, 1);\n var endOffsets = getOffsets(columnCount - 1, -1, -1).reverse();\n return direction === 'rtl' ? {\n left: endOffsets,\n right: startOffsets\n } : {\n left: startOffsets,\n right: endOffsets\n };\n }, [colWidths, flattenColumns, direction]);\n return stickyOffsets;\n}\nexport default useStickyOffsets;","import * as React from 'react';\nfunction Panel(_ref) {\n var className = _ref.className,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n}\nexport default Panel;","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n if (target !== null && target !== void 0 && target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n return {\n remove: function remove() {\n if (target !== null && target !== void 0 && target.removeEventListener) {\n target.removeEventListener(eventType, callback, option);\n }\n }\n };\n}","/* eslint-disable no-nested-ternary */\nvar PIXEL_PATTERN = /margin|padding|width|height|max|min|offset/;\nvar removePixel = {\n left: true,\n top: true\n};\nvar floatMap = {\n cssFloat: 1,\n styleFloat: 1,\n float: 1\n};\nfunction getComputedStyle(node) {\n return node.nodeType === 1 ? node.ownerDocument.defaultView.getComputedStyle(node, null) : {};\n}\nfunction getStyleValue(node, type, value) {\n type = type.toLowerCase();\n if (value === 'auto') {\n if (type === 'height') {\n return node.offsetHeight;\n }\n if (type === 'width') {\n return node.offsetWidth;\n }\n }\n if (!(type in removePixel)) {\n removePixel[type] = PIXEL_PATTERN.test(type);\n }\n return removePixel[type] ? parseFloat(value) || 0 : value;\n}\nexport function get(node, name) {\n var length = arguments.length;\n var style = getComputedStyle(node);\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n return length === 1 ? style : getStyleValue(node, name, style[name] || node.style[name]);\n}\nexport function set(node, name, value) {\n var length = arguments.length;\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n if (length === 3) {\n if (typeof value === 'number' && PIXEL_PATTERN.test(name)) {\n value = \"\".concat(value, \"px\");\n }\n node.style[name] = value; // Number\n return value;\n }\n for (var x in name) {\n if (name.hasOwnProperty(x)) {\n set(node, x, name[x]);\n }\n }\n return getComputedStyle(node);\n}\nexport function getOuterWidth(el) {\n if (el === document.body) {\n return document.documentElement.clientWidth;\n }\n return el.offsetWidth;\n}\nexport function getOuterHeight(el) {\n if (el === document.body) {\n return window.innerHeight || document.documentElement.clientHeight;\n }\n return el.offsetHeight;\n}\nexport function getDocSize() {\n var width = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);\n var height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n return {\n width: width,\n height: height\n };\n}\nexport function getClientSize() {\n var width = document.documentElement.clientWidth;\n var height = window.innerHeight || document.documentElement.clientHeight;\n return {\n width: width,\n height: height\n };\n}\nexport function getScroll() {\n return {\n scrollLeft: Math.max(document.documentElement.scrollLeft, document.body.scrollLeft),\n scrollTop: Math.max(document.documentElement.scrollTop, document.body.scrollTop)\n };\n}\nexport function getOffset(node) {\n var box = node.getBoundingClientRect();\n var docElem = document.documentElement;\n\n // < ie8 不支持 win.pageXOffset, 则使用 docElem.scrollLeft\n return {\n left: box.left + (window.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || document.body.clientLeft || 0),\n top: box.top + (window.pageYOffset || docElem.scrollTop) - (docElem.clientTop || document.body.clientTop || 0)\n };\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport { getOffset } from \"rc-util/es/Dom/css\";\nimport getScrollBarSize from \"rc-util/es/getScrollBarSize\";\nimport * as React from 'react';\nimport TableContext from \"./context/TableContext\";\nimport { useLayoutState } from \"./hooks/useFrame\";\nimport raf from \"rc-util/es/raf\";\nvar StickyScrollBar = function StickyScrollBar(_ref, ref) {\n var _scrollBodyRef$curren, _scrollBodyRef$curren2;\n var scrollBodyRef = _ref.scrollBodyRef,\n onScroll = _ref.onScroll,\n offsetScroll = _ref.offsetScroll,\n container = _ref.container;\n var prefixCls = useContext(TableContext, 'prefixCls');\n var bodyScrollWidth = ((_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 ? void 0 : _scrollBodyRef$curren.scrollWidth) || 0;\n var bodyWidth = ((_scrollBodyRef$curren2 = scrollBodyRef.current) === null || _scrollBodyRef$curren2 === void 0 ? void 0 : _scrollBodyRef$curren2.clientWidth) || 0;\n var scrollBarWidth = bodyScrollWidth && bodyWidth * (bodyWidth / bodyScrollWidth);\n var scrollBarRef = React.useRef();\n var _useLayoutState = useLayoutState({\n scrollLeft: 0,\n isHiddenScrollBar: true\n }),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n scrollState = _useLayoutState2[0],\n setScrollState = _useLayoutState2[1];\n var refState = React.useRef({\n delta: 0,\n x: 0\n });\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n isActive = _React$useState2[0],\n setActive = _React$useState2[1];\n var rafRef = React.useRef(null);\n React.useEffect(function () {\n return function () {\n raf.cancel(rafRef.current);\n };\n }, []);\n var onMouseUp = function onMouseUp() {\n setActive(false);\n };\n var onMouseDown = function onMouseDown(event) {\n event.persist();\n refState.current.delta = event.pageX - scrollState.scrollLeft;\n refState.current.x = 0;\n setActive(true);\n event.preventDefault();\n };\n var onMouseMove = function onMouseMove(event) {\n var _window;\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n var _ref2 = event || ((_window = window) === null || _window === void 0 ? void 0 : _window.event),\n buttons = _ref2.buttons;\n if (!isActive || buttons === 0) {\n // If out body mouse up, we can set isActive false when mouse move\n if (isActive) {\n setActive(false);\n }\n return;\n }\n var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;\n if (left <= 0) {\n left = 0;\n }\n if (left + scrollBarWidth >= bodyWidth) {\n left = bodyWidth - scrollBarWidth;\n }\n onScroll({\n scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)\n });\n refState.current.x = event.pageX;\n };\n var checkScrollBarVisible = function checkScrollBarVisible() {\n rafRef.current = raf(function () {\n if (!scrollBodyRef.current) {\n return;\n }\n var tableOffsetTop = getOffset(scrollBodyRef.current).top;\n var tableBottomOffset = tableOffsetTop + scrollBodyRef.current.offsetHeight;\n var currentClientOffset = container === window ? document.documentElement.scrollTop + window.innerHeight : getOffset(container).top + container.clientHeight;\n if (tableBottomOffset - getScrollBarSize() <= currentClientOffset || tableOffsetTop >= currentClientOffset - offsetScroll) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n isHiddenScrollBar: true\n });\n });\n } else {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n isHiddenScrollBar: false\n });\n });\n }\n });\n };\n var setScrollLeft = function setScrollLeft(left) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: left / bodyScrollWidth * bodyWidth || 0\n });\n });\n };\n React.useImperativeHandle(ref, function () {\n return {\n setScrollLeft: setScrollLeft,\n checkScrollBarVisible: checkScrollBarVisible\n };\n });\n React.useEffect(function () {\n var onMouseUpListener = addEventListener(document.body, 'mouseup', onMouseUp, false);\n var onMouseMoveListener = addEventListener(document.body, 'mousemove', onMouseMove, false);\n checkScrollBarVisible();\n return function () {\n onMouseUpListener.remove();\n onMouseMoveListener.remove();\n };\n }, [scrollBarWidth, isActive]);\n React.useEffect(function () {\n var onScrollListener = addEventListener(container, 'scroll', checkScrollBarVisible, false);\n var onResizeListener = addEventListener(window, 'resize', checkScrollBarVisible, false);\n return function () {\n onScrollListener.remove();\n onResizeListener.remove();\n };\n }, [container]);\n React.useEffect(function () {\n if (!scrollState.isHiddenScrollBar) {\n setScrollState(function (state) {\n var bodyNode = scrollBodyRef.current;\n if (!bodyNode) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth\n });\n });\n }\n }, [scrollState.isHiddenScrollBar]);\n if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: getScrollBarSize(),\n width: bodyWidth,\n bottom: offsetScroll\n },\n className: \"\".concat(prefixCls, \"-sticky-scroll\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n onMouseDown: onMouseDown,\n ref: scrollBarRef,\n className: classNames(\"\".concat(prefixCls, \"-sticky-scroll-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-sticky-scroll-bar-active\"), isActive)),\n style: {\n width: \"\".concat(scrollBarWidth, \"px\"),\n transform: \"translate3d(\".concat(scrollState.scrollLeft, \"px, 0, 0)\")\n }\n }));\n};\nexport default /*#__PURE__*/React.forwardRef(StickyScrollBar);","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction Column(_) {\n return null;\n}\nexport default Column;","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\nexport default ColumnGroup;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n/**\n * Feature:\n * - fixed not need to set width\n * - support `rowExpandable` to config row expand logic\n * - add `summary` to support `() => ReactNode`\n *\n * Update:\n * - `dataIndex` is `array[]` now\n * - `expandable` wrap all the expand related props\n *\n * Removed:\n * - expandIconAsCell\n * - useFixedHeader\n * - rowRef\n * - columns[number].onCellClick\n * - onRowClick\n * - onRowDoubleClick\n * - onRowMouseEnter\n * - onRowMouseLeave\n * - getBodyWrapper\n * - bodyStyle\n *\n * Deprecated:\n * - All expanded props, move into expandable\n */\n\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Body from \"./Body\";\nimport ColGroup from \"./ColGroup\";\nimport { EXPAND_COLUMN, INTERNAL_HOOKS } from \"./constant\";\nimport TableContext, { makeImmutable } from \"./context/TableContext\";\nimport FixedHolder from \"./FixedHolder\";\nimport Footer, { FooterComponents } from \"./Footer\";\nimport Summary from \"./Footer/Summary\";\nimport Header from \"./Header/Header\";\nimport useColumns from \"./hooks/useColumns\";\nimport useExpand from \"./hooks/useExpand\";\nimport useFixedInfo from \"./hooks/useFixedInfo\";\nimport { useLayoutState, useTimeoutLock } from \"./hooks/useFrame\";\nimport useHover from \"./hooks/useHover\";\nimport useSticky from \"./hooks/useSticky\";\nimport useStickyOffsets from \"./hooks/useStickyOffsets\";\nimport Panel from \"./Panel\";\nimport StickyScrollBar from \"./stickyScrollBar\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport { getColumnsKey, validateValue, validNumberValue } from \"./utils/valueUtil\";\nimport { getDOM } from \"rc-util/es/Dom/findDOMNode\";\nexport var DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n return 'No Data';\n}\nfunction Table(tableProps, ref) {\n var props = _objectSpread({\n rowKey: 'key',\n prefixCls: DEFAULT_PREFIX,\n emptyText: defaultEmpty\n }, tableProps);\n var prefixCls = props.prefixCls,\n className = props.className,\n rowClassName = props.rowClassName,\n style = props.style,\n data = props.data,\n rowKey = props.rowKey,\n scroll = props.scroll,\n tableLayout = props.tableLayout,\n direction = props.direction,\n title = props.title,\n footer = props.footer,\n summary = props.summary,\n caption = props.caption,\n id = props.id,\n showHeader = props.showHeader,\n components = props.components,\n emptyText = props.emptyText,\n onRow = props.onRow,\n onHeaderRow = props.onHeaderRow,\n onScroll = props.onScroll,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n tailor = props.tailor,\n getContainerWidth = props.getContainerWidth,\n sticky = props.sticky,\n _props$rowHoverable = props.rowHoverable,\n rowHoverable = _props$rowHoverable === void 0 ? true : _props$rowHoverable;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length;\n var useInternalHooks = internalHooks === INTERNAL_HOOKS;\n\n // ===================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(function (name) {\n warning(props[name] === undefined, \"`\".concat(name, \"` is removed, please use `onRow` instead.\"));\n });\n warning(!('getBodyWrapper' in props), '`getBodyWrapper` is deprecated, please use custom `components` instead.');\n }\n\n // ==================== Customize =====================\n var getComponent = React.useCallback(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n }, [components]);\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return function (record) {\n var key = record && record[rowKey];\n if (process.env.NODE_ENV !== 'production') {\n warning(key !== undefined, 'Each record in table should have a unique `key` prop, or set `rowKey` to an unique primary key.');\n }\n return key;\n };\n }, [rowKey]);\n var customizeScrollBody = getComponent(['body']);\n\n // ====================== Hover =======================\n var _useHover = useHover(),\n _useHover2 = _slicedToArray(_useHover, 3),\n startRow = _useHover2[0],\n endRow = _useHover2[1],\n onHover = _useHover2[2];\n\n // ====================== Expand ======================\n var _useExpand = useExpand(props, mergedData, getRowKey),\n _useExpand2 = _slicedToArray(_useExpand, 6),\n expandableConfig = _useExpand2[0],\n expandableType = _useExpand2[1],\n mergedExpandedKeys = _useExpand2[2],\n mergedExpandIcon = _useExpand2[3],\n mergedChildrenColumnName = _useExpand2[4],\n onTriggerExpand = _useExpand2[5];\n\n // ====================== Column ======================\n var scrollX = scroll === null || scroll === void 0 ? void 0 : scroll.x;\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n componentWidth = _React$useState2[0],\n setComponentWidth = _React$useState2[1];\n var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n expandable: !!expandableConfig.expandedRowRender,\n columnTitle: expandableConfig.columnTitle,\n expandedKeys: mergedExpandedKeys,\n getRowKey: getRowKey,\n // https://github.com/ant-design/ant-design/issues/23894\n onTriggerExpand: onTriggerExpand,\n expandIcon: mergedExpandIcon,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n direction: direction,\n scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null,\n clientWidth: componentWidth\n }), useInternalHooks ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 4),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1],\n flattenScrollX = _useColumns2[2],\n hasGapFixed = _useColumns2[3];\n var mergedScrollX = flattenScrollX !== null && flattenScrollX !== void 0 ? flattenScrollX : scrollX;\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]);\n\n // ======================= Refs =======================\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: fullTableRef.current,\n scrollTo: function scrollTo(config) {\n var _scrollBodyRef$curren3;\n if (scrollBodyRef.current instanceof HTMLElement) {\n // Native scroll\n var index = config.index,\n top = config.top,\n key = config.key;\n if (validNumberValue(top)) {\n var _scrollBodyRef$curren;\n (_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 || _scrollBodyRef$curren.scrollTo({\n top: top\n });\n } else {\n var _scrollBodyRef$curren2;\n var mergedKey = key !== null && key !== void 0 ? key : getRowKey(mergedData[index]);\n (_scrollBodyRef$curren2 = scrollBodyRef.current.querySelector(\"[data-row-key=\\\"\".concat(mergedKey, \"\\\"]\"))) === null || _scrollBodyRef$curren2 === void 0 || _scrollBodyRef$curren2.scrollIntoView();\n }\n } else if ((_scrollBodyRef$curren3 = scrollBodyRef.current) !== null && _scrollBodyRef$curren3 !== void 0 && _scrollBodyRef$curren3.scrollTo) {\n // Pass to proxy\n scrollBodyRef.current.scrollTo(config);\n }\n }\n };\n });\n\n // ====================== Scroll ======================\n var scrollSummaryRef = React.useRef();\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pingedLeft = _React$useState4[0],\n setPingedLeft = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedRight = _React$useState6[0],\n setPingedRight = _React$useState6[1];\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1];\n\n // Convert map to number width\n var colsKeys = getColumnsKey(flattenColumns);\n var pureColWidths = colsKeys.map(function (columnKey) {\n return colsWidths.get(columnKey);\n });\n var colWidths = React.useMemo(function () {\n return pureColWidths;\n }, [pureColWidths.join('_')]);\n var stickyOffsets = useStickyOffsets(colWidths, flattenColumns, direction);\n var fixHeader = scroll && validateValue(scroll.y);\n var horizonScroll = scroll && validateValue(mergedScrollX) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n var fixed = _ref.fixed;\n return fixed;\n });\n\n // Sticky\n var stickyRef = React.useRef();\n var _useSticky = useSticky(sticky, prefixCls),\n isSticky = _useSticky.isSticky,\n offsetHeader = _useSticky.offsetHeader,\n offsetSummary = _useSticky.offsetSummary,\n offsetScroll = _useSticky.offsetScroll,\n stickyClassName = _useSticky.stickyClassName,\n container = _useSticky.container;\n\n // Footer (Fix footer must fixed header)\n var summaryNode = React.useMemo(function () {\n return summary === null || summary === void 0 ? void 0 : summary(mergedData);\n }, [summary, mergedData]);\n var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed;\n\n // Scroll\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n if (fixHeader) {\n scrollYStyle = {\n overflowY: hasData ? 'scroll' : 'auto',\n maxHeight: scroll.y\n };\n }\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\n };\n // When no vertical scrollbar, should hide it\n // https://github.com/ant-design/ant-design/pull/20705\n // https://github.com/ant-design/ant-design/issues/21879\n if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n scrollTableStyle = {\n width: mergedScrollX === true ? 'auto' : mergedScrollX,\n minWidth: '100%'\n };\n }\n var onColumnResize = React.useCallback(function (columnKey, width) {\n if (isVisible(fullTableRef.current)) {\n updateColsWidths(function (widths) {\n if (widths.get(columnKey) !== width) {\n var newWidths = new Map(widths);\n newWidths.set(columnKey, width);\n return newWidths;\n }\n return widths;\n });\n }\n }, []);\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n target.scrollLeft = scrollLeft;\n\n // Delay to force scroll position if not sync\n // ref: https://github.com/ant-design/ant-design/issues/37179\n if (target.scrollLeft !== scrollLeft) {\n setTimeout(function () {\n target.scrollLeft = scrollLeft;\n }, 0);\n }\n }\n }\n var onInternalScroll = useEvent(function (_ref2) {\n var currentTarget = _ref2.currentTarget,\n scrollLeft = _ref2.scrollLeft;\n var isRTL = direction === 'rtl';\n var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\n setScrollTarget(compareTarget);\n forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n forceScroll(mergedScrollLeft, scrollBodyRef.current);\n forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n forceScroll(mergedScrollLeft, (_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.setScrollLeft);\n }\n var measureTarget = currentTarget || scrollHeaderRef.current;\n if (measureTarget) {\n var scrollWidth =\n // Should use mergedScrollX in virtual table(useInternalHooks && tailor === true)\n useInternalHooks && tailor && typeof mergedScrollX === 'number' ? mergedScrollX : measureTarget.scrollWidth;\n var clientWidth = measureTarget.clientWidth;\n // There is no space to scroll\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\n }\n if (isRTL) {\n setPingedLeft(-mergedScrollLeft < scrollWidth - clientWidth);\n setPingedRight(-mergedScrollLeft > 0);\n } else {\n setPingedLeft(mergedScrollLeft > 0);\n setPingedRight(mergedScrollLeft < scrollWidth - clientWidth);\n }\n }\n });\n var onBodyScroll = useEvent(function (e) {\n onInternalScroll(e);\n onScroll === null || onScroll === void 0 || onScroll(e);\n });\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n var _scrollBodyRef$curren4;\n onInternalScroll({\n currentTarget: getDOM(scrollBodyRef.current),\n scrollLeft: (_scrollBodyRef$curren4 = scrollBodyRef.current) === null || _scrollBodyRef$curren4 === void 0 ? void 0 : _scrollBodyRef$curren4.scrollLeft\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n var onFullTableResize = function onFullTableResize(_ref3) {\n var _stickyRef$current2;\n var width = _ref3.width;\n (_stickyRef$current2 = stickyRef.current) === null || _stickyRef$current2 === void 0 || _stickyRef$current2.checkScrollBarVisible();\n var mergedWidth = fullTableRef.current ? fullTableRef.current.offsetWidth : width;\n if (useInternalHooks && getContainerWidth && fullTableRef.current) {\n mergedWidth = getContainerWidth(fullTableRef.current, mergedWidth) || mergedWidth;\n }\n if (mergedWidth !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(mergedWidth);\n }\n };\n\n // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n var mounted = React.useRef(false);\n React.useEffect(function () {\n // onFullTableResize will be trigger once when ResizeObserver is mounted\n // This will reduce one duplicated triggerOnScroll time\n if (mounted.current) {\n triggerOnScroll();\n }\n }, [horizonScroll, data, columns.length]);\n React.useEffect(function () {\n mounted.current = true;\n }, []);\n\n // ===================== Effects ======================\n var _React$useState7 = React.useState(0),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n scrollbarSize = _React$useState8[0],\n setScrollbarSize = _React$useState8[1];\n var _React$useState9 = React.useState(true),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n supportSticky = _React$useState10[0],\n setSupportSticky = _React$useState10[1]; // Only IE not support, we mark as support first\n\n React.useEffect(function () {\n if (!tailor || !useInternalHooks) {\n if (scrollBodyRef.current instanceof Element) {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n } else {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n }\n }\n setSupportSticky(isStyleSupport('position', 'sticky'));\n }, []);\n\n // ================== INTERNAL HOOKS ==================\n React.useEffect(function () {\n if (useInternalHooks && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n });\n\n // ========================================================================\n // == Render ==\n // ========================================================================\n // =================== Render: Func ===================\n var renderFixedHeaderTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n }, [fixFooter, summaryNode]);\n var renderFixedFooterTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n }, [summaryNode]);\n\n // =================== Render: Node ===================\n var TableComponent = getComponent(['table'], 'table');\n\n // Table layout\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\n }\n // https://github.com/ant-design/ant-design/issues/25227\n // When scroll.x is max-content, no need to fix table layout\n // it's width should stretch out to fit content\n if (fixColumn) {\n return mergedScrollX === 'max-content' ? 'auto' : 'fixed';\n }\n if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n var ellipsis = _ref4.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode;\n\n // Header props\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n };\n\n // Empty\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n return emptyText;\n }, [hasData, emptyText]);\n\n // Body\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky\n });\n var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(function (_ref5) {\n var width = _ref5.width;\n return width;\n }),\n columns: flattenColumns\n });\n var captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n className: \"\".concat(prefixCls, \"-caption\")\n }, caption) : undefined;\n var dataProps = pickAttrs(props, {\n data: true\n });\n var ariaProps = pickAttrs(props, {\n aria: true\n });\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize: scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onInternalScroll\n });\n headerProps.colWidths = flattenColumns.map(function (_ref6, index) {\n var width = _ref6.width;\n var colWidth = index === flattenColumns.length - 1 ? width - scrollbarSize : width;\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(props.columns.length === 0, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n }\n return 0;\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n onScroll: onBodyScroll,\n ref: scrollBodyRef,\n className: classNames(\"\".concat(prefixCls, \"-body\"))\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n }\n\n // Fixed holder share the props\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && mergedScrollX === 'max-content'\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: stickyClassName,\n onScroll: onInternalScroll\n });\n groupTableNode = /*#__PURE__*/React.createElement(React.Fragment, null, showHeader !== false && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyTopOffset: offsetHeader,\n className: \"\".concat(prefixCls, \"-header\"),\n ref: scrollHeaderRef\n }), renderFixedHeaderTable), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyBottomOffset: offsetSummary,\n className: \"\".concat(prefixCls, \"-summary\"),\n ref: scrollSummaryRef\n }), renderFixedFooterTable), isSticky && scrollBodyRef.current && scrollBodyRef.current instanceof Element && /*#__PURE__*/React.createElement(StickyScrollBar, {\n ref: stickyRef,\n offsetScroll: offsetScroll,\n scrollBodyRef: scrollBodyRef,\n onScroll: onInternalScroll,\n container: container\n }));\n } else {\n // >>>>>> Unique table\n groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n className: classNames(\"\".concat(prefixCls, \"-content\")),\n onScroll: onInternalScroll,\n ref: scrollBodyRef\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n }\n var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), \"\".concat(prefixCls, \"-ping-right\"), pingedRight), \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), \"\".concat(prefixCls, \"-fixed-column-gapped\"), fixColumn && hasGapFixed), \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right')),\n style: style,\n id: id,\n ref: fullTableRef\n }, dataProps), title && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-title\")\n }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollBodyContainerRef,\n className: \"\".concat(prefixCls, \"-container\")\n }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer(mergedData)));\n if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction);\n var TableContextValue = React.useMemo(function () {\n return {\n // Scroll\n scrollX: mergedScrollX,\n // Table\n prefixCls: prefixCls,\n getComponent: getComponent,\n scrollbarSize: scrollbarSize,\n direction: direction,\n fixedInfoList: fixedInfoList,\n isSticky: isSticky,\n supportSticky: supportSticky,\n componentWidth: componentWidth,\n fixHeader: fixHeader,\n fixColumn: fixColumn,\n horizonScroll: horizonScroll,\n // Body\n tableLayout: mergedTableLayout,\n rowClassName: rowClassName,\n expandedRowClassName: expandableConfig.expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType: expandableType,\n expandRowByClick: expandableConfig.expandRowByClick,\n expandedRowRender: expandableConfig.expandedRowRender,\n onTriggerExpand: onTriggerExpand,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n indentSize: expandableConfig.indentSize,\n allColumnsFixedLeft: flattenColumns.every(function (col) {\n return col.fixed === 'left';\n }),\n emptyNode: emptyNode,\n // Column\n columns: columns,\n flattenColumns: flattenColumns,\n onColumnResize: onColumnResize,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover: onHover,\n rowExpandable: expandableConfig.rowExpandable,\n onRow: onRow,\n getRowKey: getRowKey,\n expandedKeys: mergedExpandedKeys,\n childrenColumnName: mergedChildrenColumnName,\n rowHoverable: rowHoverable\n };\n }, [\n // Scroll\n mergedScrollX,\n // Table\n prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n // Body\n mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize, emptyNode,\n // Column\n columns, flattenColumns, onColumnResize,\n // Row\n startRow, endRow, onHover, expandableConfig.rowExpandable, onRow, getRowKey, mergedExpandedKeys, mergedChildrenColumnName, rowHoverable]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, fullTable);\n}\nvar RefTable = /*#__PURE__*/React.forwardRef(Table);\nif (process.env.NODE_ENV !== 'production') {\n RefTable.displayName = 'Table';\n}\nexport function genTable(shouldTriggerRender) {\n return makeImmutable(RefTable, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.INTERNAL_HOOKS = INTERNAL_HOOKS;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useHover() {\n var _React$useState = React.useState(-1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n startRow = _React$useState2[0],\n setStartRow = _React$useState2[1];\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n endRow = _React$useState4[0],\n setEndRow = _React$useState4[1];\n var onHover = React.useCallback(function (start, end) {\n setStartRow(start);\n setEndRow(end);\n }, []);\n return [startRow, endRow, onHover];\n}","import useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nexport default function useFixedInfo(flattenColumns, stickyOffsets, direction) {\n var fixedInfoList = flattenColumns.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets, direction);\n });\n return useMemo(function () {\n return fixedInfoList;\n }, [fixedInfoList], function (prev, next) {\n return !isEqual(prev, next);\n });\n}","import { createContext } from '@rc-component/context';\nexport var StaticContext = createContext(null);\nexport var GridContext = createContext(null);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { getCellProps } from \"../Body/BodyRow\";\nimport Cell from \"../Cell\";\nimport { GridContext } from \"./context\";\n/**\n * Return the width of the column by `colSpan`.\n * When `colSpan` is `0` will be trade as `1`.\n */\nexport function getColumnWidth(colIndex, colSpan, columnsOffset) {\n var mergedColSpan = colSpan || 1;\n return columnsOffset[colIndex + mergedColSpan] - (columnsOffset[colIndex] || 0);\n}\nfunction VirtualCell(props) {\n var rowInfo = props.rowInfo,\n column = props.column,\n colIndex = props.colIndex,\n indent = props.indent,\n index = props.index,\n component = props.component,\n renderIndex = props.renderIndex,\n record = props.record,\n style = props.style,\n className = props.className,\n inverse = props.inverse,\n getHeight = props.getHeight;\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className,\n colWidth = column.width;\n var _useContext = useContext(GridContext, ['columnsOffset']),\n columnsOffset = _useContext.columnsOffset;\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\n var cellStyle = additionalCellProps.style,\n _additionalCellProps$ = additionalCellProps.colSpan,\n colSpan = _additionalCellProps$ === void 0 ? 1 : _additionalCellProps$,\n _additionalCellProps$2 = additionalCellProps.rowSpan,\n rowSpan = _additionalCellProps$2 === void 0 ? 1 : _additionalCellProps$2;\n\n // ========================= ColWidth =========================\n // column width\n var startColIndex = colIndex - 1;\n var concatColWidth = getColumnWidth(startColIndex, colSpan, columnsOffset);\n\n // margin offset\n var marginOffset = colSpan > 1 ? colWidth - concatColWidth : 0;\n\n // ========================== Style ===========================\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread({}, cellStyle), style), {}, {\n flex: \"0 0 \".concat(concatColWidth, \"px\"),\n width: \"\".concat(concatColWidth, \"px\"),\n marginRight: marginOffset,\n pointerEvents: 'auto'\n });\n\n // When `colSpan` or `rowSpan` is `0`, should skip render.\n var needHide = React.useMemo(function () {\n if (inverse) {\n return rowSpan <= 1;\n } else {\n return colSpan === 0 || rowSpan === 0 || rowSpan > 1;\n }\n }, [rowSpan, colSpan, inverse]);\n\n // 0 rowSpan or colSpan should not render\n if (needHide) {\n mergedStyle.visibility = 'hidden';\n } else if (inverse) {\n mergedStyle.height = getHeight === null || getHeight === void 0 ? void 0 : getHeight(rowSpan);\n }\n var mergedRender = needHide ? function () {\n return null;\n } : render;\n\n // ========================== Render ==========================\n var cellSpan = {};\n\n // Virtual should reset `colSpan` & `rowSpan`\n if (rowSpan === 0 || colSpan === 0) {\n cellSpan.rowSpan = 1;\n cellSpan.colSpan = 1;\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: classNames(columnClassName, className),\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: component,\n prefixCls: rowInfo.prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: mergedRender,\n shouldCellUpdate: column.shouldCellUpdate\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: _objectSpread(_objectSpread({}, additionalCellProps), {}, {\n style: mergedStyle\n }, cellSpan)\n }));\n}\nexport default VirtualCell;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"data\", \"index\", \"className\", \"rowKey\", \"style\", \"extra\", \"getHeight\"];\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport VirtualCell from \"./VirtualCell\";\nimport { StaticContext } from \"./context\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\nvar BodyLine = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n index = props.index,\n className = props.className,\n rowKey = props.rowKey,\n style = props.style,\n extra = props.extra,\n getHeight = props.getHeight,\n restProps = _objectWithoutProperties(props, _excluded);\n var record = data.record,\n indent = data.indent,\n renderIndex = data.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'flattenColumns', 'fixColumn', 'componentWidth', 'scrollX']),\n scrollX = _useContext.scrollX,\n flattenColumns = _useContext.flattenColumns,\n prefixCls = _useContext.prefixCls,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth;\n var _useContext2 = useContext(StaticContext, ['getComponent']),\n getComponent = _useContext2.getComponent;\n var rowInfo = useRowInfo(record, rowKey, index, indent);\n var RowComponent = getComponent(['body', 'row'], 'div');\n var cellComponent = getComponent(['body', 'cell'], 'div');\n\n // ========================== Expand ==========================\n var rowSupportExpand = rowInfo.rowSupportExpand,\n expanded = rowInfo.expanded,\n rowProps = rowInfo.rowProps,\n expandedRowRender = rowInfo.expandedRowRender,\n expandedRowClassName = rowInfo.expandedRowClassName;\n var expandRowNode;\n if (rowSupportExpand && expanded) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n var expandedClsName = computedExpandedClassName(expandedRowClassName, record, index, indent);\n var additionalProps = {};\n if (fixColumn) {\n additionalProps = {\n style: _defineProperty({}, '--virtual-width', \"\".concat(componentWidth, \"px\"))\n };\n }\n var rowCellCls = \"\".concat(prefixCls, \"-expanded-row-cell\");\n expandRowNode = /*#__PURE__*/React.createElement(RowComponent, {\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), expandedClsName)\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n className: classNames(rowCellCls, _defineProperty({}, \"\".concat(rowCellCls, \"-fixed\"), fixColumn)),\n additionalProps: additionalProps\n }, expandContent));\n }\n\n // ========================== Render ==========================\n var rowStyle = _objectSpread(_objectSpread({}, style), {}, {\n width: scrollX\n });\n if (extra) {\n rowStyle.position = 'absolute';\n rowStyle.pointerEvents = 'none';\n }\n var rowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, restProps, {\n \"data-row-key\": rowKey,\n ref: rowSupportExpand ? null : ref,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className, _defineProperty({}, \"\".concat(prefixCls, \"-row-extra\"), extra)),\n style: _objectSpread(_objectSpread({}, rowStyle), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n return /*#__PURE__*/React.createElement(VirtualCell, {\n key: colIndex,\n component: cellComponent,\n rowInfo: rowInfo,\n column: column,\n colIndex: colIndex,\n indent: indent,\n index: index,\n renderIndex: renderIndex,\n record: record,\n inverse: extra,\n getHeight: getHeight\n });\n }));\n if (rowSupportExpand) {\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref\n }, rowNode, expandRowNode);\n }\n return rowNode;\n});\nvar ResponseBodyLine = responseImmutable(BodyLine);\nif (process.env.NODE_ENV !== 'production') {\n ResponseBodyLine.displayName = 'BodyLine';\n}\nexport default ResponseBodyLine;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport BodyLine from \"./BodyLine\";\nimport { GridContext, StaticContext } from \"./context\";\nvar Grid = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n onScroll = props.onScroll;\n var _useContext = useContext(TableContext, ['flattenColumns', 'onColumnResize', 'getRowKey', 'prefixCls', 'expandedKeys', 'childrenColumnName', 'scrollX', 'direction']),\n flattenColumns = _useContext.flattenColumns,\n onColumnResize = _useContext.onColumnResize,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n prefixCls = _useContext.prefixCls,\n childrenColumnName = _useContext.childrenColumnName,\n scrollX = _useContext.scrollX,\n direction = _useContext.direction;\n var _useContext2 = useContext(StaticContext),\n sticky = _useContext2.sticky,\n scrollY = _useContext2.scrollY,\n listItemHeight = _useContext2.listItemHeight,\n getComponent = _useContext2.getComponent,\n onTablePropScroll = _useContext2.onScroll;\n\n // =========================== Ref ============================\n var listRef = React.useRef();\n\n // =========================== Data ===========================\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // ========================== Column ==========================\n var columnsWidth = React.useMemo(function () {\n var total = 0;\n return flattenColumns.map(function (_ref) {\n var width = _ref.width,\n key = _ref.key;\n total += width;\n return [key, width, total];\n });\n }, [flattenColumns]);\n var columnsOffset = React.useMemo(function () {\n return columnsWidth.map(function (colWidth) {\n return colWidth[2];\n });\n }, [columnsWidth]);\n React.useEffect(function () {\n columnsWidth.forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n width = _ref3[1];\n onColumnResize(key, width);\n });\n }, [columnsWidth]);\n\n // =========================== Ref ============================\n React.useImperativeHandle(ref, function () {\n var _listRef$current2;\n var obj = {\n scrollTo: function scrollTo(config) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(config);\n },\n nativeElement: (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.nativeElement\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current3;\n return ((_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : _listRef$current3.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current4;\n (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 || _listRef$current4.scrollTo({\n left: value\n });\n }\n });\n return obj;\n });\n\n // ======================= Col/Row Span =======================\n var getRowSpan = function getRowSpan(column, index) {\n var _flattenData$index;\n var record = (_flattenData$index = flattenData[index]) === null || _flattenData$index === void 0 ? void 0 : _flattenData$index.record;\n var onCell = column.onCell;\n if (onCell) {\n var _cellProps$rowSpan;\n var cellProps = onCell(record, index);\n return (_cellProps$rowSpan = cellProps === null || cellProps === void 0 ? void 0 : cellProps.rowSpan) !== null && _cellProps$rowSpan !== void 0 ? _cellProps$rowSpan : 1;\n }\n return 1;\n };\n var extraRender = function extraRender(info) {\n var start = info.start,\n end = info.end,\n getSize = info.getSize,\n offsetY = info.offsetY;\n\n // Do nothing if no data\n if (end < 0) {\n return null;\n }\n\n // Find first rowSpan column\n var firstRowSpanColumns = flattenColumns.filter(\n // rowSpan is 0\n function (column) {\n return getRowSpan(column, start) === 0;\n });\n var startIndex = start;\n var _loop = function _loop(i) {\n firstRowSpanColumns = firstRowSpanColumns.filter(function (column) {\n return getRowSpan(column, i) === 0;\n });\n if (!firstRowSpanColumns.length) {\n startIndex = i;\n return 1; // break\n }\n };\n for (var i = start; i >= 0; i -= 1) {\n if (_loop(i)) break;\n }\n\n // Find last rowSpan column\n var lastRowSpanColumns = flattenColumns.filter(\n // rowSpan is not 1\n function (column) {\n return getRowSpan(column, end) !== 1;\n });\n var endIndex = end;\n var _loop2 = function _loop2(_i) {\n lastRowSpanColumns = lastRowSpanColumns.filter(function (column) {\n return getRowSpan(column, _i) !== 1;\n });\n if (!lastRowSpanColumns.length) {\n endIndex = Math.max(_i - 1, end);\n return 1; // break\n }\n };\n for (var _i = end; _i < flattenData.length; _i += 1) {\n if (_loop2(_i)) break;\n }\n\n // Collect the line who has rowSpan\n var spanLines = [];\n var _loop3 = function _loop3(_i2) {\n var item = flattenData[_i2];\n\n // This code will never reach, just incase\n if (!item) {\n return 1; // continue\n }\n if (flattenColumns.some(function (column) {\n return getRowSpan(column, _i2) > 1;\n })) {\n spanLines.push(_i2);\n }\n };\n for (var _i2 = startIndex; _i2 <= endIndex; _i2 += 1) {\n if (_loop3(_i2)) continue;\n }\n\n // Patch extra line on the page\n var nodes = spanLines.map(function (index) {\n var item = flattenData[index];\n var rowKey = getRowKey(item.record, index);\n var getHeight = function getHeight(rowSpan) {\n var endItemIndex = index + rowSpan - 1;\n var endItemKey = getRowKey(flattenData[endItemIndex].record, endItemIndex);\n var sizeInfo = getSize(rowKey, endItemKey);\n return sizeInfo.bottom - sizeInfo.top;\n };\n var sizeInfo = getSize(rowKey);\n return /*#__PURE__*/React.createElement(BodyLine, {\n key: index,\n data: item,\n rowKey: rowKey,\n index: index,\n style: {\n top: -offsetY + sizeInfo.top\n },\n extra: true,\n getHeight: getHeight\n });\n });\n return nodes;\n };\n\n // ========================= Context ==========================\n var gridContext = React.useMemo(function () {\n return {\n columnsOffset: columnsOffset\n };\n }, [columnsOffset]);\n\n // ========================== Render ==========================\n var tblPrefixCls = \"\".concat(prefixCls, \"-tbody\");\n\n // default 'div' in rc-virtual-list\n var wrapperComponent = getComponent(['body', 'wrapper']);\n\n // ========================== Sticky Scroll Bar ==========================\n var horizontalScrollBarStyle = {};\n if (sticky) {\n horizontalScrollBarStyle.position = 'sticky';\n horizontalScrollBarStyle.bottom = 0;\n if (_typeof(sticky) === 'object' && sticky.offsetScroll) {\n horizontalScrollBarStyle.bottom = sticky.offsetScroll;\n }\n }\n return /*#__PURE__*/React.createElement(GridContext.Provider, {\n value: gridContext\n }, /*#__PURE__*/React.createElement(VirtualList, {\n fullHeight: false,\n ref: listRef,\n prefixCls: \"\".concat(tblPrefixCls, \"-virtual\"),\n styles: {\n horizontalScrollBar: horizontalScrollBarStyle\n },\n className: tblPrefixCls,\n height: scrollY,\n itemHeight: listItemHeight || 24,\n data: flattenData,\n itemKey: function itemKey(item) {\n return getRowKey(item.record);\n },\n component: wrapperComponent,\n scrollWidth: scrollX,\n direction: direction,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var _listRef$current5;\n var x = _ref4.x;\n onScroll({\n currentTarget: (_listRef$current5 = listRef.current) === null || _listRef$current5 === void 0 ? void 0 : _listRef$current5.nativeElement,\n scrollLeft: x\n });\n },\n onScroll: onTablePropScroll,\n extraRender: extraRender\n }, function (item, index, itemProps) {\n var rowKey = getRowKey(item.record, index);\n return /*#__PURE__*/React.createElement(BodyLine, {\n data: item,\n rowKey: rowKey,\n index: index,\n style: itemProps.style\n });\n }));\n});\nvar ResponseGrid = responseImmutable(Grid);\nif (process.env.NODE_ENV !== 'production') {\n ResponseGrid.displayName = 'ResponseGrid';\n}\nexport default ResponseGrid;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport { useEvent, warning } from 'rc-util';\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../constant\";\nimport { makeImmutable } from \"../context/TableContext\";\nimport Table, { DEFAULT_PREFIX } from \"../Table\";\nimport Grid from \"./BodyGrid\";\nimport { StaticContext } from \"./context\";\nimport getValue from \"rc-util/es/utils/get\";\nvar renderBody = function renderBody(rawData, props) {\n var ref = props.ref,\n onScroll = props.onScroll;\n return /*#__PURE__*/React.createElement(Grid, {\n ref: ref,\n data: rawData,\n onScroll: onScroll\n });\n};\nfunction VirtualTable(props, ref) {\n var data = props.data,\n columns = props.columns,\n scroll = props.scroll,\n sticky = props.sticky,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? DEFAULT_PREFIX : _props$prefixCls,\n className = props.className,\n listItemHeight = props.listItemHeight,\n components = props.components,\n onScroll = props.onScroll;\n var _ref = scroll || {},\n scrollX = _ref.x,\n scrollY = _ref.y;\n\n // Fill scrollX\n if (typeof scrollX !== 'number') {\n if (process.env.NODE_ENV !== 'production') {\n warning(!scrollX, '`scroll.x` in virtual table must be number.');\n }\n scrollX = 1;\n }\n\n // Fill scrollY\n if (typeof scrollY !== 'number') {\n scrollY = 500;\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`scroll.y` in virtual table must be number.');\n }\n }\n var getComponent = useEvent(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n });\n\n // Memo this\n var onInternalScroll = useEvent(onScroll);\n\n // ========================= Context ==========================\n var context = React.useMemo(function () {\n return {\n sticky: sticky,\n scrollY: scrollY,\n listItemHeight: listItemHeight,\n getComponent: getComponent,\n onScroll: onInternalScroll\n };\n }, [sticky, scrollY, listItemHeight, getComponent, onInternalScroll]);\n\n // ========================== Render ==========================\n return /*#__PURE__*/React.createElement(StaticContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Table, _extends({}, props, {\n className: classNames(className, \"\".concat(prefixCls, \"-virtual\")),\n scroll: _objectSpread(_objectSpread({}, scroll), {}, {\n x: scrollX\n }),\n components: _objectSpread(_objectSpread({}, components), {}, {\n // fix https://github.com/ant-design/ant-design/issues/48991\n body: data !== null && data !== void 0 && data.length ? renderBody : undefined\n }),\n columns: columns,\n internalHooks: INTERNAL_HOOKS,\n tailor: true,\n ref: ref\n })));\n}\nvar RefVirtualTable = /*#__PURE__*/React.forwardRef(VirtualTable);\nif (process.env.NODE_ENV !== 'production') {\n RefVirtualTable.displayName = 'VirtualTable';\n}\nexport function genVirtualTable(shouldTriggerRender) {\n return makeImmutable(RefVirtualTable, shouldTriggerRender);\n}\nexport default genVirtualTable();","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\nconst Column = _ => null;\nexport default Column;","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\nconst ColumnGroup = _ => null;\nexport default ColumnGroup;","/**\n * Webpack has bug for import loop, which is not the same behavior as ES module.\n * When util.js imports the TreeNode for tree generate will cause treeContextTypes be empty.\n */\nimport * as React from 'react';\nexport var TreeContext = /*#__PURE__*/React.createContext(null);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar Indent = function Indent(_ref) {\n var prefixCls = _ref.prefixCls,\n level = _ref.level,\n isStart = _ref.isStart,\n isEnd = _ref.isEnd;\n var baseClassName = \"\".concat(prefixCls, \"-indent-unit\");\n var list = [];\n for (var i = 0; i < level; i += 1) {\n list.push( /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: classNames(baseClassName, _defineProperty(_defineProperty({}, \"\".concat(baseClassName, \"-start\"), isStart[i]), \"\".concat(baseClassName, \"-end\"), isEnd[i]))\n }));\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-indent\")\n }, list);\n};\nexport default /*#__PURE__*/React.memo(Indent);","export default function getEntity(keyEntities, key) {\n return keyEntities[key];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport toArray from \"rc-util/es/Children/toArray\";\nimport omit from \"rc-util/es/omit\";\nimport warning from \"rc-util/es/warning\";\nimport getEntity from \"./keyUtil\";\nexport function getPosition(level, index) {\n return \"\".concat(level, \"-\").concat(index);\n}\nexport function isTreeNode(node) {\n return node && node.type && node.type.isTreeNode;\n}\nexport function getKey(key, pos) {\n if (key !== null && key !== undefined) {\n return key;\n }\n return pos;\n}\nexport function fillFieldNames(fieldNames) {\n var _ref = fieldNames || {},\n title = _ref.title,\n _title = _ref._title,\n key = _ref.key,\n children = _ref.children;\n var mergedTitle = title || 'title';\n return {\n title: mergedTitle,\n _title: _title || [mergedTitle],\n key: key || 'key',\n children: children || 'children'\n };\n}\n\n/**\n * Warning if TreeNode do not provides key\n */\nexport function warningWithoutKey(treeData, fieldNames) {\n var keys = new Map();\n function dig(list) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (list || []).forEach(function (treeNode) {\n var key = treeNode[fieldNames.key];\n var children = treeNode[fieldNames.children];\n warning(key !== null && key !== undefined, \"Tree node must have a certain key: [\".concat(path).concat(key, \"]\"));\n var recordKey = String(key);\n warning(!keys.has(recordKey) || key === null || key === undefined, \"Same 'key' exist in the Tree: \".concat(recordKey));\n keys.set(recordKey, true);\n dig(children, \"\".concat(path).concat(recordKey, \" > \"));\n });\n }\n dig(treeData);\n}\n\n/**\n * Convert `children` of Tree into `treeData` structure.\n */\nexport function convertTreeToData(rootNodes) {\n function dig(node) {\n var treeNodes = toArray(node);\n return treeNodes.map(function (treeNode) {\n // Filter invalidate node\n if (!isTreeNode(treeNode)) {\n warning(!treeNode, 'Tree/TreeNode can only accept TreeNode as children.');\n return null;\n }\n var key = treeNode.key;\n var _treeNode$props = treeNode.props,\n children = _treeNode$props.children,\n rest = _objectWithoutProperties(_treeNode$props, _excluded);\n var dataNode = _objectSpread({\n key: key\n }, rest);\n var parsedChildren = dig(children);\n if (parsedChildren.length) {\n dataNode.children = parsedChildren;\n }\n return dataNode;\n }).filter(function (dataNode) {\n return dataNode;\n });\n }\n return dig(rootNodes);\n}\n\n/**\n * Flat nest tree data into flatten list. This is used for virtual list render.\n * @param treeNodeList Origin data node list\n * @param expandedKeys\n * need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).\n */\nexport function flattenTreeData(treeNodeList, expandedKeys, fieldNames) {\n var _fillFieldNames = fillFieldNames(fieldNames),\n fieldTitles = _fillFieldNames._title,\n fieldKey = _fillFieldNames.key,\n fieldChildren = _fillFieldNames.children;\n var expandedKeySet = new Set(expandedKeys === true ? [] : expandedKeys);\n var flattenList = [];\n function dig(list) {\n var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return list.map(function (treeNode, index) {\n var pos = getPosition(parent ? parent.pos : '0', index);\n var mergedKey = getKey(treeNode[fieldKey], pos);\n\n // Pick matched title in field title list\n var mergedTitle;\n for (var i = 0; i < fieldTitles.length; i += 1) {\n var fieldTitle = fieldTitles[i];\n if (treeNode[fieldTitle] !== undefined) {\n mergedTitle = treeNode[fieldTitle];\n break;\n }\n }\n\n // Add FlattenDataNode into list\n // We use `Object.assign` here to save perf since babel's `objectSpread` has perf issue\n var flattenNode = Object.assign(omit(treeNode, [].concat(_toConsumableArray(fieldTitles), [fieldKey, fieldChildren])), {\n title: mergedTitle,\n key: mergedKey,\n parent: parent,\n pos: pos,\n children: null,\n data: treeNode,\n isStart: [].concat(_toConsumableArray(parent ? parent.isStart : []), [index === 0]),\n isEnd: [].concat(_toConsumableArray(parent ? parent.isEnd : []), [index === list.length - 1])\n });\n flattenList.push(flattenNode);\n\n // Loop treeNode children\n if (expandedKeys === true || expandedKeySet.has(mergedKey)) {\n flattenNode.children = dig(treeNode[fieldChildren] || [], flattenNode);\n } else {\n flattenNode.children = [];\n }\n return flattenNode;\n });\n }\n dig(treeNodeList);\n return flattenList;\n}\n/**\n * Traverse all the data by `treeData`.\n * Please not use it out of the `rc-tree` since we may refactor this code.\n */\nexport function traverseDataNodes(dataNodes, callback,\n// To avoid too many params, let use config instead of origin param\nconfig) {\n var mergedConfig = {};\n if (_typeof(config) === 'object') {\n mergedConfig = config;\n } else {\n mergedConfig = {\n externalGetKey: config\n };\n }\n mergedConfig = mergedConfig || {};\n\n // Init config\n var _mergedConfig = mergedConfig,\n childrenPropName = _mergedConfig.childrenPropName,\n externalGetKey = _mergedConfig.externalGetKey,\n fieldNames = _mergedConfig.fieldNames;\n var _fillFieldNames2 = fillFieldNames(fieldNames),\n fieldKey = _fillFieldNames2.key,\n fieldChildren = _fillFieldNames2.children;\n var mergeChildrenPropName = childrenPropName || fieldChildren;\n\n // Get keys\n var syntheticGetKey;\n if (externalGetKey) {\n if (typeof externalGetKey === 'string') {\n syntheticGetKey = function syntheticGetKey(node) {\n return node[externalGetKey];\n };\n } else if (typeof externalGetKey === 'function') {\n syntheticGetKey = function syntheticGetKey(node) {\n return externalGetKey(node);\n };\n }\n } else {\n syntheticGetKey = function syntheticGetKey(node, pos) {\n return getKey(node[fieldKey], pos);\n };\n }\n\n // Process\n function processNode(node, index, parent, pathNodes) {\n var children = node ? node[mergeChildrenPropName] : dataNodes;\n var pos = node ? getPosition(parent.pos, index) : '0';\n var connectNodes = node ? [].concat(_toConsumableArray(pathNodes), [node]) : [];\n\n // Process node if is not root\n if (node) {\n var key = syntheticGetKey(node, pos);\n var _data = {\n node: node,\n index: index,\n pos: pos,\n key: key,\n parentPos: parent.node ? parent.pos : null,\n level: parent.level + 1,\n nodes: connectNodes\n };\n callback(_data);\n }\n\n // Process children node\n if (children) {\n children.forEach(function (subNode, subIndex) {\n processNode(subNode, subIndex, {\n node: node,\n pos: pos,\n level: parent ? parent.level + 1 : -1\n }, connectNodes);\n });\n }\n }\n processNode(null);\n}\n/**\n * Convert `treeData` into entity records.\n */\nexport function convertDataToEntities(dataNodes) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n initWrapper = _ref2.initWrapper,\n processEntity = _ref2.processEntity,\n onProcessFinished = _ref2.onProcessFinished,\n externalGetKey = _ref2.externalGetKey,\n childrenPropName = _ref2.childrenPropName,\n fieldNames = _ref2.fieldNames;\n var /** @deprecated Use `config.externalGetKey` instead */\n legacyExternalGetKey = arguments.length > 2 ? arguments[2] : undefined;\n // Init config\n var mergedExternalGetKey = externalGetKey || legacyExternalGetKey;\n var posEntities = {};\n var keyEntities = {};\n var wrapper = {\n posEntities: posEntities,\n keyEntities: keyEntities\n };\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n traverseDataNodes(dataNodes, function (item) {\n var node = item.node,\n index = item.index,\n pos = item.pos,\n key = item.key,\n parentPos = item.parentPos,\n level = item.level,\n nodes = item.nodes;\n var entity = {\n node: node,\n nodes: nodes,\n index: index,\n key: key,\n pos: pos,\n level: level\n };\n var mergedKey = getKey(key, pos);\n posEntities[pos] = entity;\n keyEntities[mergedKey] = entity;\n\n // Fill children\n entity.parent = posEntities[parentPos];\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n }, {\n externalGetKey: mergedExternalGetKey,\n childrenPropName: childrenPropName,\n fieldNames: fieldNames\n });\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n return wrapper;\n}\n/**\n * Get TreeNode props with Tree props.\n */\nexport function getTreeNodeProps(key, _ref3) {\n var expandedKeys = _ref3.expandedKeys,\n selectedKeys = _ref3.selectedKeys,\n loadedKeys = _ref3.loadedKeys,\n loadingKeys = _ref3.loadingKeys,\n checkedKeys = _ref3.checkedKeys,\n halfCheckedKeys = _ref3.halfCheckedKeys,\n dragOverNodeKey = _ref3.dragOverNodeKey,\n dropPosition = _ref3.dropPosition,\n keyEntities = _ref3.keyEntities;\n var entity = getEntity(keyEntities, key);\n var treeNodeProps = {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.indexOf(key) !== -1,\n checked: checkedKeys.indexOf(key) !== -1,\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos: String(entity ? entity.pos : ''),\n // [Legacy] Drag props\n // Since the interaction of drag is changed, the semantic of the props are\n // not accuracy, I think it should be finally removed\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1\n };\n return treeNodeProps;\n}\nexport function convertNodePropsToEventData(props) {\n var data = props.data,\n expanded = props.expanded,\n selected = props.selected,\n checked = props.checked,\n loaded = props.loaded,\n loading = props.loading,\n halfChecked = props.halfChecked,\n dragOver = props.dragOver,\n dragOverGapTop = props.dragOverGapTop,\n dragOverGapBottom = props.dragOverGapBottom,\n pos = props.pos,\n active = props.active,\n eventKey = props.eventKey;\n var eventData = _objectSpread(_objectSpread({}, data), {}, {\n expanded: expanded,\n selected: selected,\n checked: checked,\n loaded: loaded,\n loading: loading,\n halfChecked: halfChecked,\n dragOver: dragOver,\n dragOverGapTop: dragOverGapTop,\n dragOverGapBottom: dragOverGapBottom,\n pos: pos,\n active: active,\n key: eventKey\n });\n if (!('props' in eventData)) {\n Object.defineProperty(eventData, 'props', {\n get: function get() {\n warning(false, 'Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`.');\n return props;\n }\n });\n }\n return eventData;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"eventKey\", \"className\", \"style\", \"dragOver\", \"dragOverGapTop\", \"dragOverGapBottom\", \"isLeaf\", \"isStart\", \"isEnd\", \"expanded\", \"selected\", \"checked\", \"halfChecked\", \"loading\", \"domRef\", \"active\", \"data\", \"onMouseMove\", \"selectable\"];\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\n// @ts-ignore\nimport { TreeContext } from \"./contextTypes\";\nimport Indent from \"./Indent\";\nimport getEntity from \"./utils/keyUtil\";\nimport { convertNodePropsToEventData } from \"./utils/treeUtil\";\nvar ICON_OPEN = 'open';\nvar ICON_CLOSE = 'close';\nvar defaultTitle = '---';\nvar InternalTreeNode = /*#__PURE__*/function (_React$Component) {\n _inherits(InternalTreeNode, _React$Component);\n var _super = _createSuper(InternalTreeNode);\n function InternalTreeNode() {\n var _this;\n _classCallCheck(this, InternalTreeNode);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n dragNodeHighlight: false\n });\n _defineProperty(_assertThisInitialized(_this), \"selectHandle\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"cacheIndent\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"onSelectorClick\", function (e) {\n // Click trigger before select/check operation\n var onNodeClick = _this.props.context.onNodeClick;\n onNodeClick(e, convertNodePropsToEventData(_this.props));\n if (_this.isSelectable()) {\n _this.onSelect(e);\n } else {\n _this.onCheck(e);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onSelectorDoubleClick\", function (e) {\n var onNodeDoubleClick = _this.props.context.onNodeDoubleClick;\n onNodeDoubleClick(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onSelect\", function (e) {\n if (_this.isDisabled()) return;\n var onNodeSelect = _this.props.context.onNodeSelect;\n onNodeSelect(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onCheck\", function (e) {\n if (_this.isDisabled()) return;\n var _this$props = _this.props,\n disableCheckbox = _this$props.disableCheckbox,\n checked = _this$props.checked;\n var onNodeCheck = _this.props.context.onNodeCheck;\n if (!_this.isCheckable() || disableCheckbox) return;\n var targetChecked = !checked;\n onNodeCheck(e, convertNodePropsToEventData(_this.props), targetChecked);\n });\n _defineProperty(_assertThisInitialized(_this), \"onMouseEnter\", function (e) {\n var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;\n onNodeMouseEnter(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onMouseLeave\", function (e) {\n var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;\n onNodeMouseLeave(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onContextMenu\", function (e) {\n var onNodeContextMenu = _this.props.context.onNodeContextMenu;\n onNodeContextMenu(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (e) {\n var onNodeDragStart = _this.props.context.onNodeDragStart;\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: true\n });\n onNodeDragStart(e, _assertThisInitialized(_this));\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } catch (error) {\n // empty\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", function (e) {\n var onNodeDragEnter = _this.props.context.onNodeDragEnter;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_this), \"onDragOver\", function (e) {\n var onNodeDragOver = _this.props.context.onNodeDragOver;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", function (e) {\n var onNodeDragLeave = _this.props.context.onNodeDragLeave;\n e.stopPropagation();\n onNodeDragLeave(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_this), \"onDragEnd\", function (e) {\n var onNodeDragEnd = _this.props.context.onNodeDragEnd;\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: false\n });\n onNodeDragEnd(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_this), \"onDrop\", function (e) {\n var onNodeDrop = _this.props.context.onNodeDrop;\n e.preventDefault();\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: false\n });\n onNodeDrop(e, _assertThisInitialized(_this));\n });\n // Disabled item still can be switch\n _defineProperty(_assertThisInitialized(_this), \"onExpand\", function (e) {\n var _this$props2 = _this.props,\n loading = _this$props2.loading,\n onNodeExpand = _this$props2.context.onNodeExpand;\n if (loading) return;\n onNodeExpand(e, convertNodePropsToEventData(_this.props));\n });\n // Drag usage\n _defineProperty(_assertThisInitialized(_this), \"setSelectHandle\", function (node) {\n _this.selectHandle = node;\n });\n _defineProperty(_assertThisInitialized(_this), \"getNodeState\", function () {\n var expanded = _this.props.expanded;\n if (_this.isLeaf()) {\n return null;\n }\n return expanded ? ICON_OPEN : ICON_CLOSE;\n });\n _defineProperty(_assertThisInitialized(_this), \"hasChildren\", function () {\n var eventKey = _this.props.eventKey;\n var keyEntities = _this.props.context.keyEntities;\n var _ref = getEntity(keyEntities, eventKey) || {},\n children = _ref.children;\n return !!(children || []).length;\n });\n _defineProperty(_assertThisInitialized(_this), \"isLeaf\", function () {\n var _this$props3 = _this.props,\n isLeaf = _this$props3.isLeaf,\n loaded = _this$props3.loaded;\n var loadData = _this.props.context.loadData;\n var hasChildren = _this.hasChildren();\n if (isLeaf === false) {\n return false;\n }\n return isLeaf || !loadData && !hasChildren || loadData && loaded && !hasChildren;\n });\n _defineProperty(_assertThisInitialized(_this), \"isDisabled\", function () {\n var disabled = _this.props.disabled;\n var treeDisabled = _this.props.context.disabled;\n return !!(treeDisabled || disabled);\n });\n _defineProperty(_assertThisInitialized(_this), \"isCheckable\", function () {\n var checkable = _this.props.checkable;\n var treeCheckable = _this.props.context.checkable;\n\n // Return false if tree or treeNode is not checkable\n if (!treeCheckable || checkable === false) return false;\n return treeCheckable;\n });\n // Load data to avoid default expanded tree without data\n _defineProperty(_assertThisInitialized(_this), \"syncLoadData\", function (props) {\n var expanded = props.expanded,\n loading = props.loading,\n loaded = props.loaded;\n var _this$props$context = _this.props.context,\n loadData = _this$props$context.loadData,\n onNodeLoad = _this$props$context.onNodeLoad;\n if (loading) {\n return;\n }\n\n // read from state to avoid loadData at same time\n if (loadData && expanded && !_this.isLeaf() && !loaded) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n onNodeLoad(convertNodePropsToEventData(_this.props));\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"isDraggable\", function () {\n var _this$props4 = _this.props,\n data = _this$props4.data,\n draggable = _this$props4.context.draggable;\n return !!(draggable && (!draggable.nodeDraggable || draggable.nodeDraggable(data)));\n });\n // ==================== Render: Drag Handler ====================\n _defineProperty(_assertThisInitialized(_this), \"renderDragHandler\", function () {\n var _this$props$context2 = _this.props.context,\n draggable = _this$props$context2.draggable,\n prefixCls = _this$props$context2.prefixCls;\n return draggable !== null && draggable !== void 0 && draggable.icon ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-draggable-icon\")\n }, draggable.icon) : null;\n });\n // ====================== Render: Switcher ======================\n _defineProperty(_assertThisInitialized(_this), \"renderSwitcherIconDom\", function (isLeaf) {\n var switcherIconFromProps = _this.props.switcherIcon;\n var switcherIconFromCtx = _this.props.context.switcherIcon;\n var switcherIcon = switcherIconFromProps || switcherIconFromCtx;\n // if switcherIconDom is null, no render switcher span\n if (typeof switcherIcon === 'function') {\n return switcherIcon(_objectSpread(_objectSpread({}, _this.props), {}, {\n isLeaf: isLeaf\n }));\n }\n return switcherIcon;\n });\n // Switcher\n _defineProperty(_assertThisInitialized(_this), \"renderSwitcher\", function () {\n var expanded = _this.props.expanded;\n var prefixCls = _this.props.context.prefixCls;\n if (_this.isLeaf()) {\n // if switcherIconDom is null, no render switcher span\n var _switcherIconDom = _this.renderSwitcherIconDom(true);\n return _switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher-noop\"))\n }, _switcherIconDom) : null;\n }\n var switcherCls = classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher_\").concat(expanded ? ICON_OPEN : ICON_CLOSE));\n var switcherIconDom = _this.renderSwitcherIconDom(false);\n return switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n onClick: _this.onExpand,\n className: switcherCls\n }, switcherIconDom) : null;\n });\n // ====================== Render: Checkbox ======================\n // Checkbox\n _defineProperty(_assertThisInitialized(_this), \"renderCheckbox\", function () {\n var _this$props5 = _this.props,\n checked = _this$props5.checked,\n halfChecked = _this$props5.halfChecked,\n disableCheckbox = _this$props5.disableCheckbox;\n var prefixCls = _this.props.context.prefixCls;\n var disabled = _this.isDisabled();\n var checkable = _this.isCheckable();\n if (!checkable) return null;\n\n // [Legacy] Custom element should be separate with `checkable` in future\n var $custom = typeof checkable !== 'boolean' ? checkable : null;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-checkbox\"), checked && \"\".concat(prefixCls, \"-checkbox-checked\"), !checked && halfChecked && \"\".concat(prefixCls, \"-checkbox-indeterminate\"), (disabled || disableCheckbox) && \"\".concat(prefixCls, \"-checkbox-disabled\")),\n onClick: _this.onCheck\n }, $custom);\n });\n // ==================== Render: Title + Icon ====================\n _defineProperty(_assertThisInitialized(_this), \"renderIcon\", function () {\n var loading = _this.props.loading;\n var prefixCls = _this.props.context.prefixCls;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__\").concat(_this.getNodeState() || 'docu'), loading && \"\".concat(prefixCls, \"-icon_loading\"))\n });\n });\n // Icon + Title\n _defineProperty(_assertThisInitialized(_this), \"renderSelector\", function () {\n var dragNodeHighlight = _this.state.dragNodeHighlight;\n var _this$props6 = _this.props,\n _this$props6$title = _this$props6.title,\n title = _this$props6$title === void 0 ? defaultTitle : _this$props6$title,\n selected = _this$props6.selected,\n icon = _this$props6.icon,\n loading = _this$props6.loading,\n data = _this$props6.data;\n var _this$props$context3 = _this.props.context,\n prefixCls = _this$props$context3.prefixCls,\n showIcon = _this$props$context3.showIcon,\n treeIcon = _this$props$context3.icon,\n loadData = _this$props$context3.loadData,\n titleRender = _this$props$context3.titleRender;\n var disabled = _this.isDisabled();\n var wrapClass = \"\".concat(prefixCls, \"-node-content-wrapper\");\n\n // Icon - Still show loading icon when loading without showIcon\n var $icon;\n if (showIcon) {\n var currentIcon = icon || treeIcon;\n $icon = currentIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__customize\"))\n }, typeof currentIcon === 'function' ? currentIcon(_this.props) : currentIcon) : _this.renderIcon();\n } else if (loadData && loading) {\n $icon = _this.renderIcon();\n }\n\n // Title\n var titleNode;\n if (typeof title === 'function') {\n titleNode = title(data);\n } else if (titleRender) {\n titleNode = titleRender(data);\n } else {\n titleNode = title;\n }\n var $title = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-title\")\n }, titleNode);\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: _this.setSelectHandle,\n title: typeof title === 'string' ? title : '',\n className: classNames(\"\".concat(wrapClass), \"\".concat(wrapClass, \"-\").concat(_this.getNodeState() || 'normal'), !disabled && (selected || dragNodeHighlight) && \"\".concat(prefixCls, \"-node-selected\")),\n onMouseEnter: _this.onMouseEnter,\n onMouseLeave: _this.onMouseLeave,\n onContextMenu: _this.onContextMenu,\n onClick: _this.onSelectorClick,\n onDoubleClick: _this.onSelectorDoubleClick\n }, $icon, $title, _this.renderDropIndicator());\n });\n // =================== Render: Drop Indicator ===================\n _defineProperty(_assertThisInitialized(_this), \"renderDropIndicator\", function () {\n var _this$props7 = _this.props,\n disabled = _this$props7.disabled,\n eventKey = _this$props7.eventKey;\n var _this$props$context4 = _this.props.context,\n draggable = _this$props$context4.draggable,\n dropLevelOffset = _this$props$context4.dropLevelOffset,\n dropPosition = _this$props$context4.dropPosition,\n prefixCls = _this$props$context4.prefixCls,\n indent = _this$props$context4.indent,\n dropIndicatorRender = _this$props$context4.dropIndicatorRender,\n dragOverNodeKey = _this$props$context4.dragOverNodeKey,\n direction = _this$props$context4.direction;\n var rootDraggable = !!draggable;\n // allowDrop is calculated in Tree.tsx, there is no need for calc it here\n var showIndicator = !disabled && rootDraggable && dragOverNodeKey === eventKey;\n\n // This is a hot fix which is already fixed in\n // https://github.com/react-component/tree/pull/743/files\n // But some case need break point so we hack on this\n // ref https://github.com/ant-design/ant-design/issues/43493\n var mergedIndent = indent !== null && indent !== void 0 ? indent : _this.cacheIndent;\n _this.cacheIndent = indent;\n return showIndicator ? dropIndicatorRender({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n indent: mergedIndent,\n prefixCls: prefixCls,\n direction: direction\n }) : null;\n });\n return _this;\n }\n _createClass(InternalTreeNode, [{\n key: \"componentDidMount\",\n value:\n // Isomorphic needn't load data in server side\n function componentDidMount() {\n this.syncLoadData(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.syncLoadData(this.props);\n }\n }, {\n key: \"isSelectable\",\n value: function isSelectable() {\n var selectable = this.props.selectable;\n var treeSelectable = this.props.context.selectable;\n\n // Ignore when selectable is undefined or null\n if (typeof selectable === 'boolean') {\n return selectable;\n }\n return treeSelectable;\n }\n }, {\n key: \"render\",\n value:\n // =========================== Render ===========================\n function render() {\n var _classNames;\n var _this$props8 = this.props,\n eventKey = _this$props8.eventKey,\n className = _this$props8.className,\n style = _this$props8.style,\n dragOver = _this$props8.dragOver,\n dragOverGapTop = _this$props8.dragOverGapTop,\n dragOverGapBottom = _this$props8.dragOverGapBottom,\n isLeaf = _this$props8.isLeaf,\n isStart = _this$props8.isStart,\n isEnd = _this$props8.isEnd,\n expanded = _this$props8.expanded,\n selected = _this$props8.selected,\n checked = _this$props8.checked,\n halfChecked = _this$props8.halfChecked,\n loading = _this$props8.loading,\n domRef = _this$props8.domRef,\n active = _this$props8.active,\n data = _this$props8.data,\n onMouseMove = _this$props8.onMouseMove,\n selectable = _this$props8.selectable,\n otherProps = _objectWithoutProperties(_this$props8, _excluded);\n var _this$props$context5 = this.props.context,\n prefixCls = _this$props$context5.prefixCls,\n filterTreeNode = _this$props$context5.filterTreeNode,\n keyEntities = _this$props$context5.keyEntities,\n dropContainerKey = _this$props$context5.dropContainerKey,\n dropTargetKey = _this$props$context5.dropTargetKey,\n draggingNodeKey = _this$props$context5.draggingNodeKey;\n var disabled = this.isDisabled();\n var dataOrAriaAttributeProps = pickAttrs(otherProps, {\n aria: true,\n data: true\n });\n var _ref2 = getEntity(keyEntities, eventKey) || {},\n level = _ref2.level;\n var isEndNode = isEnd[isEnd.length - 1];\n var mergedDraggable = this.isDraggable();\n var draggableWithoutDisabled = !disabled && mergedDraggable;\n var dragging = draggingNodeKey === eventKey;\n var ariaSelected = selectable !== undefined ? {\n 'aria-selected': !!selectable\n } : undefined;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: domRef,\n className: classNames(className, \"\".concat(prefixCls, \"-treenode\"), (_classNames = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-disabled\"), disabled), \"\".concat(prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), \"\".concat(prefixCls, \"-treenode-checkbox-checked\"), checked), \"\".concat(prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), \"\".concat(prefixCls, \"-treenode-selected\"), selected), \"\".concat(prefixCls, \"-treenode-loading\"), loading), \"\".concat(prefixCls, \"-treenode-active\"), active), \"\".concat(prefixCls, \"-treenode-leaf-last\"), isEndNode), \"\".concat(prefixCls, \"-treenode-draggable\"), mergedDraggable), \"dragging\", dragging), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, 'drop-target', dropTargetKey === eventKey), 'drop-container', dropContainerKey === eventKey), 'drag-over', !disabled && dragOver), 'drag-over-gap-top', !disabled && dragOverGapTop), 'drag-over-gap-bottom', !disabled && dragOverGapBottom), 'filter-node', filterTreeNode && filterTreeNode(convertNodePropsToEventData(this.props))))),\n style: style\n // Draggable config\n ,\n draggable: draggableWithoutDisabled,\n \"aria-grabbed\": dragging,\n onDragStart: draggableWithoutDisabled ? this.onDragStart : undefined\n // Drop config\n ,\n onDragEnter: mergedDraggable ? this.onDragEnter : undefined,\n onDragOver: mergedDraggable ? this.onDragOver : undefined,\n onDragLeave: mergedDraggable ? this.onDragLeave : undefined,\n onDrop: mergedDraggable ? this.onDrop : undefined,\n onDragEnd: mergedDraggable ? this.onDragEnd : undefined,\n onMouseMove: onMouseMove\n }, ariaSelected, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(Indent, {\n prefixCls: prefixCls,\n level: level,\n isStart: isStart,\n isEnd: isEnd\n }), this.renderDragHandler(), this.renderSwitcher(), this.renderCheckbox(), this.renderSelector());\n }\n }]);\n return InternalTreeNode;\n}(React.Component);\nvar ContextTreeNode = function ContextTreeNode(props) {\n return /*#__PURE__*/React.createElement(TreeContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(InternalTreeNode, _extends({}, props, {\n context: context\n }));\n });\n};\nContextTreeNode.displayName = 'TreeNode';\nContextTreeNode.isTreeNode = 1;\nexport default ContextTreeNode;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\n/* eslint-disable no-lonely-if */\n/**\n * Legacy code. Should avoid to use if you are new to import these code.\n */\n\nimport warning from \"rc-util/es/warning\";\nimport React from 'react';\nimport TreeNode from \"./TreeNode\";\nimport getEntity from \"./utils/keyUtil\";\nexport { getPosition, isTreeNode } from \"./utils/treeUtil\";\nexport function arrDel(list, value) {\n if (!list) return [];\n var clone = list.slice();\n var index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\nexport function arrAdd(list, value) {\n var clone = (list || []).slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\nexport function posToArr(pos) {\n return pos.split('-');\n}\nexport function getDragChildrenKeys(dragNodeKey, keyEntities) {\n // not contains self\n // self for left or right drag\n var dragChildrenKeys = [];\n var entity = getEntity(keyEntities, dragNodeKey);\n function dig() {\n var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n list.forEach(function (_ref) {\n var key = _ref.key,\n children = _ref.children;\n dragChildrenKeys.push(key);\n dig(children);\n });\n }\n dig(entity.children);\n return dragChildrenKeys;\n}\nexport function isLastChild(treeNodeEntity) {\n if (treeNodeEntity.parent) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === treeNodeEntity.parent.children.length - 1;\n }\n return false;\n}\nexport function isFirstChild(treeNodeEntity) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === 0;\n}\n\n// Only used when drag, not affect SSR.\nexport function calcDropPosition(event, dragNode, targetNode, indent, startMousePosition, allowDrop, flattenedNodes, keyEntities, expandKeys, direction) {\n var _abstractDropNodeEnti;\n var clientX = event.clientX,\n clientY = event.clientY;\n var _getBoundingClientRec = event.target.getBoundingClientRect(),\n top = _getBoundingClientRec.top,\n height = _getBoundingClientRec.height;\n // optional chain for testing\n var horizontalMouseOffset = (direction === 'rtl' ? -1 : 1) * (((startMousePosition === null || startMousePosition === void 0 ? void 0 : startMousePosition.x) || 0) - clientX);\n var rawDropLevelOffset = (horizontalMouseOffset - 12) / indent;\n\n // Filter the expanded keys to exclude the node that not has children currently (like async nodes).\n var filteredExpandKeys = expandKeys.filter(function (key) {\n var _keyEntities$key;\n return (_keyEntities$key = keyEntities[key]) === null || _keyEntities$key === void 0 || (_keyEntities$key = _keyEntities$key.children) === null || _keyEntities$key === void 0 ? void 0 : _keyEntities$key.length;\n });\n\n // find abstract drop node by horizontal offset\n var abstractDropNodeEntity = getEntity(keyEntities, targetNode.props.eventKey);\n if (clientY < top + height / 2) {\n // first half, set abstract drop node to previous node\n var nodeIndex = flattenedNodes.findIndex(function (flattenedNode) {\n return flattenedNode.key === abstractDropNodeEntity.key;\n });\n var prevNodeIndex = nodeIndex <= 0 ? 0 : nodeIndex - 1;\n var prevNodeKey = flattenedNodes[prevNodeIndex].key;\n abstractDropNodeEntity = getEntity(keyEntities, prevNodeKey);\n }\n var initialAbstractDropNodeKey = abstractDropNodeEntity.key;\n var abstractDragOverEntity = abstractDropNodeEntity;\n var dragOverNodeKey = abstractDropNodeEntity.key;\n var dropPosition = 0;\n var dropLevelOffset = 0;\n\n // Only allow cross level drop when dragging on a non-expanded node\n if (!filteredExpandKeys.includes(initialAbstractDropNodeKey)) {\n for (var i = 0; i < rawDropLevelOffset; i += 1) {\n if (isLastChild(abstractDropNodeEntity)) {\n abstractDropNodeEntity = abstractDropNodeEntity.parent;\n dropLevelOffset += 1;\n } else {\n break;\n }\n }\n }\n var abstractDragDataNode = dragNode.props.data;\n var abstractDropDataNode = abstractDropNodeEntity.node;\n var dropAllowed = true;\n if (isFirstChild(abstractDropNodeEntity) && abstractDropNodeEntity.level === 0 && clientY < top + height / 2 && allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: -1\n }) && abstractDropNodeEntity.key === targetNode.props.eventKey) {\n // first half of first node in first level\n dropPosition = -1;\n } else if ((abstractDragOverEntity.children || []).length && filteredExpandKeys.includes(dragOverNodeKey)) {\n // drop on expanded node\n // only allow drop inside\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else {\n dropAllowed = false;\n }\n } else if (dropLevelOffset === 0) {\n if (rawDropLevelOffset > -1.5) {\n // | Node | <- abstractDropNode\n // | -^-===== | <- mousePosition\n // 1. try drop after\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n } else {\n // | Node | <- abstractDropNode\n // | ---==^== | <- mousePosition\n // whether it has children or doesn't has children\n // always\n // 1. try drop inside\n // 2. try drop after\n // 3. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n } else {\n // | Node1 | <- abstractDropNode\n // | Node2 |\n // --^--|----=====| <- mousePosition\n // 1. try insert after Node1\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n return {\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: abstractDropNodeEntity.key,\n dropTargetPos: abstractDropNodeEntity.pos,\n dragOverNodeKey: dragOverNodeKey,\n dropContainerKey: dropPosition === 0 ? null : ((_abstractDropNodeEnti = abstractDropNodeEntity.parent) === null || _abstractDropNodeEnti === void 0 ? void 0 : _abstractDropNodeEnti.key) || null,\n dropAllowed: dropAllowed\n };\n}\n\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) return undefined;\n var multiple = props.multiple;\n if (multiple) {\n return selectedKeys.slice();\n }\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\nvar internalProcessProps = function internalProcessProps(props) {\n return props;\n};\nexport function convertDataToTree(treeData, processor) {\n if (!treeData) return [];\n var _ref2 = processor || {},\n _ref2$processProps = _ref2.processProps,\n processProps = _ref2$processProps === void 0 ? internalProcessProps : _ref2$processProps;\n var list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(function (_ref3) {\n var children = _ref3.children,\n props = _objectWithoutProperties(_ref3, _excluded);\n var childrenNodes = convertDataToTree(children, processor);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n key: props.key\n }, processProps(props)), childrenNodes);\n });\n}\n\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n\n // Convert keys to object format\n var keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined\n };\n } else if (_typeof(keys) === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n return keyProps;\n}\n\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n var expandedKeys = new Set();\n function conductUp(key) {\n if (expandedKeys.has(key)) return;\n var entity = getEntity(keyEntities, key);\n if (!entity) return;\n expandedKeys.add(key);\n var parent = entity.parent,\n node = entity.node;\n if (node.disabled) return;\n if (parent) {\n conductUp(parent.key);\n }\n }\n (keyList || []).forEach(function (key) {\n conductUp(key);\n });\n return _toConsumableArray(expandedKeys);\n}","import warning from \"rc-util/es/warning\";\nimport getEntity from \"./keyUtil\";\nfunction removeFromCheckedKeys(halfCheckedKeys, checkedKeys) {\n var filteredKeys = new Set();\n halfCheckedKeys.forEach(function (key) {\n if (!checkedKeys.has(key)) {\n filteredKeys.add(key);\n }\n });\n return filteredKeys;\n}\nexport function isCheckDisabled(node) {\n var _ref = node || {},\n disabled = _ref.disabled,\n disableCheckbox = _ref.disableCheckbox,\n checkable = _ref.checkable;\n return !!(disabled || disableCheckbox) || checkable === false;\n}\n\n// Fill miss keys\nfunction fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set();\n\n // Add checked keys top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children = entity.children,\n children = _entity$children === void 0 ? [] : _entity$children;\n if (checkedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.add(childEntity.key);\n });\n }\n });\n }\n\n // Add checked keys from bottom to top\n var visitedKeys = new Set();\n for (var _level = maxLevel; _level >= 0; _level -= 1) {\n var _entities = levelEntities.get(_level) || new Set();\n _entities.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref2) {\n var key = _ref2.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (allChecked) {\n checkedKeys.add(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n\n// Remove useless key\nfunction cleanConductCheck(keys, halfKeys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set(halfKeys);\n\n // Remove checked keys from top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children2 = entity.children,\n children = _entity$children2 === void 0 ? [] : _entity$children2;\n if (!checkedKeys.has(key) && !halfCheckedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.delete(childEntity.key);\n });\n }\n });\n }\n\n // Remove checked keys form bottom to top\n halfCheckedKeys = new Set();\n var visitedKeys = new Set();\n for (var _level2 = maxLevel; _level2 >= 0; _level2 -= 1) {\n var _entities2 = levelEntities.get(_level2) || new Set();\n _entities2.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref3) {\n var key = _ref3.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (!allChecked) {\n checkedKeys.delete(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n\n/**\n * Conduct with keys.\n * @param keyList current key list\n * @param keyEntities key - dataEntity map\n * @param mode `fill` to fill missing key, `clean` to remove useless key\n */\nexport function conductCheck(keyList, checked, keyEntities, getCheckDisabled) {\n var warningMissKeys = [];\n var syntheticGetCheckDisabled;\n if (getCheckDisabled) {\n syntheticGetCheckDisabled = getCheckDisabled;\n } else {\n syntheticGetCheckDisabled = isCheckDisabled;\n }\n\n // We only handle exist keys\n var keys = new Set(keyList.filter(function (key) {\n var hasEntity = !!getEntity(keyEntities, key);\n if (!hasEntity) {\n warningMissKeys.push(key);\n }\n return hasEntity;\n }));\n var levelEntities = new Map();\n var maxLevel = 0;\n\n // Convert entities by level for calculation\n Object.keys(keyEntities).forEach(function (key) {\n var entity = keyEntities[key];\n var level = entity.level;\n var levelSet = levelEntities.get(level);\n if (!levelSet) {\n levelSet = new Set();\n levelEntities.set(level, levelSet);\n }\n levelSet.add(entity);\n maxLevel = Math.max(maxLevel, level);\n });\n warning(!warningMissKeys.length, \"Tree missing follow keys: \".concat(warningMissKeys.slice(0, 100).map(function (key) {\n return \"'\".concat(key, \"'\");\n }).join(', ')));\n var result;\n if (checked === true) {\n result = fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n } else {\n result = cleanConductCheck(keys, checked.halfCheckedKeys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n }\n return result;\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { useCallback, useMemo } from 'react';\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport classNames from 'classnames';\nimport { INTERNAL_COL_DEFINE } from 'rc-table';\nimport { arrAdd, arrDel } from \"rc-tree/es/util\";\nimport { conductCheck } from \"rc-tree/es/utils/conductUtil\";\nimport { convertDataToEntities } from \"rc-tree/es/utils/treeUtil\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport useMultipleSelect from '../../_util/hooks/useMultipleSelect';\nimport { devUseWarning } from '../../_util/warning';\nimport Checkbox from '../../checkbox';\nimport Dropdown from '../../dropdown';\nimport Radio from '../../radio';\n// TODO: warning if use ajax!!!\nexport const SELECTION_COLUMN = {};\nexport const SELECTION_ALL = 'SELECT_ALL';\nexport const SELECTION_INVERT = 'SELECT_INVERT';\nexport const SELECTION_NONE = 'SELECT_NONE';\nconst EMPTY_LIST = [];\nconst flattenData = (childrenColumnName, data) => {\n let list = [];\n (data || []).forEach(record => {\n list.push(record);\n if (record && typeof record === 'object' && childrenColumnName in record) {\n list = [].concat(_toConsumableArray(list), _toConsumableArray(flattenData(childrenColumnName, record[childrenColumnName])));\n }\n });\n return list;\n};\nconst useSelection = (config, rowSelection) => {\n const {\n preserveSelectedRowKeys,\n selectedRowKeys,\n defaultSelectedRowKeys,\n getCheckboxProps,\n onChange: onSelectionChange,\n onSelect,\n onSelectAll,\n onSelectInvert,\n onSelectNone,\n onSelectMultiple,\n columnWidth: selectionColWidth,\n type: selectionType,\n selections,\n fixed,\n renderCell: customizeRenderCell,\n hideSelectAll,\n checkStrictly = true\n } = rowSelection || {};\n const {\n prefixCls,\n data,\n pageData,\n getRecordByKey,\n getRowKey,\n expandType,\n childrenColumnName,\n locale: tableLocale,\n getPopupContainer\n } = config;\n const warning = devUseWarning('Table');\n // ========================= MultipleSelect =========================\n const [multipleSelect, updatePrevSelectedIndex] = useMultipleSelect(item => item);\n // ========================= Keys =========================\n const [mergedSelectedKeys, setMergedSelectedKeys] = useMergedState(selectedRowKeys || defaultSelectedRowKeys || EMPTY_LIST, {\n value: selectedRowKeys\n });\n // ======================== Caches ========================\n const preserveRecordsRef = React.useRef(new Map());\n const updatePreserveRecordsCache = useCallback(keys => {\n if (preserveSelectedRowKeys) {\n const newCache = new Map();\n // Keep key if mark as preserveSelectedRowKeys\n keys.forEach(key => {\n let record = getRecordByKey(key);\n if (!record && preserveRecordsRef.current.has(key)) {\n record = preserveRecordsRef.current.get(key);\n }\n newCache.set(key, record);\n });\n // Refresh to new cache\n preserveRecordsRef.current = newCache;\n }\n }, [getRecordByKey, preserveSelectedRowKeys]);\n // Update cache with selectedKeys\n React.useEffect(() => {\n updatePreserveRecordsCache(mergedSelectedKeys);\n }, [mergedSelectedKeys]);\n // Get flatten data\n const flattedData = useMemo(() => flattenData(childrenColumnName, pageData), [childrenColumnName, pageData]);\n const {\n keyEntities\n } = useMemo(() => {\n if (checkStrictly) {\n return {\n keyEntities: null\n };\n }\n let convertData = data;\n if (preserveSelectedRowKeys) {\n // use flattedData keys\n const keysSet = new Set(flattedData.map((record, index) => getRowKey(record, index)));\n // remove preserveRecords that duplicate data\n const preserveRecords = Array.from(preserveRecordsRef.current).reduce((total, _ref) => {\n let [key, value] = _ref;\n return keysSet.has(key) ? total : total.concat(value);\n }, []);\n convertData = [].concat(_toConsumableArray(convertData), _toConsumableArray(preserveRecords));\n }\n return convertDataToEntities(convertData, {\n externalGetKey: getRowKey,\n childrenPropName: childrenColumnName\n });\n }, [data, getRowKey, checkStrictly, childrenColumnName, preserveSelectedRowKeys, flattedData]);\n // Get all checkbox props\n const checkboxPropsMap = useMemo(() => {\n const map = new Map();\n flattedData.forEach((record, index) => {\n const key = getRowKey(record, index);\n const checkboxProps = (getCheckboxProps ? getCheckboxProps(record) : null) || {};\n map.set(key, checkboxProps);\n process.env.NODE_ENV !== \"production\" ? warning(!('checked' in checkboxProps || 'defaultChecked' in checkboxProps), 'usage', 'Do not set `checked` or `defaultChecked` in `getCheckboxProps`. Please use `selectedRowKeys` instead.') : void 0;\n });\n return map;\n }, [flattedData, getRowKey, getCheckboxProps]);\n const isCheckboxDisabled = useCallback(r => {\n var _a;\n return !!((_a = checkboxPropsMap.get(getRowKey(r))) === null || _a === void 0 ? void 0 : _a.disabled);\n }, [checkboxPropsMap, getRowKey]);\n const [derivedSelectedKeys, derivedHalfSelectedKeys] = useMemo(() => {\n if (checkStrictly) {\n return [mergedSelectedKeys || [], []];\n }\n const {\n checkedKeys,\n halfCheckedKeys\n } = conductCheck(mergedSelectedKeys, true, keyEntities, isCheckboxDisabled);\n return [checkedKeys || [], halfCheckedKeys];\n }, [mergedSelectedKeys, checkStrictly, keyEntities, isCheckboxDisabled]);\n const derivedSelectedKeySet = useMemo(() => {\n const keys = selectionType === 'radio' ? derivedSelectedKeys.slice(0, 1) : derivedSelectedKeys;\n return new Set(keys);\n }, [derivedSelectedKeys, selectionType]);\n const derivedHalfSelectedKeySet = useMemo(() => selectionType === 'radio' ? new Set() : new Set(derivedHalfSelectedKeys), [derivedHalfSelectedKeys, selectionType]);\n // Reset if rowSelection reset\n React.useEffect(() => {\n if (!rowSelection) {\n setMergedSelectedKeys(EMPTY_LIST);\n }\n }, [!!rowSelection]);\n const setSelectedKeys = useCallback((keys, method) => {\n let availableKeys;\n let records;\n updatePreserveRecordsCache(keys);\n if (preserveSelectedRowKeys) {\n availableKeys = keys;\n records = keys.map(key => preserveRecordsRef.current.get(key));\n } else {\n // Filter key which not exist in the `dataSource`\n availableKeys = [];\n records = [];\n keys.forEach(key => {\n const record = getRecordByKey(key);\n if (record !== undefined) {\n availableKeys.push(key);\n records.push(record);\n }\n });\n }\n setMergedSelectedKeys(availableKeys);\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(availableKeys, records, {\n type: method\n });\n }, [setMergedSelectedKeys, getRecordByKey, onSelectionChange, preserveSelectedRowKeys]);\n // ====================== Selections ======================\n // Trigger single `onSelect` event\n const triggerSingleSelection = useCallback((key, selected, keys, event) => {\n if (onSelect) {\n const rows = keys.map(k => getRecordByKey(k));\n onSelect(getRecordByKey(key), selected, rows, event);\n }\n setSelectedKeys(keys, 'single');\n }, [onSelect, getRecordByKey, setSelectedKeys]);\n const mergedSelections = useMemo(() => {\n if (!selections || hideSelectAll) {\n return null;\n }\n const selectionList = selections === true ? [SELECTION_ALL, SELECTION_INVERT, SELECTION_NONE] : selections;\n return selectionList.map(selection => {\n if (selection === SELECTION_ALL) {\n return {\n key: 'all',\n text: tableLocale.selectionAll,\n onSelect() {\n setSelectedKeys(data.map((record, index) => getRowKey(record, index)).filter(key => {\n const checkProps = checkboxPropsMap.get(key);\n return !(checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled) || derivedSelectedKeySet.has(key);\n }), 'all');\n }\n };\n }\n if (selection === SELECTION_INVERT) {\n return {\n key: 'invert',\n text: tableLocale.selectInvert,\n onSelect() {\n const keySet = new Set(derivedSelectedKeySet);\n pageData.forEach((record, index) => {\n const key = getRowKey(record, index);\n const checkProps = checkboxPropsMap.get(key);\n if (!(checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled)) {\n if (keySet.has(key)) {\n keySet.delete(key);\n } else {\n keySet.add(key);\n }\n }\n });\n const keys = Array.from(keySet);\n if (onSelectInvert) {\n warning.deprecated(false, 'onSelectInvert', 'onChange');\n onSelectInvert(keys);\n }\n setSelectedKeys(keys, 'invert');\n }\n };\n }\n if (selection === SELECTION_NONE) {\n return {\n key: 'none',\n text: tableLocale.selectNone,\n onSelect() {\n onSelectNone === null || onSelectNone === void 0 ? void 0 : onSelectNone();\n setSelectedKeys(Array.from(derivedSelectedKeySet).filter(key => {\n const checkProps = checkboxPropsMap.get(key);\n return checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled;\n }), 'none');\n }\n };\n }\n return selection;\n }).map(selection => Object.assign(Object.assign({}, selection), {\n onSelect: function () {\n var _a2;\n var _a;\n for (var _len = arguments.length, rest = new Array(_len), _key = 0; _key < _len; _key++) {\n rest[_key] = arguments[_key];\n }\n (_a = selection.onSelect) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [selection].concat(rest));\n updatePrevSelectedIndex(null);\n }\n }));\n }, [selections, derivedSelectedKeySet, pageData, getRowKey, onSelectInvert, setSelectedKeys]);\n // ======================= Columns ========================\n const transformColumns = useCallback(columns => {\n var _a;\n // >>>>>>>>>>> Skip if not exists `rowSelection`\n if (!rowSelection) {\n process.env.NODE_ENV !== \"production\" ? warning(!columns.includes(SELECTION_COLUMN), 'usage', '`rowSelection` is not config but `SELECTION_COLUMN` exists in the `columns`.') : void 0;\n return columns.filter(col => col !== SELECTION_COLUMN);\n }\n // >>>>>>>>>>> Support selection\n let cloneColumns = _toConsumableArray(columns);\n const keySet = new Set(derivedSelectedKeySet);\n // Record key only need check with enabled\n const recordKeys = flattedData.map(getRowKey).filter(key => !checkboxPropsMap.get(key).disabled);\n const checkedCurrentAll = recordKeys.every(key => keySet.has(key));\n const checkedCurrentSome = recordKeys.some(key => keySet.has(key));\n const onSelectAllChange = () => {\n const changeKeys = [];\n if (checkedCurrentAll) {\n recordKeys.forEach(key => {\n keySet.delete(key);\n changeKeys.push(key);\n });\n } else {\n recordKeys.forEach(key => {\n if (!keySet.has(key)) {\n keySet.add(key);\n changeKeys.push(key);\n }\n });\n }\n const keys = Array.from(keySet);\n onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(!checkedCurrentAll, keys.map(k => getRecordByKey(k)), changeKeys.map(k => getRecordByKey(k)));\n setSelectedKeys(keys, 'all');\n updatePrevSelectedIndex(null);\n };\n // ===================== Render =====================\n // Title Cell\n let title;\n let columnTitleCheckbox;\n if (selectionType !== 'radio') {\n let customizeSelections;\n if (mergedSelections) {\n const menu = {\n getPopupContainer,\n items: mergedSelections.map((selection, index) => {\n const {\n key,\n text,\n onSelect: onSelectionClick\n } = selection;\n return {\n key: key !== null && key !== void 0 ? key : index,\n onClick: () => {\n onSelectionClick === null || onSelectionClick === void 0 ? void 0 : onSelectionClick(recordKeys);\n },\n label: text\n };\n })\n };\n customizeSelections = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-selection-extra`\n }, /*#__PURE__*/React.createElement(Dropdown, {\n menu: menu,\n getPopupContainer: getPopupContainer\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(DownOutlined, null))));\n }\n const allDisabledData = flattedData.map((record, index) => {\n const key = getRowKey(record, index);\n const checkboxProps = checkboxPropsMap.get(key) || {};\n return Object.assign({\n checked: keySet.has(key)\n }, checkboxProps);\n }).filter(_ref2 => {\n let {\n disabled\n } = _ref2;\n return disabled;\n });\n const allDisabled = !!allDisabledData.length && allDisabledData.length === flattedData.length;\n const allDisabledAndChecked = allDisabled && allDisabledData.every(_ref3 => {\n let {\n checked\n } = _ref3;\n return checked;\n });\n const allDisabledSomeChecked = allDisabled && allDisabledData.some(_ref4 => {\n let {\n checked\n } = _ref4;\n return checked;\n });\n columnTitleCheckbox = /*#__PURE__*/React.createElement(Checkbox, {\n checked: !allDisabled ? !!flattedData.length && checkedCurrentAll : allDisabledAndChecked,\n indeterminate: !allDisabled ? !checkedCurrentAll && checkedCurrentSome : !allDisabledAndChecked && allDisabledSomeChecked,\n onChange: onSelectAllChange,\n disabled: flattedData.length === 0 || allDisabled,\n \"aria-label\": customizeSelections ? 'Custom selection' : 'Select all',\n skipGroup: true\n });\n title = !hideSelectAll && (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-selection`\n }, columnTitleCheckbox, customizeSelections));\n }\n // Body Cell\n let renderCell;\n if (selectionType === 'radio') {\n renderCell = (_, record, index) => {\n const key = getRowKey(record, index);\n const checked = keySet.has(key);\n const checkboxProps = checkboxPropsMap.get(key);\n return {\n node: (/*#__PURE__*/React.createElement(Radio, Object.assign({}, checkboxProps, {\n checked: checked,\n onClick: e => {\n var _a;\n e.stopPropagation();\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onClick) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, e);\n },\n onChange: event => {\n var _a;\n if (!keySet.has(key)) {\n triggerSingleSelection(key, true, [key], event.nativeEvent);\n }\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onChange) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, event);\n }\n }))),\n checked\n };\n };\n } else {\n renderCell = (_, record, index) => {\n var _a;\n const key = getRowKey(record, index);\n const checked = keySet.has(key);\n const indeterminate = derivedHalfSelectedKeySet.has(key);\n const checkboxProps = checkboxPropsMap.get(key);\n let mergedIndeterminate;\n if (expandType === 'nest') {\n mergedIndeterminate = indeterminate;\n process.env.NODE_ENV !== \"production\" ? warning(typeof (checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== 'boolean', 'usage', 'set `indeterminate` using `rowSelection.getCheckboxProps` is not allowed with tree structured dataSource.') : void 0;\n } else {\n mergedIndeterminate = (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== null && _a !== void 0 ? _a : indeterminate;\n }\n // Record checked\n return {\n node: (/*#__PURE__*/React.createElement(Checkbox, Object.assign({}, checkboxProps, {\n indeterminate: mergedIndeterminate,\n checked: checked,\n skipGroup: true,\n onClick: e => {\n var _a;\n e.stopPropagation();\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onClick) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, e);\n },\n onChange: event => {\n var _a;\n const {\n nativeEvent\n } = event;\n const {\n shiftKey\n } = nativeEvent;\n const currentSelectedIndex = recordKeys.findIndex(item => item === key);\n const isMultiple = derivedSelectedKeys.some(item => recordKeys.includes(item));\n if (shiftKey && checkStrictly && isMultiple) {\n const changedKeys = multipleSelect(currentSelectedIndex, recordKeys, keySet);\n const keys = Array.from(keySet);\n onSelectMultiple === null || onSelectMultiple === void 0 ? void 0 : onSelectMultiple(!checked, keys.map(recordKey => getRecordByKey(recordKey)), changedKeys.map(recordKey => getRecordByKey(recordKey)));\n setSelectedKeys(keys, 'multiple');\n } else {\n // Single record selected\n const originCheckedKeys = derivedSelectedKeys;\n if (checkStrictly) {\n const checkedKeys = checked ? arrDel(originCheckedKeys, key) : arrAdd(originCheckedKeys, key);\n triggerSingleSelection(key, !checked, checkedKeys, nativeEvent);\n } else {\n // Always fill first\n const result = conductCheck([].concat(_toConsumableArray(originCheckedKeys), [key]), true, keyEntities, isCheckboxDisabled);\n const {\n checkedKeys,\n halfCheckedKeys\n } = result;\n let nextCheckedKeys = checkedKeys;\n // If remove, we do it again to correction\n if (checked) {\n const tempKeySet = new Set(checkedKeys);\n tempKeySet.delete(key);\n nextCheckedKeys = conductCheck(Array.from(tempKeySet), {\n checked: false,\n halfCheckedKeys\n }, keyEntities, isCheckboxDisabled).checkedKeys;\n }\n triggerSingleSelection(key, !checked, nextCheckedKeys, nativeEvent);\n }\n }\n if (checked) {\n updatePrevSelectedIndex(null);\n } else {\n updatePrevSelectedIndex(currentSelectedIndex);\n }\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onChange) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, event);\n }\n }))),\n checked\n };\n };\n }\n const renderSelectionCell = (_, record, index) => {\n const {\n node,\n checked\n } = renderCell(_, record, index);\n if (customizeRenderCell) {\n return customizeRenderCell(checked, record, index, node);\n }\n return node;\n };\n // Insert selection column if not exist\n if (!cloneColumns.includes(SELECTION_COLUMN)) {\n // Always after expand icon\n if (cloneColumns.findIndex(col => {\n var _a;\n return ((_a = col[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN';\n }) === 0) {\n const [expandColumn, ...restColumns] = cloneColumns;\n cloneColumns = [expandColumn, SELECTION_COLUMN].concat(_toConsumableArray(restColumns));\n } else {\n // Normal insert at first column\n cloneColumns = [SELECTION_COLUMN].concat(_toConsumableArray(cloneColumns));\n }\n }\n // Deduplicate selection column\n const selectionColumnIndex = cloneColumns.indexOf(SELECTION_COLUMN);\n process.env.NODE_ENV !== \"production\" ? warning(cloneColumns.filter(col => col === SELECTION_COLUMN).length <= 1, 'usage', 'Multiple `SELECTION_COLUMN` exist in `columns`.') : void 0;\n cloneColumns = cloneColumns.filter((column, index) => column !== SELECTION_COLUMN || index === selectionColumnIndex);\n // Fixed column logic\n const prevCol = cloneColumns[selectionColumnIndex - 1];\n const nextCol = cloneColumns[selectionColumnIndex + 1];\n let mergedFixed = fixed;\n if (mergedFixed === undefined) {\n if ((nextCol === null || nextCol === void 0 ? void 0 : nextCol.fixed) !== undefined) {\n mergedFixed = nextCol.fixed;\n } else if ((prevCol === null || prevCol === void 0 ? void 0 : prevCol.fixed) !== undefined) {\n mergedFixed = prevCol.fixed;\n }\n }\n if (mergedFixed && prevCol && ((_a = prevCol[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN' && prevCol.fixed === undefined) {\n prevCol.fixed = mergedFixed;\n }\n const columnCls = classNames(`${prefixCls}-selection-col`, {\n [`${prefixCls}-selection-col-with-dropdown`]: selections && selectionType === 'checkbox'\n });\n const renderColumnTitle = () => {\n if (!(rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.columnTitle)) {\n return title;\n }\n if (typeof rowSelection.columnTitle === 'function') {\n return rowSelection.columnTitle(columnTitleCheckbox);\n }\n return rowSelection.columnTitle;\n };\n // Replace with real selection column\n const selectionColumn = {\n fixed: mergedFixed,\n width: selectionColWidth,\n className: `${prefixCls}-selection-column`,\n title: renderColumnTitle(),\n render: renderSelectionCell,\n onCell: rowSelection.onCell,\n [INTERNAL_COL_DEFINE]: {\n className: columnCls\n }\n };\n return cloneColumns.map(col => col === SELECTION_COLUMN ? selectionColumn : col);\n }, [getRowKey, flattedData, rowSelection, derivedSelectedKeys, derivedSelectedKeySet, derivedHalfSelectedKeySet, selectionColWidth, mergedSelections, expandType, checkboxPropsMap, onSelectMultiple, triggerSingleSelection, isCheckboxDisabled]);\n return [transformColumns, derivedSelectedKeySet];\n};\nexport default useSelection;","import { useCallback, useState } from 'react';\n/**\n * @title multipleSelect hooks\n * @description multipleSelect by hold down shift key\n */\nexport default function useMultipleSelect(getKey) {\n const [prevSelectedIndex, setPrevSelectedIndex] = useState(null);\n const multipleSelect = useCallback((currentSelectedIndex, data, selectedKeys) => {\n const configPrevSelectedIndex = prevSelectedIndex !== null && prevSelectedIndex !== void 0 ? prevSelectedIndex : currentSelectedIndex;\n // add/delete the selected range\n const startIndex = Math.min(configPrevSelectedIndex || 0, currentSelectedIndex);\n const endIndex = Math.max(configPrevSelectedIndex || 0, currentSelectedIndex);\n const rangeKeys = data.slice(startIndex, endIndex + 1).map(item => getKey(item));\n const shouldSelected = rangeKeys.some(rangeKey => !selectedKeys.has(rangeKey));\n const changedKeys = [];\n rangeKeys.forEach(item => {\n if (shouldSelected) {\n if (!selectedKeys.has(item)) {\n changedKeys.push(item);\n }\n selectedKeys.add(item);\n } else {\n selectedKeys.delete(item);\n changedKeys.push(item);\n }\n });\n setPrevSelectedIndex(shouldSelected ? endIndex : null);\n return changedKeys;\n }, [prevSelectedIndex]);\n const updatePrevSelectedIndex = val => {\n setPrevSelectedIndex(val);\n };\n return [multipleSelect, updatePrevSelectedIndex];\n}","// Proxy the dom ref with `{ nativeElement, otherFn }` type\n// ref: https://github.com/ant-design/ant-design/discussions/45242\nimport { useImperativeHandle } from 'react';\nfunction fillProxy(element, handler) {\n element._antProxy = element._antProxy || {};\n Object.keys(handler).forEach(key => {\n if (!(key in element._antProxy)) {\n const ori = element[key];\n element._antProxy[key] = ori;\n element[key] = handler[key];\n }\n });\n return element;\n}\nexport default function useProxyImperativeHandle(ref, init) {\n return useImperativeHandle(ref, () => {\n const refObj = init();\n const {\n nativeElement\n } = refObj;\n if (typeof Proxy !== 'undefined') {\n return new Proxy(nativeElement, {\n get(obj, prop) {\n if (refObj[prop]) {\n return refObj[prop];\n }\n return Reflect.get(obj, prop);\n }\n });\n }\n // Fallback of IE\n return fillProxy(nativeElement, refObj);\n });\n}","export function isWindow(obj) {\n return obj !== null && obj !== undefined && obj === obj.window;\n}\nconst getScroll = target => {\n var _a, _b;\n if (typeof window === 'undefined') {\n return 0;\n }\n let result = 0;\n if (isWindow(target)) {\n result = target.pageYOffset;\n } else if (target instanceof Document) {\n result = target.documentElement.scrollTop;\n } else if (target instanceof HTMLElement) {\n result = target.scrollTop;\n } else if (target) {\n // According to the type inference, the `target` is `never` type.\n // Since we configured the loose mode type checking, and supports mocking the target with such shape below::\n // `{ documentElement: { scrollLeft: 200, scrollTop: 400 } }`,\n // the program may falls into this branch.\n // Check the corresponding tests for details. Don't sure what is the real scenario this happens.\n /* biome-ignore lint/complexity/useLiteralKeys: target is a never type */ /* eslint-disable-next-line dot-notation */\n result = target['scrollTop'];\n }\n if (target && !isWindow(target) && typeof result !== 'number') {\n result = (_b = ((_a = target.ownerDocument) !== null && _a !== void 0 ? _a : target).documentElement) === null || _b === void 0 ? void 0 : _b.scrollTop;\n }\n return result;\n};\nexport default getScroll;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nfunction renderExpandIcon(locale) {\n return props => {\n const {\n prefixCls,\n onExpand,\n record,\n expanded,\n expandable\n } = props;\n const iconPrefix = `${prefixCls}-row-expand-icon`;\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: e => {\n onExpand(record, e);\n e.stopPropagation();\n },\n className: classNames(iconPrefix, {\n [`${iconPrefix}-spaced`]: !expandable,\n [`${iconPrefix}-expanded`]: expandable && expanded,\n [`${iconPrefix}-collapsed`]: expandable && !expanded\n }),\n \"aria-label\": expanded ? locale.collapse : locale.expand,\n \"aria-expanded\": expanded\n });\n };\n}\nexport default renderExpandIcon;","export const getColumnKey = (column, defaultKey) => {\n if ('key' in column && column.key !== undefined && column.key !== null) {\n return column.key;\n }\n if (column.dataIndex) {\n return Array.isArray(column.dataIndex) ? column.dataIndex.join('.') : column.dataIndex;\n }\n return defaultKey;\n};\nexport function getColumnPos(index, pos) {\n return pos ? `${pos}-${index}` : `${index}`;\n}\nexport const renderColumnTitle = (title, props) => {\n if (typeof title === 'function') {\n return title(props);\n }\n return title;\n};\n/**\n * Safe get column title\n *\n * Should filter [object Object]\n *\n * @param title\n */\nexport const safeColumnTitle = (title, props) => {\n const res = renderColumnTitle(title, props);\n if (Object.prototype.toString.call(res) === '[object Object]') {\n return '';\n }\n return res;\n};","// This icon file is generated automatically.\nvar FilterFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z\" } }] }, \"name\": \"filter\", \"theme\": \"filled\" };\nexport default FilterFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FilterFilledSvg from \"@ant-design/icons-svg/es/asn/FilterFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FilterFilled = function FilterFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FilterFilledSvg\n }));\n};\n\n/**![filter](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTM0OSA4MzhjMCAxNy43IDE0LjIgMzIgMzEuOCAzMmgyNjIuNGMxNy42IDAgMzEuOC0xNC4zIDMxLjgtMzJWNjQySDM0OXYxOTZ6bTUzMS4xLTY4NEgxNDMuOWMtMjQuNSAwLTM5LjggMjYuNy0yNy41IDQ4bDIyMS4zIDM3NmgzNDguOGwyMjEuMy0zNzZjMTIuMS0yMS4zLTMuMi00OC0yNy43LTQ4eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FilterFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FilterFilled';\n}\nexport default RefIcon;","function _objectDestructuringEmpty(t) {\n if (null == t) throw new TypeError(\"Cannot destructure \" + t);\n}\nexport { _objectDestructuringEmpty as default };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"style\", \"motion\", \"motionNodes\", \"motionType\", \"onMotionStart\", \"onMotionEnd\", \"active\", \"treeNodeRequiredProps\"];\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { TreeContext } from \"./contextTypes\";\nimport TreeNode from \"./TreeNode\";\nimport useUnmount from \"./useUnmount\";\nimport { getTreeNodeProps } from \"./utils/treeUtil\";\nvar MotionTreeNode = function MotionTreeNode(_ref, ref) {\n var className = _ref.className,\n style = _ref.style,\n motion = _ref.motion,\n motionNodes = _ref.motionNodes,\n motionType = _ref.motionType,\n onOriginMotionStart = _ref.onMotionStart,\n onOriginMotionEnd = _ref.onMotionEnd,\n active = _ref.active,\n treeNodeRequiredProps = _ref.treeNodeRequiredProps,\n props = _objectWithoutProperties(_ref, _excluded);\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n var _React$useContext = React.useContext(TreeContext),\n prefixCls = _React$useContext.prefixCls;\n\n // Calculate target visible here.\n // And apply in effect to make `leave` motion work.\n var targetVisible = motionNodes && motionType !== 'hide';\n useLayoutEffect(function () {\n if (motionNodes) {\n if (targetVisible !== visible) {\n setVisible(targetVisible);\n }\n }\n }, [motionNodes]);\n var triggerMotionStart = function triggerMotionStart() {\n if (motionNodes) {\n onOriginMotionStart();\n }\n };\n\n // Should only trigger once\n var triggerMotionEndRef = React.useRef(false);\n var triggerMotionEnd = function triggerMotionEnd() {\n if (motionNodes && !triggerMotionEndRef.current) {\n triggerMotionEndRef.current = true;\n onOriginMotionEnd();\n }\n };\n\n // Effect if unmount\n useUnmount(triggerMotionStart, triggerMotionEnd);\n\n // Motion end event\n var onVisibleChanged = function onVisibleChanged(nextVisible) {\n if (targetVisible === nextVisible) {\n triggerMotionEnd();\n }\n };\n if (motionNodes) {\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n ref: ref,\n visible: visible\n }, motion, {\n motionAppear: motionType === 'show',\n onVisibleChanged: onVisibleChanged\n }), function (_ref2, motionRef) {\n var motionClassName = _ref2.className,\n motionStyle = _ref2.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: classNames(\"\".concat(prefixCls, \"-treenode-motion\"), motionClassName),\n style: motionStyle\n }, motionNodes.map(function (treeNode) {\n var restProps = Object.assign({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(key, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: active,\n data: treeNode.data,\n key: key,\n isStart: isStart,\n isEnd: isEnd\n }));\n }));\n });\n }\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n domRef: ref,\n className: className,\n style: style\n }, props, {\n active: active\n }));\n};\nMotionTreeNode.displayName = 'MotionTreeNode';\nvar RefMotionTreeNode = /*#__PURE__*/React.forwardRef(MotionTreeNode);\nexport default RefMotionTreeNode;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\n\n/**\n * Trigger only when component unmount\n */\nexport default function useUnmount(triggerStart, triggerEnd) {\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n firstMount = _React$useState2[0],\n setFirstMount = _React$useState2[1];\n useLayoutEffect(function () {\n if (firstMount) {\n triggerStart();\n return function () {\n triggerEnd();\n };\n }\n }, [firstMount]);\n useLayoutEffect(function () {\n setFirstMount(true);\n return function () {\n setFirstMount(false);\n };\n }, []);\n}","export function findExpandedKeys() {\n var prev = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var next = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var prevLen = prev.length;\n var nextLen = next.length;\n if (Math.abs(prevLen - nextLen) !== 1) {\n return {\n add: false,\n key: null\n };\n }\n function find(shorter, longer) {\n var cache = new Map();\n shorter.forEach(function (key) {\n cache.set(key, true);\n });\n var keys = longer.filter(function (key) {\n return !cache.has(key);\n });\n return keys.length === 1 ? keys[0] : null;\n }\n if (prevLen < nextLen) {\n return {\n add: true,\n key: find(prev, next)\n };\n }\n return {\n add: false,\n key: find(next, prev)\n };\n}\nexport function getExpandRange(shorter, longer, key) {\n var shorterStartIndex = shorter.findIndex(function (data) {\n return data.key === key;\n });\n var shorterEndNode = shorter[shorterStartIndex + 1];\n var longerStartIndex = longer.findIndex(function (data) {\n return data.key === key;\n });\n if (shorterEndNode) {\n var longerEndIndex = longer.findIndex(function (data) {\n return data.key === shorterEndNode.key;\n });\n return longer.slice(longerStartIndex + 1, longerEndIndex);\n }\n return longer.slice(longerStartIndex + 1);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"data\", \"selectable\", \"checkable\", \"expandedKeys\", \"selectedKeys\", \"checkedKeys\", \"loadedKeys\", \"loadingKeys\", \"halfCheckedKeys\", \"keyEntities\", \"disabled\", \"dragging\", \"dragOverNodeKey\", \"dropPosition\", \"motion\", \"height\", \"itemHeight\", \"virtual\", \"focusable\", \"activeItem\", \"focused\", \"tabIndex\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onActiveChange\", \"onListChangeStart\", \"onListChangeEnd\"];\n/**\n * Handle virtual list of the TreeNodes.\n */\n\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport MotionTreeNode from \"./MotionTreeNode\";\nimport { findExpandedKeys, getExpandRange } from \"./utils/diffUtil\";\nimport { getKey, getTreeNodeProps } from \"./utils/treeUtil\";\nvar HIDDEN_STYLE = {\n width: 0,\n height: 0,\n display: 'flex',\n overflow: 'hidden',\n opacity: 0,\n border: 0,\n padding: 0,\n margin: 0\n};\nvar noop = function noop() {};\nexport var MOTION_KEY = \"RC_TREE_MOTION_\".concat(Math.random());\nvar MotionNode = {\n key: MOTION_KEY\n};\nexport var MotionEntity = {\n key: MOTION_KEY,\n level: 0,\n index: 0,\n pos: '0',\n node: MotionNode,\n nodes: [MotionNode]\n};\nvar MotionFlattenData = {\n parent: null,\n children: [],\n pos: MotionEntity.pos,\n data: MotionNode,\n title: null,\n key: MOTION_KEY,\n /** Hold empty list here since we do not use it */\n isStart: [],\n isEnd: []\n};\n/**\n * We only need get visible content items to play the animation.\n */\nexport function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {\n if (virtual === false || !height) {\n return list;\n }\n return list.slice(0, Math.ceil(height / itemHeight) + 1);\n}\nfunction itemKey(item) {\n var key = item.key,\n pos = item.pos;\n return getKey(key, pos);\n}\nfunction getAccessibilityPath(item) {\n var path = String(item.data.key);\n var current = item;\n while (current.parent) {\n current = current.parent;\n path = \"\".concat(current.data.key, \" > \").concat(path);\n }\n return path;\n}\nvar NodeList = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n data = props.data,\n selectable = props.selectable,\n checkable = props.checkable,\n expandedKeys = props.expandedKeys,\n selectedKeys = props.selectedKeys,\n checkedKeys = props.checkedKeys,\n loadedKeys = props.loadedKeys,\n loadingKeys = props.loadingKeys,\n halfCheckedKeys = props.halfCheckedKeys,\n keyEntities = props.keyEntities,\n disabled = props.disabled,\n dragging = props.dragging,\n dragOverNodeKey = props.dragOverNodeKey,\n dropPosition = props.dropPosition,\n motion = props.motion,\n height = props.height,\n itemHeight = props.itemHeight,\n virtual = props.virtual,\n focusable = props.focusable,\n activeItem = props.activeItem,\n focused = props.focused,\n tabIndex = props.tabIndex,\n onKeyDown = props.onKeyDown,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onActiveChange = props.onActiveChange,\n onListChangeStart = props.onListChangeStart,\n onListChangeEnd = props.onListChangeEnd,\n domProps = _objectWithoutProperties(props, _excluded);\n\n // =============================== Ref ================================\n var listRef = React.useRef(null);\n var indentMeasurerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n scrollTo: function scrollTo(scroll) {\n listRef.current.scrollTo(scroll);\n },\n getIndentWidth: function getIndentWidth() {\n return indentMeasurerRef.current.offsetWidth;\n }\n };\n });\n\n // ============================== Motion ==============================\n var _React$useState = React.useState(expandedKeys),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevExpandedKeys = _React$useState2[0],\n setPrevExpandedKeys = _React$useState2[1];\n var _React$useState3 = React.useState(data),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n prevData = _React$useState4[0],\n setPrevData = _React$useState4[1];\n var _React$useState5 = React.useState(data),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n transitionData = _React$useState6[0],\n setTransitionData = _React$useState6[1];\n var _React$useState7 = React.useState([]),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n transitionRange = _React$useState8[0],\n setTransitionRange = _React$useState8[1];\n var _React$useState9 = React.useState(null),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n motionType = _React$useState10[0],\n setMotionType = _React$useState10[1];\n\n // When motion end but data change, this will makes data back to previous one\n var dataRef = React.useRef(data);\n dataRef.current = data;\n function onMotionEnd() {\n var latestData = dataRef.current;\n setPrevData(latestData);\n setTransitionData(latestData);\n setTransitionRange([]);\n setMotionType(null);\n onListChangeEnd();\n }\n\n // Do animation if expanded keys changed\n // layoutEffect here to avoid blink of node removing\n useLayoutEffect(function () {\n setPrevExpandedKeys(expandedKeys);\n var diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);\n if (diffExpanded.key !== null) {\n if (diffExpanded.add) {\n var keyIndex = prevData.findIndex(function (_ref) {\n var key = _ref.key;\n return key === diffExpanded.key;\n });\n var rangeNodes = getMinimumRangeTransitionRange(getExpandRange(prevData, data, diffExpanded.key), virtual, height, itemHeight);\n var newTransitionData = prevData.slice();\n newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(newTransitionData);\n setTransitionRange(rangeNodes);\n setMotionType('show');\n } else {\n var _keyIndex = data.findIndex(function (_ref2) {\n var key = _ref2.key;\n return key === diffExpanded.key;\n });\n var _rangeNodes = getMinimumRangeTransitionRange(getExpandRange(data, prevData, diffExpanded.key), virtual, height, itemHeight);\n var _newTransitionData = data.slice();\n _newTransitionData.splice(_keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(_newTransitionData);\n setTransitionRange(_rangeNodes);\n setMotionType('hide');\n }\n } else if (prevData !== data) {\n // If whole data changed, we just refresh the list\n setPrevData(data);\n setTransitionData(data);\n }\n }, [expandedKeys, data]);\n\n // We should clean up motion if is changed by dragging\n React.useEffect(function () {\n if (!dragging) {\n onMotionEnd();\n }\n }, [dragging]);\n var mergedData = motion ? transitionData : data;\n var treeNodeRequiredProps = {\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n loadedKeys: loadedKeys,\n loadingKeys: loadingKeys,\n checkedKeys: checkedKeys,\n halfCheckedKeys: halfCheckedKeys,\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, focused && activeItem && /*#__PURE__*/React.createElement(\"span\", {\n style: HIDDEN_STYLE,\n \"aria-live\": \"assertive\"\n }, getAccessibilityPath(activeItem)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n style: HIDDEN_STYLE,\n disabled: focusable === false || disabled,\n tabIndex: focusable !== false ? tabIndex : null,\n onKeyDown: onKeyDown,\n onFocus: onFocus,\n onBlur: onBlur,\n value: \"\",\n onChange: noop,\n \"aria-label\": \"for screen reader\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-treenode\"),\n \"aria-hidden\": true,\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n visibility: 'hidden',\n height: 0,\n overflow: 'hidden',\n border: 0,\n padding: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-indent\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: indentMeasurerRef,\n className: \"\".concat(prefixCls, \"-indent-unit\")\n }))), /*#__PURE__*/React.createElement(VirtualList, _extends({}, domProps, {\n data: mergedData,\n itemKey: itemKey,\n height: height,\n fullHeight: false,\n virtual: virtual,\n itemHeight: itemHeight,\n prefixCls: \"\".concat(prefixCls, \"-list\"),\n ref: listRef,\n onVisibleChange: function onVisibleChange(originList) {\n // The best match is using `fullList` - `originList` = `restList`\n // and check the `restList` to see if has the MOTION_KEY node\n // but this will cause performance issue for long list compare\n // we just check `originList` and repeat trigger `onMotionEnd`\n if (originList.every(function (item) {\n return itemKey(item) !== MOTION_KEY;\n })) {\n onMotionEnd();\n }\n }\n }), function (treeNode) {\n var pos = treeNode.pos,\n restProps = Object.assign({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n var mergedKey = getKey(key, pos);\n delete restProps.key;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(MotionTreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: !!activeItem && key === activeItem.key,\n pos: pos,\n data: treeNode.data,\n isStart: isStart,\n isEnd: isEnd,\n motion: motion,\n motionNodes: key === MOTION_KEY ? transitionRange : null,\n motionType: motionType,\n onMotionStart: onListChangeStart,\n onMotionEnd: onMotionEnd,\n treeNodeRequiredProps: treeNodeRequiredProps,\n onMouseMove: function onMouseMove() {\n onActiveChange(null);\n }\n }));\n }));\n});\nNodeList.displayName = 'NodeList';\nexport default NodeList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// TODO: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/treeview/treeview-2/treeview-2a.html\n// Fully accessibility support\n\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { TreeContext } from \"./contextTypes\";\nimport DropIndicator from \"./DropIndicator\";\nimport NodeList, { MOTION_KEY, MotionEntity } from \"./NodeList\";\nimport TreeNode from \"./TreeNode\";\nimport { arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductExpandParent, getDragChildrenKeys, parseCheckedKeys, posToArr } from \"./util\";\nimport { conductCheck } from \"./utils/conductUtil\";\nimport getEntity from \"./utils/keyUtil\";\nimport { convertDataToEntities, convertNodePropsToEventData, convertTreeToData, fillFieldNames, flattenTreeData, getTreeNodeProps, warningWithoutKey } from \"./utils/treeUtil\";\nvar MAX_RETRY_TIMES = 10;\nvar Tree = /*#__PURE__*/function (_React$Component) {\n _inherits(Tree, _React$Component);\n var _super = _createSuper(Tree);\n function Tree() {\n var _this;\n _classCallCheck(this, Tree);\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(_args));\n _defineProperty(_assertThisInitialized(_this), \"destroyed\", false);\n _defineProperty(_assertThisInitialized(_this), \"delayedDragEnterLogic\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"loadingRetryTimes\", {});\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n keyEntities: {},\n indent: null,\n selectedKeys: [],\n checkedKeys: [],\n halfCheckedKeys: [],\n loadedKeys: [],\n loadingKeys: [],\n expandedKeys: [],\n draggingNodeKey: null,\n dragChildrenKeys: [],\n // dropTargetKey is the key of abstract-drop-node\n // the abstract-drop-node is the real drop node when drag and drop\n // not the DOM drag over node\n dropTargetKey: null,\n dropPosition: null,\n // the drop position of abstract-drop-node, inside 0, top -1, bottom 1\n dropContainerKey: null,\n // the container key of abstract-drop-node if dropPosition is -1 or 1\n dropLevelOffset: null,\n // the drop level offset of abstract-drag-over-node\n dropTargetPos: null,\n // the pos of abstract-drop-node\n dropAllowed: true,\n // if drop to abstract-drop-node is allowed\n // the abstract-drag-over-node\n // if mouse is on the bottom of top dom node or no the top of the bottom dom node\n // abstract-drag-over-node is the top node\n dragOverNodeKey: null,\n treeData: [],\n flattenNodes: [],\n focused: false,\n activeKey: null,\n listChanging: false,\n prevProps: null,\n fieldNames: fillFieldNames()\n });\n _defineProperty(_assertThisInitialized(_this), \"dragStartMousePosition\", null);\n _defineProperty(_assertThisInitialized(_this), \"dragNode\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"currentMouseOverDroppableNodeKey\", null);\n _defineProperty(_assertThisInitialized(_this), \"listRef\", /*#__PURE__*/React.createRef());\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragStart\", function (event, node) {\n var _this$state = _this.state,\n expandedKeys = _this$state.expandedKeys,\n keyEntities = _this$state.keyEntities;\n var onDragStart = _this.props.onDragStart;\n var eventKey = node.props.eventKey;\n _this.dragNode = node;\n _this.dragStartMousePosition = {\n x: event.clientX,\n y: event.clientY\n };\n var newExpandedKeys = arrDel(expandedKeys, eventKey);\n _this.setState({\n draggingNodeKey: eventKey,\n dragChildrenKeys: getDragChildrenKeys(eventKey, keyEntities),\n indent: _this.listRef.current.getIndentWidth()\n });\n _this.setExpandedKeys(newExpandedKeys);\n window.addEventListener('dragend', _this.onWindowDragEnd);\n onDragStart === null || onDragStart === void 0 || onDragStart({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n });\n /**\n * [Legacy] Select handler is smaller than node,\n * so that this will trigger when drag enter node or select handler.\n * This is a little tricky if customize css without padding.\n * Better for use mouse move event to refresh drag state.\n * But let's just keep it to avoid event trigger logic change.\n */\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragEnter\", function (event, node) {\n var _this$state2 = _this.state,\n expandedKeys = _this$state2.expandedKeys,\n keyEntities = _this$state2.keyEntities,\n dragChildrenKeys = _this$state2.dragChildrenKeys,\n flattenNodes = _this$state2.flattenNodes,\n indent = _this$state2.indent;\n var _this$props = _this.props,\n onDragEnter = _this$props.onDragEnter,\n onExpand = _this$props.onExpand,\n allowDrop = _this$props.allowDrop,\n direction = _this$props.direction;\n var _node$props = node.props,\n pos = _node$props.pos,\n eventKey = _node$props.eventKey;\n var _assertThisInitialize = _assertThisInitialized(_this),\n dragNode = _assertThisInitialize.dragNode;\n\n // record the key of node which is latest entered, used in dragleave event.\n if (_this.currentMouseOverDroppableNodeKey !== eventKey) {\n _this.currentMouseOverDroppableNodeKey = eventKey;\n }\n if (!dragNode) {\n _this.resetDragState();\n return;\n }\n var _calcDropPosition = calcDropPosition(event, dragNode, node, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition.dropPosition,\n dropLevelOffset = _calcDropPosition.dropLevelOffset,\n dropTargetKey = _calcDropPosition.dropTargetKey,\n dropContainerKey = _calcDropPosition.dropContainerKey,\n dropTargetPos = _calcDropPosition.dropTargetPos,\n dropAllowed = _calcDropPosition.dropAllowed,\n dragOverNodeKey = _calcDropPosition.dragOverNodeKey;\n if (\n // don't allow drop inside its children\n dragChildrenKeys.indexOf(dropTargetKey) !== -1 ||\n // don't allow drop when drop is not allowed caculated by calcDropPosition\n !dropAllowed) {\n _this.resetDragState();\n return;\n }\n\n // Side effect for delay drag\n if (!_this.delayedDragEnterLogic) {\n _this.delayedDragEnterLogic = {};\n }\n Object.keys(_this.delayedDragEnterLogic).forEach(function (key) {\n clearTimeout(_this.delayedDragEnterLogic[key]);\n });\n if (dragNode.props.eventKey !== node.props.eventKey) {\n // hoist expand logic here\n // since if logic is on the bottom\n // it will be blocked by abstract dragover node check\n // => if you dragenter from top, you mouse will still be consider as in the top node\n event.persist();\n _this.delayedDragEnterLogic[pos] = window.setTimeout(function () {\n if (_this.state.draggingNodeKey === null) return;\n var newExpandedKeys = _toConsumableArray(expandedKeys);\n var entity = getEntity(keyEntities, node.props.eventKey);\n if (entity && (entity.children || []).length) {\n newExpandedKeys = arrAdd(expandedKeys, node.props.eventKey);\n }\n if (!_this.props.hasOwnProperty('expandedKeys')) {\n _this.setExpandedKeys(newExpandedKeys);\n }\n onExpand === null || onExpand === void 0 || onExpand(newExpandedKeys, {\n node: convertNodePropsToEventData(node.props),\n expanded: true,\n nativeEvent: event.nativeEvent\n });\n }, 800);\n }\n\n // Skip if drag node is self\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n _this.resetDragState();\n return;\n }\n\n // Update drag over node and drag state\n _this.setState({\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed\n });\n onDragEnter === null || onDragEnter === void 0 || onDragEnter({\n event: event,\n node: convertNodePropsToEventData(node.props),\n expandedKeys: expandedKeys\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragOver\", function (event, node) {\n var _this$state3 = _this.state,\n dragChildrenKeys = _this$state3.dragChildrenKeys,\n flattenNodes = _this$state3.flattenNodes,\n keyEntities = _this$state3.keyEntities,\n expandedKeys = _this$state3.expandedKeys,\n indent = _this$state3.indent;\n var _this$props2 = _this.props,\n onDragOver = _this$props2.onDragOver,\n allowDrop = _this$props2.allowDrop,\n direction = _this$props2.direction;\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n dragNode = _assertThisInitialize2.dragNode;\n if (!dragNode) {\n return;\n }\n var _calcDropPosition2 = calcDropPosition(event, dragNode, node, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition2.dropPosition,\n dropLevelOffset = _calcDropPosition2.dropLevelOffset,\n dropTargetKey = _calcDropPosition2.dropTargetKey,\n dropContainerKey = _calcDropPosition2.dropContainerKey,\n dropAllowed = _calcDropPosition2.dropAllowed,\n dropTargetPos = _calcDropPosition2.dropTargetPos,\n dragOverNodeKey = _calcDropPosition2.dragOverNodeKey;\n if (dragChildrenKeys.indexOf(dropTargetKey) !== -1 || !dropAllowed) {\n // don't allow drop inside its children\n // don't allow drop when drop is not allowed calculated by calcDropPosition\n return;\n }\n\n // Update drag position\n\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n if (!(_this.state.dropPosition === null && _this.state.dropLevelOffset === null && _this.state.dropTargetKey === null && _this.state.dropContainerKey === null && _this.state.dropTargetPos === null && _this.state.dropAllowed === false && _this.state.dragOverNodeKey === null)) {\n _this.resetDragState();\n }\n } else if (!(dropPosition === _this.state.dropPosition && dropLevelOffset === _this.state.dropLevelOffset && dropTargetKey === _this.state.dropTargetKey && dropContainerKey === _this.state.dropContainerKey && dropTargetPos === _this.state.dropTargetPos && dropAllowed === _this.state.dropAllowed && dragOverNodeKey === _this.state.dragOverNodeKey)) {\n _this.setState({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed,\n dragOverNodeKey: dragOverNodeKey\n });\n }\n onDragOver === null || onDragOver === void 0 || onDragOver({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragLeave\", function (event, node) {\n // if it is outside the droppable area\n // currentMouseOverDroppableNodeKey will be updated in dragenter event when into another droppable receiver.\n if (_this.currentMouseOverDroppableNodeKey === node.props.eventKey && !event.currentTarget.contains(event.relatedTarget)) {\n _this.resetDragState();\n _this.currentMouseOverDroppableNodeKey = null;\n }\n var onDragLeave = _this.props.onDragLeave;\n onDragLeave === null || onDragLeave === void 0 || onDragLeave({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n });\n // since stopPropagation() is called in treeNode\n // if onWindowDrag is called, whice means state is keeped, drag state should be cleared\n _defineProperty(_assertThisInitialized(_this), \"onWindowDragEnd\", function (event) {\n _this.onNodeDragEnd(event, null, true);\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n });\n // if onNodeDragEnd is called, onWindowDragEnd won't be called since stopPropagation() is called\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragEnd\", function (event, node) {\n var onDragEnd = _this.props.onDragEnd;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n onDragEnd === null || onDragEnd === void 0 || onDragEnd({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n _this.dragNode = null;\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeDrop\", function (event, node) {\n var _this$getActiveItem;\n var outsideTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var _this$state4 = _this.state,\n dragChildrenKeys = _this$state4.dragChildrenKeys,\n dropPosition = _this$state4.dropPosition,\n dropTargetKey = _this$state4.dropTargetKey,\n dropTargetPos = _this$state4.dropTargetPos,\n dropAllowed = _this$state4.dropAllowed;\n if (!dropAllowed) return;\n var onDrop = _this.props.onDrop;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n if (dropTargetKey === null) return;\n var abstractDropNodeProps = _objectSpread(_objectSpread({}, getTreeNodeProps(dropTargetKey, _this.getTreeNodeRequiredProps())), {}, {\n active: ((_this$getActiveItem = _this.getActiveItem()) === null || _this$getActiveItem === void 0 ? void 0 : _this$getActiveItem.key) === dropTargetKey,\n data: getEntity(_this.state.keyEntities, dropTargetKey).node\n });\n var dropToChild = dragChildrenKeys.indexOf(dropTargetKey) !== -1;\n warning(!dropToChild, \"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.\");\n var posArr = posToArr(dropTargetPos);\n var dropResult = {\n event: event,\n node: convertNodePropsToEventData(abstractDropNodeProps),\n dragNode: _this.dragNode ? convertNodePropsToEventData(_this.dragNode.props) : null,\n dragNodesKeys: [_this.dragNode.props.eventKey].concat(dragChildrenKeys),\n dropToGap: dropPosition !== 0,\n dropPosition: dropPosition + Number(posArr[posArr.length - 1])\n };\n if (!outsideTree) {\n onDrop === null || onDrop === void 0 || onDrop(dropResult);\n }\n _this.dragNode = null;\n });\n _defineProperty(_assertThisInitialized(_this), \"cleanDragState\", function () {\n var draggingNodeKey = _this.state.draggingNodeKey;\n if (draggingNodeKey !== null) {\n _this.setState({\n draggingNodeKey: null,\n dropPosition: null,\n dropContainerKey: null,\n dropTargetKey: null,\n dropLevelOffset: null,\n dropAllowed: true,\n dragOverNodeKey: null\n });\n }\n _this.dragStartMousePosition = null;\n _this.currentMouseOverDroppableNodeKey = null;\n });\n _defineProperty(_assertThisInitialized(_this), \"triggerExpandActionExpand\", function (e, treeNode) {\n var _this$state5 = _this.state,\n expandedKeys = _this$state5.expandedKeys,\n flattenNodes = _this$state5.flattenNodes;\n var expanded = treeNode.expanded,\n key = treeNode.key,\n isLeaf = treeNode.isLeaf;\n if (isLeaf || e.shiftKey || e.metaKey || e.ctrlKey) {\n return;\n }\n var node = flattenNodes.filter(function (nodeItem) {\n return nodeItem.key === key;\n })[0];\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(key, _this.getTreeNodeRequiredProps())), {}, {\n data: node.data\n }));\n _this.setExpandedKeys(expanded ? arrDel(expandedKeys, key) : arrAdd(expandedKeys, key));\n _this.onNodeExpand(e, eventNode);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeClick\", function (e, treeNode) {\n var _this$props3 = _this.props,\n onClick = _this$props3.onClick,\n expandAction = _this$props3.expandAction;\n if (expandAction === 'click') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onClick === null || onClick === void 0 || onClick(e, treeNode);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeDoubleClick\", function (e, treeNode) {\n var _this$props4 = _this.props,\n onDoubleClick = _this$props4.onDoubleClick,\n expandAction = _this$props4.expandAction;\n if (expandAction === 'doubleClick') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onDoubleClick === null || onDoubleClick === void 0 || onDoubleClick(e, treeNode);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeSelect\", function (e, treeNode) {\n var selectedKeys = _this.state.selectedKeys;\n var _this$state6 = _this.state,\n keyEntities = _this$state6.keyEntities,\n fieldNames = _this$state6.fieldNames;\n var _this$props5 = _this.props,\n onSelect = _this$props5.onSelect,\n multiple = _this$props5.multiple;\n var selected = treeNode.selected;\n var key = treeNode[fieldNames.key];\n var targetSelected = !selected;\n\n // Update selected keys\n if (!targetSelected) {\n selectedKeys = arrDel(selectedKeys, key);\n } else if (!multiple) {\n selectedKeys = [key];\n } else {\n selectedKeys = arrAdd(selectedKeys, key);\n }\n\n // [Legacy] Not found related usage in doc or upper libs\n var selectedNodes = selectedKeys.map(function (selectedKey) {\n var entity = getEntity(keyEntities, selectedKey);\n if (!entity) return null;\n return entity.node;\n }).filter(function (node) {\n return node;\n });\n _this.setUncontrolledState({\n selectedKeys: selectedKeys\n });\n onSelect === null || onSelect === void 0 || onSelect(selectedKeys, {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes: selectedNodes,\n nativeEvent: e.nativeEvent\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeCheck\", function (e, treeNode, checked) {\n var _this$state7 = _this.state,\n keyEntities = _this$state7.keyEntities,\n oriCheckedKeys = _this$state7.checkedKeys,\n oriHalfCheckedKeys = _this$state7.halfCheckedKeys;\n var _this$props6 = _this.props,\n checkStrictly = _this$props6.checkStrictly,\n onCheck = _this$props6.onCheck;\n var key = treeNode.key;\n\n // Prepare trigger arguments\n var checkedObj;\n var eventObj = {\n event: 'check',\n node: treeNode,\n checked: checked,\n nativeEvent: e.nativeEvent\n };\n if (checkStrictly) {\n var checkedKeys = checked ? arrAdd(oriCheckedKeys, key) : arrDel(oriCheckedKeys, key);\n var halfCheckedKeys = arrDel(oriHalfCheckedKeys, key);\n checkedObj = {\n checked: checkedKeys,\n halfChecked: halfCheckedKeys\n };\n eventObj.checkedNodes = checkedKeys.map(function (checkedKey) {\n return getEntity(keyEntities, checkedKey);\n }).filter(function (entity) {\n return entity;\n }).map(function (entity) {\n return entity.node;\n });\n _this.setUncontrolledState({\n checkedKeys: checkedKeys\n });\n } else {\n // Always fill first\n var _conductCheck = conductCheck([].concat(_toConsumableArray(oriCheckedKeys), [key]), true, keyEntities),\n _checkedKeys = _conductCheck.checkedKeys,\n _halfCheckedKeys = _conductCheck.halfCheckedKeys;\n\n // If remove, we do it again to correction\n if (!checked) {\n var keySet = new Set(_checkedKeys);\n keySet.delete(key);\n var _conductCheck2 = conductCheck(Array.from(keySet), {\n checked: false,\n halfCheckedKeys: _halfCheckedKeys\n }, keyEntities);\n _checkedKeys = _conductCheck2.checkedKeys;\n _halfCheckedKeys = _conductCheck2.halfCheckedKeys;\n }\n checkedObj = _checkedKeys;\n\n // [Legacy] This is used for `rc-tree-select`\n eventObj.checkedNodes = [];\n eventObj.checkedNodesPositions = [];\n eventObj.halfCheckedKeys = _halfCheckedKeys;\n _checkedKeys.forEach(function (checkedKey) {\n var entity = getEntity(keyEntities, checkedKey);\n if (!entity) return;\n var node = entity.node,\n pos = entity.pos;\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({\n node: node,\n pos: pos\n });\n });\n _this.setUncontrolledState({\n checkedKeys: _checkedKeys\n }, false, {\n halfCheckedKeys: _halfCheckedKeys\n });\n }\n onCheck === null || onCheck === void 0 || onCheck(checkedObj, eventObj);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeLoad\", function (treeNode) {\n var _entity$children;\n var key = treeNode.key;\n var keyEntities = _this.state.keyEntities;\n\n // Skip if has children already\n var entity = getEntity(keyEntities, key);\n if (entity !== null && entity !== void 0 && (_entity$children = entity.children) !== null && _entity$children !== void 0 && _entity$children.length) {\n return;\n }\n var loadPromise = new Promise(function (resolve, reject) {\n // We need to get the latest state of loading/loaded keys\n _this.setState(function (_ref) {\n var _ref$loadedKeys = _ref.loadedKeys,\n loadedKeys = _ref$loadedKeys === void 0 ? [] : _ref$loadedKeys,\n _ref$loadingKeys = _ref.loadingKeys,\n loadingKeys = _ref$loadingKeys === void 0 ? [] : _ref$loadingKeys;\n var _this$props7 = _this.props,\n loadData = _this$props7.loadData,\n onLoad = _this$props7.onLoad;\n if (!loadData || loadedKeys.indexOf(key) !== -1 || loadingKeys.indexOf(key) !== -1) {\n return null;\n }\n\n // Process load data\n var promise = loadData(treeNode);\n promise.then(function () {\n var currentLoadedKeys = _this.state.loadedKeys;\n var newLoadedKeys = arrAdd(currentLoadedKeys, key);\n\n // onLoad should trigger before internal setState to avoid `loadData` trigger twice.\n // https://github.com/ant-design/ant-design/issues/12464\n onLoad === null || onLoad === void 0 || onLoad(newLoadedKeys, {\n event: 'load',\n node: treeNode\n });\n _this.setUncontrolledState({\n loadedKeys: newLoadedKeys\n });\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n resolve();\n }).catch(function (e) {\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n\n // If exceed max retry times, we give up retry\n _this.loadingRetryTimes[key] = (_this.loadingRetryTimes[key] || 0) + 1;\n if (_this.loadingRetryTimes[key] >= MAX_RETRY_TIMES) {\n var currentLoadedKeys = _this.state.loadedKeys;\n warning(false, 'Retry for `loadData` many times but still failed. No more retry.');\n _this.setUncontrolledState({\n loadedKeys: arrAdd(currentLoadedKeys, key)\n });\n resolve();\n }\n reject(e);\n });\n return {\n loadingKeys: arrAdd(loadingKeys, key)\n };\n });\n });\n\n // Not care warning if we ignore this\n loadPromise.catch(function () {});\n return loadPromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeMouseEnter\", function (event, node) {\n var onMouseEnter = _this.props.onMouseEnter;\n onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({\n event: event,\n node: node\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeMouseLeave\", function (event, node) {\n var onMouseLeave = _this.props.onMouseLeave;\n onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({\n event: event,\n node: node\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeContextMenu\", function (event, node) {\n var onRightClick = _this.props.onRightClick;\n if (onRightClick) {\n event.preventDefault();\n onRightClick({\n event: event,\n node: node\n });\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onFocus\", function () {\n var onFocus = _this.props.onFocus;\n _this.setState({\n focused: true\n });\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n onFocus === null || onFocus === void 0 || onFocus.apply(void 0, args);\n });\n _defineProperty(_assertThisInitialized(_this), \"onBlur\", function () {\n var onBlur = _this.props.onBlur;\n _this.setState({\n focused: false\n });\n _this.onActiveChange(null);\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n onBlur === null || onBlur === void 0 || onBlur.apply(void 0, args);\n });\n _defineProperty(_assertThisInitialized(_this), \"getTreeNodeRequiredProps\", function () {\n var _this$state8 = _this.state,\n expandedKeys = _this$state8.expandedKeys,\n selectedKeys = _this$state8.selectedKeys,\n loadedKeys = _this$state8.loadedKeys,\n loadingKeys = _this$state8.loadingKeys,\n checkedKeys = _this$state8.checkedKeys,\n halfCheckedKeys = _this$state8.halfCheckedKeys,\n dragOverNodeKey = _this$state8.dragOverNodeKey,\n dropPosition = _this$state8.dropPosition,\n keyEntities = _this$state8.keyEntities;\n return {\n expandedKeys: expandedKeys || [],\n selectedKeys: selectedKeys || [],\n loadedKeys: loadedKeys || [],\n loadingKeys: loadingKeys || [],\n checkedKeys: checkedKeys || [],\n halfCheckedKeys: halfCheckedKeys || [],\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n });\n // =========================== Expanded ===========================\n /** Set uncontrolled `expandedKeys`. This will also auto update `flattenNodes`. */\n _defineProperty(_assertThisInitialized(_this), \"setExpandedKeys\", function (expandedKeys) {\n var _this$state9 = _this.state,\n treeData = _this$state9.treeData,\n fieldNames = _this$state9.fieldNames;\n var flattenNodes = flattenTreeData(treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n expandedKeys: expandedKeys,\n flattenNodes: flattenNodes\n }, true);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeExpand\", function (e, treeNode) {\n var expandedKeys = _this.state.expandedKeys;\n var _this$state10 = _this.state,\n listChanging = _this$state10.listChanging,\n fieldNames = _this$state10.fieldNames;\n var _this$props8 = _this.props,\n onExpand = _this$props8.onExpand,\n loadData = _this$props8.loadData;\n var expanded = treeNode.expanded;\n var key = treeNode[fieldNames.key];\n\n // Do nothing when motion is in progress\n if (listChanging) {\n return;\n }\n\n // Update selected keys\n var index = expandedKeys.indexOf(key);\n var targetExpanded = !expanded;\n warning(expanded && index !== -1 || !expanded && index === -1, 'Expand state not sync with index check');\n if (targetExpanded) {\n expandedKeys = arrAdd(expandedKeys, key);\n } else {\n expandedKeys = arrDel(expandedKeys, key);\n }\n _this.setExpandedKeys(expandedKeys);\n onExpand === null || onExpand === void 0 || onExpand(expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e.nativeEvent\n });\n\n // Async Load data\n if (targetExpanded && loadData) {\n var loadPromise = _this.onNodeLoad(treeNode);\n if (loadPromise) {\n loadPromise.then(function () {\n // [Legacy] Refresh logic\n var newFlattenTreeData = flattenTreeData(_this.state.treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n flattenNodes: newFlattenTreeData\n });\n }).catch(function () {\n var currentExpandedKeys = _this.state.expandedKeys;\n var expandedKeysToRestore = arrDel(currentExpandedKeys, key);\n _this.setExpandedKeys(expandedKeysToRestore);\n });\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onListChangeStart\", function () {\n _this.setUncontrolledState({\n listChanging: true\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onListChangeEnd\", function () {\n setTimeout(function () {\n _this.setUncontrolledState({\n listChanging: false\n });\n });\n });\n // =========================== Keyboard ===========================\n _defineProperty(_assertThisInitialized(_this), \"onActiveChange\", function (newActiveKey) {\n var activeKey = _this.state.activeKey;\n var _this$props9 = _this.props,\n onActiveChange = _this$props9.onActiveChange,\n _this$props9$itemScro = _this$props9.itemScrollOffset,\n itemScrollOffset = _this$props9$itemScro === void 0 ? 0 : _this$props9$itemScro;\n if (activeKey === newActiveKey) {\n return;\n }\n _this.setState({\n activeKey: newActiveKey\n });\n if (newActiveKey !== null) {\n _this.scrollTo({\n key: newActiveKey,\n offset: itemScrollOffset\n });\n }\n onActiveChange === null || onActiveChange === void 0 || onActiveChange(newActiveKey);\n });\n _defineProperty(_assertThisInitialized(_this), \"getActiveItem\", function () {\n var _this$state11 = _this.state,\n activeKey = _this$state11.activeKey,\n flattenNodes = _this$state11.flattenNodes;\n if (activeKey === null) {\n return null;\n }\n return flattenNodes.find(function (_ref2) {\n var key = _ref2.key;\n return key === activeKey;\n }) || null;\n });\n _defineProperty(_assertThisInitialized(_this), \"offsetActiveKey\", function (offset) {\n var _this$state12 = _this.state,\n flattenNodes = _this$state12.flattenNodes,\n activeKey = _this$state12.activeKey;\n var index = flattenNodes.findIndex(function (_ref3) {\n var key = _ref3.key;\n return key === activeKey;\n });\n\n // Align with index\n if (index === -1 && offset < 0) {\n index = flattenNodes.length;\n }\n index = (index + offset + flattenNodes.length) % flattenNodes.length;\n var item = flattenNodes[index];\n if (item) {\n var _key4 = item.key;\n _this.onActiveChange(_key4);\n } else {\n _this.onActiveChange(null);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onKeyDown\", function (event) {\n var _this$state13 = _this.state,\n activeKey = _this$state13.activeKey,\n expandedKeys = _this$state13.expandedKeys,\n checkedKeys = _this$state13.checkedKeys,\n fieldNames = _this$state13.fieldNames;\n var _this$props10 = _this.props,\n onKeyDown = _this$props10.onKeyDown,\n checkable = _this$props10.checkable,\n selectable = _this$props10.selectable;\n\n // >>>>>>>>>> Direction\n switch (event.which) {\n case KeyCode.UP:\n {\n _this.offsetActiveKey(-1);\n event.preventDefault();\n break;\n }\n case KeyCode.DOWN:\n {\n _this.offsetActiveKey(1);\n event.preventDefault();\n break;\n }\n }\n\n // >>>>>>>>>> Expand & Selection\n var activeItem = _this.getActiveItem();\n if (activeItem && activeItem.data) {\n var treeNodeRequiredProps = _this.getTreeNodeRequiredProps();\n var expandable = activeItem.data.isLeaf === false || !!(activeItem.data[fieldNames.children] || []).length;\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(activeKey, treeNodeRequiredProps)), {}, {\n data: activeItem.data,\n active: true\n }));\n switch (event.which) {\n // >>> Expand\n case KeyCode.LEFT:\n {\n // Collapse if possible\n if (expandable && expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.parent) {\n _this.onActiveChange(activeItem.parent.key);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.RIGHT:\n {\n // Expand if possible\n if (expandable && !expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.children && activeItem.children.length) {\n _this.onActiveChange(activeItem.children[0].key);\n }\n event.preventDefault();\n break;\n }\n\n // Selection\n case KeyCode.ENTER:\n case KeyCode.SPACE:\n {\n if (checkable && !eventNode.disabled && eventNode.checkable !== false && !eventNode.disableCheckbox) {\n _this.onNodeCheck({}, eventNode, !checkedKeys.includes(activeKey));\n } else if (!checkable && selectable && !eventNode.disabled && eventNode.selectable !== false) {\n _this.onNodeSelect({}, eventNode);\n }\n break;\n }\n }\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);\n });\n /**\n * Only update the value which is not in props\n */\n _defineProperty(_assertThisInitialized(_this), \"setUncontrolledState\", function (state) {\n var atomic = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var forceState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (!_this.destroyed) {\n var needSync = false;\n var allPassed = true;\n var newState = {};\n Object.keys(state).forEach(function (name) {\n if (_this.props.hasOwnProperty(name)) {\n allPassed = false;\n return;\n }\n needSync = true;\n newState[name] = state[name];\n });\n if (needSync && (!atomic || allPassed)) {\n _this.setState(_objectSpread(_objectSpread({}, newState), forceState));\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"scrollTo\", function (scroll) {\n _this.listRef.current.scrollTo(scroll);\n });\n return _this;\n }\n _createClass(Tree, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.destroyed = false;\n this.onUpdated();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onUpdated();\n }\n }, {\n key: \"onUpdated\",\n value: function onUpdated() {\n var _this$props11 = this.props,\n activeKey = _this$props11.activeKey,\n _this$props11$itemScr = _this$props11.itemScrollOffset,\n itemScrollOffset = _this$props11$itemScr === void 0 ? 0 : _this$props11$itemScr;\n if (activeKey !== undefined && activeKey !== this.state.activeKey) {\n this.setState({\n activeKey: activeKey\n });\n if (activeKey !== null) {\n this.scrollTo({\n key: activeKey,\n offset: itemScrollOffset\n });\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('dragend', this.onWindowDragEnd);\n this.destroyed = true;\n }\n }, {\n key: \"resetDragState\",\n value: function resetDragState() {\n this.setState({\n dragOverNodeKey: null,\n dropPosition: null,\n dropLevelOffset: null,\n dropTargetKey: null,\n dropContainerKey: null,\n dropTargetPos: null,\n dropAllowed: false\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state14 = this.state,\n focused = _this$state14.focused,\n flattenNodes = _this$state14.flattenNodes,\n keyEntities = _this$state14.keyEntities,\n draggingNodeKey = _this$state14.draggingNodeKey,\n activeKey = _this$state14.activeKey,\n dropLevelOffset = _this$state14.dropLevelOffset,\n dropContainerKey = _this$state14.dropContainerKey,\n dropTargetKey = _this$state14.dropTargetKey,\n dropPosition = _this$state14.dropPosition,\n dragOverNodeKey = _this$state14.dragOverNodeKey,\n indent = _this$state14.indent;\n var _this$props12 = this.props,\n prefixCls = _this$props12.prefixCls,\n className = _this$props12.className,\n style = _this$props12.style,\n showLine = _this$props12.showLine,\n focusable = _this$props12.focusable,\n _this$props12$tabInde = _this$props12.tabIndex,\n tabIndex = _this$props12$tabInde === void 0 ? 0 : _this$props12$tabInde,\n selectable = _this$props12.selectable,\n showIcon = _this$props12.showIcon,\n icon = _this$props12.icon,\n switcherIcon = _this$props12.switcherIcon,\n draggable = _this$props12.draggable,\n checkable = _this$props12.checkable,\n checkStrictly = _this$props12.checkStrictly,\n disabled = _this$props12.disabled,\n motion = _this$props12.motion,\n loadData = _this$props12.loadData,\n filterTreeNode = _this$props12.filterTreeNode,\n height = _this$props12.height,\n itemHeight = _this$props12.itemHeight,\n virtual = _this$props12.virtual,\n titleRender = _this$props12.titleRender,\n dropIndicatorRender = _this$props12.dropIndicatorRender,\n onContextMenu = _this$props12.onContextMenu,\n onScroll = _this$props12.onScroll,\n direction = _this$props12.direction,\n rootClassName = _this$props12.rootClassName,\n rootStyle = _this$props12.rootStyle;\n var domProps = pickAttrs(this.props, {\n aria: true,\n data: true\n });\n\n // It's better move to hooks but we just simply keep here\n var draggableConfig;\n if (draggable) {\n if (_typeof(draggable) === 'object') {\n draggableConfig = draggable;\n } else if (typeof draggable === 'function') {\n draggableConfig = {\n nodeDraggable: draggable\n };\n } else {\n draggableConfig = {};\n }\n }\n return /*#__PURE__*/React.createElement(TreeContext.Provider, {\n value: {\n prefixCls: prefixCls,\n selectable: selectable,\n showIcon: showIcon,\n icon: icon,\n switcherIcon: switcherIcon,\n draggable: draggableConfig,\n draggingNodeKey: draggingNodeKey,\n checkable: checkable,\n checkStrictly: checkStrictly,\n disabled: disabled,\n keyEntities: keyEntities,\n dropLevelOffset: dropLevelOffset,\n dropContainerKey: dropContainerKey,\n dropTargetKey: dropTargetKey,\n dropPosition: dropPosition,\n dragOverNodeKey: dragOverNodeKey,\n indent: indent,\n direction: direction,\n dropIndicatorRender: dropIndicatorRender,\n loadData: loadData,\n filterTreeNode: filterTreeNode,\n titleRender: titleRender,\n onNodeClick: this.onNodeClick,\n onNodeDoubleClick: this.onNodeDoubleClick,\n onNodeExpand: this.onNodeExpand,\n onNodeSelect: this.onNodeSelect,\n onNodeCheck: this.onNodeCheck,\n onNodeLoad: this.onNodeLoad,\n onNodeMouseEnter: this.onNodeMouseEnter,\n onNodeMouseLeave: this.onNodeMouseLeave,\n onNodeContextMenu: this.onNodeContextMenu,\n onNodeDragStart: this.onNodeDragStart,\n onNodeDragEnter: this.onNodeDragEnter,\n onNodeDragOver: this.onNodeDragOver,\n onNodeDragLeave: this.onNodeDragLeave,\n onNodeDragEnd: this.onNodeDragEnd,\n onNodeDrop: this.onNodeDrop\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"tree\",\n className: classNames(prefixCls, className, rootClassName, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-show-line\"), showLine), \"\".concat(prefixCls, \"-focused\"), focused), \"\".concat(prefixCls, \"-active-focused\"), activeKey !== null)),\n style: rootStyle\n }, /*#__PURE__*/React.createElement(NodeList, _extends({\n ref: this.listRef,\n prefixCls: prefixCls,\n style: style,\n data: flattenNodes,\n disabled: disabled,\n selectable: selectable,\n checkable: !!checkable,\n motion: motion,\n dragging: draggingNodeKey !== null,\n height: height,\n itemHeight: itemHeight,\n virtual: virtual,\n focusable: focusable,\n focused: focused,\n tabIndex: tabIndex,\n activeItem: this.getActiveItem(),\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeyDown: this.onKeyDown,\n onActiveChange: this.onActiveChange,\n onListChangeStart: this.onListChangeStart,\n onListChangeEnd: this.onListChangeEnd,\n onContextMenu: onContextMenu,\n onScroll: onScroll\n }, this.getTreeNodeRequiredProps(), domProps))));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, prevState) {\n var prevProps = prevState.prevProps;\n var newState = {\n prevProps: props\n };\n function needSync(name) {\n return !prevProps && props.hasOwnProperty(name) || prevProps && prevProps[name] !== props[name];\n }\n\n // ================== Tree Node ==================\n var treeData;\n\n // fieldNames\n var fieldNames = prevState.fieldNames;\n if (needSync('fieldNames')) {\n fieldNames = fillFieldNames(props.fieldNames);\n newState.fieldNames = fieldNames;\n }\n\n // Check if `treeData` or `children` changed and save into the state.\n if (needSync('treeData')) {\n treeData = props.treeData;\n } else if (needSync('children')) {\n warning(false, '`children` of Tree is deprecated. Please use `treeData` instead.');\n treeData = convertTreeToData(props.children);\n }\n\n // Save flatten nodes info and convert `treeData` into keyEntities\n if (treeData) {\n newState.treeData = treeData;\n var entitiesMap = convertDataToEntities(treeData, {\n fieldNames: fieldNames\n });\n newState.keyEntities = _objectSpread(_defineProperty({}, MOTION_KEY, MotionEntity), entitiesMap.keyEntities);\n\n // Warning if treeNode not provide key\n if (process.env.NODE_ENV !== 'production') {\n warningWithoutKey(treeData, fieldNames);\n }\n }\n var keyEntities = newState.keyEntities || prevState.keyEntities;\n\n // ================ expandedKeys =================\n if (needSync('expandedKeys') || prevProps && needSync('autoExpandParent')) {\n newState.expandedKeys = props.autoExpandParent || !prevProps && props.defaultExpandParent ? conductExpandParent(props.expandedKeys, keyEntities) : props.expandedKeys;\n } else if (!prevProps && props.defaultExpandAll) {\n var cloneKeyEntities = _objectSpread({}, keyEntities);\n delete cloneKeyEntities[MOTION_KEY];\n\n // Only take the key who has the children to enhance the performance\n var nextExpandedKeys = [];\n Object.keys(cloneKeyEntities).forEach(function (key) {\n var entity = cloneKeyEntities[key];\n if (entity.children && entity.children.length) {\n nextExpandedKeys.push(entity.key);\n }\n });\n newState.expandedKeys = nextExpandedKeys;\n } else if (!prevProps && props.defaultExpandedKeys) {\n newState.expandedKeys = props.autoExpandParent || props.defaultExpandParent ? conductExpandParent(props.defaultExpandedKeys, keyEntities) : props.defaultExpandedKeys;\n }\n if (!newState.expandedKeys) {\n delete newState.expandedKeys;\n }\n\n // ================ flattenNodes =================\n if (treeData || newState.expandedKeys) {\n var flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, fieldNames);\n newState.flattenNodes = flattenNodes;\n }\n\n // ================ selectedKeys =================\n if (props.selectable) {\n if (needSync('selectedKeys')) {\n newState.selectedKeys = calcSelectedKeys(props.selectedKeys, props);\n } else if (!prevProps && props.defaultSelectedKeys) {\n newState.selectedKeys = calcSelectedKeys(props.defaultSelectedKeys, props);\n }\n }\n\n // ================= checkedKeys =================\n if (props.checkable) {\n var checkedKeyEntity;\n if (needSync('checkedKeys')) {\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {};\n } else if (!prevProps && props.defaultCheckedKeys) {\n checkedKeyEntity = parseCheckedKeys(props.defaultCheckedKeys) || {};\n } else if (treeData) {\n // If `treeData` changed, we also need check it\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {\n checkedKeys: prevState.checkedKeys,\n halfCheckedKeys: prevState.halfCheckedKeys\n };\n }\n if (checkedKeyEntity) {\n var _checkedKeyEntity = checkedKeyEntity,\n _checkedKeyEntity$che = _checkedKeyEntity.checkedKeys,\n checkedKeys = _checkedKeyEntity$che === void 0 ? [] : _checkedKeyEntity$che,\n _checkedKeyEntity$hal = _checkedKeyEntity.halfCheckedKeys,\n halfCheckedKeys = _checkedKeyEntity$hal === void 0 ? [] : _checkedKeyEntity$hal;\n if (!props.checkStrictly) {\n var conductKeys = conductCheck(checkedKeys, true, keyEntities);\n checkedKeys = conductKeys.checkedKeys;\n halfCheckedKeys = conductKeys.halfCheckedKeys;\n }\n newState.checkedKeys = checkedKeys;\n newState.halfCheckedKeys = halfCheckedKeys;\n }\n }\n\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState.loadedKeys = props.loadedKeys;\n }\n return newState;\n }\n }]);\n return Tree;\n}(React.Component);\n_defineProperty(Tree, \"defaultProps\", {\n prefixCls: 'rc-tree',\n showLine: false,\n showIcon: true,\n selectable: true,\n multiple: false,\n checkable: false,\n disabled: false,\n checkStrictly: false,\n draggable: false,\n defaultExpandParent: true,\n autoExpandParent: false,\n defaultExpandAll: false,\n defaultExpandedKeys: [],\n defaultCheckedKeys: [],\n defaultSelectedKeys: [],\n dropIndicatorRender: DropIndicator,\n allowDrop: function allowDrop() {\n return true;\n },\n expandAction: false\n});\n_defineProperty(Tree, \"TreeNode\", TreeNode);\nexport default Tree;","import * as React from 'react';\nexport default function DropIndicator(_ref) {\n var dropPosition = _ref.dropPosition,\n dropLevelOffset = _ref.dropLevelOffset,\n indent = _ref.indent;\n var style = {\n pointerEvents: 'none',\n position: 'absolute',\n right: 0,\n backgroundColor: 'red',\n height: 2\n };\n switch (dropPosition) {\n case -1:\n style.top = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 1:\n style.bottom = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 0:\n style.bottom = 0;\n style.left = indent;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style\n });\n}","import Tree from \"./Tree\";\nimport TreeNode from \"./TreeNode\";\nexport { TreeNode };\nexport default Tree;","// This icon file is generated automatically.\nvar FolderOpenOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z\" } }] }, \"name\": \"folder-open\", \"theme\": \"outlined\" };\nexport default FolderOpenOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FolderOpenOutlinedSvg from \"@ant-design/icons-svg/es/asn/FolderOpenOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FolderOpenOutlined = function FolderOpenOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FolderOpenOutlinedSvg\n }));\n};\n\n/**![folder-open](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkyOCA0NDRIODIwVjMzMC40YzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ3M0wzNTUuNyAxODYuMmE4LjE1IDguMTUgMCAwMC01LjUtMi4ySDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY1OTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjk4YzEzIDAgMjQuOC03LjkgMjkuNy0yMGwxMzQtMzMyYzEuNS0zLjggMi4zLTcuOSAyLjMtMTIgMC0xNy43LTE0LjMtMzItMzItMzJ6TTEzNiAyNTZoMTg4LjVsMTE5LjYgMTE0LjRINzQ4VjQ0NEgyMzhjLTEzIDAtMjQuOCA3LjktMjkuNyAyMEwxMzYgNjQzLjJWMjU2em02MzUuMyA1MTJIMTU5bDEwMy4zLTI1Nmg2MTIuNEw3NzEuMyA3Njh6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FolderOpenOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FolderOpenOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar HolderOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z\" } }] }, \"name\": \"holder\", \"theme\": \"outlined\" };\nexport default HolderOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport HolderOutlinedSvg from \"@ant-design/icons-svg/es/asn/HolderOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar HolderOutlined = function HolderOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: HolderOutlinedSvg\n }));\n};\n\n/**![holder](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMwMCAyNzYuNWE1NiA1NiAwIDEwNTYtOTcgNTYgNTYgMCAwMC01NiA5N3ptMCAyODRhNTYgNTYgMCAxMDU2LTk3IDU2IDU2IDAgMDAtNTYgOTd6TTY0MCAyMjhhNTYgNTYgMCAxMDExMiAwIDU2IDU2IDAgMDAtMTEyIDB6bTAgMjg0YTU2IDU2IDAgMTAxMTIgMCA1NiA1NiAwIDAwLTExMiAwek0zMDAgODQ0LjVhNTYgNTYgMCAxMDU2LTk3IDU2IDU2IDAgMDAtNTYgOTd6TTY0MCA3OTZhNTYgNTYgMCAxMDExMiAwIDU2IDU2IDAgMDAtMTEyIDB6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(HolderOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'HolderOutlined';\n}\nexport default RefIcon;","// ============================ Directory =============================\nexport const genDirectoryStyle = _ref => {\n let {\n treeCls,\n treeNodeCls,\n directoryNodeSelectedBg,\n directoryNodeSelectedColor,\n motionDurationMid,\n borderRadius,\n controlItemBgHover\n } = _ref;\n return {\n [`${treeCls}${treeCls}-directory ${treeNodeCls}`]: {\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n position: 'static',\n [`> *:not(${treeCls}-drop-indicator)`]: {\n position: 'relative'\n },\n '&:hover': {\n background: 'transparent'\n },\n // Expand interactive area to whole line\n '&:before': {\n position: 'absolute',\n inset: 0,\n transition: `background-color ${motionDurationMid}`,\n content: '\"\"',\n borderRadius\n },\n '&:hover:before': {\n background: controlItemBgHover\n }\n },\n [`${treeCls}-switcher, ${treeCls}-checkbox, ${treeCls}-draggable-icon`]: {\n zIndex: 1\n },\n // ============= Selected =============\n '&-selected': {\n [`${treeCls}-switcher, ${treeCls}-draggable-icon`]: {\n color: directoryNodeSelectedColor\n },\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n color: directoryNodeSelectedColor,\n background: 'transparent',\n '&:before, &:hover:before': {\n background: directoryNodeSelectedBg\n }\n }\n }\n }\n };\n};","import { Keyframes, unit } from '@ant-design/cssinjs';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\nimport { genFocusOutline, resetComponent } from '../../style';\nimport { genCollapseMotion } from '../../style/motion';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport { genDirectoryStyle } from './directory';\n// ============================ Keyframes =============================\nconst treeNodeFX = new Keyframes('ant-tree-node-fx-do-not-use', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\n// ============================== Switch ==============================\nconst getSwitchStyle = (prefixCls, token) => ({\n [`.${prefixCls}-switcher-icon`]: {\n display: 'inline-block',\n fontSize: 10,\n verticalAlign: 'baseline',\n svg: {\n transition: `transform ${token.motionDurationSlow}`\n }\n }\n});\n// =============================== Drop ===============================\nconst getDropIndicatorStyle = (prefixCls, token) => ({\n [`.${prefixCls}-drop-indicator`]: {\n position: 'absolute',\n // it should displayed over the following node\n zIndex: 1,\n height: 2,\n backgroundColor: token.colorPrimary,\n borderRadius: 1,\n pointerEvents: 'none',\n '&:after': {\n position: 'absolute',\n top: -3,\n insetInlineStart: -6,\n width: 8,\n height: 8,\n backgroundColor: 'transparent',\n border: `${unit(token.lineWidthBold)} solid ${token.colorPrimary}`,\n borderRadius: '50%',\n content: '\"\"'\n }\n }\n});\nexport const genBaseStyle = (prefixCls, token) => {\n const {\n treeCls,\n treeNodeCls,\n treeNodePadding,\n titleHeight,\n indentSize,\n nodeSelectedBg,\n nodeHoverBg,\n colorTextQuaternary\n } = token;\n return {\n [treeCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n background: token.colorBgContainer,\n borderRadius: token.borderRadius,\n transition: `background-color ${token.motionDurationSlow}`,\n '&-rtl': {\n direction: 'rtl'\n },\n [`&${treeCls}-rtl ${treeCls}-switcher_close ${treeCls}-switcher-icon svg`]: {\n transform: 'rotate(90deg)'\n },\n [`&-focused:not(:hover):not(${treeCls}-active-focused)`]: Object.assign({}, genFocusOutline(token)),\n // =================== Virtual List ===================\n [`${treeCls}-list-holder-inner`]: {\n alignItems: 'flex-start'\n },\n [`&${treeCls}-block-node`]: {\n [`${treeCls}-list-holder-inner`]: {\n alignItems: 'stretch',\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n flex: 'auto'\n },\n // >>> Drag\n [`${treeNodeCls}.dragging:after`]: {\n position: 'absolute',\n inset: 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 borderRadius: token.borderRadius\n }\n }\n },\n // ===================== TreeNode =====================\n [treeNodeCls]: {\n display: 'flex',\n alignItems: 'flex-start',\n marginBottom: treeNodePadding,\n lineHeight: unit(titleHeight),\n position: 'relative',\n // 非常重要,避免 drop-indicator 在拖拽过程中闪烁\n '&:before': {\n content: '\"\"',\n position: 'absolute',\n zIndex: 1,\n insetInlineStart: 0,\n width: '100%',\n top: '100%',\n height: treeNodePadding\n },\n // Disabled\n [`&-disabled ${treeCls}-node-content-wrapper`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n background: 'transparent'\n }\n },\n // not disable\n [`&:not(${treeNodeCls}-disabled)`]: {\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n '&:hover': {\n color: token.nodeHoverColor\n }\n }\n },\n [`&-active ${treeCls}-node-content-wrapper`]: {\n background: token.controlItemBgHover\n },\n [`&:not(${treeNodeCls}-disabled).filter-node ${treeCls}-title`]: {\n color: token.colorPrimary,\n fontWeight: 500\n },\n '&-draggable': {\n cursor: 'grab',\n [`${treeCls}-draggable-icon`]: {\n // https://github.com/ant-design/ant-design/issues/41915\n flexShrink: 0,\n width: titleHeight,\n textAlign: 'center',\n visibility: 'visible',\n color: colorTextQuaternary\n },\n [`&${treeNodeCls}-disabled ${treeCls}-draggable-icon`]: {\n visibility: 'hidden'\n }\n }\n },\n // >>> Indent\n [`${treeCls}-indent`]: {\n alignSelf: 'stretch',\n whiteSpace: 'nowrap',\n userSelect: 'none',\n '&-unit': {\n display: 'inline-block',\n width: indentSize\n }\n },\n // >>> Drag Handler\n [`${treeCls}-draggable-icon`]: {\n visibility: 'hidden'\n },\n // Switcher / Checkbox\n [`${treeCls}-switcher, ${treeCls}-checkbox`]: {\n marginInlineEnd: token.calc(token.calc(titleHeight).sub(token.controlInteractiveSize)).div(2).equal()\n },\n // >>> Switcher\n [`${treeCls}-switcher`]: Object.assign(Object.assign({}, getSwitchStyle(prefixCls, token)), {\n position: 'relative',\n flex: 'none',\n alignSelf: 'stretch',\n width: titleHeight,\n textAlign: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n transition: `all ${token.motionDurationSlow}`,\n '&-noop': {\n cursor: 'unset'\n },\n '&:before': {\n pointerEvents: 'none',\n content: '\"\"',\n width: titleHeight,\n height: titleHeight,\n position: 'absolute',\n left: {\n _skip_check_: true,\n value: 0\n },\n top: 0,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationSlow}`\n },\n [`&:not(${treeCls}-switcher-noop):hover:before`]: {\n backgroundColor: token.colorBgTextHover\n },\n [`&_close ${treeCls}-switcher-icon svg`]: {\n transform: 'rotate(-90deg)'\n },\n '&-loading-icon': {\n color: token.colorPrimary\n },\n '&-leaf-line': {\n position: 'relative',\n zIndex: 1,\n display: 'inline-block',\n width: '100%',\n height: '100%',\n // https://github.com/ant-design/ant-design/issues/31884\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.calc(titleHeight).div(2).equal(),\n bottom: token.calc(treeNodePadding).mul(-1).equal(),\n marginInlineStart: -1,\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&:after': {\n position: 'absolute',\n width: token.calc(token.calc(titleHeight).div(2).equal()).mul(0.8).equal(),\n height: token.calc(titleHeight).div(2).equal(),\n borderBottom: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n }\n }\n }),\n // >>> Title\n // add `${treeCls}-checkbox + span` to cover checkbox `${checkboxCls} + span`\n [`${treeCls}-node-content-wrapper`]: Object.assign(Object.assign({\n position: 'relative',\n minHeight: titleHeight,\n paddingBlock: 0,\n paddingInline: token.paddingXS,\n background: 'transparent',\n borderRadius: token.borderRadius,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`\n }, getDropIndicatorStyle(prefixCls, token)), {\n '&:hover': {\n backgroundColor: nodeHoverBg\n },\n [`&${treeCls}-node-selected`]: {\n color: token.nodeSelectedColor,\n backgroundColor: nodeSelectedBg\n },\n // Icon\n [`${treeCls}-iconEle`]: {\n display: 'inline-block',\n width: titleHeight,\n height: titleHeight,\n textAlign: 'center',\n verticalAlign: 'top',\n '&:empty': {\n display: 'none'\n }\n }\n }),\n // https://github.com/ant-design/ant-design/issues/28217\n [`${treeCls}-unselectable ${treeCls}-node-content-wrapper:hover`]: {\n backgroundColor: 'transparent'\n },\n [`${treeNodeCls}.drop-container > [draggable]`]: {\n boxShadow: `0 0 0 2px ${token.colorPrimary}`\n },\n // ==================== Show Line =====================\n '&-show-line': {\n // ================ Indent lines ================\n [`${treeCls}-indent-unit`]: {\n position: 'relative',\n height: '100%',\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.calc(titleHeight).div(2).equal(),\n bottom: token.calc(treeNodePadding).mul(-1).equal(),\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&-end:before': {\n display: 'none'\n }\n },\n // ============== Cover Background ==============\n [`${treeCls}-switcher`]: {\n background: 'transparent',\n '&-line-icon': {\n // https://github.com/ant-design/ant-design/issues/32813\n verticalAlign: '-0.15em'\n }\n }\n },\n [`${treeNodeCls}-leaf-last ${treeCls}-switcher-leaf-line:before`]: {\n top: 'auto !important',\n bottom: 'auto !important',\n height: `${unit(token.calc(titleHeight).div(2).equal())} !important`\n }\n })\n };\n};\n// ============================== Merged ==============================\nexport const genTreeStyle = (prefixCls, token) => {\n const treeCls = `.${prefixCls}`;\n const treeNodeCls = `${treeCls}-treenode`;\n const treeNodePadding = token.calc(token.paddingXS).div(2).equal();\n const treeToken = mergeToken(token, {\n treeCls,\n treeNodeCls,\n treeNodePadding\n });\n return [\n // Basic\n genBaseStyle(prefixCls, treeToken),\n // Directory\n genDirectoryStyle(treeToken)];\n};\nexport const initComponentToken = token => {\n const {\n controlHeightSM,\n controlItemBgHover,\n controlItemBgActive\n } = token;\n const titleHeight = controlHeightSM;\n return {\n titleHeight,\n indentSize: titleHeight,\n nodeHoverBg: controlItemBgHover,\n nodeHoverColor: token.colorText,\n nodeSelectedBg: controlItemBgActive,\n nodeSelectedColor: token.colorText\n };\n};\nexport const prepareComponentToken = token => {\n const {\n colorTextLightSolid,\n colorPrimary\n } = token;\n return Object.assign(Object.assign({}, initComponentToken(token)), {\n directoryNodeSelectedColor: colorTextLightSolid,\n directoryNodeSelectedBg: colorPrimary\n });\n};\nexport default genStyleHooks('Tree', (token, _ref) => {\n let {\n prefixCls\n } = _ref;\n return [{\n [token.componentCls]: getCheckboxStyle(`${prefixCls}-checkbox`, token)\n }, genTreeStyle(prefixCls, token), genCollapseMotion(token)];\n}, prepareComponentToken);","\"use client\";\n\nimport React from 'react';\nexport const offset = 4;\nfunction dropIndicatorRender(props) {\n const {\n dropPosition,\n dropLevelOffset,\n prefixCls,\n indent,\n direction = 'ltr'\n } = props;\n const startPosition = direction === 'ltr' ? 'left' : 'right';\n const endPosition = direction === 'ltr' ? 'right' : 'left';\n const style = {\n [startPosition]: -dropLevelOffset * indent + offset,\n [endPosition]: 0\n };\n switch (dropPosition) {\n case -1:\n style.top = -3;\n break;\n case 1:\n style.bottom = -3;\n break;\n default:\n // dropPosition === 0\n style.bottom = -3;\n style[startPosition] = indent + offset;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style,\n className: `${prefixCls}-drop-indicator`\n });\n}\nexport default dropIndicatorRender;","// This icon file is generated automatically.\nvar CaretDownFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"filled\" };\nexport default CaretDownFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretDownFilledSvg from \"@ant-design/icons-svg/es/asn/CaretDownFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretDownFilled = function CaretDownFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretDownFilledSvg\n }));\n};\n\n/**![caret-down](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg0MC40IDMwMEgxODMuNmMtMTkuNyAwLTMwLjcgMjAuOC0xOC41IDM1bDMyOC40IDM4MC44YzkuNCAxMC45IDI3LjUgMTAuOSAzNyAwTDg1OC45IDMzNWMxMi4yLTE0LjIgMS4yLTM1LTE4LjUtMzV6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretDownFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretDownFilled';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar MinusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"minus-square\", \"theme\": \"outlined\" };\nexport default MinusSquareOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport MinusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/MinusSquareOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar MinusSquareOutlined = function MinusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: MinusSquareOutlinedSvg\n }));\n};\n\n/**![minus-square](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMyOCA1NDRoMzY4YzQuNCAwIDgtMy42IDgtOHYtNDhjMC00LjQtMy42LTgtOC04SDMyOGMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOHoiIC8+PHBhdGggZD0iTTg4MCAxMTJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY3MzZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTQwIDcyOEgxODRWMTg0aDY1NnY2NTZ6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(MinusSquareOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'MinusSquareOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar PlusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"plus-square\", \"theme\": \"outlined\" };\nexport default PlusSquareOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport PlusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusSquareOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar PlusSquareOutlined = function PlusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: PlusSquareOutlinedSvg\n }));\n};\n\n/**![plus-square](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMyOCA1NDRoMTUydjE1MmMwIDQuNCAzLjYgOCA4IDhoNDhjNC40IDAgOC0zLjYgOC04VjU0NGgxNTJjNC40IDAgOC0zLjYgOC04di00OGMwLTQuNC0zLjYtOC04LThINTQ0VjMyOGMwLTQuNC0zLjYtOC04LThoLTQ4Yy00LjQgMC04IDMuNi04IDh2MTUySDMyOGMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOHoiIC8+PHBhdGggZD0iTTg4MCAxMTJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY3MzZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTQwIDcyOEgxODRWMTg0aDY1NnY2NTZ6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(PlusSquareOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'PlusSquareOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport * as React from 'react';\nimport CaretDownFilled from \"@ant-design/icons/es/icons/CaretDownFilled\";\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport MinusSquareOutlined from \"@ant-design/icons/es/icons/MinusSquareOutlined\";\nimport PlusSquareOutlined from \"@ant-design/icons/es/icons/PlusSquareOutlined\";\nimport classNames from 'classnames';\nimport { cloneElement } from '../../_util/reactNode';\nconst SwitcherIconCom = props => {\n const {\n prefixCls,\n switcherIcon,\n treeNodeProps,\n showLine,\n switcherLoadingIcon\n } = props;\n const {\n isLeaf,\n expanded,\n loading\n } = treeNodeProps;\n if (loading) {\n if (/*#__PURE__*/React.isValidElement(switcherLoadingIcon)) {\n return switcherLoadingIcon;\n }\n return /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: `${prefixCls}-switcher-loading-icon`\n });\n }\n let showLeafIcon;\n if (showLine && typeof showLine === 'object') {\n showLeafIcon = showLine.showLeafIcon;\n }\n if (isLeaf) {\n if (!showLine) {\n return null;\n }\n if (typeof showLeafIcon !== 'boolean' && !!showLeafIcon) {\n const leafIcon = typeof showLeafIcon === 'function' ? showLeafIcon(treeNodeProps) : showLeafIcon;\n const leafCls = `${prefixCls}-switcher-line-custom-icon`;\n if (/*#__PURE__*/React.isValidElement(leafIcon)) {\n return cloneElement(leafIcon, {\n className: classNames(leafIcon.props.className || '', leafCls)\n });\n }\n return leafIcon;\n }\n return showLeafIcon ? (/*#__PURE__*/React.createElement(FileOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n })) : (/*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-switcher-leaf-line`\n }));\n }\n const switcherCls = `${prefixCls}-switcher-icon`;\n const switcher = typeof switcherIcon === 'function' ? switcherIcon(treeNodeProps) : switcherIcon;\n if (/*#__PURE__*/React.isValidElement(switcher)) {\n return cloneElement(switcher, {\n className: classNames(switcher.props.className || '', switcherCls)\n });\n }\n if (switcher !== undefined) {\n return switcher;\n }\n if (showLine) {\n return expanded ? (/*#__PURE__*/React.createElement(MinusSquareOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n })) : (/*#__PURE__*/React.createElement(PlusSquareOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n }));\n }\n return /*#__PURE__*/React.createElement(CaretDownFilled, {\n className: switcherCls\n });\n};\nexport default SwitcherIconCom;","\"use client\";\n\nimport React from 'react';\nimport HolderOutlined from \"@ant-design/icons/es/icons/HolderOutlined\";\nimport classNames from 'classnames';\nimport RcTree from 'rc-tree';\nimport initCollapseMotion from '../_util/motion';\nimport { ConfigContext } from '../config-provider';\nimport { useToken } from '../theme/internal';\nimport useStyle from './style';\nimport dropIndicatorRender from './utils/dropIndicator';\nimport SwitcherIconCom from './utils/iconUtil';\nconst Tree = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a;\n const {\n getPrefixCls,\n direction,\n virtual,\n tree\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n showIcon = false,\n showLine,\n switcherIcon,\n switcherLoadingIcon,\n blockNode = false,\n children,\n checkable = false,\n selectable = true,\n draggable,\n motion: customMotion,\n style\n } = props;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const motion = customMotion !== null && customMotion !== void 0 ? customMotion : Object.assign(Object.assign({}, initCollapseMotion(rootPrefixCls)), {\n motionAppear: false\n });\n const newProps = Object.assign(Object.assign({}, props), {\n checkable,\n selectable,\n showIcon,\n motion,\n blockNode,\n showLine: Boolean(showLine),\n dropIndicatorRender\n });\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const [, token] = useToken();\n const itemHeight = token.paddingXS / 2 + (((_a = token.Tree) === null || _a === void 0 ? void 0 : _a.titleHeight) || token.controlHeightSM);\n const draggableConfig = React.useMemo(() => {\n if (!draggable) {\n return false;\n }\n let mergedDraggable = {};\n switch (typeof draggable) {\n case 'function':\n mergedDraggable.nodeDraggable = draggable;\n break;\n case 'object':\n mergedDraggable = Object.assign({}, draggable);\n break;\n default:\n break;\n // Do nothing\n }\n if (mergedDraggable.icon !== false) {\n mergedDraggable.icon = mergedDraggable.icon || /*#__PURE__*/React.createElement(HolderOutlined, null);\n }\n return mergedDraggable;\n }, [draggable]);\n const renderSwitcherIcon = nodeProps => (/*#__PURE__*/React.createElement(SwitcherIconCom, {\n prefixCls: prefixCls,\n switcherIcon: switcherIcon,\n switcherLoadingIcon: switcherLoadingIcon,\n treeNodeProps: nodeProps,\n showLine: showLine\n }));\n return wrapCSSVar(\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(RcTree, Object.assign({\n itemHeight: itemHeight,\n ref: ref,\n virtual: virtual\n }, newProps, {\n // newProps may contain style so declare style below it\n style: Object.assign(Object.assign({}, tree === null || tree === void 0 ? void 0 : tree.style), style),\n prefixCls: prefixCls,\n className: classNames({\n [`${prefixCls}-icon-hide`]: !showIcon,\n [`${prefixCls}-block-node`]: blockNode,\n [`${prefixCls}-unselectable`]: !selectable,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, tree === null || tree === void 0 ? void 0 : tree.className, className, hashId, cssVarCls),\n direction: direction,\n checkable: checkable ? /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-checkbox-inner`\n }) : checkable,\n selectable: selectable,\n switcherIcon: renderSwitcherIcon,\n draggable: draggableConfig\n }), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tree.displayName = 'Tree';\n}\nexport default Tree;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { fillFieldNames } from \"rc-tree/es/utils/treeUtil\";\nconst RECORD_NONE = 0;\nconst RECORD_START = 1;\nconst RECORD_END = 2;\nfunction traverseNodesKey(treeData, callback, fieldNames) {\n const {\n key: fieldKey,\n children: fieldChildren\n } = fieldNames;\n function processNode(dataNode) {\n const key = dataNode[fieldKey];\n const children = dataNode[fieldChildren];\n if (callback(key, dataNode) !== false) {\n traverseNodesKey(children || [], callback, fieldNames);\n }\n }\n treeData.forEach(processNode);\n}\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(_ref) {\n let {\n treeData,\n expandedKeys,\n startKey,\n endKey,\n fieldNames\n } = _ref;\n const keys = [];\n let record = RECORD_NONE;\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n if (!startKey || !endKey) {\n return [];\n }\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n traverseNodesKey(treeData, key => {\n if (record === RECORD_END) {\n return false;\n }\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n if (record === RECORD_NONE) {\n record = RECORD_START;\n } else if (record === RECORD_START) {\n record = RECORD_END;\n return false;\n }\n } else if (record === RECORD_START) {\n // Append selection\n keys.push(key);\n }\n return expandedKeys.includes(key);\n }, fillFieldNames(fieldNames));\n return keys;\n}\nexport function convertDirectoryKeysToNodes(treeData, keys, fieldNames) {\n const restKeys = _toConsumableArray(keys);\n const nodes = [];\n traverseNodesKey(treeData, (key, node) => {\n const index = restKeys.indexOf(key);\n if (index !== -1) {\n nodes.push(node);\n restKeys.splice(index, 1);\n }\n return !!restKeys.length;\n }, fillFieldNames(fieldNames));\n return nodes;\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport FolderOpenOutlined from \"@ant-design/icons/es/icons/FolderOpenOutlined\";\nimport FolderOutlined from \"@ant-design/icons/es/icons/FolderOutlined\";\nimport classNames from 'classnames';\nimport { conductExpandParent } from \"rc-tree/es/util\";\nimport { convertDataToEntities, convertTreeToData } from \"rc-tree/es/utils/treeUtil\";\nimport { ConfigContext } from '../config-provider';\nimport Tree from './Tree';\nimport { calcRangeKeys, convertDirectoryKeysToNodes } from './utils/dictUtil';\nfunction getIcon(props) {\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return /*#__PURE__*/React.createElement(FileOutlined, null);\n }\n return expanded ? /*#__PURE__*/React.createElement(FolderOpenOutlined, null) : /*#__PURE__*/React.createElement(FolderOutlined, null);\n}\nfunction getTreeData(_ref) {\n let {\n treeData,\n children\n } = _ref;\n return treeData || convertTreeToData(children);\n}\nconst DirectoryTree = (_a, ref) => {\n var {\n defaultExpandAll,\n defaultExpandParent,\n defaultExpandedKeys\n } = _a,\n props = __rest(_a, [\"defaultExpandAll\", \"defaultExpandParent\", \"defaultExpandedKeys\"]);\n // Shift click usage\n const lastSelectedKey = React.useRef();\n const cachedSelectedKeys = React.useRef();\n const getInitExpandedKeys = () => {\n const {\n keyEntities\n } = convertDataToEntities(getTreeData(props));\n let initExpandedKeys;\n // Expanded keys\n if (defaultExpandAll) {\n initExpandedKeys = Object.keys(keyEntities);\n } else if (defaultExpandParent) {\n initExpandedKeys = conductExpandParent(props.expandedKeys || defaultExpandedKeys || [], keyEntities);\n } else {\n initExpandedKeys = props.expandedKeys || defaultExpandedKeys || [];\n }\n return initExpandedKeys;\n };\n const [selectedKeys, setSelectedKeys] = React.useState(props.selectedKeys || props.defaultSelectedKeys || []);\n const [expandedKeys, setExpandedKeys] = React.useState(() => getInitExpandedKeys());\n React.useEffect(() => {\n if ('selectedKeys' in props) {\n setSelectedKeys(props.selectedKeys);\n }\n }, [props.selectedKeys]);\n React.useEffect(() => {\n if ('expandedKeys' in props) {\n setExpandedKeys(props.expandedKeys);\n }\n }, [props.expandedKeys]);\n const onExpand = (keys, info) => {\n var _a;\n if (!('expandedKeys' in props)) {\n setExpandedKeys(keys);\n }\n // Call origin function\n return (_a = props.onExpand) === null || _a === void 0 ? void 0 : _a.call(props, keys, info);\n };\n const onSelect = (keys, event) => {\n var _a;\n const {\n multiple,\n fieldNames\n } = props;\n const {\n node,\n nativeEvent\n } = event;\n const {\n key = ''\n } = node;\n const treeData = getTreeData(props);\n // const newState: DirectoryTreeState = {};\n // We need wrap this event since some value is not same\n const newEvent = Object.assign(Object.assign({}, event), {\n selected: true\n });\n // Windows / Mac single pick\n const ctrlPick = (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.ctrlKey) || (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.metaKey);\n const shiftPick = nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.shiftKey;\n // Generate new selected keys\n let newSelectedKeys;\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(new Set([].concat(_toConsumableArray(cachedSelectedKeys.current || []), _toConsumableArray(calcRangeKeys({\n treeData,\n expandedKeys,\n startKey: key,\n endKey: lastSelectedKey.current,\n fieldNames\n })))));\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n } else {\n // Single click\n newSelectedKeys = [key];\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n }\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, newSelectedKeys, newEvent);\n if (!('selectedKeys' in props)) {\n setSelectedKeys(newSelectedKeys);\n }\n };\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n showIcon = true,\n expandAction = 'click'\n } = props,\n otherProps = __rest(props, [\"prefixCls\", \"className\", \"showIcon\", \"expandAction\"]);\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const connectClassName = classNames(`${prefixCls}-directory`, {\n [`${prefixCls}-directory-rtl`]: direction === 'rtl'\n }, className);\n return /*#__PURE__*/React.createElement(Tree, Object.assign({\n icon: getIcon,\n ref: ref,\n blockNode: true\n }, otherProps, {\n showIcon: showIcon,\n expandAction: expandAction,\n prefixCls: prefixCls,\n className: connectClassName,\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n onSelect: onSelect,\n onExpand: onExpand\n }));\n};\nconst ForwardDirectoryTree = /*#__PURE__*/React.forwardRef(DirectoryTree);\nif (process.env.NODE_ENV !== 'production') {\n ForwardDirectoryTree.displayName = 'DirectoryTree';\n}\nexport default ForwardDirectoryTree;","\"use client\";\n\nimport { TreeNode } from 'rc-tree';\nimport DirectoryTree from './DirectoryTree';\nimport TreePure from './Tree';\nconst Tree = TreePure;\nTree.DirectoryTree = DirectoryTree;\nTree.TreeNode = TreeNode;\nexport default Tree;","\"use client\";\n\nimport * as React from 'react';\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport Input from '../../../input';\nconst FilterSearch = props => {\n const {\n value,\n filterSearch,\n tablePrefixCls,\n locale,\n onChange\n } = props;\n if (!filterSearch) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${tablePrefixCls}-filter-dropdown-search`\n }, /*#__PURE__*/React.createElement(Input, {\n prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),\n placeholder: locale.filterSearchPlaceholder,\n onChange: onChange,\n value: value,\n // for skip min-width of input\n htmlSize: 1,\n className: `${tablePrefixCls}-filter-dropdown-search-input`\n }));\n};\nexport default FilterSearch;","\"use client\";\n\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nconst onKeyDown = event => {\n const {\n keyCode\n } = event;\n if (keyCode === KeyCode.ENTER) {\n event.stopPropagation();\n }\n};\nconst FilterDropdownMenuWrapper = /*#__PURE__*/React.forwardRef((props, ref) => (/*#__PURE__*/React.createElement(\"div\", {\n className: props.className,\n onClick: e => e.stopPropagation(),\n onKeyDown: onKeyDown,\n ref: ref\n}, props.children)));\nif (process.env.NODE_ENV !== 'production') {\n FilterDropdownMenuWrapper.displayName = 'FilterDropdownMenuWrapper';\n}\nexport default FilterDropdownMenuWrapper;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport FilterFilled from \"@ant-design/icons/es/icons/FilterFilled\";\nimport classNames from 'classnames';\nimport isEqual from \"rc-util/es/isEqual\";\nimport extendsObject from '../../../_util/extendsObject';\nimport useSyncState from '../../../_util/hooks/useSyncState';\nimport { devUseWarning } from '../../../_util/warning';\nimport Button from '../../../button';\nimport Checkbox from '../../../checkbox';\nimport { ConfigContext } from '../../../config-provider/context';\nimport Dropdown from '../../../dropdown';\nimport Empty from '../../../empty';\nimport Menu from '../../../menu';\nimport { OverrideProvider } from '../../../menu/OverrideContext';\nimport Radio from '../../../radio';\nimport Tree from '../../../tree';\nimport FilterSearch from './FilterSearch';\nimport FilterDropdownMenuWrapper from './FilterWrapper';\nexport function flattenKeys(filters) {\n let keys = [];\n (filters || []).forEach(_ref => {\n let {\n value,\n children\n } = _ref;\n keys.push(value);\n if (children) {\n keys = [].concat(_toConsumableArray(keys), _toConsumableArray(flattenKeys(children)));\n }\n });\n return keys;\n}\nfunction hasSubMenu(filters) {\n return filters.some(_ref2 => {\n let {\n children\n } = _ref2;\n return children;\n });\n}\nfunction searchValueMatched(searchValue, text) {\n if (typeof text === 'string' || typeof text === 'number') {\n return text === null || text === void 0 ? void 0 : text.toString().toLowerCase().includes(searchValue.trim().toLowerCase());\n }\n return false;\n}\nfunction renderFilterItems(_ref3) {\n let {\n filters,\n prefixCls,\n filteredKeys,\n filterMultiple,\n searchValue,\n filterSearch\n } = _ref3;\n return filters.map((filter, index) => {\n const key = String(filter.value);\n if (filter.children) {\n return {\n key: key || index,\n label: filter.text,\n popupClassName: `${prefixCls}-dropdown-submenu`,\n children: renderFilterItems({\n filters: filter.children,\n prefixCls,\n filteredKeys,\n filterMultiple,\n searchValue,\n filterSearch\n })\n };\n }\n const Component = filterMultiple ? Checkbox : Radio;\n const item = {\n key: filter.value !== undefined ? key : index,\n label: (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Component, {\n checked: filteredKeys.includes(key)\n }), /*#__PURE__*/React.createElement(\"span\", null, filter.text)))\n };\n if (searchValue.trim()) {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, filter) ? item : null;\n }\n return searchValueMatched(searchValue, filter.text) ? item : null;\n }\n return item;\n });\n}\nfunction wrapStringListType(keys) {\n return keys || [];\n}\nconst FilterDropdown = props => {\n var _a, _b, _c, _d;\n const {\n tablePrefixCls,\n prefixCls,\n column,\n dropdownPrefixCls,\n columnKey,\n filterOnClose,\n filterMultiple,\n filterMode = 'menu',\n filterSearch = false,\n filterState,\n triggerFilter,\n locale,\n children,\n getPopupContainer,\n rootClassName\n } = props;\n const {\n filterResetToDefaultFilteredValue,\n defaultFilteredValue,\n filterDropdownProps = {},\n // Deprecated\n filterDropdownOpen,\n filterDropdownVisible,\n onFilterDropdownVisibleChange,\n onFilterDropdownOpenChange\n } = column;\n const [visible, setVisible] = React.useState(false);\n const filtered = !!(filterState && (((_a = filterState.filteredKeys) === null || _a === void 0 ? void 0 : _a.length) || filterState.forceFiltered));\n const triggerVisible = newVisible => {\n var _a;\n setVisible(newVisible);\n (_a = filterDropdownProps.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(filterDropdownProps, newVisible);\n // deprecated\n onFilterDropdownOpenChange === null || onFilterDropdownOpenChange === void 0 ? void 0 : onFilterDropdownOpenChange(newVisible);\n onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(newVisible);\n };\n // =================Warning===================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Table');\n const deprecatedList = [['filterDropdownOpen', 'filterDropdownProps.open'], ['filterDropdownVisible', 'filterDropdownProps.open'], ['onFilterDropdownOpenChange', 'filterDropdownProps.onOpenChange'], ['onFilterDropdownVisibleChange', 'filterDropdownProps.onOpenChange']];\n deprecatedList.forEach(_ref4 => {\n let [deprecatedName, newName] = _ref4;\n warning.deprecated(!(deprecatedName in column), deprecatedName, newName);\n });\n }\n const mergedVisible = (_d = (_c = (_b = filterDropdownProps.open) !== null && _b !== void 0 ? _b : filterDropdownOpen) !== null && _c !== void 0 ? _c : filterDropdownVisible) !== null && _d !== void 0 ? _d : visible; // inner state\n // ===================== Select Keys =====================\n const propFilteredKeys = filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys;\n const [getFilteredKeysSync, setFilteredKeysSync] = useSyncState(wrapStringListType(propFilteredKeys));\n const onSelectKeys = _ref5 => {\n let {\n selectedKeys\n } = _ref5;\n setFilteredKeysSync(selectedKeys);\n };\n const onCheck = (keys, _ref6) => {\n let {\n node,\n checked\n } = _ref6;\n if (!filterMultiple) {\n onSelectKeys({\n selectedKeys: checked && node.key ? [node.key] : []\n });\n } else {\n onSelectKeys({\n selectedKeys: keys\n });\n }\n };\n React.useEffect(() => {\n if (!visible) {\n return;\n }\n onSelectKeys({\n selectedKeys: wrapStringListType(propFilteredKeys)\n });\n }, [propFilteredKeys]);\n // ====================== Open Keys ======================\n const [openKeys, setOpenKeys] = React.useState([]);\n const onOpenChange = keys => {\n setOpenKeys(keys);\n };\n // search in tree mode column filter\n const [searchValue, setSearchValue] = React.useState('');\n const onSearch = e => {\n const {\n value\n } = e.target;\n setSearchValue(value);\n };\n // clear search value after close filter dropdown\n React.useEffect(() => {\n if (!visible) {\n setSearchValue('');\n }\n }, [visible]);\n // ======================= Submit ========================\n const internalTriggerFilter = keys => {\n const mergedKeys = (keys === null || keys === void 0 ? void 0 : keys.length) ? keys : null;\n if (mergedKeys === null && (!filterState || !filterState.filteredKeys)) {\n return null;\n }\n if (isEqual(mergedKeys, filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys, true)) {\n return null;\n }\n triggerFilter({\n column,\n key: columnKey,\n filteredKeys: mergedKeys\n });\n };\n const onConfirm = () => {\n triggerVisible(false);\n internalTriggerFilter(getFilteredKeysSync());\n };\n const onReset = function () {\n let {\n confirm,\n closeDropdown\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n confirm: false,\n closeDropdown: false\n };\n if (confirm) {\n internalTriggerFilter([]);\n }\n if (closeDropdown) {\n triggerVisible(false);\n }\n setSearchValue('');\n if (filterResetToDefaultFilteredValue) {\n setFilteredKeysSync((defaultFilteredValue || []).map(key => String(key)));\n } else {\n setFilteredKeysSync([]);\n }\n };\n const doFilter = function () {\n let {\n closeDropdown\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n closeDropdown: true\n };\n if (closeDropdown) {\n triggerVisible(false);\n }\n internalTriggerFilter(getFilteredKeysSync());\n };\n const onVisibleChange = (newVisible, info) => {\n if (info.source === 'trigger') {\n if (newVisible && propFilteredKeys !== undefined) {\n // Sync filteredKeys on appear in controlled mode (propFilteredKeys !== undefined)\n setFilteredKeysSync(wrapStringListType(propFilteredKeys));\n }\n triggerVisible(newVisible);\n if (!newVisible && !column.filterDropdown && filterOnClose) {\n onConfirm();\n }\n }\n };\n // ======================== Style ========================\n const dropdownMenuClass = classNames({\n [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(column.filters || [])\n });\n const onCheckAll = e => {\n if (e.target.checked) {\n const allFilterKeys = flattenKeys(column === null || column === void 0 ? void 0 : column.filters).map(key => String(key));\n setFilteredKeysSync(allFilterKeys);\n } else {\n setFilteredKeysSync([]);\n }\n };\n const getTreeData = _ref7 => {\n let {\n filters\n } = _ref7;\n return (filters || []).map((filter, index) => {\n const key = String(filter.value);\n const item = {\n title: filter.text,\n key: filter.value !== undefined ? key : String(index)\n };\n if (filter.children) {\n item.children = getTreeData({\n filters: filter.children\n });\n }\n return item;\n });\n };\n const getFilterData = node => {\n var _a;\n return Object.assign(Object.assign({}, node), {\n text: node.title,\n value: node.key,\n children: ((_a = node.children) === null || _a === void 0 ? void 0 : _a.map(item => getFilterData(item))) || []\n });\n };\n let dropdownContent;\n const {\n direction,\n renderEmpty\n } = React.useContext(ConfigContext);\n if (typeof column.filterDropdown === 'function') {\n dropdownContent = column.filterDropdown({\n prefixCls: `${dropdownPrefixCls}-custom`,\n setSelectedKeys: selectedKeys => onSelectKeys({\n selectedKeys: selectedKeys\n }),\n selectedKeys: getFilteredKeysSync(),\n confirm: doFilter,\n clearFilters: onReset,\n filters: column.filters,\n visible: mergedVisible,\n close: () => {\n triggerVisible(false);\n }\n });\n } else if (column.filterDropdown) {\n dropdownContent = column.filterDropdown;\n } else {\n const selectedKeys = getFilteredKeysSync() || [];\n const getFilterComponent = () => {\n var _a;\n const empty = (_a = renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table.filter')) !== null && _a !== void 0 ? _a : (/*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE,\n description: locale.filterEmptyText,\n imageStyle: {\n height: 24\n },\n style: {\n margin: 0,\n padding: '16px 0'\n }\n }));\n if ((column.filters || []).length === 0) {\n return empty;\n }\n if (filterMode === 'tree') {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${tablePrefixCls}-filter-dropdown-tree`\n }, filterMultiple ? (/*#__PURE__*/React.createElement(Checkbox, {\n checked: selectedKeys.length === flattenKeys(column.filters).length,\n indeterminate: selectedKeys.length > 0 && selectedKeys.length < flattenKeys(column.filters).length,\n className: `${tablePrefixCls}-filter-dropdown-checkall`,\n onChange: onCheckAll\n }, locale.filterCheckall)) : null, /*#__PURE__*/React.createElement(Tree, {\n checkable: true,\n selectable: false,\n blockNode: true,\n multiple: filterMultiple,\n checkStrictly: !filterMultiple,\n className: `${dropdownPrefixCls}-menu`,\n onCheck: onCheck,\n checkedKeys: selectedKeys,\n selectedKeys: selectedKeys,\n showIcon: false,\n treeData: getTreeData({\n filters: column.filters\n }),\n autoExpandParent: true,\n defaultExpandAll: true,\n filterTreeNode: searchValue.trim() ? node => {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, getFilterData(node));\n }\n return searchValueMatched(searchValue, node.title);\n } : undefined\n })));\n }\n const items = renderFilterItems({\n filters: column.filters || [],\n filterSearch,\n prefixCls,\n filteredKeys: getFilteredKeysSync(),\n filterMultiple,\n searchValue\n });\n const isEmpty = items.every(item => item === null);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), isEmpty ? empty : (/*#__PURE__*/React.createElement(Menu, {\n selectable: true,\n multiple: filterMultiple,\n prefixCls: `${dropdownPrefixCls}-menu`,\n className: dropdownMenuClass,\n onSelect: onSelectKeys,\n onDeselect: onSelectKeys,\n selectedKeys: selectedKeys,\n getPopupContainer: getPopupContainer,\n openKeys: openKeys,\n onOpenChange: onOpenChange,\n items: items\n })));\n };\n const getResetDisabled = () => {\n if (filterResetToDefaultFilteredValue) {\n return isEqual((defaultFilteredValue || []).map(key => String(key)), selectedKeys, true);\n }\n return selectedKeys.length === 0;\n };\n dropdownContent = /*#__PURE__*/React.createElement(React.Fragment, null, getFilterComponent(), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-dropdown-btns`\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"link\",\n size: \"small\",\n disabled: getResetDisabled(),\n onClick: () => onReset()\n }, locale.filterReset), /*#__PURE__*/React.createElement(Button, {\n type: \"primary\",\n size: \"small\",\n onClick: onConfirm\n }, locale.filterConfirm)));\n }\n // We should not block customize Menu with additional props\n if (column.filterDropdown) {\n dropdownContent = /*#__PURE__*/React.createElement(OverrideProvider, {\n selectable: undefined\n }, dropdownContent);\n }\n dropdownContent = /*#__PURE__*/React.createElement(FilterDropdownMenuWrapper, {\n className: `${prefixCls}-dropdown`\n }, dropdownContent);\n const getDropdownTrigger = () => {\n let filterIcon;\n if (typeof column.filterIcon === 'function') {\n filterIcon = column.filterIcon(filtered);\n } else if (column.filterIcon) {\n filterIcon = column.filterIcon;\n } else {\n filterIcon = /*#__PURE__*/React.createElement(FilterFilled, null);\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n tabIndex: -1,\n className: classNames(`${prefixCls}-trigger`, {\n active: filtered\n }),\n onClick: e => {\n e.stopPropagation();\n }\n }, filterIcon);\n };\n const mergedDropdownProps = extendsObject({\n trigger: ['click'],\n placement: direction === 'rtl' ? 'bottomLeft' : 'bottomRight',\n children: getDropdownTrigger(),\n getPopupContainer\n }, Object.assign(Object.assign({}, filterDropdownProps), {\n rootClassName: classNames(rootClassName, filterDropdownProps.rootClassName),\n open: mergedVisible,\n onOpenChange: onVisibleChange,\n dropdownRender: () => {\n if (typeof (filterDropdownProps === null || filterDropdownProps === void 0 ? void 0 : filterDropdownProps.dropdownRender) === 'function') {\n return filterDropdownProps.dropdownRender(dropdownContent);\n }\n return dropdownContent;\n }\n }));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-column`\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: `${tablePrefixCls}-column-title`\n }, children), /*#__PURE__*/React.createElement(Dropdown, Object.assign({}, mergedDropdownProps)));\n};\nexport default FilterDropdown;","import * as React from 'react';\nimport useForceUpdate from './useForceUpdate';\nexport default function useSyncState(initialValue) {\n const ref = React.useRef(initialValue);\n const forceUpdate = useForceUpdate();\n return [() => ref.current, newValue => {\n ref.current = newValue;\n // re-render\n forceUpdate();\n }];\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { devUseWarning } from '../../../_util/warning';\nimport { getColumnKey, getColumnPos, renderColumnTitle } from '../../util';\nimport FilterDropdown, { flattenKeys } from './FilterDropdown';\nconst collectFilterStates = (columns, init, pos) => {\n let filterStates = [];\n (columns || []).forEach((column, index) => {\n var _a;\n const columnPos = getColumnPos(index, pos);\n if (column.filters || 'filterDropdown' in column || 'onFilter' in column) {\n if ('filteredValue' in column) {\n // Controlled\n let filteredValues = column.filteredValue;\n if (!('filterDropdown' in column)) {\n filteredValues = (_a = filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.map(String)) !== null && _a !== void 0 ? _a : filteredValues;\n }\n filterStates.push({\n column,\n key: getColumnKey(column, columnPos),\n filteredKeys: filteredValues,\n forceFiltered: column.filtered\n });\n } else {\n // Uncontrolled\n filterStates.push({\n column,\n key: getColumnKey(column, columnPos),\n filteredKeys: init && column.defaultFilteredValue ? column.defaultFilteredValue : undefined,\n forceFiltered: column.filtered\n });\n }\n }\n if ('children' in column) {\n filterStates = [].concat(_toConsumableArray(filterStates), _toConsumableArray(collectFilterStates(column.children, init, columnPos)));\n }\n });\n return filterStates;\n};\nfunction injectFilter(prefixCls, dropdownPrefixCls, columns, filterStates, locale, triggerFilter, getPopupContainer, pos, rootClassName) {\n return columns.map((column, index) => {\n const columnPos = getColumnPos(index, pos);\n const {\n filterOnClose = true,\n filterMultiple = true,\n filterMode,\n filterSearch\n } = column;\n let newColumn = column;\n if (newColumn.filters || newColumn.filterDropdown) {\n const columnKey = getColumnKey(newColumn, columnPos);\n const filterState = filterStates.find(_ref => {\n let {\n key\n } = _ref;\n return columnKey === key;\n });\n newColumn = Object.assign(Object.assign({}, newColumn), {\n title: renderProps => (/*#__PURE__*/React.createElement(FilterDropdown, {\n tablePrefixCls: prefixCls,\n prefixCls: `${prefixCls}-filter`,\n dropdownPrefixCls: dropdownPrefixCls,\n column: newColumn,\n columnKey: columnKey,\n filterState: filterState,\n filterOnClose: filterOnClose,\n filterMultiple: filterMultiple,\n filterMode: filterMode,\n filterSearch: filterSearch,\n triggerFilter: triggerFilter,\n locale: locale,\n getPopupContainer: getPopupContainer,\n rootClassName: rootClassName\n }, renderColumnTitle(column.title, renderProps)))\n });\n }\n if ('children' in newColumn) {\n newColumn = Object.assign(Object.assign({}, newColumn), {\n children: injectFilter(prefixCls, dropdownPrefixCls, newColumn.children, filterStates, locale, triggerFilter, getPopupContainer, columnPos, rootClassName)\n });\n }\n return newColumn;\n });\n}\nconst generateFilterInfo = filterStates => {\n const currentFilters = {};\n filterStates.forEach(_ref2 => {\n let {\n key,\n filteredKeys,\n column\n } = _ref2;\n const keyAsString = key;\n const {\n filters,\n filterDropdown\n } = column;\n if (filterDropdown) {\n currentFilters[keyAsString] = filteredKeys || null;\n } else if (Array.isArray(filteredKeys)) {\n const keys = flattenKeys(filters);\n currentFilters[keyAsString] = keys.filter(originKey => filteredKeys.includes(String(originKey)));\n } else {\n currentFilters[keyAsString] = null;\n }\n });\n return currentFilters;\n};\nexport const getFilterData = (data, filterStates, childrenColumnName) => {\n const filterDatas = filterStates.reduce((currentData, filterState) => {\n const {\n column: {\n onFilter,\n filters\n },\n filteredKeys\n } = filterState;\n if (onFilter && filteredKeys && filteredKeys.length) {\n return currentData\n // shallow copy\n .map(record => Object.assign({}, record)).filter(record => filteredKeys.some(key => {\n const keys = flattenKeys(filters);\n const keyIndex = keys.findIndex(k => String(k) === String(key));\n const realKey = keyIndex !== -1 ? keys[keyIndex] : key;\n // filter children\n if (record[childrenColumnName]) {\n record[childrenColumnName] = getFilterData(record[childrenColumnName], filterStates, childrenColumnName);\n }\n return onFilter(realKey, record);\n }));\n }\n return currentData;\n }, data);\n return filterDatas;\n};\nconst getMergedColumns = rawMergedColumns => rawMergedColumns.flatMap(column => {\n if ('children' in column) {\n return [column].concat(_toConsumableArray(getMergedColumns(column.children || [])));\n }\n return [column];\n});\nconst useFilter = props => {\n const {\n prefixCls,\n dropdownPrefixCls,\n mergedColumns: rawMergedColumns,\n onFilterChange,\n getPopupContainer,\n locale: tableLocale,\n rootClassName\n } = props;\n const warning = devUseWarning('Table');\n const mergedColumns = React.useMemo(() => getMergedColumns(rawMergedColumns || []), [rawMergedColumns]);\n const [filterStates, setFilterStates] = React.useState(() => collectFilterStates(mergedColumns, true));\n const mergedFilterStates = React.useMemo(() => {\n const collectedStates = collectFilterStates(mergedColumns, false);\n if (collectedStates.length === 0) {\n return collectedStates;\n }\n let filteredKeysIsAllNotControlled = true;\n let filteredKeysIsAllControlled = true;\n collectedStates.forEach(_ref3 => {\n let {\n filteredKeys\n } = _ref3;\n if (filteredKeys !== undefined) {\n filteredKeysIsAllNotControlled = false;\n } else {\n filteredKeysIsAllControlled = false;\n }\n });\n // Return if not controlled\n if (filteredKeysIsAllNotControlled) {\n // Filter column may have been removed\n const keyList = (mergedColumns || []).map((column, index) => getColumnKey(column, getColumnPos(index)));\n return filterStates.filter(_ref4 => {\n let {\n key\n } = _ref4;\n return keyList.includes(key);\n }).map(item => {\n const col = mergedColumns[keyList.findIndex(key => key === item.key)];\n return Object.assign(Object.assign({}, item), {\n column: Object.assign(Object.assign({}, item.column), col),\n forceFiltered: col.filtered\n });\n });\n }\n process.env.NODE_ENV !== \"production\" ? warning(filteredKeysIsAllControlled, 'usage', 'Columns should all contain `filteredValue` or not contain `filteredValue`.') : void 0;\n return collectedStates;\n }, [mergedColumns, filterStates]);\n const filters = React.useMemo(() => generateFilterInfo(mergedFilterStates), [mergedFilterStates]);\n const triggerFilter = filterState => {\n const newFilterStates = mergedFilterStates.filter(_ref5 => {\n let {\n key\n } = _ref5;\n return key !== filterState.key;\n });\n newFilterStates.push(filterState);\n setFilterStates(newFilterStates);\n onFilterChange(generateFilterInfo(newFilterStates), newFilterStates);\n };\n const transformColumns = innerColumns => injectFilter(prefixCls, dropdownPrefixCls, innerColumns, mergedFilterStates, tableLocale, triggerFilter, getPopupContainer, undefined, rootClassName);\n return [transformColumns, mergedFilterStates, filters];\n};\nexport { flattenKeys };\nexport default useFilter;","import * as React from 'react';\nconst useLazyKVMap = (data, childrenColumnName, getRowKey) => {\n const mapCacheRef = React.useRef({});\n function getRecordByKey(key) {\n var _a;\n if (!mapCacheRef.current || mapCacheRef.current.data !== data || mapCacheRef.current.childrenColumnName !== childrenColumnName || mapCacheRef.current.getRowKey !== getRowKey) {\n const kvMap = new Map();\n function dig(records) {\n records.forEach((record, index) => {\n const rowKey = getRowKey(record, index);\n kvMap.set(rowKey, record);\n if (record && typeof record === 'object' && childrenColumnName in record) {\n dig(record[childrenColumnName] || []);\n }\n });\n }\n dig(data);\n mapCacheRef.current = {\n data,\n childrenColumnName,\n kvMap,\n getRowKey\n };\n }\n return (_a = mapCacheRef.current.kvMap) === null || _a === void 0 ? void 0 : _a.get(key);\n }\n return [getRecordByKey];\n};\nexport default useLazyKVMap;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { useState } from 'react';\nimport extendsObject from '../../_util/extendsObject';\nexport const DEFAULT_PAGE_SIZE = 10;\nexport function getPaginationParam(mergedPagination, pagination) {\n const param = {\n current: mergedPagination.current,\n pageSize: mergedPagination.pageSize\n };\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {};\n Object.keys(paginationObj).forEach(pageProp => {\n const value = mergedPagination[pageProp];\n if (typeof value !== 'function') {\n param[pageProp] = value;\n }\n });\n return param;\n}\nfunction usePagination(total, onChange, pagination) {\n const _a = pagination && typeof pagination === 'object' ? pagination : {},\n {\n total: paginationTotal = 0\n } = _a,\n paginationObj = __rest(_a, [\"total\"]);\n const [innerPagination, setInnerPagination] = useState(() => ({\n current: 'defaultCurrent' in paginationObj ? paginationObj.defaultCurrent : 1,\n pageSize: 'defaultPageSize' in paginationObj ? paginationObj.defaultPageSize : DEFAULT_PAGE_SIZE\n }));\n // ============ Basic Pagination Config ============\n const mergedPagination = extendsObject(innerPagination, paginationObj, {\n total: paginationTotal > 0 ? paginationTotal : total\n });\n // Reset `current` if data length or pageSize changed\n const maxPage = Math.ceil((paginationTotal || total) / mergedPagination.pageSize);\n if (mergedPagination.current > maxPage) {\n // Prevent a maximum page count of 0\n mergedPagination.current = maxPage || 1;\n }\n const refreshPagination = (current, pageSize) => {\n setInnerPagination({\n current: current !== null && current !== void 0 ? current : 1,\n pageSize: pageSize || mergedPagination.pageSize\n });\n };\n const onInternalChange = (current, pageSize) => {\n var _a;\n if (pagination) {\n (_a = pagination.onChange) === null || _a === void 0 ? void 0 : _a.call(pagination, current, pageSize);\n }\n refreshPagination(current, pageSize);\n onChange(current, pageSize || (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.pageSize));\n };\n if (pagination === false) {\n return [{}, () => {}];\n }\n return [Object.assign(Object.assign({}, mergedPagination), {\n onChange: onInternalChange\n }), refreshPagination];\n}\nexport default usePagination;","// This icon file is generated automatically.\nvar CaretDownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"outlined\" };\nexport default CaretDownOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretDownOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretDownOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretDownOutlined = function CaretDownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretDownOutlinedSvg\n }));\n};\n\n/**![caret-down](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg0MC40IDMwMEgxODMuNmMtMTkuNyAwLTMwLjcgMjAuOC0xOC41IDM1bDMyOC40IDM4MC44YzkuNCAxMC45IDI3LjUgMTAuOSAzNyAwTDg1OC45IDMzNWMxMi4yLTE0LjIgMS4yLTM1LTE4LjUtMzV6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretDownOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretDownOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar CaretUpOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z\" } }] }, \"name\": \"caret-up\", \"theme\": \"outlined\" };\nexport default CaretUpOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretUpOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretUpOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretUpOutlined = function CaretUpOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretUpOutlinedSvg\n }));\n};\n\n/**![caret-up](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1OC45IDY4OUw1MzAuNSAzMDguMmMtOS40LTEwLjktMjcuNS0xMC45LTM3IDBMMTY1LjEgNjg5Yy0xMi4yIDE0LjItMS4yIDM1IDE4LjUgMzVoNjU2LjhjMTkuNyAwIDMwLjctMjAuOCAxOC41LTM1eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretUpOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretUpOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport CaretDownOutlined from \"@ant-design/icons/es/icons/CaretDownOutlined\";\nimport CaretUpOutlined from \"@ant-design/icons/es/icons/CaretUpOutlined\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport Tooltip from '../../tooltip';\nimport { getColumnKey, getColumnPos, renderColumnTitle, safeColumnTitle } from '../util';\nconst ASCEND = 'ascend';\nconst DESCEND = 'descend';\nconst getMultiplePriority = column => {\n if (typeof column.sorter === 'object' && typeof column.sorter.multiple === 'number') {\n return column.sorter.multiple;\n }\n return false;\n};\nconst getSortFunction = sorter => {\n if (typeof sorter === 'function') {\n return sorter;\n }\n if (sorter && typeof sorter === 'object' && sorter.compare) {\n return sorter.compare;\n }\n return false;\n};\nconst nextSortDirection = (sortDirections, current) => {\n if (!current) {\n return sortDirections[0];\n }\n return sortDirections[sortDirections.indexOf(current) + 1];\n};\nconst collectSortStates = (columns, init, pos) => {\n let sortStates = [];\n const pushState = (column, columnPos) => {\n sortStates.push({\n column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.sortOrder\n });\n };\n (columns || []).forEach((column, index) => {\n const columnPos = getColumnPos(index, pos);\n if (column.children) {\n if ('sortOrder' in column) {\n // Controlled\n pushState(column, columnPos);\n }\n sortStates = [].concat(_toConsumableArray(sortStates), _toConsumableArray(collectSortStates(column.children, init, columnPos)));\n } else if (column.sorter) {\n if ('sortOrder' in column) {\n // Controlled\n pushState(column, columnPos);\n } else if (init && column.defaultSortOrder) {\n // Default sorter\n sortStates.push({\n column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.defaultSortOrder\n });\n }\n }\n });\n return sortStates;\n};\nconst injectSorter = (prefixCls, columns, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, pos) => {\n const finalColumns = (columns || []).map((column, index) => {\n const columnPos = getColumnPos(index, pos);\n let newColumn = column;\n if (newColumn.sorter) {\n const sortDirections = newColumn.sortDirections || defaultSortDirections;\n const showSorterTooltip = newColumn.showSorterTooltip === undefined ? tableShowSorterTooltip : newColumn.showSorterTooltip;\n const columnKey = getColumnKey(newColumn, columnPos);\n const sorterState = sorterStates.find(_ref => {\n let {\n key\n } = _ref;\n return key === columnKey;\n });\n const sortOrder = sorterState ? sorterState.sortOrder : null;\n const nextSortOrder = nextSortDirection(sortDirections, sortOrder);\n let sorter;\n if (column.sortIcon) {\n sorter = column.sortIcon({\n sortOrder\n });\n } else {\n const upNode = sortDirections.includes(ASCEND) && (/*#__PURE__*/React.createElement(CaretUpOutlined, {\n className: classNames(`${prefixCls}-column-sorter-up`, {\n active: sortOrder === ASCEND\n })\n }));\n const downNode = sortDirections.includes(DESCEND) && (/*#__PURE__*/React.createElement(CaretDownOutlined, {\n className: classNames(`${prefixCls}-column-sorter-down`, {\n active: sortOrder === DESCEND\n })\n }));\n sorter = /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(`${prefixCls}-column-sorter`, {\n [`${prefixCls}-column-sorter-full`]: !!(upNode && downNode)\n })\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-column-sorter-inner`,\n \"aria-hidden\": \"true\"\n }, upNode, downNode));\n }\n const {\n cancelSort,\n triggerAsc,\n triggerDesc\n } = tableLocale || {};\n let sortTip = cancelSort;\n if (nextSortOrder === DESCEND) {\n sortTip = triggerDesc;\n } else if (nextSortOrder === ASCEND) {\n sortTip = triggerAsc;\n }\n const tooltipProps = typeof showSorterTooltip === 'object' ? Object.assign({\n title: sortTip\n }, showSorterTooltip) : {\n title: sortTip\n };\n newColumn = Object.assign(Object.assign({}, newColumn), {\n className: classNames(newColumn.className, {\n [`${prefixCls}-column-sort`]: sortOrder\n }),\n title: renderProps => {\n const columnSortersClass = `${prefixCls}-column-sorters`;\n const renderColumnTitleWrapper = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-column-title`\n }, renderColumnTitle(column.title, renderProps));\n const renderSortTitle = /*#__PURE__*/React.createElement(\"div\", {\n className: columnSortersClass\n }, renderColumnTitleWrapper, sorter);\n if (showSorterTooltip) {\n if (typeof showSorterTooltip !== 'boolean' && (showSorterTooltip === null || showSorterTooltip === void 0 ? void 0 : showSorterTooltip.target) === 'sorter-icon') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${columnSortersClass} ${prefixCls}-column-sorters-tooltip-target-sorter`\n }, renderColumnTitleWrapper, /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps), sorter));\n }\n return /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps), renderSortTitle);\n }\n return renderSortTitle;\n },\n onHeaderCell: col => {\n var _a;\n const cell = ((_a = column.onHeaderCell) === null || _a === void 0 ? void 0 : _a.call(column, col)) || {};\n const originOnClick = cell.onClick;\n const originOKeyDown = cell.onKeyDown;\n cell.onClick = event => {\n triggerSorter({\n column,\n key: columnKey,\n sortOrder: nextSortOrder,\n multiplePriority: getMultiplePriority(column)\n });\n originOnClick === null || originOnClick === void 0 ? void 0 : originOnClick(event);\n };\n cell.onKeyDown = event => {\n if (event.keyCode === KeyCode.ENTER) {\n triggerSorter({\n column,\n key: columnKey,\n sortOrder: nextSortOrder,\n multiplePriority: getMultiplePriority(column)\n });\n originOKeyDown === null || originOKeyDown === void 0 ? void 0 : originOKeyDown(event);\n }\n };\n const renderTitle = safeColumnTitle(column.title, {});\n const displayTitle = renderTitle === null || renderTitle === void 0 ? void 0 : renderTitle.toString();\n // Inform the screen-reader so it can tell the visually impaired user which column is sorted\n if (sortOrder) {\n cell['aria-sort'] = sortOrder === 'ascend' ? 'ascending' : 'descending';\n } else {\n cell['aria-label'] = displayTitle || '';\n }\n cell.className = classNames(cell.className, `${prefixCls}-column-has-sorters`);\n cell.tabIndex = 0;\n if (column.ellipsis) {\n cell.title = (renderTitle !== null && renderTitle !== void 0 ? renderTitle : '').toString();\n }\n return cell;\n }\n });\n }\n if ('children' in newColumn) {\n newColumn = Object.assign(Object.assign({}, newColumn), {\n children: injectSorter(prefixCls, newColumn.children, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, columnPos)\n });\n }\n return newColumn;\n });\n return finalColumns;\n};\nconst stateToInfo = sorterState => {\n const {\n column,\n sortOrder\n } = sorterState;\n return {\n column,\n order: sortOrder,\n field: column.dataIndex,\n columnKey: column.key\n };\n};\nconst generateSorterInfo = sorterStates => {\n const activeSorters = sorterStates.filter(_ref2 => {\n let {\n sortOrder\n } = _ref2;\n return sortOrder;\n }).map(stateToInfo);\n // =========== Legacy compatible support ===========\n // https://github.com/ant-design/ant-design/pull/19226\n if (activeSorters.length === 0 && sorterStates.length) {\n const lastIndex = sorterStates.length - 1;\n return Object.assign(Object.assign({}, stateToInfo(sorterStates[lastIndex])), {\n column: undefined,\n order: undefined,\n field: undefined,\n columnKey: undefined\n });\n }\n if (activeSorters.length <= 1) {\n return activeSorters[0] || {};\n }\n return activeSorters;\n};\nexport const getSortData = (data, sortStates, childrenColumnName) => {\n const innerSorterStates = sortStates.slice().sort((a, b) => b.multiplePriority - a.multiplePriority);\n const cloneData = data.slice();\n const runningSorters = innerSorterStates.filter(_ref3 => {\n let {\n column: {\n sorter\n },\n sortOrder\n } = _ref3;\n return getSortFunction(sorter) && sortOrder;\n });\n // Skip if no sorter needed\n if (!runningSorters.length) {\n return cloneData;\n }\n return cloneData.sort((record1, record2) => {\n for (let i = 0; i < runningSorters.length; i += 1) {\n const sorterState = runningSorters[i];\n const {\n column: {\n sorter\n },\n sortOrder\n } = sorterState;\n const compareFn = getSortFunction(sorter);\n if (compareFn && sortOrder) {\n const compareResult = compareFn(record1, record2, sortOrder);\n if (compareResult !== 0) {\n return sortOrder === ASCEND ? compareResult : -compareResult;\n }\n }\n }\n return 0;\n }).map(record => {\n const subRecords = record[childrenColumnName];\n if (subRecords) {\n return Object.assign(Object.assign({}, record), {\n [childrenColumnName]: getSortData(subRecords, sortStates, childrenColumnName)\n });\n }\n return record;\n });\n};\nconst useFilterSorter = props => {\n const {\n prefixCls,\n mergedColumns,\n sortDirections,\n tableLocale,\n showSorterTooltip,\n onSorterChange\n } = props;\n const [sortStates, setSortStates] = React.useState(collectSortStates(mergedColumns, true));\n const getColumnKeys = (columns, pos) => {\n const newKeys = [];\n columns.forEach((item, index) => {\n const columnPos = getColumnPos(index, pos);\n newKeys.push(getColumnKey(item, columnPos));\n if (Array.isArray(item.children)) {\n const childKeys = getColumnKeys(item.children, columnPos);\n newKeys.push.apply(newKeys, _toConsumableArray(childKeys));\n }\n });\n return newKeys;\n };\n const mergedSorterStates = React.useMemo(() => {\n let validate = true;\n const collectedStates = collectSortStates(mergedColumns, false);\n // Return if not controlled\n if (!collectedStates.length) {\n const mergedColumnsKeys = getColumnKeys(mergedColumns);\n return sortStates.filter(_ref4 => {\n let {\n key\n } = _ref4;\n return mergedColumnsKeys.includes(key);\n });\n }\n const validateStates = [];\n function patchStates(state) {\n if (validate) {\n validateStates.push(state);\n } else {\n validateStates.push(Object.assign(Object.assign({}, state), {\n sortOrder: null\n }));\n }\n }\n let multipleMode = null;\n collectedStates.forEach(state => {\n if (multipleMode === null) {\n patchStates(state);\n if (state.sortOrder) {\n if (state.multiplePriority === false) {\n validate = false;\n } else {\n multipleMode = true;\n }\n }\n } else if (multipleMode && state.multiplePriority !== false) {\n patchStates(state);\n } else {\n validate = false;\n patchStates(state);\n }\n });\n return validateStates;\n }, [mergedColumns, sortStates]);\n // Get render columns title required props\n const columnTitleSorterProps = React.useMemo(() => {\n var _a, _b;\n const sortColumns = mergedSorterStates.map(_ref5 => {\n let {\n column,\n sortOrder\n } = _ref5;\n return {\n column,\n order: sortOrder\n };\n });\n return {\n sortColumns,\n // Legacy\n sortColumn: (_a = sortColumns[0]) === null || _a === void 0 ? void 0 : _a.column,\n sortOrder: (_b = sortColumns[0]) === null || _b === void 0 ? void 0 : _b.order\n };\n }, [mergedSorterStates]);\n const triggerSorter = sortState => {\n let newSorterStates;\n if (sortState.multiplePriority === false || !mergedSorterStates.length || mergedSorterStates[0].multiplePriority === false) {\n newSorterStates = [sortState];\n } else {\n newSorterStates = [].concat(_toConsumableArray(mergedSorterStates.filter(_ref6 => {\n let {\n key\n } = _ref6;\n return key !== sortState.key;\n })), [sortState]);\n }\n setSortStates(newSorterStates);\n onSorterChange(generateSorterInfo(newSorterStates), newSorterStates);\n };\n const transformColumns = innerColumns => injectSorter(prefixCls, innerColumns, mergedSorterStates, triggerSorter, sortDirections, tableLocale, showSorterTooltip);\n const getSorters = () => generateSorterInfo(mergedSorterStates);\n return [transformColumns, mergedSorterStates, columnTitleSorterProps, getSorters];\n};\nexport default useFilterSorter;","import * as React from 'react';\nimport { renderColumnTitle } from '../util';\nconst fillTitle = (columns, columnTitleProps) => {\n const finalColumns = columns.map(column => {\n const cloneColumn = Object.assign({}, column);\n cloneColumn.title = renderColumnTitle(column.title, columnTitleProps);\n if ('children' in cloneColumn) {\n cloneColumn.children = fillTitle(cloneColumn.children, columnTitleProps);\n }\n return cloneColumn;\n });\n return finalColumns;\n};\nconst useTitleColumns = columnTitleProps => {\n const filledColumns = React.useCallback(columns => fillTitle(columns, columnTitleProps), [columnTitleProps]);\n return [filledColumns];\n};\nexport default useTitleColumns;","\"use client\";\n\nimport { genTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nconst RcTable = genTable((prev, next) => {\n const {\n _renderTimes: prevRenderTimes\n } = prev;\n const {\n _renderTimes: nextRenderTimes\n } = next;\n return prevRenderTimes !== nextRenderTimes;\n});\nexport default RcTable;","\"use client\";\n\nimport { genVirtualTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nconst RcVirtualTable = genVirtualTable((prev, next) => {\n const {\n _renderTimes: prevRenderTimes\n } = prev;\n const {\n _renderTimes: nextRenderTimes\n } = next;\n return prevRenderTimes !== nextRenderTimes;\n});\nexport default RcVirtualTable;","import { unit } from '@ant-design/cssinjs';\nconst genBorderedStyle = token => {\n const {\n componentCls,\n lineWidth,\n lineType,\n tableBorderColor,\n tableHeaderBg,\n tablePaddingVertical,\n tablePaddingHorizontal,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const getSizeBorderStyle = (size, paddingVertical, paddingHorizontal) => ({\n [`&${componentCls}-${size}`]: {\n [`> ${componentCls}-container`]: {\n [`> ${componentCls}-content, > ${componentCls}-body`]: {\n [`\n > table > tbody > tr > th,\n > table > tbody > tr > td\n `]: {\n [`> ${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(paddingVertical).mul(-1).equal())}\n ${unit(calc(calc(paddingHorizontal).add(lineWidth)).mul(-1).equal())}`\n }\n }\n }\n }\n }\n });\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}${componentCls}-bordered`]: Object.assign(Object.assign(Object.assign({\n // ============================ Title =============================\n [`> ${componentCls}-title`]: {\n border: tableBorder,\n borderBottom: 0\n },\n // ============================ Content ============================\n [`> ${componentCls}-container`]: {\n borderInlineStart: tableBorder,\n borderTop: tableBorder,\n [`\n > ${componentCls}-content,\n > ${componentCls}-header,\n > ${componentCls}-body,\n > ${componentCls}-summary\n `]: {\n '> table': {\n // ============================= Cell =============================\n [`\n > thead > tr > th,\n > thead > tr > td,\n > tbody > tr > th,\n > tbody > tr > td,\n > tfoot > tr > th,\n > tfoot > tr > td\n `]: {\n borderInlineEnd: tableBorder\n },\n // ============================ Header ============================\n '> thead': {\n '> tr:not(:last-child) > th': {\n borderBottom: tableBorder\n },\n '> tr > th::before': {\n backgroundColor: 'transparent !important'\n }\n },\n // Fixed right should provides additional border\n [`\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n `]: {\n [`> ${componentCls}-cell-fix-right-first::after`]: {\n borderInlineEnd: tableBorder\n }\n },\n // ========================== Expandable ==========================\n [`\n > tbody > tr > th,\n > tbody > tr > td\n `]: {\n [`> ${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(tablePaddingVertical).mul(-1).equal())} ${unit(calc(calc(tablePaddingHorizontal).add(lineWidth)).mul(-1).equal())}`,\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: lineWidth,\n bottom: 0,\n borderInlineEnd: tableBorder,\n content: '\"\"'\n }\n }\n }\n }\n }\n },\n // ============================ Scroll ============================\n [`&${componentCls}-scroll-horizontal`]: {\n [`> ${componentCls}-container > ${componentCls}-body`]: {\n '> table > tbody': {\n [`\n > tr${componentCls}-expanded-row,\n > tr${componentCls}-placeholder\n `]: {\n '> th, > td': {\n borderInlineEnd: 0\n }\n }\n }\n }\n }\n }, getSizeBorderStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle)), getSizeBorderStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall)), {\n // ============================ Footer ============================\n [`> ${componentCls}-footer`]: {\n border: tableBorder,\n borderTop: 0\n }\n }),\n // ============================ Nested ============================\n [`${componentCls}-cell`]: {\n [`${componentCls}-container:first-child`]: {\n // :first-child to avoid the case when bordered and title is set\n borderTop: 0\n },\n // https://github.com/ant-design/ant-design/issues/35577\n '&-scrollbar:not([rowspan])': {\n boxShadow: `0 ${unit(lineWidth)} 0 ${unit(lineWidth)} ${tableHeaderBg}`\n }\n },\n [`${componentCls}-bordered ${componentCls}-cell-scrollbar`]: {\n borderInlineEnd: tableBorder\n }\n }\n };\n};\nexport default genBorderedStyle;","import { textEllipsis } from '../../style';\nconst genEllipsisStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-cell-ellipsis`]: Object.assign(Object.assign({}, textEllipsis), {\n wordBreak: 'keep-all',\n // Fixed first or last should special process\n [`\n &${componentCls}-cell-fix-left-last,\n &${componentCls}-cell-fix-right-first\n `]: {\n overflow: 'visible',\n [`${componentCls}-cell-content`]: {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n },\n [`${componentCls}-column-title`]: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n wordBreak: 'keep-all'\n }\n })\n }\n };\n};\nexport default genEllipsisStyle;","// ========================= Placeholder ==========================\nconst genEmptyStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-tbody > tr${componentCls}-placeholder`]: {\n textAlign: 'center',\n color: token.colorTextDisabled,\n [`\n &:hover > th,\n &:hover > td,\n `]: {\n background: token.colorBgContainer\n }\n }\n }\n };\n};\nexport default genEmptyStyle;","import { unit } from '@ant-design/cssinjs';\nimport { operationUnit } from '../../style';\nconst genExpandStyle = token => {\n const {\n componentCls,\n antCls,\n motionDurationSlow,\n lineWidth,\n paddingXS,\n lineType,\n tableBorderColor,\n tableExpandIconBg,\n tableExpandColumnWidth,\n borderRadius,\n tablePaddingVertical,\n tablePaddingHorizontal,\n tableExpandedRowBg,\n paddingXXS,\n expandIconMarginTop,\n expandIconSize,\n expandIconHalfInner,\n expandIconScale,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const expandIconLineOffset = calc(paddingXXS).sub(lineWidth).equal();\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-expand-icon-col`]: {\n width: tableExpandColumnWidth\n },\n [`${componentCls}-row-expand-icon-cell`]: {\n textAlign: 'center',\n [`${componentCls}-row-expand-icon`]: {\n display: 'inline-flex',\n float: 'none',\n verticalAlign: 'sub'\n }\n },\n [`${componentCls}-row-indent`]: {\n height: 1,\n float: 'left'\n },\n [`${componentCls}-row-expand-icon`]: Object.assign(Object.assign({}, operationUnit(token)), {\n position: 'relative',\n float: 'left',\n width: expandIconSize,\n height: expandIconSize,\n color: 'inherit',\n lineHeight: unit(expandIconSize),\n background: tableExpandIconBg,\n border: tableBorder,\n borderRadius,\n transform: `scale(${expandIconScale})`,\n '&:focus, &:hover, &:active': {\n borderColor: 'currentcolor'\n },\n '&::before, &::after': {\n position: 'absolute',\n background: 'currentcolor',\n transition: `transform ${motionDurationSlow} ease-out`,\n content: '\"\"'\n },\n '&::before': {\n top: expandIconHalfInner,\n insetInlineEnd: expandIconLineOffset,\n insetInlineStart: expandIconLineOffset,\n height: lineWidth\n },\n '&::after': {\n top: expandIconLineOffset,\n bottom: expandIconLineOffset,\n insetInlineStart: expandIconHalfInner,\n width: lineWidth,\n transform: 'rotate(90deg)'\n },\n // Motion effect\n '&-collapsed::before': {\n transform: 'rotate(-180deg)'\n },\n '&-collapsed::after': {\n transform: 'rotate(0deg)'\n },\n '&-spaced': {\n '&::before, &::after': {\n display: 'none',\n content: 'none'\n },\n background: 'transparent',\n border: 0,\n visibility: 'hidden'\n }\n }),\n [`${componentCls}-row-indent + ${componentCls}-row-expand-icon`]: {\n marginTop: expandIconMarginTop,\n marginInlineEnd: paddingXS\n },\n [`tr${componentCls}-expanded-row`]: {\n '&, &:hover': {\n '> th, > td': {\n background: tableExpandedRowBg\n }\n },\n // https://github.com/ant-design/ant-design/issues/25573\n [`${antCls}-descriptions-view`]: {\n display: 'flex',\n table: {\n flex: 'auto',\n width: '100%'\n }\n }\n },\n // With fixed\n [`${componentCls}-expanded-row-fixed`]: {\n position: 'relative',\n margin: `${unit(calc(tablePaddingVertical).mul(-1).equal())} ${unit(calc(tablePaddingHorizontal).mul(-1).equal())}`,\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`\n }\n }\n };\n};\nexport default genExpandStyle;","import { unit } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nconst genFilterStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n tableFilterDropdownWidth,\n tableFilterDropdownSearchWidth,\n paddingXXS,\n paddingXS,\n colorText,\n lineWidth,\n lineType,\n tableBorderColor,\n headerIconColor,\n fontSizeSM,\n tablePaddingHorizontal,\n borderRadius,\n motionDurationSlow,\n colorTextDescription,\n colorPrimary,\n tableHeaderFilterActiveBg,\n colorTextDisabled,\n tableFilterDropdownBg,\n tableFilterDropdownHeight,\n controlItemBgHover,\n controlItemBgActive,\n boxShadowSecondary,\n filterDropdownMenuBg,\n calc\n } = token;\n const dropdownPrefixCls = `${antCls}-dropdown`;\n const tableFilterDropdownPrefixCls = `${componentCls}-filter-dropdown`;\n const treePrefixCls = `${antCls}-tree`;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n return [{\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-filter-column`]: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n [`${componentCls}-filter-trigger`]: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n marginBlock: calc(paddingXXS).mul(-1).equal(),\n marginInline: `${unit(paddingXXS)} ${unit(calc(tablePaddingHorizontal).div(2).mul(-1).equal())}`,\n padding: `0 ${unit(paddingXXS)}`,\n color: headerIconColor,\n fontSize: fontSizeSM,\n borderRadius,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n color: colorTextDescription,\n background: tableHeaderFilterActiveBg\n },\n '&.active': {\n color: colorPrimary\n }\n }\n }\n }, {\n // Dropdown\n [`${antCls}-dropdown`]: {\n [tableFilterDropdownPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n minWidth: tableFilterDropdownWidth,\n backgroundColor: tableFilterDropdownBg,\n borderRadius,\n boxShadow: boxShadowSecondary,\n overflow: 'hidden',\n // Reset menu\n [`${dropdownPrefixCls}-menu`]: {\n // https://github.com/ant-design/ant-design/issues/4916\n // https://github.com/ant-design/ant-design/issues/19542\n maxHeight: tableFilterDropdownHeight,\n overflowX: 'hidden',\n border: 0,\n boxShadow: 'none',\n borderRadius: 'unset',\n backgroundColor: filterDropdownMenuBg,\n '&:empty::after': {\n display: 'block',\n padding: `${unit(paddingXS)} 0`,\n color: colorTextDisabled,\n fontSize: fontSizeSM,\n textAlign: 'center',\n content: '\"Not Found\"'\n }\n },\n [`${tableFilterDropdownPrefixCls}-tree`]: {\n paddingBlock: `${unit(paddingXS)} 0`,\n paddingInline: paddingXS,\n [treePrefixCls]: {\n padding: 0\n },\n [`${treePrefixCls}-treenode ${treePrefixCls}-node-content-wrapper:hover`]: {\n backgroundColor: controlItemBgHover\n },\n [`${treePrefixCls}-treenode-checkbox-checked ${treePrefixCls}-node-content-wrapper`]: {\n '&, &:hover': {\n backgroundColor: controlItemBgActive\n }\n }\n },\n [`${tableFilterDropdownPrefixCls}-search`]: {\n padding: paddingXS,\n borderBottom: tableBorder,\n '&-input': {\n input: {\n minWidth: tableFilterDropdownSearchWidth\n },\n [iconCls]: {\n color: colorTextDisabled\n }\n }\n },\n [`${tableFilterDropdownPrefixCls}-checkall`]: {\n width: '100%',\n marginBottom: paddingXXS,\n marginInlineStart: paddingXXS\n },\n // Operation\n [`${tableFilterDropdownPrefixCls}-btns`]: {\n display: 'flex',\n justifyContent: 'space-between',\n padding: `${unit(calc(paddingXS).sub(lineWidth).equal())} ${unit(paddingXS)}`,\n overflow: 'hidden',\n borderTop: tableBorder\n }\n })\n }\n },\n // Dropdown Menu & SubMenu\n {\n // submenu of table filter dropdown\n [`${antCls}-dropdown ${tableFilterDropdownPrefixCls}, ${tableFilterDropdownPrefixCls}-submenu`]: {\n // Checkbox\n [`${antCls}-checkbox-wrapper + span`]: {\n paddingInlineStart: paddingXS,\n color: colorText\n },\n '> ul': {\n maxHeight: 'calc(100vh - 130px)',\n overflowX: 'hidden',\n overflowY: 'auto'\n }\n }\n }];\n};\nexport default genFilterStyle;","const genFixedStyle = token => {\n const {\n componentCls,\n lineWidth,\n colorSplit,\n motionDurationSlow,\n zIndexTableFixed,\n tableBg,\n zIndexTableSticky,\n calc\n } = token;\n const shadowColor = colorSplit;\n // Follow style is magic of shadow which should not follow token:\n return {\n [`${componentCls}-wrapper`]: {\n [`\n ${componentCls}-cell-fix-left,\n ${componentCls}-cell-fix-right\n `]: {\n position: 'sticky !important',\n zIndex: zIndexTableFixed,\n background: tableBg\n },\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after\n `]: {\n position: 'absolute',\n top: 0,\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: calc(lineWidth).mul(-1).equal(),\n width: 30,\n transform: 'translateX(100%)',\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n [`${componentCls}-cell-fix-left-all::after`]: {\n display: 'none'\n },\n [`\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n position: 'absolute',\n top: 0,\n bottom: calc(lineWidth).mul(-1).equal(),\n left: {\n _skip_check_: true,\n value: 0\n },\n width: 30,\n transform: 'translateX(-100%)',\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n [`${componentCls}-container`]: {\n position: 'relative',\n '&::before, &::after': {\n position: 'absolute',\n top: 0,\n bottom: 0,\n zIndex: calc(zIndexTableSticky).add(1).equal({\n unit: false\n }),\n width: 30,\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n '&::before': {\n insetInlineStart: 0\n },\n '&::after': {\n insetInlineEnd: 0\n }\n },\n [`${componentCls}-ping-left`]: {\n [`&:not(${componentCls}-has-fix-left) ${componentCls}-container::before`]: {\n boxShadow: `inset 10px 0 8px -8px ${shadowColor}`\n },\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after\n `]: {\n boxShadow: `inset 10px 0 8px -8px ${shadowColor}`\n },\n [`${componentCls}-cell-fix-left-last::before`]: {\n backgroundColor: 'transparent !important'\n }\n },\n [`${componentCls}-ping-right`]: {\n [`&:not(${componentCls}-has-fix-right) ${componentCls}-container::after`]: {\n boxShadow: `inset -10px 0 8px -8px ${shadowColor}`\n },\n [`\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n boxShadow: `inset -10px 0 8px -8px ${shadowColor}`\n }\n },\n // Gapped fixed Columns do not show the shadow\n [`${componentCls}-fixed-column-gapped`]: {\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after,\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n boxShadow: 'none'\n }\n }\n }\n };\n};\nexport default genFixedStyle;","import { unit } from '@ant-design/cssinjs';\nconst genPaginationStyle = token => {\n const {\n componentCls,\n antCls,\n margin\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Pagination ==========================\n [`${componentCls}-pagination${antCls}-pagination`]: {\n margin: `${unit(margin)} 0`\n },\n [`${componentCls}-pagination`]: {\n display: 'flex',\n flexWrap: 'wrap',\n rowGap: token.paddingXS,\n '> *': {\n flex: 'none'\n },\n '&-left': {\n justifyContent: 'flex-start'\n },\n '&-center': {\n justifyContent: 'center'\n },\n '&-right': {\n justifyContent: 'flex-end'\n }\n }\n }\n };\n};\nexport default genPaginationStyle;","import { unit } from '@ant-design/cssinjs';\nconst genRadiusStyle = token => {\n const {\n componentCls,\n tableRadius\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [componentCls]: {\n // https://github.com/ant-design/ant-design/issues/39115#issuecomment-1362314574\n [`${componentCls}-title, ${componentCls}-header`]: {\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`\n },\n [`${componentCls}-title + ${componentCls}-container`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0,\n // https://github.com/ant-design/ant-design/issues/41975\n [`${componentCls}-header, table`]: {\n borderRadius: 0\n },\n 'table > thead > tr:first-child': {\n 'th:first-child, th:last-child, td:first-child, td:last-child': {\n borderRadius: 0\n }\n }\n },\n '&-container': {\n borderStartStartRadius: tableRadius,\n borderStartEndRadius: tableRadius,\n 'table > thead > tr:first-child': {\n '> *:first-child': {\n borderStartStartRadius: tableRadius\n },\n '> *:last-child': {\n borderStartEndRadius: tableRadius\n }\n }\n },\n '&-footer': {\n borderRadius: `0 0 ${unit(tableRadius)} ${unit(tableRadius)}`\n }\n }\n }\n };\n};\nexport default genRadiusStyle;","const genStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper-rtl`]: {\n direction: 'rtl',\n table: {\n direction: 'rtl'\n },\n [`${componentCls}-pagination-left`]: {\n justifyContent: 'flex-end'\n },\n [`${componentCls}-pagination-right`]: {\n justifyContent: 'flex-start'\n },\n [`${componentCls}-row-expand-icon`]: {\n float: 'right',\n '&::after': {\n transform: 'rotate(-90deg)'\n },\n '&-collapsed::before': {\n transform: 'rotate(180deg)'\n },\n '&-collapsed::after': {\n transform: 'rotate(0deg)'\n }\n },\n [`${componentCls}-container`]: {\n '&::before': {\n insetInlineStart: 'unset',\n insetInlineEnd: 0\n },\n '&::after': {\n insetInlineStart: 0,\n insetInlineEnd: 'unset'\n },\n [`${componentCls}-row-indent`]: {\n float: 'right'\n }\n }\n }\n };\n};\nexport default genStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSelectionStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n fontSizeIcon,\n padding,\n paddingXS,\n headerIconColor,\n headerIconHoverColor,\n tableSelectionColumnWidth,\n tableSelectedRowBg,\n tableSelectedRowHoverBg,\n tableRowHoverBg,\n tablePaddingHorizontal,\n calc\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Selections ==========================\n [`${componentCls}-selection-col`]: {\n width: tableSelectionColumnWidth,\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: calc(tableSelectionColumnWidth).add(fontSizeIcon).add(calc(padding).div(4)).equal()\n }\n },\n [`${componentCls}-bordered ${componentCls}-selection-col`]: {\n width: calc(tableSelectionColumnWidth).add(calc(paddingXS).mul(2)).equal(),\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: calc(tableSelectionColumnWidth).add(fontSizeIcon).add(calc(padding).div(4)).add(calc(paddingXS).mul(2)).equal()\n }\n },\n [`\n table tr th${componentCls}-selection-column,\n table tr td${componentCls}-selection-column,\n ${componentCls}-selection-column\n `]: {\n paddingInlineEnd: token.paddingXS,\n paddingInlineStart: token.paddingXS,\n textAlign: 'center',\n [`${antCls}-radio-wrapper`]: {\n marginInlineEnd: 0\n }\n },\n [`table tr th${componentCls}-selection-column${componentCls}-cell-fix-left`]: {\n zIndex: calc(token.zIndexTableFixed).add(1).equal({\n unit: false\n })\n },\n [`table tr th${componentCls}-selection-column::after`]: {\n backgroundColor: 'transparent !important'\n },\n [`${componentCls}-selection`]: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column'\n },\n [`${componentCls}-selection-extra`]: {\n position: 'absolute',\n top: 0,\n zIndex: 1,\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n marginInlineStart: '100%',\n paddingInlineStart: unit(calc(tablePaddingHorizontal).div(4).equal()),\n [iconCls]: {\n color: headerIconColor,\n fontSize: fontSizeIcon,\n verticalAlign: 'baseline',\n '&:hover': {\n color: headerIconHoverColor\n }\n }\n },\n // ============================= Rows =============================\n [`${componentCls}-tbody`]: {\n [`${componentCls}-row`]: {\n [`&${componentCls}-row-selected`]: {\n [`> ${componentCls}-cell`]: {\n background: tableSelectedRowBg,\n '&-row-hover': {\n background: tableSelectedRowHoverBg\n }\n }\n },\n [`> ${componentCls}-cell-row-hover`]: {\n background: tableRowHoverBg\n }\n }\n }\n }\n };\n};\nexport default genSelectionStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSizeStyle = token => {\n const {\n componentCls,\n tableExpandColumnWidth,\n calc\n } = token;\n const getSizeStyle = (size, paddingVertical, paddingHorizontal, fontSize) => ({\n [`${componentCls}${componentCls}-${size}`]: {\n fontSize,\n [`\n ${componentCls}-title,\n ${componentCls}-footer,\n ${componentCls}-cell,\n ${componentCls}-thead > tr > th,\n ${componentCls}-tbody > tr > th,\n ${componentCls}-tbody > tr > td,\n tfoot > tr > th,\n tfoot > tr > td\n `]: {\n padding: `${unit(paddingVertical)} ${unit(paddingHorizontal)}`\n },\n [`${componentCls}-filter-trigger`]: {\n marginInlineEnd: unit(calc(paddingHorizontal).div(2).mul(-1).equal())\n },\n [`${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(paddingVertical).mul(-1).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`\n },\n [`${componentCls}-tbody`]: {\n // ========================= Nest Table ===========================\n [`${componentCls}-wrapper:only-child ${componentCls}`]: {\n marginBlock: unit(calc(paddingVertical).mul(-1).equal()),\n marginInline: `${unit(calc(tableExpandColumnWidth).sub(paddingHorizontal).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`\n }\n },\n // https://github.com/ant-design/ant-design/issues/35167\n [`${componentCls}-selection-extra`]: {\n paddingInlineStart: unit(calc(paddingHorizontal).div(4).equal())\n }\n }\n });\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, getSizeStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle, token.tableFontSizeMiddle)), getSizeStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall, token.tableFontSizeSmall))\n };\n};\nexport default genSizeStyle;","const genSorterStyle = token => {\n const {\n componentCls,\n marginXXS,\n fontSizeIcon,\n headerIconColor,\n headerIconHoverColor\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-thead th${componentCls}-column-has-sorters`]: {\n outline: 'none',\n cursor: 'pointer',\n // why left 0s? Avoid column header move with transition when left is changed\n // https://github.com/ant-design/ant-design/issues/50588\n transition: `all ${token.motionDurationSlow}, left 0s`,\n '&:hover': {\n background: token.tableHeaderSortHoverBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n },\n '&:focus-visible': {\n color: token.colorPrimary\n },\n // https://github.com/ant-design/ant-design/issues/30969\n [`\n &${componentCls}-cell-fix-left:hover,\n &${componentCls}-cell-fix-right:hover\n `]: {\n background: token.tableFixedHeaderSortActiveBg\n }\n },\n [`${componentCls}-thead th${componentCls}-column-sort`]: {\n background: token.tableHeaderSortBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n },\n [`td${componentCls}-column-sort`]: {\n background: token.tableBodySortBg\n },\n [`${componentCls}-column-title`]: {\n position: 'relative',\n zIndex: 1,\n flex: 1\n },\n [`${componentCls}-column-sorters`]: {\n display: 'flex',\n flex: 'auto',\n alignItems: 'center',\n justifyContent: 'space-between',\n '&::after': {\n position: 'absolute',\n inset: 0,\n width: '100%',\n height: '100%',\n content: '\"\"'\n }\n },\n [`${componentCls}-column-sorters-tooltip-target-sorter`]: {\n '&::after': {\n content: 'none'\n }\n },\n [`${componentCls}-column-sorter`]: {\n marginInlineStart: marginXXS,\n color: headerIconColor,\n fontSize: 0,\n transition: `color ${token.motionDurationSlow}`,\n '&-inner': {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n '&-up, &-down': {\n fontSize: fontSizeIcon,\n '&.active': {\n color: token.colorPrimary\n }\n },\n [`${componentCls}-column-sorter-up + ${componentCls}-column-sorter-down`]: {\n marginTop: '-0.3em'\n }\n },\n [`${componentCls}-column-sorters:hover ${componentCls}-column-sorter`]: {\n color: headerIconHoverColor\n }\n }\n };\n};\nexport default genSorterStyle;","import { unit } from '@ant-design/cssinjs';\nconst genStickyStyle = token => {\n const {\n componentCls,\n opacityLoading,\n tableScrollThumbBg,\n tableScrollThumbBgHover,\n tableScrollThumbSize,\n tableScrollBg,\n zIndexTableSticky,\n stickyScrollBarBorderRadius,\n lineWidth,\n lineType,\n tableBorderColor\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-sticky`]: {\n '&-holder': {\n position: 'sticky',\n zIndex: zIndexTableSticky,\n background: token.colorBgContainer\n },\n '&-scroll': {\n position: 'sticky',\n bottom: 0,\n height: `${unit(tableScrollThumbSize)} !important`,\n zIndex: zIndexTableSticky,\n display: 'flex',\n alignItems: 'center',\n background: tableScrollBg,\n borderTop: tableBorder,\n opacity: opacityLoading,\n '&:hover': {\n transformOrigin: 'center bottom'\n },\n // fake scrollbar style of sticky\n '&-bar': {\n height: tableScrollThumbSize,\n backgroundColor: tableScrollThumbBg,\n borderRadius: stickyScrollBarBorderRadius,\n transition: `all ${token.motionDurationSlow}, transform none`,\n position: 'absolute',\n bottom: 0,\n '&:hover, &-active': {\n backgroundColor: tableScrollThumbBgHover\n }\n }\n }\n }\n }\n };\n};\nexport default genStickyStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSummaryStyle = token => {\n const {\n componentCls,\n lineWidth,\n tableBorderColor,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${token.lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-summary`]: {\n position: 'relative',\n zIndex: token.zIndexTableFixed,\n background: token.tableBg,\n '> tr': {\n '> th, > td': {\n borderBottom: tableBorder\n }\n }\n },\n [`div${componentCls}-summary`]: {\n boxShadow: `0 ${unit(calc(lineWidth).mul(-1).equal())} 0 ${tableBorderColor}`\n }\n }\n };\n};\nexport default genSummaryStyle;","import { unit } from '@ant-design/cssinjs';\nconst genVirtualStyle = token => {\n const {\n componentCls,\n motionDurationMid,\n lineWidth,\n lineType,\n tableBorderColor,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const rowCellCls = `${componentCls}-expanded-row-cell`;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Row ==========================\n [`${componentCls}-tbody-virtual`]: {\n [`${componentCls}-tbody-virtual-holder-inner`]: {\n [`\n & > ${componentCls}-row, \n & > div:not(${componentCls}-row) > ${componentCls}-row\n `]: {\n display: 'flex',\n boxSizing: 'border-box',\n width: '100%'\n }\n },\n [`${componentCls}-cell`]: {\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid}`\n },\n [`${componentCls}-expanded-row`]: {\n [`${rowCellCls}${rowCellCls}-fixed`]: {\n position: 'sticky',\n insetInlineStart: 0,\n overflow: 'hidden',\n width: `calc(var(--virtual-width) - ${unit(lineWidth)})`,\n borderInlineEnd: 'none'\n }\n }\n },\n // ======================== Border =========================\n [`${componentCls}-bordered`]: {\n [`${componentCls}-tbody-virtual`]: {\n '&:after': {\n content: '\"\"',\n insetInline: 0,\n bottom: 0,\n borderBottom: tableBorder,\n position: 'absolute'\n },\n [`${componentCls}-cell`]: {\n borderInlineEnd: tableBorder,\n [`&${componentCls}-cell-fix-right-first:before`]: {\n content: '\"\"',\n position: 'absolute',\n insetBlock: 0,\n insetInlineStart: calc(lineWidth).mul(-1).equal(),\n borderInlineStart: tableBorder\n }\n }\n },\n // Empty placeholder\n [`&${componentCls}-virtual`]: {\n [`${componentCls}-placeholder ${componentCls}-cell`]: {\n borderInlineEnd: tableBorder,\n borderBottom: tableBorder\n }\n }\n }\n }\n };\n};\nexport default genVirtualStyle;","import { unit } from '@ant-design/cssinjs';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { clearFix, resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport genBorderedStyle from './bordered';\nimport genEllipsisStyle from './ellipsis';\nimport genEmptyStyle from './empty';\nimport genExpandStyle from './expand';\nimport genFilterStyle from './filter';\nimport genFixedStyle from './fixed';\nimport genPaginationStyle from './pagination';\nimport genRadiusStyle from './radius';\nimport genRtlStyle from './rtl';\nimport genSelectionStyle from './selection';\nimport genSizeStyle from './size';\nimport genSorterStyle from './sorter';\nimport genStickyStyle from './sticky';\nimport genSummaryStyle from './summary';\nimport genVirtualStyle from './virtual';\nconst genTableStyle = token => {\n const {\n componentCls,\n fontWeightStrong,\n tablePaddingVertical,\n tablePaddingHorizontal,\n tableExpandColumnWidth,\n lineWidth,\n lineType,\n tableBorderColor,\n tableFontSize,\n tableBg,\n tableRadius,\n tableHeaderTextColor,\n motionDurationMid,\n tableHeaderBg,\n tableHeaderCellSplitColor,\n tableFooterTextColor,\n tableFooterBg,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({\n clear: 'both',\n maxWidth: '100%'\n }, clearFix()), {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n fontSize: tableFontSize,\n background: tableBg,\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`,\n // https://github.com/ant-design/ant-design/issues/47486\n scrollbarColor: `${token.tableScrollThumbBg} ${token.tableScrollBg}`\n }),\n // https://github.com/ant-design/ant-design/issues/17611\n table: {\n width: '100%',\n textAlign: 'start',\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`,\n borderCollapse: 'separate',\n borderSpacing: 0\n },\n // ============================= Cell ==============================\n [`\n ${componentCls}-cell,\n ${componentCls}-thead > tr > th,\n ${componentCls}-tbody > tr > th,\n ${componentCls}-tbody > tr > td,\n tfoot > tr > th,\n tfoot > tr > td\n `]: {\n position: 'relative',\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`,\n overflowWrap: 'break-word'\n },\n // ============================ Title =============================\n [`${componentCls}-title`]: {\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`\n },\n // ============================ Header ============================\n [`${componentCls}-thead`]: {\n [`\n > tr > th,\n > tr > td\n `]: {\n position: 'relative',\n color: tableHeaderTextColor,\n fontWeight: fontWeightStrong,\n textAlign: 'start',\n background: tableHeaderBg,\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid} ease`,\n \"&[colspan]:not([colspan='1'])\": {\n textAlign: 'center'\n },\n [`&:not(:last-child):not(${componentCls}-selection-column):not(${componentCls}-row-expand-icon-cell):not([colspan])::before`]: {\n position: 'absolute',\n top: '50%',\n insetInlineEnd: 0,\n width: 1,\n height: '1.6em',\n backgroundColor: tableHeaderCellSplitColor,\n transform: 'translateY(-50%)',\n transition: `background-color ${motionDurationMid}`,\n content: '\"\"'\n }\n },\n '> tr:not(:last-child) > th[colspan]': {\n borderBottom: 0\n }\n },\n // ============================ Body ============================\n [`${componentCls}-tbody`]: {\n '> tr': {\n '> th, > td': {\n transition: `background ${motionDurationMid}, border-color ${motionDurationMid}`,\n borderBottom: tableBorder,\n // ========================= Nest Table ===========================\n [`\n > ${componentCls}-wrapper:only-child,\n > ${componentCls}-expanded-row-fixed > ${componentCls}-wrapper:only-child\n `]: {\n [componentCls]: {\n marginBlock: unit(calc(tablePaddingVertical).mul(-1).equal()),\n marginInline: `${unit(calc(tableExpandColumnWidth).sub(tablePaddingHorizontal).equal())}\n ${unit(calc(tablePaddingHorizontal).mul(-1).equal())}`,\n [`${componentCls}-tbody > tr:last-child > td`]: {\n borderBottom: 0,\n '&:first-child, &:last-child': {\n borderRadius: 0\n }\n }\n }\n }\n },\n '> th': {\n position: 'relative',\n color: tableHeaderTextColor,\n fontWeight: fontWeightStrong,\n textAlign: 'start',\n background: tableHeaderBg,\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid} ease`\n }\n }\n },\n // ============================ Footer ============================\n [`${componentCls}-footer`]: {\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`,\n color: tableFooterTextColor,\n background: tableFooterBg\n }\n })\n };\n};\nexport const prepareComponentToken = token => {\n const {\n colorFillAlter,\n colorBgContainer,\n colorTextHeading,\n colorFillSecondary,\n colorFillContent,\n controlItemBgActive,\n controlItemBgActiveHover,\n padding,\n paddingSM,\n paddingXS,\n colorBorderSecondary,\n borderRadiusLG,\n controlHeight,\n colorTextPlaceholder,\n fontSize,\n fontSizeSM,\n lineHeight,\n lineWidth,\n colorIcon,\n colorIconHover,\n opacityLoading,\n controlInteractiveSize\n } = token;\n const colorFillSecondarySolid = new TinyColor(colorFillSecondary).onBackground(colorBgContainer).toHexShortString();\n const colorFillContentSolid = new TinyColor(colorFillContent).onBackground(colorBgContainer).toHexShortString();\n const colorFillAlterSolid = new TinyColor(colorFillAlter).onBackground(colorBgContainer).toHexShortString();\n const baseColorAction = new TinyColor(colorIcon);\n const baseColorActionHover = new TinyColor(colorIconHover);\n const expandIconHalfInner = controlInteractiveSize / 2 - lineWidth;\n const expandIconSize = expandIconHalfInner * 2 + lineWidth * 3;\n return {\n headerBg: colorFillAlterSolid,\n headerColor: colorTextHeading,\n headerSortActiveBg: colorFillSecondarySolid,\n headerSortHoverBg: colorFillContentSolid,\n bodySortBg: colorFillAlterSolid,\n rowHoverBg: colorFillAlterSolid,\n rowSelectedBg: controlItemBgActive,\n rowSelectedHoverBg: controlItemBgActiveHover,\n rowExpandedBg: colorFillAlter,\n cellPaddingBlock: padding,\n cellPaddingInline: padding,\n cellPaddingBlockMD: paddingSM,\n cellPaddingInlineMD: paddingXS,\n cellPaddingBlockSM: paddingXS,\n cellPaddingInlineSM: paddingXS,\n borderColor: colorBorderSecondary,\n headerBorderRadius: borderRadiusLG,\n footerBg: colorFillAlterSolid,\n footerColor: colorTextHeading,\n cellFontSize: fontSize,\n cellFontSizeMD: fontSize,\n cellFontSizeSM: fontSize,\n headerSplitColor: colorBorderSecondary,\n fixedHeaderSortActiveBg: colorFillSecondarySolid,\n headerFilterHoverBg: colorFillContent,\n filterDropdownMenuBg: colorBgContainer,\n filterDropdownBg: colorBgContainer,\n expandIconBg: colorBgContainer,\n selectionColumnWidth: controlHeight,\n stickyScrollBarBg: colorTextPlaceholder,\n stickyScrollBarBorderRadius: 100,\n expandIconMarginTop: (fontSize * lineHeight - lineWidth * 3) / 2 - Math.ceil((fontSizeSM * 1.4 - lineWidth * 3) / 2),\n headerIconColor: baseColorAction.clone().setAlpha(baseColorAction.getAlpha() * opacityLoading).toRgbString(),\n headerIconHoverColor: baseColorActionHover.clone().setAlpha(baseColorActionHover.getAlpha() * opacityLoading).toRgbString(),\n expandIconHalfInner,\n expandIconSize,\n expandIconScale: controlInteractiveSize / expandIconSize\n };\n};\nconst zIndexTableFixed = 2;\n// ============================== Export ==============================\nexport default genStyleHooks('Table', token => {\n const {\n colorTextHeading,\n colorSplit,\n colorBgContainer,\n controlInteractiveSize: checkboxSize,\n headerBg,\n headerColor,\n headerSortActiveBg,\n headerSortHoverBg,\n bodySortBg,\n rowHoverBg,\n rowSelectedBg,\n rowSelectedHoverBg,\n rowExpandedBg,\n cellPaddingBlock,\n cellPaddingInline,\n cellPaddingBlockMD,\n cellPaddingInlineMD,\n cellPaddingBlockSM,\n cellPaddingInlineSM,\n borderColor,\n footerBg,\n footerColor,\n headerBorderRadius,\n cellFontSize,\n cellFontSizeMD,\n cellFontSizeSM,\n headerSplitColor,\n fixedHeaderSortActiveBg,\n headerFilterHoverBg,\n filterDropdownBg,\n expandIconBg,\n selectionColumnWidth,\n stickyScrollBarBg,\n calc\n } = token;\n const tableToken = mergeToken(token, {\n tableFontSize: cellFontSize,\n tableBg: colorBgContainer,\n tableRadius: headerBorderRadius,\n tablePaddingVertical: cellPaddingBlock,\n tablePaddingHorizontal: cellPaddingInline,\n tablePaddingVerticalMiddle: cellPaddingBlockMD,\n tablePaddingHorizontalMiddle: cellPaddingInlineMD,\n tablePaddingVerticalSmall: cellPaddingBlockSM,\n tablePaddingHorizontalSmall: cellPaddingInlineSM,\n tableBorderColor: borderColor,\n tableHeaderTextColor: headerColor,\n tableHeaderBg: headerBg,\n tableFooterTextColor: footerColor,\n tableFooterBg: footerBg,\n tableHeaderCellSplitColor: headerSplitColor,\n tableHeaderSortBg: headerSortActiveBg,\n tableHeaderSortHoverBg: headerSortHoverBg,\n tableBodySortBg: bodySortBg,\n tableFixedHeaderSortActiveBg: fixedHeaderSortActiveBg,\n tableHeaderFilterActiveBg: headerFilterHoverBg,\n tableFilterDropdownBg: filterDropdownBg,\n tableRowHoverBg: rowHoverBg,\n tableSelectedRowBg: rowSelectedBg,\n tableSelectedRowHoverBg: rowSelectedHoverBg,\n zIndexTableFixed,\n zIndexTableSticky: calc(zIndexTableFixed).add(1).equal({\n unit: false\n }),\n tableFontSizeMiddle: cellFontSizeMD,\n tableFontSizeSmall: cellFontSizeSM,\n tableSelectionColumnWidth: selectionColumnWidth,\n tableExpandIconBg: expandIconBg,\n tableExpandColumnWidth: calc(checkboxSize).add(calc(token.padding).mul(2)).equal(),\n tableExpandedRowBg: rowExpandedBg,\n // Dropdown\n tableFilterDropdownWidth: 120,\n tableFilterDropdownHeight: 264,\n tableFilterDropdownSearchWidth: 140,\n // Virtual Scroll Bar\n tableScrollThumbSize: 8,\n // Mac scroll bar size\n tableScrollThumbBg: stickyScrollBarBg,\n tableScrollThumbBgHover: colorTextHeading,\n tableScrollBg: colorSplit\n });\n return [genTableStyle(tableToken), genPaginationStyle(tableToken), genSummaryStyle(tableToken), genSorterStyle(tableToken), genFilterStyle(tableToken), genBorderedStyle(tableToken), genRadiusStyle(tableToken), genExpandStyle(tableToken), genSummaryStyle(tableToken), genEmptyStyle(tableToken), genSelectionStyle(tableToken), genFixedStyle(tableToken), genStickyStyle(tableToken), genEllipsisStyle(tableToken), genSizeStyle(tableToken), genRtlStyle(tableToken), genVirtualStyle(tableToken)];\n}, prepareComponentToken, {\n unitless: {\n expandIconScale: true\n }\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { INTERNAL_HOOKS } from 'rc-table';\nimport { convertChildrenToColumns } from \"rc-table/es/hooks/useColumns\";\nimport omit from \"rc-util/es/omit\";\nimport useProxyImperativeHandle from '../_util/hooks/useProxyImperativeHandle';\nimport scrollTo from '../_util/scrollTo';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider/context';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport defaultLocale from '../locale/en_US';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport { useToken } from '../theme/internal';\nimport renderExpandIcon from './ExpandIcon';\nimport useContainerWidth from './hooks/useContainerWidth';\nimport useFilter, { getFilterData } from './hooks/useFilter';\nimport useLazyKVMap from './hooks/useLazyKVMap';\nimport usePagination, { DEFAULT_PAGE_SIZE, getPaginationParam } from './hooks/usePagination';\nimport useSelection from './hooks/useSelection';\nimport useSorter, { getSortData } from './hooks/useSorter';\nimport useTitleColumns from './hooks/useTitleColumns';\nimport RcTable from './RcTable';\nimport RcVirtualTable from './RcTable/VirtualTable';\nimport useStyle from './style';\nconst EMPTY_LIST = [];\nconst InternalTable = (props, ref) => {\n var _a, _b;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n size: customizeSize,\n bordered,\n dropdownPrefixCls: customizeDropdownPrefixCls,\n dataSource,\n pagination,\n rowSelection,\n rowKey = 'key',\n rowClassName,\n columns,\n children,\n childrenColumnName: legacyChildrenColumnName,\n onChange,\n getPopupContainer,\n loading,\n expandIcon,\n expandable,\n expandedRowRender,\n expandIconColumnIndex,\n indentSize,\n scroll,\n sortDirections,\n locale,\n showSorterTooltip = {\n target: 'full-header'\n },\n virtual\n } = props;\n const warning = devUseWarning('Table');\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof rowKey === 'function' && rowKey.length > 1), 'usage', '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.') : void 0;\n }\n const baseColumns = React.useMemo(() => columns || convertChildrenToColumns(children), [columns, children]);\n const needResponsive = React.useMemo(() => baseColumns.some(col => col.responsive), [baseColumns]);\n const screens = useBreakpoint(needResponsive);\n const mergedColumns = React.useMemo(() => {\n const matched = new Set(Object.keys(screens).filter(m => screens[m]));\n return baseColumns.filter(c => !c.responsive || c.responsive.some(r => matched.has(r)));\n }, [baseColumns, screens]);\n const tableProps = omit(props, ['className', 'style', 'columns']);\n const {\n locale: contextLocale = defaultLocale,\n direction,\n table,\n renderEmpty,\n getPrefixCls,\n getPopupContainer: getContextPopupContainer\n } = React.useContext(ConfigContext);\n const mergedSize = useSize(customizeSize);\n const tableLocale = Object.assign(Object.assign({}, contextLocale.Table), locale);\n const rawData = dataSource || EMPTY_LIST;\n const prefixCls = getPrefixCls('table', customizePrefixCls);\n const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n const [, token] = useToken();\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const mergedExpandable = Object.assign(Object.assign({\n childrenColumnName: legacyChildrenColumnName,\n expandIconColumnIndex\n }, expandable), {\n expandIcon: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.expandIcon) !== null && _a !== void 0 ? _a : (_b = table === null || table === void 0 ? void 0 : table.expandable) === null || _b === void 0 ? void 0 : _b.expandIcon\n });\n const {\n childrenColumnName = 'children'\n } = mergedExpandable;\n const expandType = React.useMemo(() => {\n if (rawData.some(item => item === null || item === void 0 ? void 0 : item[childrenColumnName])) {\n return 'nest';\n }\n if (expandedRowRender || (expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowRender)) {\n return 'row';\n }\n return null;\n }, [rawData]);\n const internalRefs = {\n body: React.useRef()\n };\n // ============================ Width =============================\n const getContainerWidth = useContainerWidth(prefixCls);\n // ============================= Refs =============================\n const rootRef = React.useRef(null);\n const tblRef = React.useRef(null);\n useProxyImperativeHandle(ref, () => Object.assign(Object.assign({}, tblRef.current), {\n nativeElement: rootRef.current\n }));\n // ============================ RowKey ============================\n const getRowKey = React.useMemo(() => {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return record => record === null || record === void 0 ? void 0 : record[rowKey];\n }, [rowKey]);\n const [getRecordByKey] = useLazyKVMap(rawData, childrenColumnName, getRowKey);\n // ============================ Events =============================\n const changeEventInfo = {};\n const triggerOnChange = function (info, action) {\n let reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var _a, _b, _c, _d;\n const changeInfo = Object.assign(Object.assign({}, changeEventInfo), info);\n if (reset) {\n (_a = changeEventInfo.resetPagination) === null || _a === void 0 ? void 0 : _a.call(changeEventInfo);\n // Reset event param\n if ((_b = changeInfo.pagination) === null || _b === void 0 ? void 0 : _b.current) {\n changeInfo.pagination.current = 1;\n }\n // Trigger pagination events\n if (pagination) {\n (_c = pagination.onChange) === null || _c === void 0 ? void 0 : _c.call(pagination, 1, (_d = changeInfo.pagination) === null || _d === void 0 ? void 0 : _d.pageSize);\n }\n }\n if (scroll && scroll.scrollToFirstRowOnChange !== false && internalRefs.body.current) {\n scrollTo(0, {\n getContainer: () => internalRefs.body.current\n });\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(changeInfo.pagination, changeInfo.filters, changeInfo.sorter, {\n currentDataSource: getFilterData(getSortData(rawData, changeInfo.sorterStates, childrenColumnName), changeInfo.filterStates, childrenColumnName),\n action\n });\n };\n /**\n * Controlled state in `columns` is not a good idea that makes too many code (1000+ line?) to read\n * state out and then put it back to title render. Move these code into `hooks` but still too\n * complex. We should provides Table props like `sorter` & `filter` to handle control in next big\n * version.\n */\n // ============================ Sorter =============================\n const onSorterChange = (sorter, sorterStates) => {\n triggerOnChange({\n sorter,\n sorterStates\n }, 'sort', false);\n };\n const [transformSorterColumns, sortStates, sorterTitleProps, getSorters] = useSorter({\n prefixCls,\n mergedColumns,\n onSorterChange,\n sortDirections: sortDirections || ['ascend', 'descend'],\n tableLocale,\n showSorterTooltip\n });\n const sortedData = React.useMemo(() => getSortData(rawData, sortStates, childrenColumnName), [rawData, sortStates]);\n changeEventInfo.sorter = getSorters();\n changeEventInfo.sorterStates = sortStates;\n // ============================ Filter ============================\n const onFilterChange = (filters, filterStates) => {\n triggerOnChange({\n filters,\n filterStates\n }, 'filter', true);\n };\n const [transformFilterColumns, filterStates, filters] = useFilter({\n prefixCls,\n locale: tableLocale,\n dropdownPrefixCls,\n mergedColumns,\n onFilterChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n rootClassName: classNames(rootClassName, rootCls)\n });\n const mergedData = getFilterData(sortedData, filterStates, childrenColumnName);\n changeEventInfo.filters = filters;\n changeEventInfo.filterStates = filterStates;\n // ============================ Column ============================\n const columnTitleProps = React.useMemo(() => {\n const mergedFilters = {};\n Object.keys(filters).forEach(filterKey => {\n if (filters[filterKey] !== null) {\n mergedFilters[filterKey] = filters[filterKey];\n }\n });\n return Object.assign(Object.assign({}, sorterTitleProps), {\n filters: mergedFilters\n });\n }, [sorterTitleProps, filters]);\n const [transformTitleColumns] = useTitleColumns(columnTitleProps);\n // ========================== Pagination ==========================\n const onPaginationChange = (current, pageSize) => {\n triggerOnChange({\n pagination: Object.assign(Object.assign({}, changeEventInfo.pagination), {\n current,\n pageSize\n })\n }, 'paginate');\n };\n const [mergedPagination, resetPagination] = usePagination(mergedData.length, onPaginationChange, pagination);\n changeEventInfo.pagination = pagination === false ? {} : getPaginationParam(mergedPagination, pagination);\n changeEventInfo.resetPagination = resetPagination;\n // ============================= Data =============================\n const pageData = React.useMemo(() => {\n if (pagination === false || !mergedPagination.pageSize) {\n return mergedData;\n }\n const {\n current = 1,\n total,\n pageSize = DEFAULT_PAGE_SIZE\n } = mergedPagination;\n process.env.NODE_ENV !== \"production\" ? warning(current > 0, 'usage', '`current` should be positive number.') : void 0;\n // Dynamic table data\n if (mergedData.length < total) {\n if (mergedData.length > pageSize) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'usage', '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.') : void 0;\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }\n return mergedData;\n }\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }, [!!pagination, mergedData, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.current, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.pageSize, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total]);\n // ========================== Selections ==========================\n const [transformSelectionColumns, selectedKeySet] = useSelection({\n prefixCls,\n data: mergedData,\n pageData,\n getRowKey,\n getRecordByKey,\n expandType,\n childrenColumnName,\n locale: tableLocale,\n getPopupContainer: getPopupContainer || getContextPopupContainer\n }, rowSelection);\n const internalRowClassName = (record, index, indent) => {\n let mergedRowClassName;\n if (typeof rowClassName === 'function') {\n mergedRowClassName = classNames(rowClassName(record, index, indent));\n } else {\n mergedRowClassName = classNames(rowClassName);\n }\n return classNames({\n [`${prefixCls}-row-selected`]: selectedKeySet.has(getRowKey(record, index))\n }, mergedRowClassName);\n };\n // ========================== Expandable ==========================\n // Pass origin render status into `rc-table`, this can be removed when refactor with `rc-table`\n mergedExpandable.__PARENT_RENDER_ICON__ = mergedExpandable.expandIcon;\n // Customize expandable icon\n mergedExpandable.expandIcon = mergedExpandable.expandIcon || expandIcon || renderExpandIcon(tableLocale);\n // Adjust expand icon index, no overwrite expandIconColumnIndex if set.\n if (expandType === 'nest' && mergedExpandable.expandIconColumnIndex === undefined) {\n mergedExpandable.expandIconColumnIndex = rowSelection ? 1 : 0;\n } else if (mergedExpandable.expandIconColumnIndex > 0 && rowSelection) {\n mergedExpandable.expandIconColumnIndex -= 1;\n }\n // Indent size\n if (typeof mergedExpandable.indentSize !== 'number') {\n mergedExpandable.indentSize = typeof indentSize === 'number' ? indentSize : 15;\n }\n // ============================ Render ============================\n const transformColumns = React.useCallback(innerColumns => transformTitleColumns(transformSelectionColumns(transformFilterColumns(transformSorterColumns(innerColumns)))), [transformSorterColumns, transformFilterColumns, transformSelectionColumns]);\n let topPaginationNode;\n let bottomPaginationNode;\n if (pagination !== false && (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total)) {\n let paginationSize;\n if (mergedPagination.size) {\n paginationSize = mergedPagination.size;\n } else {\n paginationSize = mergedSize === 'small' || mergedSize === 'middle' ? 'small' : undefined;\n }\n const renderPagination = position => (/*#__PURE__*/React.createElement(Pagination, Object.assign({}, mergedPagination, {\n className: classNames(`${prefixCls}-pagination ${prefixCls}-pagination-${position}`, mergedPagination.className),\n size: paginationSize\n })));\n const defaultPosition = direction === 'rtl' ? 'left' : 'right';\n const {\n position\n } = mergedPagination;\n if (position !== null && Array.isArray(position)) {\n const topPos = position.find(p => p.includes('top'));\n const bottomPos = position.find(p => p.includes('bottom'));\n const isDisable = position.every(p => `${p}` === 'none');\n if (!topPos && !bottomPos && !isDisable) {\n bottomPaginationNode = renderPagination(defaultPosition);\n }\n if (topPos) {\n topPaginationNode = renderPagination(topPos.toLowerCase().replace('top', ''));\n }\n if (bottomPos) {\n bottomPaginationNode = renderPagination(bottomPos.toLowerCase().replace('bottom', ''));\n }\n } else {\n bottomPaginationNode = renderPagination(defaultPosition);\n }\n }\n // >>>>>>>>> Spinning\n let spinProps;\n if (typeof loading === 'boolean') {\n spinProps = {\n spinning: loading\n };\n } else if (typeof loading === 'object') {\n spinProps = Object.assign({\n spinning: true\n }, loading);\n }\n const wrapperClassNames = classNames(cssVarCls, rootCls, `${prefixCls}-wrapper`, table === null || table === void 0 ? void 0 : table.className, {\n [`${prefixCls}-wrapper-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n const mergedStyle = Object.assign(Object.assign({}, table === null || table === void 0 ? void 0 : table.style), style);\n const emptyText = typeof (locale === null || locale === void 0 ? void 0 : locale.emptyText) !== 'undefined' ? locale.emptyText : (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"Table\"\n });\n // ========================== Render ==========================\n const TableComponent = virtual ? RcVirtualTable : RcTable;\n // >>> Virtual Table props. We set height here since it will affect height collection\n const virtualProps = {};\n const listItemHeight = React.useMemo(() => {\n const {\n fontSize,\n lineHeight,\n padding,\n paddingXS,\n paddingSM\n } = token;\n const fontHeight = Math.floor(fontSize * lineHeight);\n switch (mergedSize) {\n case 'large':\n return padding * 2 + fontHeight;\n case 'small':\n return paddingXS * 2 + fontHeight;\n default:\n return paddingSM * 2 + fontHeight;\n }\n }, [token, mergedSize]);\n if (virtual) {\n virtualProps.listItemHeight = listItemHeight;\n }\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n ref: rootRef,\n className: wrapperClassNames,\n style: mergedStyle\n }, /*#__PURE__*/React.createElement(Spin, Object.assign({\n spinning: false\n }, spinProps), topPaginationNode, /*#__PURE__*/React.createElement(TableComponent, Object.assign({}, virtualProps, tableProps, {\n ref: tblRef,\n columns: mergedColumns,\n direction: direction,\n expandable: mergedExpandable,\n prefixCls: prefixCls,\n className: classNames({\n [`${prefixCls}-middle`]: mergedSize === 'middle',\n [`${prefixCls}-small`]: mergedSize === 'small',\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-empty`]: rawData.length === 0\n }, cssVarCls, rootCls, hashId),\n data: pageData,\n rowKey: getRowKey,\n rowClassName: internalRowClassName,\n emptyText: emptyText,\n // Internal\n internalHooks: INTERNAL_HOOKS,\n internalRefs: internalRefs,\n transformColumns: transformColumns,\n getContainerWidth: getContainerWidth\n })), bottomPaginationNode)));\n};\nexport default /*#__PURE__*/React.forwardRef(InternalTable);","export default function useContainerWidth(prefixCls) {\n const getContainerWidth = (ele, width) => {\n const container = ele.querySelector(`.${prefixCls}-container`);\n let returnWidth = width;\n if (container) {\n const style = getComputedStyle(container);\n const borderLeft = parseInt(style.borderLeftWidth, 10);\n const borderRight = parseInt(style.borderRightWidth, 10);\n returnWidth = width - borderLeft - borderRight;\n }\n return returnWidth;\n };\n return getContainerWidth;\n}","import raf from \"rc-util/es/raf\";\nimport { easeInOutCubic } from './easings';\nimport getScroll, { isWindow } from './getScroll';\nexport default function scrollTo(y) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n getContainer = () => window,\n callback,\n duration = 450\n } = options;\n const container = getContainer();\n const scrollTop = getScroll(container);\n const startTime = Date.now();\n const frameFunc = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n const nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);\n if (isWindow(container)) {\n container.scrollTo(window.pageXOffset, nextScrollTop);\n } else if (container instanceof Document || container.constructor.name === 'HTMLDocument') {\n container.documentElement.scrollTop = nextScrollTop;\n } else {\n container.scrollTop = nextScrollTop;\n }\n if (time < duration) {\n raf(frameFunc);\n } else if (typeof callback === 'function') {\n callback();\n }\n };\n raf(frameFunc);\n}","export function easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n // biome-ignore lint: it is a common easing function\n t /= d / 2;\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n }\n // biome-ignore lint: it is a common easing function\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}","\"use client\";\n\nimport * as React from 'react';\nimport { EXPAND_COLUMN, Summary } from 'rc-table';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport { SELECTION_ALL, SELECTION_COLUMN, SELECTION_INVERT, SELECTION_NONE } from './hooks/useSelection';\nimport InternalTable from './InternalTable';\nconst Table = (props, ref) => {\n const renderTimesRef = React.useRef(0);\n renderTimesRef.current += 1;\n return /*#__PURE__*/React.createElement(InternalTable, Object.assign({}, props, {\n ref: ref,\n _renderTimes: renderTimesRef.current\n }));\n};\nconst ForwardTable = /*#__PURE__*/React.forwardRef(Table);\nForwardTable.SELECTION_COLUMN = SELECTION_COLUMN;\nForwardTable.EXPAND_COLUMN = EXPAND_COLUMN;\nForwardTable.SELECTION_ALL = SELECTION_ALL;\nForwardTable.SELECTION_INVERT = SELECTION_INVERT;\nForwardTable.SELECTION_NONE = SELECTION_NONE;\nForwardTable.Column = Column;\nForwardTable.ColumnGroup = ColumnGroup;\nForwardTable.Summary = Summary;\nif (process.env.NODE_ENV !== 'production') {\n ForwardTable.displayName = 'Table';\n}\nexport default ForwardTable;","\"use client\";\n\nimport Table from './Table';\nexport default Table;"],"names":["FileOutlined","props","ref","React","AntdIcon","_extends","icon","FileOutlinedSvg","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","InternalCheckbox","_a","prefixCls","customizePrefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled","restProps","getPrefixCls","direction","checkbox","ConfigContext","checkboxGroup","GroupContext","isFormItemInput","FormItemInputContext","contextDisabled","DisabledContext","mergedDisabled","prevValue","value","checkboxRef","mergedRef","composeRef","registerValue","current","cancelValue","input","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useStyle","checkboxProps","assign","onChange","apply","arguments","toggleOption","label","name","checked","includes","classString","classNames","concat","checkboxClass","TARGET_CLS","onLabelClick","onInputClick","useBubbleLock","onClick","Wave","component","RcCheckbox","undefined","CheckboxGroup","defaultValue","options","setValue","registeredValues","setRegisteredValues","memoOptions","map","option","groupPrefixCls","domProps","omit","childrenNode","Checkbox","key","toString","title","id","required","context","optionIndex","newValue","_toConsumableArray","push","splice","filter","val","sort","a","b","findIndex","opt","prevValues","v","Provider","Group","__ANT_CHECKBOX","genCheckboxStyle","token","checkboxCls","wrapperCls","resetComponent","display","flexWrap","columnGap","marginXS","antCls","flex","alignItems","cursor","width","overflow","content","marginInlineStart","height","position","whiteSpace","lineHeight","borderRadius","borderRadiusSM","alignSelf","inset","zIndex","opacity","margin","genFocusOutline","boxSizing","checkboxSize","backgroundColor","colorBgContainer","border","unit","lineWidth","lineType","colorBorder","borderCollapse","transition","motionDurationSlow","top","insetInlineStart","calc","div","mul","equal","lineWidthBold","colorWhite","borderTop","borderInlineStart","transform","motionDurationFast","motionEaseInBack","paddingInlineStart","paddingXS","paddingInlineEnd","borderColor","colorPrimary","colorPrimaryHover","motionDurationMid","motionEaseOutBack","fontSizeLG","pointerEvents","background","colorBgContainerDisabled","colorTextDisabled","color","getStyle","checkboxToken","mergeToken","controlInteractiveSize","genStyleHooks","_ref","EXPAND_COLUMN","INTERNAL_HOOKS","createContext","Context","valueRef","_React$useState","getValue","listeners","Set","_slicedToArray","useLayoutEffect","unstable_batchedUpdates","forEach","listener","useContext","holder","selector","eventSelector","useEvent","ctx","Array","isArray","obj","_ref2","_React$useState3","forceUpdate","add","trigger","delete","nextValue","nextSelectorValue","isEqual","createImmutable","ImmutableContext","useImmutableMark","makeImmutable","Component","shouldTriggerRender","refAble","supportRef","ImmutableComponent","refProps","renderTimesRef","prevProps","responseImmutable","propsAreEqual","_createImmutable","renderWithProps","getColumnsKey","columns","columnKeys","keys","column","arr","dataIndex","mergedKey","join","validateValue","useCellRender","record","renderIndex","render","shouldCellUpdate","perfRecord","PerfContext","mark","useMemo","data","path","returnChildNode","returnCellProps","renderData","_typeof","prev","next","prevRecord","nextRecord","Cell","_ref3","_legacyCellProps$colS","_ref4","_ref5","_legacyCellProps$rowS","_additionalProps$titl","_classNames","ellipsis","scope","align","index","rowType","colSpan","rowSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_props$additionalProp","additionalProps","isSticky","cellPrefixCls","_useContext","TableContext","supportSticky","allColumnsFixedLeft","rowHoverable","_useCellRender","_useCellRender2","childNode","legacyCellProps","fixedStyle","isFixLeft","isFixRight","left","right","mergedColSpan","mergedRowSpan","_useHoverState","rowIndex","cellStartRow","cellRowSpan","startRow","endRow","hoverStartRow","hoverEndRow","onHover","useHoverState","_useHoverState2","hovering","event","_additionalProps$onMo","_additionalProps$onMo2","ellipsisConfig","showTitle","getTitleFromCellRenderChildren","mergedClassName","_defineProperty","alignStyle","textAlign","mergedStyle","_objectSpread","mergedChildNode","getCellFixedInfo","colStart","colEnd","stickyOffsets","startColumn","endColumn","fixed","nextColumn","prevColumn","canLastFix","every","col","_excluded","Summary","Row","_objectWithoutProperties","_ref$colSpan","_React$useContext","SummaryContext","scrollColumnIndex","fixedInfo","flattenColumns","lastColumnIndex","scrollColumn","summaryContext","scrollbar","FooterComponents","fillRecords","list","indent","childrenColumnName","expandedKeys","getRowKey","expanded","has","useFlattenRecords","size","item","useRowInfo","rowKey","recordIndex","computeRowClassName","expandableType","onTriggerExpand","rowExpandable","onRow","expandRowByClick","rowClassName","nestExpandable","rowSupportExpand","mergedExpandable","hasNestChildren","onInternalTriggerExpand","rowProps","onRowClick","columnsKey","expandable","_len","args","_key","cellComponent","isEmpty","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","renderExpandIcon","onExpand","expandClassName","stopPropagation","computedExpandedClassName","cls","getCellProps","rowInfo","colIndex","appendCellNode","additionalCellProps","fixedInfoList","expandIconColumnIndex","indentSize","expandIcon","paddingLeft","onCell","_props$indent","RowComponent","rowComponent","scopeCellComponent","expandedRowClassName","expandedRowRender","expandedRef","expandRowNode","expandedClsName","baseRowNode","columnClassName","_getCellProps","rowScope","expandContent","ExpandedRow","MeasureCell","columnKey","onColumnResize","cellRef","offsetWidth","ResizeObserver","padding","MeasureRow","fontSize","Collection","onBatchResize","infoList","rows","measureColumnWidth","getComponent","emptyNode","flattenData","perfRef","WrapperComponent","trComponent","tdComponent","thComponent","idx","BodyRow","INTERNAL_COL_DEFINE","colWidths","columCount","tableLayout","cols","mustInsert","minWidth","restAdditionalProps","columnType","unshift","FixedHolder","noData","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","TableComponent","combinationScrollBarSize","scrollRef","setScrollRef","element","fillRef","_scrollRef$current","onWheel","currentTarget","deltaX","scrollLeft","preventDefault","addEventListener","passive","_scrollRef$current2","removeEventListener","allFlattenColumnsWithWidth","lastColumn","ScrollBarColumn","onHeaderCell","columnsWithScrollbar","flattenColumnsWithScrollbar","headerStickyOffsets","mergedColumnWidth","cloneColumns","useColumnWidth","bottom","visibility","ColGroup","cells","CellComponent","onHeaderRow","cell","cellIndex","rootColumns","fillRowCells","currentColIndex","Boolean","subColumns","reduce","total","count","hasSubColumns","rowCount","_loop","parseHeaderRows","row","HeaderRow","parseColWidth","totalWidth","endsWith","parseFloat","_excluded2","convertChildrenToColumns","toArray","node","nodeChildren","filterHiddenColumns","hidden","flatColumns","parentKey","parsedFixed","subColum","transformColumns","columnTitle","columnWidth","scrollWidth","clientWidth","baseColumns","slice","withExpandColumns","expandColIndex","process","expandColumnIndex","fixedColumn","expandColumn","_","recordExpandable","mergedColumns","finalColumns","revertForRtl","hasGapFixed","lastLeftIndex","colFixed","_i","_colFixed","firstRightIndex","_i2","_useWidthColumns","missWidthCount","colWidth","maxFitWidth","Math","max","restWidth","restCount","avgWidth","realTotal","filledColumns","clone","colAvgWidth","floor","scale","useWidthColumns","_useWidthColumns2","realScrollWidth","useExpand","mergedData","expandableConfig","config","legacyExpandableConfig","showExpandColumn","getExpandableProps","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","onExpandedRowsChange","mergedExpandIcon","mergedChildrenColumnName","internalHooks","__PARENT_RENDER_ICON__","some","dig","findAllChildrenKeys","_React$useState2","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","hasKey","useLayoutState","defaultState","stateRef","useRef","_useState","useState","lastPromiseRef","updateBatchRef","useEffect","updater","promise","Promise","resolve","then","prevBatch","prevState","batchUpdater","defaultContainer","canUseDom","window","columnCount","getOffsets","startIndex","endIndex","offset","offsets","startOffsets","endOffsets","reverse","addEventListenerWrap","target","eventType","cb","callback","ReactDOM","remove","getOffset","box","getBoundingClientRect","docElem","document","documentElement","pageXOffset","clientLeft","body","pageYOffset","scrollTop","clientTop","StickyScrollBar","_scrollBodyRef$curren","_scrollBodyRef$curren2","scrollBodyRef","offsetScroll","container","bodyScrollWidth","bodyWidth","scrollBarWidth","scrollBarRef","_useLayoutState","isHiddenScrollBar","_useLayoutState2","scrollState","setScrollState","refState","delta","x","isActive","setActive","rafRef","raf","cancel","onMouseUp","onMouseMove","_window","buttons","pageX","checkScrollBarVisible","tableOffsetTop","tableBottomOffset","offsetHeight","currentClientOffset","innerHeight","clientHeight","getScrollBarSize","state","setScrollLeft","onMouseUpListener","onMouseMoveListener","onScrollListener","onResizeListener","bodyNode","onMouseDown","persist","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","Table","tableProps","emptyText","scroll","footer","summary","caption","showHeader","components","internalRefs","tailor","getContainerWidth","sticky","_props$rowHoverable","hasData","useInternalHooks","defaultComponent","customizeScrollBody","_useHover","setStartRow","_React$useState4","setEndRow","start","end","useHover","_useHover2","_useExpand","_useExpand2","scrollX","setComponentWidth","_useColumns","useColumns","_useColumns2","flattenScrollX","mergedScrollX","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","nativeElement","scrollTo","_scrollBodyRef$curren3","HTMLElement","Number","isNaN","querySelector","scrollIntoView","scrollXStyle","scrollYStyle","scrollTableStyle","scrollSummaryRef","pingedLeft","setPingedLeft","_React$useState5","_React$useState6","pingedRight","setPingedRight","Map","colsWidths","updateColsWidths","pureColWidths","get","useStickyOffsets","y","stickyRef","_useSticky","_ref$offsetHeader","offsetHeader","_ref$offsetSummary","offsetSummary","_ref$offsetScroll","_ref$getContainer","getContainer","useSticky","summaryNode","fixFooter","type","overflowY","maxHeight","overflowX","isVisible","widths","newWidths","set","_useTimeoutLock","frameRef","timeoutRef","cleanUp","clearTimeout","newState","setTimeout","useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","onInternalScroll","_stickyRef$current","isRTL","mergedScrollLeft","compareTarget","measureTarget","onBodyScroll","triggerOnScroll","_scrollBodyRef$curren4","getDOM","mounted","_React$useState7","_React$useState8","setScrollbarSize","_React$useState9","_React$useState10","setSupportSticky","Element","getTargetScrollBarSize","isStyleSupport","groupTableNode","renderFixedHeaderTable","fixedHolderPassProps","Header","Footer","renderFixedFooterTable","mergedTableLayout","headerProps","bodyTable","Body","bodyColGroup","captionElement","dataProps","pickAttrs","ariaProps","aria","bodyContent","_ref6","fixedHolderProps","fullTable","Panel","onResize","_stickyRef$current2","mergedWidth","useFixedInfo","TableContextValue","RefTable","genTable","ImmutableTable","Column","ColumnGroup","StaticContext","GridContext","inverse","getHeight","columnsOffset","cellStyle","_additionalCellProps$","_additionalCellProps$2","concatColWidth","getColumnWidth","marginOffset","marginRight","needHide","mergedRender","cellSpan","BodyLine","extra","rowCellCls","rowStyle","rowNode","VirtualCell","Grid","_useContext2","scrollY","listItemHeight","onTablePropScroll","listRef","columnsWidth","_listRef$current2","_listRef$current","defineProperty","_listRef$current3","getScrollInfo","_listRef$current4","getRowSpan","_flattenData$index","_cellProps$rowSpan","cellProps","gridContext","tblPrefixCls","wrapperComponent","horizontalScrollBarStyle","VirtualList","fullHeight","styles","horizontalScrollBar","itemHeight","itemKey","onVirtualScroll","_listRef$current5","extraRender","info","getSize","offsetY","firstRowSpanColumns","lastRowSpanColumns","_loop2","spanLines","_loop3","sizeInfo","endItemIndex","endItemKey","itemProps","renderBody","rawData","VirtualTable","_props$prefixCls","RefVirtualTable","genVirtualTable","TreeContext","Indent","level","isStart","isEnd","baseClassName","getEntity","keyEntities","getPosition","getKey","pos","fillFieldNames","fieldNames","mergedTitle","_title","convertTreeToData","rootNodes","treeNode","isTreeNode","warning","_treeNode$props","rest","dataNode","parsedChildren","flattenTreeData","treeNodeList","_fillFieldNames","fieldTitles","fieldKey","fieldChildren","expandedKeySet","flattenList","parent","fieldTitle","flattenNode","convertDataToEntities","dataNodes","initWrapper","processEntity","onProcessFinished","externalGetKey","childrenPropName","mergedExternalGetKey","posEntities","wrapper","syntheticGetKey","_mergedConfig","_fillFieldNames2","mergeChildrenPropName","processNode","pathNodes","connectNodes","_data","parentPos","nodes","subNode","subIndex","traverseDataNodes","entity","getTreeNodeProps","selectedKeys","loadedKeys","loadingKeys","checkedKeys","halfCheckedKeys","dragOverNodeKey","dropPosition","eventKey","selected","loaded","loading","halfChecked","String","dragOver","dragOverGapTop","dragOverGapBottom","convertNodePropsToEventData","active","eventData","ICON_OPEN","ICON_CLOSE","InternalTreeNode","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","this","_assertThisInitialized","dragNodeHighlight","onNodeClick","isSelectable","onSelect","onCheck","onNodeDoubleClick","isDisabled","onNodeSelect","_this$props","disableCheckbox","onNodeCheck","isCheckable","targetChecked","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","onNodeDragStart","setState","dataTransfer","setData","error","onNodeDragEnter","onNodeDragOver","onNodeDragLeave","onNodeDragEnd","onNodeDrop","_this$props2","onNodeExpand","selectHandle","isLeaf","_this$props3","loadData","hasChildren","checkable","treeCheckable","_this$props$context","onNodeLoad","_this$props4","draggable","nodeDraggable","_this$props$context2","switcherIconFromProps","switcherIcon","switcherIconFromCtx","_switcherIconDom","renderSwitcherIconDom","switcherCls","switcherIconDom","_this$props5","$custom","getNodeState","$icon","titleNode","_this$props6","_this$props6$title","_this$props$context3","showIcon","treeIcon","titleRender","wrapClass","currentIcon","renderIcon","$title","setSelectHandle","onContextMenu","onSelectorClick","onDoubleClick","onSelectorDoubleClick","renderDropIndicator","_this$props7","_this$props$context4","dropLevelOffset","dropIndicatorRender","showIndicator","mergedIndent","cacheIndent","_createClass","syncLoadData","selectable","treeSelectable","_this$props8","domRef","otherProps","_this$props$context5","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","dataOrAriaAttributeProps","isEndNode","mergedDraggable","isDraggable","draggableWithoutDisabled","dragging","ariaSelected","onDragStart","onDragEnter","onDragOver","onDragLeave","onDrop","onDragEnd","renderDragHandler","renderSwitcher","renderCheckbox","renderSelector","ContextTreeNode","Consumer","displayName","arrDel","arrAdd","posToArr","split","getDragChildrenKeys","dragNodeKey","dragChildrenKeys","isLastChild","treeNodeEntity","posArr","calcDropPosition","dragNode","targetNode","startMousePosition","allowDrop","flattenedNodes","expandKeys","_abstractDropNodeEnti","clientX","clientY","_getBoundingClientRec","rawDropLevelOffset","filteredExpandKeys","_keyEntities$key","abstractDropNodeEntity","nodeIndex","flattenedNode","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","abstractDragDataNode","abstractDropDataNode","dropAllowed","isFirstChild","dropNode","dropTargetPos","calcSelectedKeys","multiple","parseCheckedKeys","keyProps","conductExpandParent","keyList","conductUp","removeFromCheckedKeys","filteredKeys","isCheckDisabled","conductCheck","getCheckDisabled","syntheticGetCheckDisabled","warningMissKeys","result","hasEntity","levelEntities","maxLevel","levelSet","_entity$children","childEntity","visitedKeys","_level","allChecked","partialChecked","from","fillConductCheck","halfKeys","_entity$children2","_level2","cleanConductCheck","SELECTION_COLUMN","SELECTION_ALL","SELECTION_INVERT","SELECTION_NONE","EMPTY_LIST","useSelection","rowSelection","preserveSelectedRowKeys","selectedRowKeys","defaultSelectedRowKeys","getCheckboxProps","onSelectionChange","onSelectAll","onSelectInvert","onSelectNone","onSelectMultiple","selectionColWidth","selectionType","selections","renderCell","customizeRenderCell","hideSelectAll","checkStrictly","pageData","getRecordByKey","expandType","locale","tableLocale","getPopupContainer","devUseWarning","multipleSelect","updatePrevSelectedIndex","prevSelectedIndex","setPrevSelectedIndex","useCallback","currentSelectedIndex","configPrevSelectedIndex","min","rangeKeys","shouldSelected","rangeKey","changedKeys","useMultipleSelect","mergedSelectedKeys","setMergedSelectedKeys","useMergedState","preserveRecordsRef","updatePreserveRecordsCache","newCache","flattedData","convertData","keysSet","preserveRecords","checkboxPropsMap","isCheckboxDisabled","r","derivedSelectedKeys","derivedHalfSelectedKeys","derivedSelectedKeySet","derivedHalfSelectedKeySet","setSelectedKeys","method","availableKeys","records","triggerSingleSelection","k","mergedSelections","selection","text","selectionAll","checkProps","selectInvert","keySet","deprecated","selectNone","_a2","recordKeys","checkedCurrentAll","checkedCurrentSome","onSelectAllChange","changeKeys","columnTitleCheckbox","customizeSelections","menu","items","onSelectionClick","Dropdown","DownOutlined","allDisabledData","allDisabled","allDisabledAndChecked","allDisabledSomeChecked","Radio","nativeEvent","mergedIndeterminate","shiftKey","isMultiple","recordKey","originCheckedKeys","nextCheckedKeys","tempKeySet","restColumns","selectionColumnIndex","prevCol","nextCol","mergedFixed","columnCls","selectionColumn","renderSelectionCell","useProxyImperativeHandle","init","useImperativeHandle","refObj","Proxy","prop","Reflect","handler","_antProxy","ori","isWindow","_b","Document","ownerDocument","iconPrefix","collapse","expand","getColumnKey","defaultKey","getColumnPos","renderColumnTitle","FilterFilled","FilterFilledSvg","_objectDestructuringEmpty","TypeError","MotionTreeNode","motion","motionNodes","motionType","onOriginMotionStart","onMotionStart","onOriginMotionEnd","onMotionEnd","treeNodeRequiredProps","visible","setVisible","targetVisible","triggerMotionEndRef","triggerMotionEnd","triggerStart","triggerEnd","firstMount","setFirstMount","useUnmount","CSSMotion","motionAppear","onVisibleChanged","nextVisible","motionRef","motionClassName","motionStyle","treeNodeProps","TreeNode","getExpandRange","shorter","longer","shorterStartIndex","shorterEndNode","longerStartIndex","longerEndIndex","HIDDEN_STYLE","noop","MOTION_KEY","random","MotionNode","MotionEntity","MotionFlattenData","getMinimumRangeTransitionRange","virtual","ceil","NodeList","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd","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","onVisibleChange","originList","Tree","_args","treeData","flattenNodes","activeKey","listChanging","_this$state","dragStartMousePosition","setExpandedKeys","onWindowDragEnd","_this$state2","_node$props","currentMouseOverDroppableNodeKey","_calcDropPosition","delayedDragEnterLogic","resetDragState","_this$state3","_calcDropPosition2","contains","relatedTarget","cleanDragState","_this$getActiveItem","outsideTree","_this$state4","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropToChild","dropResult","dragNodesKeys","dropToGap","_this$state5","metaKey","ctrlKey","nodeItem","eventNode","expandAction","triggerExpandActionExpand","_this$state6","targetSelected","selectedNodes","selectedKey","setUncontrolledState","checkedObj","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","eventObj","checkedNodes","checkedKey","_conductCheck","_checkedKeys","_halfCheckedKeys","_conductCheck2","checkedNodesPositions","loadPromise","reject","_ref$loadedKeys","_ref$loadingKeys","onLoad","newLoadedKeys","catch","loadingRetryTimes","currentLoadedKeys","onRightClick","_len2","_key2","_len3","_key3","_this$state8","_this$state9","_this$state10","targetExpanded","newFlattenTreeData","expandedKeysToRestore","newActiveKey","_this$props9","_this$props9$itemScro","itemScrollOffset","_this$state11","_this$state12","_key4","_this$state13","_this$props10","which","KeyCode","UP","offsetActiveKey","DOWN","LEFT","RIGHT","ENTER","SPACE","atomic","forceState","destroyed","needSync","allPassed","onUpdated","_this$props11","_this$props11$itemScr","draggableConfig","_this$state14","_this$props12","showLine","_this$props12$tabInde","rootStyle","role","entitiesMap","checkedKeyEntity","autoExpandParent","defaultExpandParent","defaultExpandAll","cloneKeyEntities","nextExpandedKeys","defaultExpandedKeys","defaultSelectedKeys","defaultCheckedKeys","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","FolderOpenOutlined","FolderOpenOutlinedSvg","HolderOutlined","HolderOutlinedSvg","genDirectoryStyle","treeCls","treeNodeCls","directoryNodeSelectedBg","directoryNodeSelectedColor","controlItemBgHover","treeNodeFX","Keyframes","getSwitchStyle","verticalAlign","svg","getDropIndicatorStyle","genBaseStyle","treeNodePadding","titleHeight","nodeSelectedBg","nodeHoverBg","colorTextQuaternary","animationName","animationDuration","animationPlayState","animationFillMode","marginBottom","nodeHoverColor","fontWeight","flexShrink","userSelect","marginInlineEnd","sub","_skip_check_","colorBgTextHover","insetInlineEnd","borderInlineEnd","borderBottom","minHeight","paddingBlock","paddingInline","nodeSelectedColor","boxShadow","genTreeStyle","treeToken","componentCls","getCheckboxStyle","genCollapseMotion","colorTextLightSolid","controlHeightSM","controlItemBgActive","colorText","initComponentToken","startPosition","endPosition","CaretDownFilled","CaretDownFilledSvg","MinusSquareOutlined","MinusSquareOutlinedSvg","PlusSquareOutlined","PlusSquareOutlinedSvg","switcherLoadingIcon","LoadingOutlined","showLeafIcon","leafIcon","leafCls","cloneElement","switcher","tree","blockNode","customMotion","rootPrefixCls","initCollapseMotion","newProps","useToken","RcTree","nodeProps","SwitcherIconCom","traverseNodesKey","calcRangeKeys","startKey","endKey","matchKey","convertDirectoryKeysToNodes","restKeys","getIcon","FolderOutlined","getTreeData","DirectoryTree","lastSelectedKey","cachedSelectedKeys","getInitExpandedKeys","initExpandedKeys","connectClassName","newEvent","ctrlPick","shiftPick","newSelectedKeys","TreePure","filterSearch","tablePrefixCls","Input","prefix","SearchOutlined","placeholder","filterSearchPlaceholder","htmlSize","keyCode","flattenKeys","filters","searchValueMatched","searchValue","toLowerCase","trim","renderFilterItems","filterMultiple","popupClassName","wrapStringListType","_c","_d","dropdownPrefixCls","filterOnClose","filterMode","filterState","triggerFilter","filterResetToDefaultFilteredValue","defaultFilteredValue","filterDropdownProps","filterDropdownOpen","filterDropdownVisible","onFilterDropdownVisibleChange","onFilterDropdownOpenChange","filtered","forceFiltered","triggerVisible","newVisible","onOpenChange","mergedVisible","open","propFilteredKeys","getFilteredKeysSync","setFilteredKeysSync","initialValue","useForceUpdate","useSyncState","onSelectKeys","openKeys","setOpenKeys","setSearchValue","onSearch","internalTriggerFilter","mergedKeys","onConfirm","onReset","confirm","closeDropdown","doFilter","dropdownMenuClass","onCheckAll","allFilterKeys","_ref7","getFilterData","dropdownContent","renderEmpty","filterDropdown","clearFilters","close","getFilterComponent","empty","Empty","image","PRESENTED_IMAGE_SIMPLE","description","filterEmptyText","imageStyle","FilterSearch","filterCheckall","Menu","onDeselect","getResetDisabled","Button","filterReset","filterConfirm","OverrideProvider","FilterDropdownMenuWrapper","mergedDropdownProps","extendsObject","placement","getDropdownTrigger","filterIcon","source","dropdownRender","collectFilterStates","filterStates","columnPos","filteredValues","filteredValue","injectFilter","newColumn","renderProps","FilterDropdown","generateFilterInfo","currentFilters","keyAsString","originKey","currentData","onFilter","realKey","getMergedColumns","rawMergedColumns","flatMap","onFilterChange","setFilterStates","mergedFilterStates","collectedStates","filteredKeysIsAllNotControlled","filteredKeysIsAllControlled","newFilterStates","innerColumns","useLazyKVMap","mapCacheRef","kvMap","DEFAULT_PAGE_SIZE","pagination","paginationTotal","paginationObj","innerPagination","setInnerPagination","defaultCurrent","pageSize","defaultPageSize","mergedPagination","maxPage","refreshPagination","onInternalChange","CaretDownOutlined","CaretDownOutlinedSvg","CaretUpOutlined","CaretUpOutlinedSvg","ASCEND","DESCEND","getMultiplePriority","sorter","getSortFunction","compare","collectSortStates","sortStates","pushState","multiplePriority","sortOrder","defaultSortOrder","injectSorter","sorterStates","triggerSorter","defaultSortDirections","tableShowSorterTooltip","sortDirections","showSorterTooltip","sorterState","nextSortOrder","nextSortDirection","sortIcon","upNode","downNode","cancelSort","triggerAsc","triggerDesc","sortTip","tooltipProps","columnSortersClass","renderColumnTitleWrapper","renderSortTitle","Tooltip","originOnClick","originOKeyDown","renderTitle","safeColumnTitle","res","displayTitle","stateToInfo","order","field","generateSorterInfo","activeSorters","lastIndex","getSortData","innerSorterStates","cloneData","runningSorters","record1","record2","compareFn","compareResult","subRecords","onSorterChange","setSortStates","getColumnKeys","newKeys","childKeys","mergedSorterStates","validate","mergedColumnsKeys","validateStates","patchStates","multipleMode","columnTitleSorterProps","sortColumns","sortColumn","sortState","newSorterStates","getSorters","fillTitle","columnTitleProps","cloneColumn","_renderTimes","prevRenderTimes","nextRenderTimes","tableBorderColor","tableHeaderBg","tablePaddingVertical","tablePaddingHorizontal","tableBorder","getSizeBorderStyle","paddingVertical","paddingHorizontal","tablePaddingVerticalMiddle","tablePaddingHorizontalMiddle","tablePaddingVerticalSmall","tablePaddingHorizontalSmall","textEllipsis","wordBreak","textOverflow","tableExpandIconBg","tableExpandColumnWidth","tableExpandedRowBg","paddingXXS","expandIconMarginTop","expandIconSize","expandIconHalfInner","expandIconScale","expandIconLineOffset","float","operationUnit","marginTop","table","iconCls","tableFilterDropdownWidth","tableFilterDropdownSearchWidth","headerIconColor","fontSizeSM","colorTextDescription","tableHeaderFilterActiveBg","tableFilterDropdownBg","tableFilterDropdownHeight","boxShadowSecondary","filterDropdownMenuBg","tableFilterDropdownPrefixCls","treePrefixCls","justifyContent","marginBlock","marginInline","colorSplit","zIndexTableFixed","tableBg","zIndexTableSticky","shadowColor","rowGap","tableRadius","borderStartStartRadius","borderStartEndRadius","fontSizeIcon","headerIconHoverColor","tableSelectionColumnWidth","tableSelectedRowBg","tableSelectedRowHoverBg","tableRowHoverBg","flexDirection","getSizeStyle","tableFontSizeMiddle","tableFontSizeSmall","marginXXS","outline","tableHeaderSortHoverBg","tableFixedHeaderSortActiveBg","tableHeaderSortBg","tableBodySortBg","opacityLoading","tableScrollThumbBg","tableScrollThumbBgHover","tableScrollThumbSize","tableScrollBg","stickyScrollBarBorderRadius","transformOrigin","insetInline","insetBlock","genTableStyle","fontWeightStrong","tableFontSize","tableHeaderTextColor","tableHeaderCellSplitColor","tableFooterTextColor","tableFooterBg","clear","maxWidth","clearFix","scrollbarColor","borderSpacing","overflowWrap","colorTextHeading","headerBg","headerColor","headerSortActiveBg","headerSortHoverBg","bodySortBg","rowHoverBg","rowSelectedBg","rowSelectedHoverBg","rowExpandedBg","cellPaddingBlock","cellPaddingInline","cellPaddingBlockMD","cellPaddingInlineMD","cellPaddingBlockSM","cellPaddingInlineSM","footerBg","footerColor","headerBorderRadius","cellFontSize","cellFontSizeMD","cellFontSizeSM","headerSplitColor","fixedHeaderSortActiveBg","headerFilterHoverBg","filterDropdownBg","expandIconBg","selectionColumnWidth","stickyScrollBarBg","tableToken","genPaginationStyle","genSummaryStyle","genSorterStyle","genFilterStyle","genBorderedStyle","genRadiusStyle","genExpandStyle","genEmptyStyle","genSelectionStyle","genFixedStyle","genStickyStyle","genEllipsisStyle","genSizeStyle","genRtlStyle","genVirtualStyle","colorFillAlter","colorFillSecondary","colorFillContent","controlItemBgActiveHover","paddingSM","colorBorderSecondary","borderRadiusLG","controlHeight","colorTextPlaceholder","colorIcon","colorIconHover","colorFillSecondarySolid","TinyColor","onBackground","toHexShortString","colorFillContentSolid","colorFillAlterSolid","baseColorAction","baseColorActionHover","setAlpha","getAlpha","toRgbString","unitless","InternalTable","customizeSize","bordered","customizeDropdownPrefixCls","dataSource","legacyChildrenColumnName","needResponsive","responsive","screens","useBreakpoint","matched","m","c","contextLocale","defaultLocale","getContextPopupContainer","mergedSize","useSize","ele","returnWidth","getComputedStyle","parseInt","borderLeftWidth","borderRightWidth","useContainerWidth","rootRef","tblRef","changeEventInfo","triggerOnChange","action","reset","changeInfo","resetPagination","scrollToFirstRowOnChange","duration","getScroll","startTime","Date","now","frameFunc","time","nextScrollTop","d","cc","easeInOutCubic","constructor","currentDataSource","transformSorterColumns","sorterTitleProps","useSorter","sortedData","transformFilterColumns","useFilter","mergedFilters","filterKey","transformTitleColumns","useTitleColumns","usePagination","onPaginationChange","param","pageProp","getPaginationParam","transformSelectionColumns","selectedKeySet","topPaginationNode","bottomPaginationNode","spinProps","paginationSize","renderPagination","Pagination","defaultPosition","topPos","bottomPos","isDisable","replace","spinning","wrapperClassNames","DefaultRenderEmpty","componentName","RcVirtualTable","RcTable","virtualProps","fontHeight","Spin","internalRowClassName","mergedRowClassName","ForwardTable"],"sourceRoot":""}