@cfxjs/sirius-next-common 0.2.10 → 0.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_esm-TZ4WSCGM.js +4035 -0
- package/dist/_esm-TZ4WSCGM.js.map +1 -0
- package/dist/abis/CommonError.d.ts +10 -0
- package/dist/abis/CommonError.js +8 -0
- package/dist/abis/CommonError.js.map +1 -0
- package/dist/abis/CommonPanic.d.ts +10 -0
- package/dist/abis/CommonPanic.js +8 -0
- package/dist/abis/CommonPanic.js.map +1 -0
- package/dist/ccip-DBSI27GO.js +15 -0
- package/dist/ccip-DBSI27GO.js.map +1 -0
- package/dist/chunk-3HO74CMH.js +186 -0
- package/dist/chunk-3HO74CMH.js.map +1 -0
- package/dist/chunk-3PXUIH3S.js +17 -0
- package/dist/chunk-3PXUIH3S.js.map +1 -0
- package/dist/chunk-4B6ASBYQ.js +408 -0
- package/dist/chunk-4B6ASBYQ.js.map +1 -0
- package/dist/chunk-4J3SQGIV.js +82 -0
- package/dist/chunk-4J3SQGIV.js.map +1 -0
- package/dist/{chunk-LXTR4VAD.js → chunk-5EDEEGZK.js} +42 -19
- package/dist/chunk-5EDEEGZK.js.map +1 -0
- package/dist/chunk-5TGK2EA2.js +18 -0
- package/dist/chunk-5TGK2EA2.js.map +1 -0
- package/dist/chunk-5Y7I6VYA.js +145 -0
- package/dist/chunk-5Y7I6VYA.js.map +1 -0
- package/dist/chunk-6H5A42YS.js +23 -0
- package/dist/chunk-6H5A42YS.js.map +1 -0
- package/dist/chunk-6HJCR6PQ.js +79 -0
- package/dist/chunk-6HJCR6PQ.js.map +1 -0
- package/dist/chunk-6SXAFSBF.js +1032 -0
- package/dist/chunk-6SXAFSBF.js.map +1 -0
- package/dist/chunk-ADNS57X5.js +18 -0
- package/dist/chunk-ADNS57X5.js.map +1 -0
- package/dist/{chunk-ABDGDYRT.js → chunk-ADULNBMD.js} +5 -5
- package/dist/{chunk-IIIPX34H.js → chunk-BUSBM33B.js} +4 -4
- package/dist/chunk-CKVDFS45.js +56 -0
- package/dist/chunk-CKVDFS45.js.map +1 -0
- package/dist/{chunk-WI3G3OD5.js → chunk-CNF26YY7.js} +3 -3
- package/dist/{chunk-DFQG46WD.js → chunk-CPPQCJEV.js} +3 -3
- package/dist/chunk-CPR4QZT6.js +21 -0
- package/dist/chunk-CPR4QZT6.js.map +1 -0
- package/dist/{chunk-NUKYY7GO.js → chunk-DF3PVTB5.js} +2 -2
- package/dist/chunk-E3ZD2GGG.js +17 -0
- package/dist/chunk-E3ZD2GGG.js.map +1 -0
- package/dist/chunk-EERNUGUK.js +198 -0
- package/dist/chunk-EERNUGUK.js.map +1 -0
- package/dist/{chunk-S5QP6EUQ.js → chunk-EMPFZFBS.js} +6 -19
- package/dist/chunk-EMPFZFBS.js.map +1 -0
- package/dist/chunk-FYLAXC3R.js +82 -0
- package/dist/chunk-FYLAXC3R.js.map +1 -0
- package/dist/{chunk-IWNT4XVY.js → chunk-GKZK26DZ.js} +3 -3
- package/dist/{chunk-IQJOXINX.js → chunk-GSWIFV2B.js} +2 -2
- package/dist/chunk-JFFTHCNE.js +344 -0
- package/dist/chunk-JFFTHCNE.js.map +1 -0
- package/dist/chunk-JIRLY7OG.js +4357 -0
- package/dist/chunk-JIRLY7OG.js.map +1 -0
- package/dist/chunk-K6FHTS3F.js +115 -0
- package/dist/chunk-K6FHTS3F.js.map +1 -0
- package/dist/chunk-L62OTV7F.js +71 -0
- package/dist/chunk-L62OTV7F.js.map +1 -0
- package/dist/{chunk-2R6NJR5T.js → chunk-LVFMTP5H.js} +2 -2
- package/dist/chunk-NWVSTRCG.js +20 -0
- package/dist/chunk-NWVSTRCG.js.map +1 -0
- package/dist/chunk-NXCZ5PMI.js +64 -0
- package/dist/chunk-NXCZ5PMI.js.map +1 -0
- package/dist/{chunk-HHA2RXLW.js → chunk-NZY53U2H.js} +9 -13
- package/dist/chunk-NZY53U2H.js.map +1 -0
- package/dist/{chunk-U3F7QHXB.js → chunk-OCQIWTDC.js} +2 -2
- package/dist/{chunk-EQWAYCW3.js → chunk-ODJ4QBD5.js} +6 -6
- package/dist/chunk-OYESIV3F.js +47 -0
- package/dist/chunk-OYESIV3F.js.map +1 -0
- package/dist/{chunk-IWGPVXSI.js → chunk-P4EE3QGM.js} +3 -3
- package/dist/{chunk-BRST23XX.js → chunk-Q2DX6IDH.js} +2 -2
- package/dist/chunk-QMLPHJCA.js +78 -0
- package/dist/chunk-QMLPHJCA.js.map +1 -0
- package/dist/chunk-SFCNLOQ5.js +37 -0
- package/dist/chunk-SFCNLOQ5.js.map +1 -0
- package/dist/chunk-SUCQASD3.js +84 -0
- package/dist/chunk-SUCQASD3.js.map +1 -0
- package/dist/chunk-U6ZN2ABK.js +184 -0
- package/dist/chunk-U6ZN2ABK.js.map +1 -0
- package/dist/chunk-UM5J477V.js +69 -0
- package/dist/chunk-UM5J477V.js.map +1 -0
- package/dist/{chunk-7RH7LJYB.js → chunk-WIB76E7O.js} +6 -2
- package/dist/{chunk-7RH7LJYB.js.map → chunk-WIB76E7O.js.map} +1 -1
- package/dist/chunk-WQG2LZMB.js +50 -0
- package/dist/chunk-WQG2LZMB.js.map +1 -0
- package/dist/chunk-XZ7IV2FF.js +5947 -0
- package/dist/chunk-XZ7IV2FF.js.map +1 -0
- package/dist/chunk-Y7OVL5US.js +46 -0
- package/dist/chunk-Y7OVL5US.js.map +1 -0
- package/dist/chunk-YBQQ72FQ.js +10 -0
- package/dist/chunk-YBQQ72FQ.js.map +1 -0
- package/dist/{chunk-YEUH2K6Z.js → chunk-YEINMVAR.js} +8 -2
- package/dist/chunk-YEINMVAR.js.map +1 -0
- package/dist/chunk-YIZCD4WG.js +107 -0
- package/dist/chunk-YIZCD4WG.js.map +1 -0
- package/dist/components/AceEditor/index.js +9 -143
- package/dist/components/AceEditor/index.js.map +1 -1
- package/dist/components/AddressContainer/CoreAddressContainer.js +14 -12
- package/dist/components/AddressContainer/EVMAddressContainer.js +13 -11
- package/dist/components/AddressContainer/addressSwitcher.js +11 -9
- package/dist/components/AddressContainer/addressView.js +9 -8
- package/dist/components/AddressContainer/label.js +7 -6
- package/dist/components/AddressContainer/utils.d.ts +9 -0
- package/dist/components/AddressContainer/utils.js +30 -0
- package/dist/components/AddressContainer/utils.js.map +1 -0
- package/dist/components/Age/index.js +7 -6
- package/dist/components/Age/index.js.map +1 -1
- package/dist/components/AutoComplete/index.js +6 -5
- package/dist/components/AutoComplete/index.js.map +1 -1
- package/dist/components/Button/ActionButton/index.js +1 -0
- package/dist/components/Button/BaseButton/index.js +1 -0
- package/dist/components/Button/IconButton/index.js +1 -0
- package/dist/components/Button/index.js +1 -0
- package/dist/components/Card/index.js +1 -0
- package/dist/components/Charts/BreadcrumbNav.js +1 -0
- package/dist/components/Charts/ChartOptions.js +1 -0
- package/dist/components/Charts/PreviewChartTemplate.js +3 -2
- package/dist/components/Charts/PreviewChartTemplate.js.map +1 -1
- package/dist/components/Charts/PreviewTitle.js +1 -0
- package/dist/components/Charts/StockChartTemplate.js +10 -9
- package/dist/components/Charts/StockChartTemplate.js.map +1 -1
- package/dist/components/Charts/StockTitle.js +1 -0
- package/dist/components/Charts/config.js +1 -0
- package/dist/components/Charts/constants.js +1 -0
- package/dist/components/Charts/useHighCharts.js +1 -0
- package/dist/components/CookieTip/CookieIcon.js +1 -0
- package/dist/components/CookieTip/index.js +2 -1
- package/dist/components/CookieTip/index.js.map +1 -1
- package/dist/components/CopyButton/index.js +6 -5
- package/dist/components/CopyButton/index.js.map +1 -1
- package/dist/components/DecimalsSelect/index.js +6 -5
- package/dist/components/DecimalsSelect/index.js.map +1 -1
- package/dist/components/DeleteIcon/index.js +2 -0
- package/dist/components/DeleteIcon/index.js.map +1 -1
- package/dist/components/Description/index.js +1 -0
- package/dist/components/Divider/index.js +1 -0
- package/dist/components/DownloadCSV/index.js +7 -6
- package/dist/components/DownloadCSV/index.js.map +1 -1
- package/dist/components/Dropdown/index.js +1 -0
- package/dist/components/Dropdown/index.js.map +1 -1
- package/dist/components/Empty/index.js +4 -40
- package/dist/components/Empty/index.js.map +1 -1
- package/dist/components/FileUpload/index.js +2 -0
- package/dist/components/FileUpload/index.js.map +1 -1
- package/dist/components/Footer/index.js +1 -0
- package/dist/components/Footer/index.js.map +1 -1
- package/dist/components/GasPriceDropdown/index.js +5 -4
- package/dist/components/GasPriceDropdown/index.js.map +1 -1
- package/dist/components/Highlight/index.js +1 -0
- package/dist/components/Highlight/index.js.map +1 -1
- package/dist/components/Icons/index.d.ts +8 -1
- package/dist/components/Icons/index.js +20 -64
- package/dist/components/Icons/index.js.map +1 -1
- package/dist/components/ImageSkeleton/index.js +2 -0
- package/dist/components/ImageSkeleton/index.js.map +1 -1
- package/dist/components/IncreasePercent/Icons.js +1 -0
- package/dist/components/IncreasePercent/index.js +5 -4
- package/dist/components/IncreasePercent/index.js.map +1 -1
- package/dist/components/InfoIconWithTooltip/InfoIcon.js +1 -0
- package/dist/components/InfoIconWithTooltip/index.js +7 -6
- package/dist/components/InputData/AddressLabel.d.ts +8 -0
- package/dist/components/InputData/AddressLabel.js +23 -0
- package/dist/components/InputData/AddressLabel.js.map +1 -0
- package/dist/components/InputData/ContractDetail.d.ts +22 -0
- package/dist/components/InputData/ContractDetail.js +19 -0
- package/dist/components/InputData/ContractDetail.js.map +1 -0
- package/dist/components/InputData/FunctionName.d.ts +10 -0
- package/dist/components/InputData/FunctionName.js +10 -0
- package/dist/components/InputData/FunctionName.js.map +1 -0
- package/dist/components/InputData/GeneralDecode.d.ts +9 -0
- package/dist/components/InputData/GeneralDecode.js +8 -0
- package/dist/components/InputData/GeneralDecode.js.map +1 -0
- package/dist/components/InputData/JsonDecode.d.ts +18 -0
- package/dist/components/InputData/JsonDecode.js +19 -0
- package/dist/components/InputData/JsonDecode.js.map +1 -0
- package/dist/components/InputData/OptimizationDecode.d.ts +23 -0
- package/dist/components/InputData/OptimizationDecode.js +32 -0
- package/dist/components/InputData/OptimizationDecode.js.map +1 -0
- package/dist/components/InputData/Original.d.ts +8 -0
- package/dist/components/InputData/Original.js +8 -0
- package/dist/components/InputData/Original.js.map +1 -0
- package/dist/components/InputData/UTF8.d.ts +8 -0
- package/dist/components/InputData/UTF8.js +14 -0
- package/dist/components/InputData/UTF8.js.map +1 -0
- package/dist/components/InputData/index.d.ts +15 -0
- package/dist/components/InputData/index.js +36 -0
- package/dist/components/InputData/index.js.map +1 -0
- package/dist/components/InputData/utils.d.ts +5 -0
- package/dist/components/InputData/utils.js +8 -0
- package/dist/components/InputData/utils.js.map +1 -0
- package/dist/components/Link/index.js +1 -0
- package/dist/components/List/index.js +1 -0
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Loading/index.js +1 -0
- package/dist/components/Loading/index.js.map +1 -1
- package/dist/components/Loading/loading.js +1 -0
- package/dist/components/Modal/index.js +6 -5
- package/dist/components/NetworkIcon/index.js +5 -4
- package/dist/components/NetworkIcon/index.js.map +1 -1
- package/dist/components/OutputData/ErrorDecode.d.ts +14 -0
- package/dist/components/OutputData/ErrorDecode.js +39 -0
- package/dist/components/OutputData/ErrorDecode.js.map +1 -0
- package/dist/components/OutputData/index.d.ts +21 -0
- package/dist/components/OutputData/index.js +42 -0
- package/dist/components/OutputData/index.js.map +1 -0
- package/dist/components/PageHeader/index.js +2 -0
- package/dist/components/PageHeader/index.js.map +1 -1
- package/dist/components/PhishingAddressContainer/PhishingWarningIcon.js +1 -0
- package/dist/components/PhishingAddressContainer/index.js +7 -6
- package/dist/components/PhishingAddressContainer/index.js.map +1 -1
- package/dist/components/Popover/index.js +6 -5
- package/dist/components/Price/index.js +6 -5
- package/dist/components/Price/index.js.map +1 -1
- package/dist/components/ProxyContractAddress/index.d.ts +24 -0
- package/dist/components/ProxyContractAddress/index.js +120 -0
- package/dist/components/ProxyContractAddress/index.js.map +1 -0
- package/dist/components/Radio/index.js +5 -4
- package/dist/components/Radio/index.js.map +1 -1
- package/dist/components/Remark/index.js +1 -0
- package/dist/components/Remark/index.js.map +1 -1
- package/dist/components/SearchIcon/index.js +2 -0
- package/dist/components/SearchIcon/index.js.map +1 -1
- package/dist/components/SearchInput/index.js +7 -6
- package/dist/components/SearchInput/index.js.map +1 -1
- package/dist/components/Select/index.d.ts +5 -4
- package/dist/components/Select/index.js +10 -105
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Select/select.js +7 -5
- package/dist/components/Skeleton/index.js +1 -0
- package/dist/components/SkeletonContainer/index.js +1 -0
- package/dist/components/Spin/index.js +1 -0
- package/dist/components/Switch/index.d.ts +10 -0
- package/dist/components/Switch/index.js +81 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Table/index.d.ts +9 -0
- package/dist/components/Table/index.js +12 -0
- package/dist/components/Table/index.js.map +1 -0
- package/dist/components/Text/index.js +7 -6
- package/dist/components/TextLogo/index.js +2 -0
- package/dist/components/TextLogo/index.js.map +1 -1
- package/dist/components/Tooltip/index.js +6 -5
- package/dist/components/TransactionAction/constants.js +1 -0
- package/dist/components/TransactionAction/coreTransactionAction.js +15 -13
- package/dist/components/TransactionAction/coreTransactionAction.js.map +1 -1
- package/dist/components/TransactionAction/evmTransactionAction.js +14 -12
- package/dist/components/TransactionAction/evmTransactionAction.js.map +1 -1
- package/dist/components/TransactionTrace/TraceDetail.d.ts +20 -0
- package/dist/components/TransactionTrace/TraceDetail.js +54 -0
- package/dist/components/TransactionTrace/TraceDetail.js.map +1 -0
- package/dist/components/TransactionTrace/TreeTraceTable.d.ts +20 -0
- package/dist/components/TransactionTrace/TreeTraceTable.js +57 -0
- package/dist/components/TransactionTrace/TreeTraceTable.js.map +1 -0
- package/dist/components/TransactionTrace/index.d.ts +9 -0
- package/dist/components/TransactionTrace/index.js +60 -0
- package/dist/components/TransactionTrace/index.js.map +1 -0
- package/dist/secp256k1-WGKMGTUQ.js +2255 -0
- package/dist/secp256k1-WGKMGTUQ.js.map +1 -0
- package/dist/store/index.js +1 -0
- package/dist/uno.css +103 -5
- package/dist/utils/address.js +5 -4
- package/dist/utils/cache.js +2 -1
- package/dist/utils/constants.d.ts +3 -1
- package/dist/utils/constants.js +6 -1
- package/dist/utils/contractManagerTool.js +5 -4
- package/dist/utils/contractManagerTool.js.map +1 -1
- package/dist/utils/cookie.js +1 -0
- package/dist/utils/ga.js +1 -0
- package/dist/utils/hooks/useAddressLabel.d.ts +3 -0
- package/dist/utils/hooks/useAddressLabel.js +14 -0
- package/dist/utils/hooks/useAddressLabel.js.map +1 -0
- package/dist/utils/hooks/useAge.js +2 -1
- package/dist/utils/hooks/useAge.js.map +1 -1
- package/dist/utils/hooks/useAutoSetHolderFilterParams.js +5 -4
- package/dist/utils/hooks/useAutoSetHolderFilterParams.js.map +1 -1
- package/dist/utils/hooks/useChartQueryParams.js +2 -0
- package/dist/utils/hooks/useChartQueryParams.js.map +1 -1
- package/dist/utils/hooks/useContractDetail.d.ts +6 -0
- package/dist/utils/hooks/useContractDetail.js +12 -0
- package/dist/utils/hooks/useContractDetail.js.map +1 -0
- package/dist/utils/hooks/useDecodeFunctionData.d.ts +29 -0
- package/dist/utils/hooks/useDecodeFunctionData.js +19 -0
- package/dist/utils/hooks/useDecodeFunctionData.js.map +1 -0
- package/dist/utils/hooks/useDecodeFunctionError.d.ts +17 -0
- package/dist/utils/hooks/useDecodeFunctionError.js +19 -0
- package/dist/utils/hooks/useDecodeFunctionError.js.map +1 -0
- package/dist/utils/hooks/useDecodedDataType.d.ts +18 -0
- package/dist/utils/hooks/useDecodedDataType.js +8 -0
- package/dist/utils/hooks/useDecodedDataType.js.map +1 -0
- package/dist/utils/hooks/useENS.js +6 -5
- package/dist/utils/hooks/useGetTxnStatus.js +2 -0
- package/dist/utils/hooks/useGetTxnStatus.js.map +1 -1
- package/dist/utils/hooks/useMethodAbi.d.ts +8 -0
- package/dist/utils/hooks/useMethodAbi.js +12 -0
- package/dist/utils/hooks/useMethodAbi.js.map +1 -0
- package/dist/utils/hooks/useMultiAceSearch.js +2 -0
- package/dist/utils/hooks/useMultiAceSearch.js.map +1 -1
- package/dist/utils/hooks/useSearchParams.js +1 -0
- package/dist/utils/hooks/useTxTrace.d.ts +124 -0
- package/dist/utils/hooks/useTxTrace.js +170 -0
- package/dist/utils/hooks/useTxTrace.js.map +1 -0
- package/dist/utils/index.js +5 -4
- package/dist/utils/media.js +1 -0
- package/dist/utils/pubsub.js +1 -0
- package/dist/utils/request.d.ts +5 -2
- package/dist/utils/request.js +5 -2
- package/dist/utils/request.types.d.ts +18 -3
- package/dist/utils/rpcRequest.js +1 -0
- package/dist/utils/rpcRequest.js.map +1 -1
- package/dist/utils/sdk.d.ts +35 -0
- package/dist/utils/sdk.js +19 -0
- package/dist/utils/sdk.js.map +1 -0
- package/package.json +5 -2
- package/dist/chunk-HHA2RXLW.js.map +0 -1
- package/dist/chunk-LXTR4VAD.js.map +0 -1
- package/dist/chunk-S5QP6EUQ.js.map +0 -1
- package/dist/chunk-YEUH2K6Z.js.map +0 -1
- /package/dist/{chunk-ABDGDYRT.js.map → chunk-ADULNBMD.js.map} +0 -0
- /package/dist/{chunk-IIIPX34H.js.map → chunk-BUSBM33B.js.map} +0 -0
- /package/dist/{chunk-WI3G3OD5.js.map → chunk-CNF26YY7.js.map} +0 -0
- /package/dist/{chunk-DFQG46WD.js.map → chunk-CPPQCJEV.js.map} +0 -0
- /package/dist/{chunk-NUKYY7GO.js.map → chunk-DF3PVTB5.js.map} +0 -0
- /package/dist/{chunk-IWNT4XVY.js.map → chunk-GKZK26DZ.js.map} +0 -0
- /package/dist/{chunk-IQJOXINX.js.map → chunk-GSWIFV2B.js.map} +0 -0
- /package/dist/{chunk-2R6NJR5T.js.map → chunk-LVFMTP5H.js.map} +0 -0
- /package/dist/{chunk-U3F7QHXB.js.map → chunk-OCQIWTDC.js.map} +0 -0
- /package/dist/{chunk-EQWAYCW3.js.map → chunk-ODJ4QBD5.js.map} +0 -0
- /package/dist/{chunk-IWGPVXSI.js.map → chunk-P4EE3QGM.js.map} +0 -0
- /package/dist/{chunk-BRST23XX.js.map → chunk-Q2DX6IDH.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/react-is@18.2.0/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/.pnpm/react-is@18.2.0/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/.pnpm/react-is@18.2.0/node_modules/react-is/index.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/constant.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/hooks/useEvent.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/hooks/useLayoutEffect.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/Dom/canUseDom.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/warning.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/isEqual.js","../../../node_modules/.pnpm/@rc-component+context@2.0.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/context/es/context.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/ref.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/hooks/useMemo.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/React/isFragment.js","../../../node_modules/.pnpm/@rc-component+context@2.0.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/context/es/Immutable.js","../../../node_modules/.pnpm/@rc-component+context@2.0.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/context/es/index.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Footer/index.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/context/TableContext.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useRenderTimes.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Footer/Cell.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Cell/index.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/utils/get.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Cell/useCellRender.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/context/PerfContext.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/utils/valueUtil.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Cell/useHoverState.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/hooks/useState.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/hooks/useControlledState.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/Children/toArray.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/utils/fixUtil.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Footer/SummaryContext.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Footer/Row.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Footer/Summary.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/sugar/Column.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/sugar/ColumnGroup.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Table.js","../../../node_modules/.pnpm/@rc-component+resize-observer@1.1.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/resize-observer/es/index.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/Dom/findDOMNode.js","../../../node_modules/.pnpm/@rc-component+resize-observer@1.1.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/resize-observer/es/SingleObserver/index.js","../../../node_modules/.pnpm/@rc-component+resize-observer@1.1.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/resize-observer/es/Collection.js","../../../node_modules/.pnpm/@rc-component+resize-observer@1.1.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/resize-observer/es/useResizeObserver.js","../../../node_modules/.pnpm/@rc-component+resize-observer@1.1.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/resize-observer/es/utils/observerUtil.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/Dom/contains.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/Dom/dynamicCSS.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/getScrollBarSize.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/pickAttrs.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Body/index.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useFlattenRecords.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Body/BodyRow.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useRowInfo.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Body/ExpandedRow.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/utils/expandUtil.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Body/MeasureRow.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Body/MeasureCell.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/Dom/isVisible.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/ColGroup.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/utils/legacyUtil.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/FixedHolder/index.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Header/Header.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Header/HeaderRow.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useColumns/index.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useColumns/useWidthColumns.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useExpand.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useFixedInfo.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useFrame.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useHover.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useSticky.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/hooks/useStickyOffsets.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/Panel/index.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/stickyScrollBar.js","../../../node_modules/.pnpm/@rc-component+util@1.9.0_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/util/es/raf.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/utils/offsetUtil.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/VirtualTable/index.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/List.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/Filler.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/hooks/useChildren.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/Item.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/hooks/useDiffItem.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/utils/algorithmUtil.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/hooks/useFrameWheel.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/utils/isFirefox.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/hooks/useOriginScroll.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/hooks/useGetSize.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/hooks/useHeights.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/utils/CacheMap.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/hooks/useMobileTouchMove.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/hooks/useScrollDrag.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/hooks/useScrollTo.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/ScrollBar.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/utils/scrollbarUtil.js","../../../node_modules/.pnpm/@rc-component+virtual-list@1.0.2_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/virtual-list/es/index.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/VirtualTable/BodyGrid.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/VirtualTable/BodyLine.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/VirtualTable/VirtualCell.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/VirtualTable/context.js","../../../node_modules/.pnpm/@rc-component+table@1.9.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@rc-component/table/es/index.js","../src/components/Table/index.tsx"],"sourcesContent":["/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","export const EXPAND_COLUMN = {};\nexport const INTERNAL_HOOKS = 'rc-table-internal-hook';","/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport * as React from 'react';\nfunction useEvent(callback) {\n const fnRef = React.useRef(callback);\n fnRef.current = callback;\n const memoFn = React.useCallback((...args) => fnRef.current?.(...args), []);\n return memoFn;\n}\nexport default useEvent;","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nconst useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nconst useLayoutEffect = (callback, deps) => {\n const firstMountRef = React.useRef(true);\n useInternalLayoutEffect(() => {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(() => {\n firstMountRef.current = false;\n return () => {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport const useLayoutUpdateEffect = (callback, deps) => {\n useLayoutEffect(firstMount => {\n if (!firstMount) {\n return callback();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\nexport default useLayoutEffect;","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","/* eslint-disable no-console */\nlet warned = {};\nconst preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport const preMessage = fn => {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nexport function warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n const finalMessage = preWarningFns.reduce((msg, preMessageFn) => preMessageFn(msg ?? '', 'warning'), message);\n if (finalMessage) {\n console.error(`Warning: ${finalMessage}`);\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nexport function note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n const finalMessage = preWarningFns.reduce((msg, preMessageFn) => preMessageFn(msg ?? '', 'note'), message);\n if (finalMessage) {\n console.warn(`Note: ${finalMessage}`);\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;","import warning from \"./warning\";\n\n/**\n * Deeply compares two object literals.\n * @param obj1 object 1\n * @param obj2 object 2\n * @param shallow shallow compare\n * @returns\n */\nfunction isEqual(obj1, obj2, shallow = false) {\n // https://github.com/mapbox/mapbox-gl-js/pull/5979/files#diff-fde7145050c47cc3a306856efd5f9c3016e86e859de9afbd02c879be5067e58f\n const refSet = new Set();\n function deepEqual(a, b, level = 1) {\n const circular = refSet.has(a);\n warning(!circular, 'Warning: There may be circular references');\n if (circular) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (shallow && level > 1) {\n return false;\n }\n refSet.add(a);\n const newLevel = level + 1;\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], newLevel)) {\n return false;\n }\n }\n return true;\n }\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every(key => deepEqual(a[key], b[key], newLevel));\n }\n // other\n return false;\n }\n return deepEqual(obj1, obj2);\n}\nexport default isEqual;","import useEvent from \"@rc-component/util/es/hooks/useEvent\";\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport isEqual from \"@rc-component/util/es/isEqual\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nexport function createContext(defaultValue) {\n const Context = /*#__PURE__*/React.createContext(undefined);\n const Provider = ({\n value,\n children\n }) => {\n const valueRef = React.useRef(value);\n valueRef.current = value;\n const [context] = React.useState(() => ({\n getValue: () => valueRef.current,\n listeners: new Set()\n }));\n useLayoutEffect(() => {\n unstable_batchedUpdates(() => {\n context.listeners.forEach(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,\n Provider,\n 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 const eventSelector = useEvent(typeof selector === 'function' ? selector : ctx => {\n if (selector === undefined) {\n return ctx;\n }\n if (!Array.isArray(selector)) {\n return ctx[selector];\n }\n const obj = {};\n selector.forEach(key => {\n obj[key] = ctx[key];\n });\n return obj;\n });\n const context = React.useContext(holder?.Context);\n const {\n listeners,\n getValue\n } = context || {};\n const valueRef = React.useRef();\n valueRef.current = eventSelector(context ? getValue() : holder?.defaultValue);\n const [, forceUpdate] = React.useState({});\n useLayoutEffect(() => {\n if (!context) {\n return;\n }\n function trigger(nextValue) {\n const nextSelectorValue = eventSelector(nextValue);\n if (!isEqual(valueRef.current, nextSelectorValue, true)) {\n forceUpdate({});\n }\n }\n listeners.add(trigger);\n return () => {\n listeners.delete(trigger);\n };\n }, [context]);\n return valueRef.current;\n}","import { isValidElement, version } from 'react';\nimport { ForwardRef, isMemo } from 'react-is';\nimport useMemo from \"./hooks/useMemo\";\nimport isFragment from \"./React/isFragment\";\nconst ReactMajorVersion = Number(version.split('.')[0]);\nexport const fillRef = (ref, node) => {\n if (typeof ref === 'function') {\n ref(node);\n } else if (typeof ref === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n};\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport const composeRef = (...refs) => {\n const refList = refs.filter(Boolean);\n if (refList.length <= 1) {\n return refList[0];\n }\n return node => {\n refs.forEach(ref => {\n fillRef(ref, node);\n });\n };\n};\nexport const useComposeRef = (...refs) => {\n return useMemo(() => composeRef(...refs),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n refs, (prev, next) => prev.length !== next.length || prev.every((ref, i) => ref !== next[i]));\n};\nexport const supportRef = nodeOrComponent => {\n if (!nodeOrComponent) {\n return false;\n }\n\n // React 19 no need `forwardRef` anymore. So just pass if is a React element.\n if (isReactElement(nodeOrComponent) && ReactMajorVersion >= 19) {\n return true;\n }\n const type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n\n // Function component node\n if (typeof type === 'function' && !type.prototype?.render && type.$$typeof !== ForwardRef) {\n return false;\n }\n\n // Class component\n if (typeof nodeOrComponent === 'function' && !nodeOrComponent.prototype?.render && nodeOrComponent.$$typeof !== ForwardRef) {\n return false;\n }\n return true;\n};\nfunction isReactElement(node) {\n return /*#__PURE__*/isValidElement(node) && !isFragment(node);\n}\nexport const supportNodeRef = node => {\n return isReactElement(node) && supportRef(node);\n};\n\n/**\n * In React 19. `ref` is not a property from node.\n * But a property from `props.ref`.\n * To check if `props.ref` exist or fallback to `ref`.\n */\nexport const getNodeRef = node => {\n if (node && isReactElement(node)) {\n const ele = node;\n\n // Source from:\n // https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/getReactNodeRef/getReactNodeRef.ts\n return ele.props.propertyIsEnumerable('ref') ? ele.props.ref : ele.ref;\n }\n return null;\n};","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n const cacheRef = React.useRef({});\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n return cacheRef.current.value;\n}","const REACT_ELEMENT_TYPE_18 = Symbol.for('react.element');\nconst REACT_ELEMENT_TYPE_19 = Symbol.for('react.transitional.element');\nconst REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\n\n/**\n * Compatible with React 18 or 19 to check if node is a Fragment.\n */\nexport default function isFragment(object) {\n return (\n // Base object type\n object && typeof object === 'object' && (\n // React Element type\n object.$$typeof === REACT_ELEMENT_TYPE_18 || object.$$typeof === REACT_ELEMENT_TYPE_19) &&\n // React Fragment type\n object.type === REACT_FRAGMENT_TYPE\n );\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { supportRef } from \"@rc-component/util/es/ref\";\nimport * as React from 'react';\n/**\n * Create Immutable pair for `makeImmutable` and `responseImmutable`.\n */\nexport default function createImmutable() {\n const 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 const refAble = supportRef(Component);\n const ImmutableComponent = (props, ref) => {\n const refProps = refAble ? {\n ref\n } : {};\n const renderTimesRef = React.useRef(0);\n const prevProps = React.useRef(props);\n\n // If parent has the context, we do not wrap it\n const mark = useImmutableMark();\n if (mark !== null) {\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n }\n if (\n // Always trigger re-render if `shouldTriggerRender` is not provided\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(${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 const refAble = supportRef(Component);\n const ImmutableComponent = (props, ref) => {\n const refProps = refAble ? {\n 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(${Component.displayName || Component.name})`;\n }\n return /*#__PURE__*/React.memo(refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent, propsAreEqual);\n }\n return {\n makeImmutable,\n responseImmutable,\n useImmutableMark\n };\n}","import { createContext, useContext } from \"./context\";\nimport createImmutable from \"./Immutable\";\n\n// For legacy usage, we export it directly\nconst {\n makeImmutable,\n responseImmutable,\n useImmutableMark\n} = createImmutable();\nexport { createContext, useContext, createImmutable, makeImmutable, responseImmutable, useImmutableMark };","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\";\nconst Footer = props => {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n const {\n children,\n stickyOffsets,\n flattenColumns\n } = props;\n const prefixCls = useContext(TableContext, 'prefixCls');\n const lastColumnIndex = flattenColumns.length - 1;\n const scrollColumn = flattenColumns[lastColumnIndex];\n const summaryContext = React.useMemo(() => ({\n stickyOffsets,\n flattenColumns,\n scrollColumnIndex: scrollColumn?.scrollbar ? lastColumnIndex : null\n }), [scrollColumn, flattenColumns, lastColumnIndex, stickyOffsets]);\n return /*#__PURE__*/React.createElement(SummaryContext.Provider, {\n value: summaryContext\n }, /*#__PURE__*/React.createElement(\"tfoot\", {\n className: `${prefixCls}-summary`\n }, children));\n};\nexport default responseImmutable(Footer);\nexport const FooterComponents = Summary;","import { createContext, createImmutable } from '@rc-component/context';\nconst {\n makeImmutable,\n responseImmutable,\n useImmutableMark\n} = createImmutable();\nexport { makeImmutable, responseImmutable, useImmutableMark };\nconst TableContext = createContext();\nexport default TableContext;","/* istanbul ignore file */\nimport * as React from 'react';\nfunction useRenderTimes(props, debug) {\n // Render times\n const timesRef = React.useRef(0);\n timesRef.current += 1;\n\n // Props changed\n const propsRef = React.useRef(props);\n const keys = [];\n Object.keys(props || {}).map(key => {\n if (props?.[key] !== propsRef.current?.[key]) {\n keys.push(key);\n }\n });\n propsRef.current = props;\n\n // Cache keys since React rerender may cause it lost\n const keysRef = React.useRef([]);\n if (keys.length) {\n keysRef.current = keys;\n }\n React.useDebugValue(timesRef.current);\n React.useDebugValue(keysRef.current.join(', '));\n if (debug) {\n console.log(`${debug}:`, timesRef.current, keysRef.current);\n }\n return timesRef.current;\n}\nexport default process.env.NODE_ENV !== 'production' ? useRenderTimes : () => {};\nexport const RenderBlock = /*#__PURE__*/React.memo(() => {\n const times = useRenderTimes();\n return /*#__PURE__*/React.createElement(\"h1\", null, \"Render Times: \", times);\n});\nif (process.env.NODE_ENV !== 'production') {\n RenderBlock.displayName = 'RenderBlock';\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\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\";\nconst SummaryCell = props => {\n const {\n className,\n index,\n children,\n colSpan = 1,\n rowSpan,\n align\n } = props;\n const {\n prefixCls\n } = useContext(TableContext, ['prefixCls']);\n const {\n scrollColumnIndex,\n stickyOffsets,\n flattenColumns\n } = React.useContext(SummaryContext);\n const lastIndex = index + colSpan - 1;\n const mergedColSpan = lastIndex + 1 === scrollColumnIndex ? colSpan + 1 : colSpan;\n const fixedInfo = React.useMemo(() => getCellFixedInfo(index, index + mergedColSpan - 1, flattenColumns, stickyOffsets), [index, mergedColSpan, flattenColumns, stickyOffsets]);\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: () => children\n }, fixedInfo));\n};\nexport default SummaryCell;","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { useContext } from '@rc-component/context';\nimport { clsx } from 'clsx';\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-component/util';\nconst getTitleFromCellRenderChildren = ({\n ellipsis,\n rowType,\n children\n}) => {\n let title;\n const 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};\nconst Cell = props => {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n const {\n component: Component,\n children,\n ellipsis,\n scope,\n // Style\n prefixCls,\n className,\n style,\n align,\n // Value\n record,\n render,\n dataIndex,\n renderIndex,\n shouldCellUpdate,\n // Row\n index,\n rowType,\n // Span\n colSpan,\n rowSpan,\n // Fixed\n fixStart,\n fixEnd,\n fixedStartShadow,\n fixedEndShadow,\n offsetFixedStartShadow,\n offsetFixedEndShadow,\n zIndex,\n zIndexReverse,\n // Private\n appendNode,\n additionalProps = {},\n isSticky\n } = props;\n const cellPrefixCls = `${prefixCls}-cell`;\n const {\n allColumnsFixedLeft,\n rowHoverable\n } = useContext(TableContext, ['allColumnsFixedLeft', 'rowHoverable']);\n\n // ====================== Value =======================\n const [childNode, legacyCellProps] = useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate);\n\n // ====================== Fixed =======================\n const fixedStyle = {};\n const isFixStart = typeof fixStart === 'number' && !allColumnsFixedLeft;\n const isFixEnd = typeof fixEnd === 'number' && !allColumnsFixedLeft;\n const [showFixStartShadow, showFixEndShadow] = useContext(TableContext, ({\n scrollInfo\n }) => {\n if (!isFixStart && !isFixEnd) {\n return [false, false];\n }\n const [absScroll, scrollWidth] = scrollInfo;\n const showStartShadow = (isFixStart && fixedStartShadow && absScroll) -\n // For precision, we not show shadow by default which has better user experience.\n offsetFixedStartShadow >= 1;\n const showEndShadow = (isFixEnd && fixedEndShadow && scrollWidth - absScroll) -\n // Same as above\n offsetFixedEndShadow > 1;\n return [showStartShadow, showEndShadow];\n });\n if (isFixStart) {\n fixedStyle.insetInlineStart = fixStart;\n fixedStyle['--z-offset'] = zIndex;\n fixedStyle['--z-offset-reverse'] = zIndexReverse;\n }\n if (isFixEnd) {\n fixedStyle.insetInlineEnd = fixEnd;\n fixedStyle['--z-offset'] = zIndex;\n fixedStyle['--z-offset-reverse'] = zIndexReverse;\n }\n\n // ================ RowSpan & ColSpan =================\n const mergedColSpan = legacyCellProps?.colSpan ?? additionalProps.colSpan ?? colSpan ?? 1;\n const mergedRowSpan = legacyCellProps?.rowSpan ?? additionalProps.rowSpan ?? rowSpan ?? 1;\n\n // ====================== Hover =======================\n const [hovering, onHover] = useHoverState(index, mergedRowSpan);\n const onMouseEnter = useEvent(event => {\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n additionalProps?.onMouseEnter?.(event);\n });\n const onMouseLeave = useEvent(event => {\n if (record) {\n onHover(-1, -1);\n }\n additionalProps?.onMouseLeave?.(event);\n });\n\n // ====================== Render ======================\n if (mergedColSpan === 0 || mergedRowSpan === 0) {\n return null;\n }\n\n // >>>>> Title\n const title = additionalProps.title ?? getTitleFromCellRenderChildren({\n rowType,\n ellipsis,\n children: childNode\n });\n\n // >>>>> ClassName\n const mergedClassName = clsx(cellPrefixCls, className, {\n // Fixed\n [`${cellPrefixCls}-fix`]: isFixStart || isFixEnd,\n [`${cellPrefixCls}-fix-start`]: isFixStart,\n [`${cellPrefixCls}-fix-end`]: isFixEnd,\n // Fixed shadow\n [`${cellPrefixCls}-fix-start-shadow`]: fixedStartShadow,\n [`${cellPrefixCls}-fix-start-shadow-show`]: fixedStartShadow && showFixStartShadow,\n [`${cellPrefixCls}-fix-end-shadow`]: fixedEndShadow,\n [`${cellPrefixCls}-fix-end-shadow-show`]: fixedEndShadow && showFixEndShadow,\n [`${cellPrefixCls}-ellipsis`]: ellipsis,\n [`${cellPrefixCls}-with-append`]: appendNode,\n [`${cellPrefixCls}-fix-sticky`]: (isFixStart || isFixEnd) && isSticky,\n [`${cellPrefixCls}-row-hover`]: !legacyCellProps && hovering\n }, additionalProps.className, legacyCellProps?.className);\n\n // >>>>> Style\n const 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 const mergedStyle = {\n ...legacyCellProps?.style,\n ...fixedStyle,\n ...alignStyle,\n ...additionalProps.style,\n ...style\n };\n\n // >>>>> Children Node\n let 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 && (fixedStartShadow || fixedEndShadow)) {\n mergedChildNode = /*#__PURE__*/React.createElement(\"span\", {\n className: `${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);","export default function get(entity, path) {\n let current = entity;\n for (let i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n current = current[path[i]];\n }\n return current;\n}","import useMemo from \"@rc-component/util/es/hooks/useMemo\";\nimport isEqual from \"@rc-component/util/es/isEqual\";\nimport getValue from \"@rc-component/util/es/utils/get\";\nimport warning from \"@rc-component/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 const perfRecord = React.useContext(PerfContext);\n const mark = useImmutableMark();\n\n // ======================== Render ========================\n const retData = useMemo(() => {\n if (validateValue(children)) {\n return [children];\n }\n const path = dataIndex === null || dataIndex === undefined || dataIndex === '' ? [] : Array.isArray(dataIndex) ? dataIndex : [dataIndex];\n const value = getValue(record, path);\n\n // Customize render node\n let returnChildNode = value;\n let returnCellProps = undefined;\n if (render) {\n const 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], (prev, next) => {\n if (shouldCellUpdate) {\n const [, prevRecord] = prev;\n const [, nextRecord] = next;\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 * as React from 'react';\n// TODO: Remove when use `responsiveImmutable`\nconst PerfContext = /*#__PURE__*/React.createContext({\n renderWithProps: false\n});\nexport default PerfContext;","const 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 const columnKeys = [];\n const keys = {};\n columns.forEach(column => {\n const {\n key,\n dataIndex\n } = column || {};\n let mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;\n while (keys[mergedKey]) {\n mergedKey = `${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 { 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 const cellEndRow = cellStartRow + cellRowSpan - 1;\n return cellStartRow <= endRow && cellEndRow >= startRow;\n}\nexport default function useHoverState(rowIndex, rowSpan) {\n return useContext(TableContext, ctx => {\n const hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow);\n return [hovering, ctx.onHover];\n });\n}","import * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nconst useSafeState = defaultValue => {\n const destroyRef = React.useRef(false);\n const [value, setValue] = React.useState(defaultValue);\n React.useEffect(() => {\n destroyRef.current = false;\n return () => {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n};\nexport default useSafeState;","import { useState } from 'react';\nimport useLayoutEffect from \"./useLayoutEffect\";\n/**\n * Similar to `useState` but will use props value if provided.\n * From React 18, we do not need safe `useState` since it will not throw for unmounted update.\n * This hooks remove the `onChange` & `postState` logic since we only need basic merged state logic.\n */\nexport default function useControlledState(defaultStateValue, value) {\n const [innerValue, setInnerValue] = useState(defaultStateValue);\n const mergedValue = value !== undefined ? value : innerValue;\n useLayoutEffect(mount => {\n if (!mount) {\n setInnerValue(value);\n }\n }, [value]);\n return [\n // Value\n mergedValue,\n // Update function\n setInnerValue];\n}","import isFragment from \"../React/isFragment\";\nimport React from 'react';\nexport default function toArray(children, option = {}) {\n let ret = [];\n React.Children.forEach(children, child => {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","function isFixedStart(column) {\n return column.fixed === 'start';\n}\nfunction isFixedEnd(column) {\n return column.fixed === 'end';\n}\nexport function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets) {\n const startColumn = columns[colStart] || {};\n const endColumn = columns[colEnd] || {};\n let fixStart = null;\n let fixEnd = null;\n if (isFixedStart(startColumn) && isFixedStart(endColumn)) {\n fixStart = stickyOffsets.start[colStart];\n } else if (isFixedEnd(endColumn) && isFixedEnd(startColumn)) {\n fixEnd = stickyOffsets.end[colEnd];\n }\n\n // check if need to add shadow\n let fixedStartShadow = false;\n let fixedEndShadow = false;\n\n // Calc `zIndex`.\n // first fixed start (start -> end) column `zIndex` should be greater than next column.\n // first fixed end (end -> start) column `zIndex` should be greater than next column.\n let zIndex = 0;\n let zIndexReverse = 0;\n if (fixStart !== null) {\n fixedStartShadow = !columns[colEnd + 1] || !isFixedStart(columns[colEnd + 1]);\n zIndex = columns.length * 2 - colStart; // Fix start always overlay fix end\n zIndexReverse = columns.length + colStart;\n }\n if (fixEnd !== null) {\n fixedEndShadow = !columns[colStart - 1] || !isFixedEnd(columns[colStart - 1]);\n zIndex = colEnd;\n zIndexReverse = columns.length - colEnd; // Fix end always overlay fix start\n }\n\n // Check if scrollLeft will show the shadow\n let offsetFixedStartShadow = 0;\n let offsetFixedEndShadow = 0;\n if (fixedStartShadow) {\n for (let i = 0; i < colStart; i += 1) {\n if (!isFixedStart(columns[i])) {\n offsetFixedStartShadow += stickyOffsets.widths[i] || 0;\n }\n }\n }\n if (fixedEndShadow) {\n for (let i = columns.length - 1; i > colEnd; i -= 1) {\n if (!isFixedEnd(columns[i])) {\n offsetFixedEndShadow += stickyOffsets.widths[i] || 0;\n }\n }\n }\n return {\n fixStart,\n fixEnd,\n fixedStartShadow,\n fixedEndShadow,\n offsetFixedStartShadow,\n offsetFixedEndShadow,\n isSticky: stickyOffsets.isSticky,\n zIndex,\n zIndexReverse\n };\n}","import * as React from 'react';\nconst SummaryContext = /*#__PURE__*/React.createContext({});\nexport default SummaryContext;","import * as React from 'react';\nconst FooterRow = props => {\n const {\n children,\n ...restProps\n } = props;\n return /*#__PURE__*/React.createElement(\"tr\", restProps, children);\n};\nexport default FooterRow;","import Cell from \"./Cell\";\nimport Row from \"./Row\";\n/**\n * Syntactic sugar. Do not support HOC.\n */\nconst Summary = props => {\n const {\n children\n } = props;\n return children;\n};\nSummary.Row = Row;\nSummary.Cell = Cell;\nexport default Summary;","/* 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;","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\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 { clsx } from 'clsx';\nimport ResizeObserver from '@rc-component/resize-observer';\nimport { getTargetScrollBarSize } from \"@rc-component/util/es/getScrollBarSize\";\nimport useEvent from \"@rc-component/util/es/hooks/useEvent\";\nimport pickAttrs from \"@rc-component/util/es/pickAttrs\";\nimport getValue from \"@rc-component/util/es/utils/get\";\nimport warning from \"@rc-component/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 { 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-component/util/es/Dom/findDOMNode\";\nimport isEqual from \"@rc-component/util/es/isEqual\";\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nexport const DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nconst EMPTY_DATA = [];\n\n// Used for customize scroll\nconst EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n return 'No Data';\n}\nconst Table = (tableProps, ref) => {\n const props = {\n rowKey: 'key',\n prefixCls: DEFAULT_PREFIX,\n emptyText: defaultEmpty,\n ...tableProps\n };\n const {\n prefixCls,\n className,\n rowClassName,\n style,\n classNames,\n styles,\n data,\n rowKey,\n scroll,\n tableLayout,\n direction,\n // Additional Part\n title,\n footer,\n summary,\n caption,\n // Customize\n id,\n showHeader,\n components,\n emptyText,\n onRow,\n onHeaderRow,\n // Measure Row\n measureRowRender,\n // Events\n onScroll,\n // Internal\n internalHooks,\n transformColumns,\n internalRefs,\n tailor,\n getContainerWidth,\n sticky,\n rowHoverable = true\n } = props;\n const mergedData = data || EMPTY_DATA;\n const hasData = !!mergedData.length;\n const useInternalHooks = internalHooks === INTERNAL_HOOKS;\n\n // ===================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(name => {\n warning(props[name] === undefined, `\\`${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 const getComponent = React.useCallback((path, defaultComponent) => getValue(components, path) || defaultComponent, [components]);\n const getRowKey = React.useMemo(() => {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return record => {\n const 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 const customizeScrollBody = getComponent(['body']);\n\n // ====================== Hover =======================\n const [startRow, endRow, onHover] = useHover();\n\n // ====================== Expand ======================\n const [expandableConfig, expandableType, mergedExpandedKeys, mergedExpandIcon, mergedChildrenColumnName, onTriggerExpand] = useExpand(props, mergedData, getRowKey);\n\n // ====================== Column ======================\n const scrollX = scroll?.x;\n const [componentWidth, setComponentWidth] = React.useState(0);\n const [columns, flattenColumns, flattenScrollX] = useColumns({\n ...props,\n ...expandableConfig,\n expandable: !!expandableConfig.expandedRowRender,\n columnTitle: expandableConfig.columnTitle,\n expandedKeys: mergedExpandedKeys,\n getRowKey,\n // https://github.com/ant-design/ant-design/issues/23894\n onTriggerExpand,\n expandIcon: mergedExpandIcon,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n direction,\n scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null,\n clientWidth: componentWidth\n }, useInternalHooks ? transformColumns : null);\n const mergedScrollX = flattenScrollX ?? scrollX;\n const columnContext = React.useMemo(() => ({\n columns,\n flattenColumns\n }), [columns, flattenColumns]);\n\n // ======================= Refs =======================\n const fullTableRef = React.useRef(null);\n const scrollHeaderRef = React.useRef(null);\n const scrollBodyRef = React.useRef(null);\n const scrollBodyContainerRef = React.useRef(null);\n React.useImperativeHandle(ref, () => {\n return {\n nativeElement: fullTableRef.current,\n scrollTo: config => {\n if (scrollBodyRef.current instanceof HTMLElement) {\n // Native scroll\n const {\n index,\n top,\n key,\n offset\n } = config;\n if (validNumberValue(top)) {\n // In top mode, offset is ignored\n scrollBodyRef.current?.scrollTo({\n top\n });\n } else {\n const mergedKey = key ?? getRowKey(mergedData[index]);\n const targetElement = scrollBodyRef.current.querySelector(`[data-row-key=\"${mergedKey}\"]`);\n if (targetElement) {\n if (!offset) {\n // No offset, use scrollIntoView for default behavior\n targetElement.scrollIntoView();\n } else {\n // With offset, use element's offsetTop + offset\n const elementTop = targetElement.offsetTop;\n scrollBodyRef.current.scrollTo({\n top: elementTop + offset\n });\n }\n }\n }\n } else if (scrollBodyRef.current?.scrollTo) {\n // Pass to proxy\n scrollBodyRef.current.scrollTo(config);\n }\n }\n };\n });\n\n // ====================== Scroll ======================\n const scrollSummaryRef = React.useRef(null);\n const [shadowStart, setShadowStart] = React.useState(false);\n const [shadowEnd, setShadowEnd] = React.useState(false);\n const [colsWidths, updateColsWidths] = React.useState(new Map());\n\n // Convert map to number width\n const colsKeys = getColumnsKey(flattenColumns);\n const pureColWidths = colsKeys.map(columnKey => colsWidths.get(columnKey));\n const colWidths = React.useMemo(() => pureColWidths, [pureColWidths.join('_')]);\n const stickyOffsets = useStickyOffsets(colWidths, flattenColumns);\n const fixHeader = scroll && validateValue(scroll.y);\n const horizonScroll = scroll && validateValue(mergedScrollX) || Boolean(expandableConfig.fixed);\n const fixColumn = horizonScroll && flattenColumns.some(({\n fixed\n }) => fixed);\n\n // Sticky\n const stickyRef = React.useRef(null);\n const {\n isSticky,\n offsetHeader,\n offsetSummary,\n offsetScroll,\n stickyClassName,\n container\n } = useSticky(sticky, prefixCls);\n\n // Footer (Fix footer must fixed header)\n const summaryNode = React.useMemo(() => summary?.(mergedData), [summary, mergedData]);\n const fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed;\n\n // Scroll\n let scrollXStyle;\n let scrollYStyle;\n let 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 const onColumnResize = React.useCallback((columnKey, width) => {\n updateColsWidths(widths => {\n if (widths.get(columnKey) !== width) {\n const newWidths = new Map(widths);\n newWidths.set(columnKey, width);\n return newWidths;\n }\n return widths;\n });\n }, []);\n const [setScrollTarget, getScrollTarget] = useTimeoutLock(null);\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(() => {\n target.scrollLeft = scrollLeft;\n }, 0);\n }\n }\n }\n const [scrollInfo, setScrollInfo] = React.useState([0, 0]);\n const onInternalScroll = useEvent(({\n currentTarget,\n scrollLeft\n }) => {\n const mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n const compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n setScrollTarget(compareTarget);\n forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n forceScroll(mergedScrollLeft, scrollBodyRef.current);\n forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n forceScroll(mergedScrollLeft, stickyRef.current?.setScrollLeft);\n }\n const measureTarget = currentTarget || scrollHeaderRef.current;\n if (measureTarget) {\n const scrollWidth =\n // Should use mergedScrollX in virtual table(useInternalHooks && tailor === true)\n useInternalHooks && tailor && typeof mergedScrollX === 'number' ? mergedScrollX : measureTarget.scrollWidth;\n const clientWidth = measureTarget.clientWidth;\n const absScrollStart = Math.abs(mergedScrollLeft);\n setScrollInfo(ori => {\n const nextScrollInfo = [absScrollStart, scrollWidth - clientWidth];\n return isEqual(ori, nextScrollInfo) ? ori : nextScrollInfo;\n });\n\n // There is no space to scroll\n if (scrollWidth === clientWidth) {\n setShadowStart(false);\n setShadowEnd(false);\n return;\n }\n setShadowStart(absScrollStart > 0);\n setShadowEnd(absScrollStart < scrollWidth - clientWidth - 1);\n }\n });\n const onBodyScroll = useEvent(e => {\n onInternalScroll(e);\n onScroll?.(e);\n });\n const triggerOnScroll = () => {\n if (horizonScroll && scrollBodyRef.current) {\n onInternalScroll({\n currentTarget: getDOM(scrollBodyRef.current),\n scrollLeft: scrollBodyRef.current?.scrollLeft\n });\n } else {\n setShadowStart(false);\n setShadowEnd(false);\n }\n };\n const onFullTableResize = offsetWidth => {\n stickyRef.current?.checkScrollBarVisible();\n let mergedWidth = offsetWidth ?? fullTableRef.current?.offsetWidth ?? 0;\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 // fix https://github.com/ant-design/ant-design/issues/49279\n useLayoutEffect(() => {\n if (horizonScroll) {\n onFullTableResize();\n }\n }, [horizonScroll]);\n\n // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n const mounted = React.useRef(false);\n React.useEffect(() => {\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(() => {\n mounted.current = true;\n }, []);\n\n // ===================== Effects ======================\n const [scrollbarSize, setScrollbarSize] = React.useState(0);\n useLayoutEffect(() => {\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 }, []);\n\n // ================== INTERNAL HOOKS ==================\n React.useEffect(() => {\n if (useInternalHooks && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n });\n\n // ========================================================================\n // == Render ==\n // ========================================================================\n // =================== Render: Func ===================\n const renderFixedHeaderTable = React.useCallback(fixedHolderPassProps => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode)), [fixFooter, summaryNode]);\n const renderFixedFooterTable = React.useCallback(fixedHolderPassProps => /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode), [summaryNode]);\n\n // =================== Render: Node ===================\n const TableComponent = getComponent(['table'], 'table');\n\n // Table layout\n const mergedTableLayout = React.useMemo(() => {\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(({\n ellipsis\n }) => ellipsis)) {\n return 'fixed';\n }\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n let groupTableNode;\n\n // Header props\n const headerProps = {\n colWidths,\n columCount: flattenColumns.length,\n stickyOffsets,\n onHeaderRow,\n fixHeader,\n scroll\n };\n\n // Empty\n const emptyNode = React.useMemo(() => {\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 const bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky\n });\n const bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(({\n width\n }) => width),\n columns: flattenColumns\n });\n const captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n className: `${prefixCls}-caption`\n }, caption) : undefined;\n const dataProps = pickAttrs(props, {\n data: true\n });\n const ariaProps = pickAttrs(props, {\n aria: true\n });\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n let bodyContent;\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onInternalScroll\n });\n headerProps.colWidths = flattenColumns.map(({\n width\n }, index) => {\n const 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: {\n ...scrollXStyle,\n ...scrollYStyle\n },\n onScroll: onBodyScroll,\n ref: scrollBodyRef,\n className: `${prefixCls}-body`\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: {\n ...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 const fixedHolderProps = {\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && mergedScrollX === 'max-content',\n ...headerProps,\n ...columnContext,\n direction,\n stickyClassName,\n scrollX: mergedScrollX,\n tableLayout: mergedTableLayout,\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: `${prefixCls}-header`,\n ref: scrollHeaderRef,\n colGroup: bodyColGroup\n }), renderFixedHeaderTable), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyBottomOffset: offsetSummary,\n className: `${prefixCls}-summary`,\n ref: scrollSummaryRef,\n colGroup: bodyColGroup\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 direction: direction\n }));\n } else {\n // >>>>>> Unique table\n groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n ...scrollXStyle,\n ...scrollYStyle,\n ...styles?.content\n },\n className: clsx(`${prefixCls}-content`, classNames?.content),\n onScroll: onInternalScroll,\n ref: scrollBodyRef\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: {\n ...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 const tableStyle = {\n ...style\n };\n\n // Add css var for sticky header `zIndex` calc\n if (isSticky) {\n tableStyle['--columns-count'] = flattenColumns.length;\n }\n let fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(prefixCls, className, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-fix-start-shadow`]: horizonScroll,\n [`${prefixCls}-fix-end-shadow`]: horizonScroll,\n [`${prefixCls}-fix-start-shadow-show`]: horizonScroll && shadowStart,\n [`${prefixCls}-fix-end-shadow-show`]: horizonScroll && shadowEnd,\n [`${prefixCls}-layout-fixed`]: tableLayout === 'fixed',\n [`${prefixCls}-fixed-header`]: fixHeader,\n /** No used but for compatible */\n [`${prefixCls}-fixed-column`]: fixColumn,\n [`${prefixCls}-scroll-horizontal`]: horizonScroll,\n [`${prefixCls}-has-fix-start`]: flattenColumns[0]?.fixed,\n [`${prefixCls}-has-fix-end`]: flattenColumns[flattenColumns.length - 1]?.fixed === 'end'\n }),\n style: tableStyle,\n id: id,\n ref: fullTableRef\n }, dataProps), title && /*#__PURE__*/React.createElement(Panel, {\n className: clsx(`${prefixCls}-title`, classNames?.title),\n style: styles?.title\n }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollBodyContainerRef,\n className: clsx(`${prefixCls}-container`, classNames?.section),\n style: styles?.section\n }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n className: clsx(`${prefixCls}-footer`, classNames?.footer),\n style: styles?.footer\n }, footer(mergedData)));\n if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: ({\n offsetWidth\n }) => onFullTableResize(offsetWidth)\n }, fullTable);\n }\n const fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets);\n const TableContextValue = React.useMemo(() => ({\n // Scroll\n scrollX: mergedScrollX,\n scrollInfo,\n classNames,\n styles,\n // Table\n prefixCls,\n getComponent,\n scrollbarSize,\n direction,\n fixedInfoList,\n isSticky,\n componentWidth,\n fixHeader,\n fixColumn,\n horizonScroll,\n // Body\n tableLayout: mergedTableLayout,\n rowClassName,\n expandedRowClassName: expandableConfig.expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType,\n expandRowByClick: expandableConfig.expandRowByClick,\n expandedRowRender: expandableConfig.expandedRowRender,\n expandedRowOffset: expandableConfig.expandedRowOffset,\n onTriggerExpand,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n indentSize: expandableConfig.indentSize,\n allColumnsFixedLeft: flattenColumns.every(col => col.fixed === 'start'),\n emptyNode,\n // Column\n columns,\n flattenColumns,\n onColumnResize,\n colWidths,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover,\n rowExpandable: expandableConfig.rowExpandable,\n onRow,\n getRowKey,\n expandedKeys: mergedExpandedKeys,\n childrenColumnName: mergedChildrenColumnName,\n rowHoverable,\n // Measure Row\n measureRowRender\n }), [\n // Scroll\n mergedScrollX, scrollInfo, classNames, styles,\n // Table\n prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n // Body\n mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, expandableConfig.expandedRowOffset, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize, emptyNode,\n // Column\n columns, flattenColumns, onColumnResize, colWidths,\n // Row\n startRow, endRow, onHover, expandableConfig.rowExpandable, onRow, getRowKey, mergedExpandedKeys, mergedChildrenColumnName, rowHoverable, measureRowRender]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, fullTable);\n};\nconst RefTable = /*#__PURE__*/React.forwardRef(Table);\nif (process.env.NODE_ENV !== 'production') {\n RefTable.displayName = 'Table';\n}\nexport const genTable = shouldTriggerRender => {\n return makeImmutable(RefTable, shouldTriggerRender);\n};\nconst ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.INTERNAL_HOOKS = INTERNAL_HOOKS;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from 'react';\nimport toArray from \"@rc-component/util/es/Children/toArray\";\nimport { warning } from \"@rc-component/util/es/warning\";\nimport SingleObserver from \"./SingleObserver\";\nimport { Collection } from \"./Collection\";\nconst INTERNAL_PREFIX_KEY = 'rc-observer-key';\nimport { _rs } from \"./utils/observerUtil\";\nexport { /** @private Test only for mock trigger resize event */\n_rs };\nexport { default as useResizeObserver } from \"./useResizeObserver\";\nfunction ResizeObserver(props, ref) {\n const {\n children\n } = props;\n const childNodes = typeof children === 'function' ? [children] : toArray(children);\n if (process.env.NODE_ENV !== 'production') {\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Please use ResizeObserver.Collection instead.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n }\n }\n return childNodes.map((child, index) => {\n const key = child?.key || `${INTERNAL_PREFIX_KEY}-${index}`;\n return /*#__PURE__*/React.createElement(SingleObserver, _extends({}, props, {\n key: key,\n ref: index === 0 ? ref : undefined\n }), child);\n });\n}\nconst RefResizeObserver = /*#__PURE__*/React.forwardRef(ResizeObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefResizeObserver.displayName = 'ResizeObserver';\n}\nRefResizeObserver.Collection = Collection;\nexport default RefResizeObserver;","export function isDOM(node) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element\n // Since XULElement is also subclass of Element, we only need HTMLElement and SVGElement\n return node instanceof HTMLElement || node instanceof SVGElement;\n}\n\n/**\n * Retrieves a DOM node via a ref, and does not invoke `findDOMNode`.\n */\nexport function getDOM(node) {\n if (node && typeof node === 'object' && isDOM(node.nativeElement)) {\n return node.nativeElement;\n }\n if (isDOM(node)) {\n return node;\n }\n return null;\n}\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\nexport default function findDOMNode(node) {\n const domNode = getDOM(node);\n if (domNode) {\n return domNode;\n }\n if (node && typeof node === 'object' && 'current' in node) {\n const refDomNode = getDOM(node.current);\n if (refDomNode) {\n return refDomNode;\n }\n }\n return null;\n}","import { getDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\nimport { supportRef, useComposeRef, getNodeRef } from \"@rc-component/util/es/ref\";\nimport * as React from 'react';\nimport { CollectionContext } from \"../Collection\";\nimport useResizeObserver from \"../useResizeObserver\";\nfunction SingleObserver(props, ref) {\n const {\n children,\n disabled,\n onResize,\n data\n } = props;\n const elementRef = React.useRef(null);\n const onCollectionResize = React.useContext(CollectionContext);\n\n // =========================== Children ===========================\n const isRenderProps = typeof children === 'function';\n const mergedChildren = isRenderProps ? children(elementRef) : children;\n\n // ============================= Ref ==============================\n const canRef = !isRenderProps && /*#__PURE__*/React.isValidElement(mergedChildren) && supportRef(mergedChildren);\n const originRef = canRef ? getNodeRef(mergedChildren) : null;\n const mergedRef = useComposeRef(originRef, elementRef);\n const getDomElement = () => {\n return getDOM(elementRef.current);\n };\n React.useImperativeHandle(ref, () => getDomElement());\n\n // =========================== Observe ============================\n useResizeObserver(!disabled, getDomElement, onResize, (sizeInfo, target) => {\n onCollectionResize?.(sizeInfo, target, data);\n });\n\n // ============================ Render ============================\n return canRef ? /*#__PURE__*/React.cloneElement(mergedChildren, {\n ref: mergedRef\n }) : mergedChildren;\n}\nconst RefSingleObserver = /*#__PURE__*/React.forwardRef(SingleObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefSingleObserver.displayName = 'SingleObserver';\n}\nexport default RefSingleObserver;","import * as React from 'react';\nexport const CollectionContext = /*#__PURE__*/React.createContext(null);\n/**\n * Collect all the resize event from children ResizeObserver\n */\nexport function Collection({\n children,\n onBatchResize\n}) {\n const resizeIdRef = React.useRef(0);\n const resizeInfosRef = React.useRef([]);\n const onCollectionResize = React.useContext(CollectionContext);\n const onResize = React.useCallback((size, element, data) => {\n resizeIdRef.current += 1;\n const currentId = resizeIdRef.current;\n resizeInfosRef.current.push({\n size,\n element,\n data\n });\n Promise.resolve().then(() => {\n if (currentId === resizeIdRef.current) {\n onBatchResize?.(resizeInfosRef.current);\n resizeInfosRef.current = [];\n }\n });\n\n // Continue bubbling if parent exist\n onCollectionResize?.(size, element, data);\n }, [onBatchResize, onCollectionResize]);\n return /*#__PURE__*/React.createElement(CollectionContext.Provider, {\n value: onResize\n }, children);\n}","import * as React from 'react';\nimport { observe, unobserve } from \"./utils/observerUtil\";\nimport { useEvent } from '@rc-component/util';\nexport default function useResizeObserver(enabled, getTarget, onDelayResize, onSyncResize) {\n // ============================= Size =============================\n const sizeRef = React.useRef({\n width: -1,\n height: -1,\n offsetWidth: -1,\n offsetHeight: -1\n });\n\n // =========================== Observe ============================\n\n // Handler\n const onInternalResize = useEvent(target => {\n const {\n width,\n height\n } = target.getBoundingClientRect();\n const {\n offsetWidth,\n offsetHeight\n } = target;\n\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n const fixedWidth = Math.floor(width);\n const fixedHeight = Math.floor(height);\n if (sizeRef.current.width !== fixedWidth || sizeRef.current.height !== fixedHeight || sizeRef.current.offsetWidth !== offsetWidth || sizeRef.current.offsetHeight !== offsetHeight) {\n const size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth,\n offsetHeight\n };\n sizeRef.current = size;\n\n // IE is strange, right?\n const mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n const mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;\n const sizeInfo = {\n ...size,\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n };\n\n // Call the callback immediately, let the caller decide whether to defer\n // onResize(sizeInfo, target);\n onSyncResize?.(sizeInfo, target);\n\n // defer the callback but not defer to next frame\n Promise.resolve().then(() => {\n onDelayResize?.(sizeInfo, target);\n });\n }\n });\n\n // Dynamic observe\n const isFuncTarget = typeof getTarget === 'function';\n React.useEffect(() => {\n const target = isFuncTarget ? getTarget() : getTarget;\n if (target && enabled) {\n observe(target, onInternalResize);\n }\n return () => {\n if (target) {\n unobserve(target, onInternalResize);\n }\n };\n }, [enabled,\n // When is function, no need to watch it\n isFuncTarget ? 0 : getTarget]);\n}","// =============================== Const ===============================\nconst elementListeners = new Map();\nfunction onResize(entities) {\n entities.forEach(entity => {\n const {\n target\n } = entity;\n elementListeners.get(target)?.forEach(listener => listener(target));\n });\n}\n\n// Delay create ResizeObserver since it's not supported in server side\nlet observer;\nfunction ensureResizeObserver() {\n if (!observer) {\n observer = new ResizeObserver(onResize);\n }\n return observer;\n}\n\n// Dev env only\nexport const _el = process.env.NODE_ENV !== 'production' ? elementListeners : null; // eslint-disable-line\nexport const _rs = process.env.NODE_ENV !== 'production' ? onResize : null; // eslint-disable-line\n\n// ============================== Observe ==============================\nexport function observe(element, callback) {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set());\n ensureResizeObserver().observe(element);\n }\n elementListeners.get(element).add(callback);\n}\nexport function unobserve(element, callback) {\n if (elementListeners.has(element)) {\n elementListeners.get(element).delete(callback);\n if (!elementListeners.get(element).size) {\n ensureResizeObserver().unobserve(element);\n elementListeners.delete(element);\n }\n }\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n let node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import canUseDom from \"./canUseDom\";\nimport contains from \"./contains\";\nconst APPEND_ORDER = 'data-rc-order';\nconst APPEND_PRIORITY = 'data-rc-priority';\nconst MARK_KEY = `rc-util-key`;\nconst containerCache = new Map();\nfunction getMark({\n mark\n} = {}) {\n if (mark) {\n return mark.startsWith('data-') ? mark : `data-${mark}`;\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n const head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(node => node.tagName === 'STYLE');\n}\nexport function injectCSS(css, option = {}) {\n if (!canUseDom()) {\n return null;\n }\n const {\n csp,\n prepend,\n priority = 0\n } = option;\n const mergedOrder = getOrder(prepend);\n const isPrependQueue = mergedOrder === 'prependQueue';\n const styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, mergedOrder);\n if (isPrependQueue && priority) {\n styleNode.setAttribute(APPEND_PRIORITY, `${priority}`);\n }\n if (csp?.nonce) {\n styleNode.nonce = csp?.nonce;\n }\n styleNode.innerHTML = css;\n const container = getContainer(option);\n const {\n firstChild\n } = container;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (isPrependQueue) {\n const existStyle = (option.styles || findStyles(container)).filter(node => {\n // Ignore style which not injected by rc-util with prepend\n if (!['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER))) {\n return false;\n }\n\n // Ignore style which priority less then new style\n const nodePriority = Number(node.getAttribute(APPEND_PRIORITY) || 0);\n return priority >= nodePriority;\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key, option = {}) {\n let {\n styles\n } = option;\n styles ||= findStyles(getContainer(option));\n return styles.find(node => node.getAttribute(getMark(option)) === key);\n}\nexport function removeCSS(key, option = {}) {\n const existNode = findExistNode(key, option);\n if (existNode) {\n const container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n const cachedRealContainer = containerCache.get(container);\n\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n const placeholderStyle = injectCSS('', option);\n const {\n parentNode\n } = placeholderStyle;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key, originOption = {}) {\n const container = getContainer(originOption);\n const styles = findStyles(container);\n const option = {\n ...originOption,\n styles\n };\n\n // Sync real parent\n syncRealContainer(container, option);\n const existNode = findExistNode(key, option);\n if (existNode) {\n if (option.csp?.nonce && existNode.nonce !== option.csp?.nonce) {\n existNode.nonce = option.csp?.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n const newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","/* eslint-disable no-param-reassign */\nimport { removeCSS, updateCSS } from \"./Dom/dynamicCSS\";\nlet cached;\nfunction measureScrollbarSize(ele) {\n const randomId = `rc-scrollbar-measure-${Math.random().toString(36).substring(7)}`;\n const measureEle = document.createElement('div');\n measureEle.id = randomId;\n\n // Create Style\n const measureStyle = measureEle.style;\n measureStyle.position = 'absolute';\n measureStyle.left = '0';\n measureStyle.top = '0';\n measureStyle.width = '100px';\n measureStyle.height = '100px';\n measureStyle.overflow = 'scroll';\n\n // Clone Style if needed\n let fallbackWidth;\n let fallbackHeight;\n if (ele) {\n const targetStyle = getComputedStyle(ele);\n measureStyle.scrollbarColor = targetStyle.scrollbarColor;\n measureStyle.scrollbarWidth = targetStyle.scrollbarWidth;\n\n // Set Webkit style\n const webkitScrollbarStyle = getComputedStyle(ele, '::-webkit-scrollbar');\n const width = parseInt(webkitScrollbarStyle.width, 10);\n const height = parseInt(webkitScrollbarStyle.height, 10);\n\n // Try wrap to handle CSP case\n try {\n const widthStyle = width ? `width: ${webkitScrollbarStyle.width};` : '';\n const heightStyle = height ? `height: ${webkitScrollbarStyle.height};` : '';\n updateCSS(`\n#${randomId}::-webkit-scrollbar {\n${widthStyle}\n${heightStyle}\n}`, randomId);\n } catch (e) {\n // Can't wrap, just log error\n console.error(e);\n\n // Get from style directly\n fallbackWidth = width;\n fallbackHeight = height;\n }\n }\n document.body.appendChild(measureEle);\n\n // Measure. Get fallback style if provided\n const scrollWidth = ele && fallbackWidth && !isNaN(fallbackWidth) ? fallbackWidth : measureEle.offsetWidth - measureEle.clientWidth;\n const scrollHeight = ele && fallbackHeight && !isNaN(fallbackHeight) ? fallbackHeight : measureEle.offsetHeight - measureEle.clientHeight;\n\n // Clean up\n document.body.removeChild(measureEle);\n removeCSS(randomId);\n return {\n width: scrollWidth,\n height: scrollHeight\n };\n}\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n cached = measureScrollbarSize();\n }\n return cached.width;\n}\nexport function getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n return measureScrollbarSize(target);\n}","const attributes = `accept acceptCharset accessKey action allowFullScreen allowTransparency\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\n charSet checked classID className colSpan cols content contentEditable contextMenu\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\n mediaGroup method min minLength multiple muted name noValidate nonce open\n optimum pattern placeholder poster preload radioGroup readOnly rel required\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\n summary tabIndex target title type useMap value width wmode wrap`;\nconst eventsName = `onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`;\nconst propList = `${attributes} ${eventsName}`.split(/[\\s\\n]+/);\n\n/* eslint-enable max-len */\nconst ariaPrefix = 'aria-';\nconst dataPrefix = 'data-';\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\nexport default function pickAttrs(props, ariaOnly = false) {\n let mergedConfig;\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = {\n ...ariaOnly\n };\n }\n const attrs = {};\n Object.keys(props).forEach(key => {\n if (\n // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) ||\n // Data\n mergedConfig.data && match(key, dataPrefix) ||\n // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport { clsx } from 'clsx';\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\";\nconst Body = props => {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n const {\n data,\n measureColumnWidth\n } = props;\n const {\n prefixCls,\n getComponent,\n onColumnResize,\n flattenColumns,\n getRowKey,\n expandedKeys,\n childrenColumnName,\n emptyNode,\n classNames,\n styles,\n expandedRowOffset = 0,\n colWidths\n } = useContext(TableContext, ['prefixCls', 'getComponent', 'onColumnResize', 'flattenColumns', 'getRowKey', 'expandedKeys', 'childrenColumnName', 'emptyNode', 'classNames', 'styles', 'expandedRowOffset', 'fixedInfoList', 'colWidths']);\n const {\n body: bodyCls = {}\n } = classNames || {};\n const {\n body: bodyStyles = {}\n } = styles || {};\n const flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n const rowKeys = React.useMemo(() => flattenData.map(item => item.rowKey), [flattenData]);\n\n // =================== Performance ====================\n const perfRef = React.useRef({\n renderWithProps: false\n });\n\n // ===================== Expanded =====================\n // `expandedRowOffset` data is same for all the rows.\n // Let's calc on Body side to save performance.\n const expandedRowInfo = React.useMemo(() => {\n const expandedColSpan = flattenColumns.length - expandedRowOffset;\n let expandedStickyStart = 0;\n for (let i = 0; i < expandedRowOffset; i += 1) {\n expandedStickyStart += colWidths[i] || 0;\n }\n return {\n offset: expandedRowOffset,\n colSpan: expandedColSpan,\n sticky: expandedStickyStart\n };\n }, [flattenColumns.length, expandedRowOffset, colWidths]);\n\n // ====================== Render ======================\n const WrapperComponent = getComponent(['body', 'wrapper'], 'tbody');\n const trComponent = getComponent(['body', 'row'], 'tr');\n const tdComponent = getComponent(['body', 'cell'], 'td');\n const thComponent = getComponent(['body', 'cell'], 'th');\n let rows;\n if (data.length) {\n rows = flattenData.map((item, idx) => {\n const {\n record,\n indent,\n index: renderIndex,\n rowKey\n } = item;\n return /*#__PURE__*/React.createElement(BodyRow, {\n classNames: bodyCls,\n styles: bodyStyles,\n key: rowKey,\n rowKey: rowKey,\n rowKeys: rowKeys,\n record: record,\n index: idx,\n renderIndex: renderIndex,\n rowComponent: trComponent,\n cellComponent: tdComponent,\n scopeCellComponent: thComponent,\n indent: indent\n // Expanded row info\n ,\n expandedRowInfo: expandedRowInfo\n });\n });\n } else {\n rows = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: true,\n className: `${prefixCls}-placeholder`,\n prefixCls: prefixCls,\n component: trComponent,\n cellComponent: tdComponent,\n colSpan: flattenColumns.length,\n isEmpty: true\n }, emptyNode);\n }\n const columnsKey = getColumnsKey(flattenColumns);\n return /*#__PURE__*/React.createElement(PerfContext.Provider, {\n value: perfRef.current\n }, /*#__PURE__*/React.createElement(WrapperComponent, {\n style: bodyStyles.wrapper,\n className: clsx(`${prefixCls}-tbody`, bodyCls.wrapper)\n }, measureColumnWidth && /*#__PURE__*/React.createElement(MeasureRow, {\n prefixCls: prefixCls,\n columnsKey: columnsKey,\n onColumnResize: onColumnResize,\n columns: flattenColumns\n }), rows));\n};\nif (process.env.NODE_ENV !== 'production') {\n Body.displayName = 'Body';\n}\nexport default responseImmutable(Body);","import * as React from 'react';\n// recursion (flat tree structure)\nfunction fillRecords(list, record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n const key = getRowKey(record, index);\n list.push({\n record,\n indent,\n index,\n rowKey: key\n });\n const expanded = expandedKeys?.has(key);\n if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (let 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 const arr = React.useMemo(() => {\n if (expandedKeys?.size) {\n const list = [];\n\n // collect flattened record\n for (let i = 0; i < data?.length; i += 1) {\n const 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?.map((item, index) => {\n return {\n record: item,\n indent: 0,\n index,\n rowKey: getRowKey(item, index)\n };\n });\n }, [data, childrenColumnName, expandedKeys, getRowKey]);\n return arr;\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { clsx } from 'clsx';\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, rowKeys = [], expandedRowOffset = 0) {\n const {\n record,\n prefixCls,\n columnsKey,\n fixedInfoList,\n expandIconColumnIndex,\n nestExpandable,\n indentSize,\n expandIcon,\n expanded,\n hasNestChildren,\n onTriggerExpand,\n expandable,\n expandedKeys\n } = rowInfo;\n const key = columnsKey[colIndex];\n const fixedInfo = fixedInfoList[colIndex];\n\n // ============= Used for nest expandable =============\n let appendCellNode;\n if (colIndex === (expandIconColumnIndex || 0) && nestExpandable) {\n appendCellNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n paddingLeft: `${indentSize * indent}px`\n },\n className: `${prefixCls}-row-indent indent-level-${indent}`\n }), expandIcon({\n prefixCls,\n expanded,\n expandable: hasNestChildren,\n record,\n onExpand: onTriggerExpand\n }));\n }\n const additionalCellProps = column.onCell?.(record, index) || {};\n\n // Expandable row has offset\n if (expandedRowOffset) {\n const {\n rowSpan = 1\n } = additionalCellProps;\n\n // For expandable row with rowSpan,\n // We should increase the rowSpan if the row is expanded\n if (expandable && rowSpan && colIndex < expandedRowOffset) {\n let currentRowSpan = rowSpan;\n for (let i = index; i < index + rowSpan; i += 1) {\n const rowKey = rowKeys[i];\n if (expandedKeys.has(rowKey)) {\n currentRowSpan += 1;\n }\n }\n additionalCellProps.rowSpan = currentRowSpan;\n }\n }\n return {\n key,\n fixedInfo,\n appendCellNode,\n additionalCellProps: additionalCellProps\n };\n}\n\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nconst BodyRow = props => {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n const {\n className,\n style,\n classNames,\n styles,\n record,\n index,\n renderIndex,\n rowKey,\n rowKeys,\n indent = 0,\n rowComponent: RowComponent,\n cellComponent,\n scopeCellComponent,\n expandedRowInfo\n } = props;\n const rowInfo = useRowInfo(record, rowKey, index, indent);\n const {\n prefixCls,\n flattenColumns,\n expandedRowClassName,\n expandedRowRender,\n rowProps,\n // Misc\n expanded,\n rowSupportExpand\n } = rowInfo;\n\n // Force render expand row if expanded before\n const expandedRef = React.useRef(false);\n 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 const expandedClsName = computedExpandedClassName(expandedRowClassName, record, index, indent);\n\n // ======================== Base tr row ========================\n const baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, {\n \"data-row-key\": rowKey,\n className: clsx(className, `${prefixCls}-row`, `${prefixCls}-row-level-${indent}`, rowProps?.className, classNames.row, {\n [expandedClsName]: indent >= 1\n }),\n style: {\n ...style,\n ...rowProps?.style,\n ...styles.row\n }\n }), flattenColumns.map((column, colIndex) => {\n const {\n render,\n dataIndex,\n className: columnClassName\n } = column;\n const {\n key,\n fixedInfo,\n appendCellNode,\n additionalCellProps\n } = getCellProps(rowInfo, column, colIndex, indent, index, rowKeys, expandedRowInfo?.offset);\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: clsx(columnClassName, classNames.cell),\n style: styles.cell,\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 let expandRowNode;\n if (rowSupportExpand && (expandedRef.current || expanded)) {\n const expandContent = expandedRowRender(record, index, indent + 1, expanded);\n expandRowNode = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: expanded,\n className: clsx(`${prefixCls}-expanded-row`, `${prefixCls}-expanded-row-level-${indent + 1}`, expandedClsName),\n prefixCls: prefixCls,\n component: RowComponent,\n cellComponent: cellComponent,\n colSpan: expandedRowInfo ? expandedRowInfo.colSpan : flattenColumns.length,\n isEmpty: false,\n stickyOffset: expandedRowInfo?.sticky\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 { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport { useEvent } from '@rc-component/util';\nimport { clsx } from 'clsx';\nexport default function useRowInfo(record, rowKey, recordIndex, indent) {\n const context = useContext(TableContext, ['prefixCls', 'fixedInfoList', 'flattenColumns', 'expandableType', 'expandRowByClick', 'onTriggerExpand', 'rowClassName', 'expandedRowClassName', 'indentSize', 'expandIcon', 'expandedRowRender', 'expandIconColumnIndex', 'expandedKeys', 'childrenColumnName', 'rowExpandable', 'onRow']);\n const {\n flattenColumns,\n expandableType,\n expandedKeys,\n childrenColumnName,\n onTriggerExpand,\n rowExpandable,\n onRow,\n expandRowByClick,\n rowClassName\n } = context;\n\n // ======================= Expandable =======================\n // Only when row is not expandable and `children` exist in record\n const nestExpandable = expandableType === 'nest';\n const rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record));\n const mergedExpandable = rowSupportExpand || nestExpandable;\n const expanded = expandedKeys && expandedKeys.has(rowKey);\n const hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n const onInternalTriggerExpand = useEvent(onTriggerExpand);\n\n // ========================= onRow ==========================\n const rowProps = onRow?.(record, recordIndex);\n const onRowClick = rowProps?.onClick;\n const onClick = (event, ...args) => {\n if (expandRowByClick && mergedExpandable) {\n onTriggerExpand(record, event);\n }\n onRowClick?.(event, ...args);\n };\n\n // ====================== RowClassName ======================\n let 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 const columnsKey = getColumnsKey(flattenColumns);\n return {\n ...context,\n columnsKey,\n nestExpandable,\n expanded,\n hasNestChildren,\n record,\n onTriggerExpand: onInternalTriggerExpand,\n rowSupportExpand,\n expandable: mergedExpandable,\n rowProps: {\n ...rowProps,\n className: clsx(computeRowClassName, rowProps?.className),\n 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\";\nconst ExpandedRow = props => {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n const {\n prefixCls,\n children,\n component: Component,\n cellComponent,\n className,\n expanded,\n colSpan,\n isEmpty,\n stickyOffset = 0\n } = props;\n const {\n scrollbarSize,\n fixHeader,\n fixColumn,\n componentWidth,\n horizonScroll\n } = useContext(TableContext, ['scrollbarSize', 'fixHeader', 'fixColumn', 'componentWidth', 'horizonScroll']);\n\n // Cache render node\n let contentNode = children;\n if (isEmpty ? horizonScroll && componentWidth : fixColumn) {\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: componentWidth - stickyOffset - (fixHeader && !isEmpty ? scrollbarSize : 0),\n position: 'sticky',\n left: stickyOffset,\n overflow: 'hidden'\n },\n className: `${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 * as React from 'react';\nimport { clsx } from 'clsx';\nexport function renderExpandIcon({\n prefixCls,\n record,\n onExpand,\n expanded,\n expandable\n}) {\n const expandClassName = `${prefixCls}-row-expand-icon`;\n if (!expandable) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(expandClassName, `${prefixCls}-row-spaced`)\n });\n }\n const onClick = event => {\n onExpand(record, event);\n event.stopPropagation();\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(expandClassName, {\n [`${prefixCls}-row-expanded`]: expanded,\n [`${prefixCls}-row-collapsed`]: !expanded\n }),\n onClick: onClick\n });\n}\nexport function findAllChildrenKeys(data, getRowKey, childrenColumnName) {\n const keys = [];\n function dig(list) {\n (list || []).forEach((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 * as React from 'react';\nimport ResizeObserver from '@rc-component/resize-observer';\nimport MeasureCell from \"./MeasureCell\";\nimport isVisible from \"@rc-component/util/es/Dom/isVisible\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\nconst MeasureRow = ({\n prefixCls,\n columnsKey,\n onColumnResize,\n columns\n}) => {\n const ref = React.useRef(null);\n const {\n measureRowRender\n } = useContext(TableContext, ['measureRowRender']);\n const measureRow = /*#__PURE__*/React.createElement(\"tr\", {\n \"aria-hidden\": \"true\",\n className: `${prefixCls}-measure-row`,\n style: {\n height: 0\n },\n ref: ref\n }, /*#__PURE__*/React.createElement(ResizeObserver.Collection, {\n onBatchResize: infoList => {\n if (isVisible(ref.current)) {\n infoList.forEach(({\n data: columnKey,\n size\n }) => {\n onColumnResize(columnKey, size.offsetWidth);\n });\n }\n }\n }, columnsKey.map(columnKey => {\n const column = columns.find(col => col.key === columnKey);\n const rawTitle = column?.title;\n const titleForMeasure = /*#__PURE__*/React.isValidElement(rawTitle) ? /*#__PURE__*/React.cloneElement(rawTitle, {\n ref: null\n }) : rawTitle;\n return /*#__PURE__*/React.createElement(MeasureCell, {\n key: columnKey,\n columnKey: columnKey,\n onColumnResize: onColumnResize,\n title: titleForMeasure\n });\n })));\n return typeof measureRowRender === 'function' ? measureRowRender(measureRow) : measureRow;\n};\nexport default MeasureRow;","import * as React from 'react';\nimport ResizeObserver from '@rc-component/resize-observer';\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nconst MeasureCell = props => {\n const {\n columnKey,\n onColumnResize,\n title\n } = props;\n const cellRef = React.useRef(null);\n useLayoutEffect(() => {\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 paddingTop: 0,\n paddingBottom: 0,\n borderTop: 0,\n borderBottom: 0,\n height: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: 0,\n overflow: 'hidden',\n fontWeight: 'bold'\n }\n }, title || '\\xa0')));\n};\nexport default MeasureCell;","export default (element => {\n if (!element) {\n return false;\n }\n if (element instanceof Element) {\n if (element.offsetParent) {\n return true;\n }\n if (element.getBBox) {\n const {\n width,\n height\n } = element.getBBox();\n if (width || height) {\n return true;\n }\n }\n if (element.getBoundingClientRect) {\n const {\n width,\n height\n } = element.getBoundingClientRect();\n if (width || height) {\n return true;\n }\n }\n }\n return false;\n});","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from 'react';\nimport { INTERNAL_COL_DEFINE } from \"./utils/legacyUtil\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"./context/TableContext\";\nconst ColGroup = props => {\n const {\n colWidths,\n columns,\n columCount\n } = props;\n const {\n tableLayout\n } = useContext(TableContext, ['tableLayout']);\n const cols = [];\n const 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 let mustInsert = false;\n for (let i = len - 1; i >= 0; i -= 1) {\n const width = colWidths[i];\n const column = columns && columns[i];\n let additionalProps;\n let minWidth;\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 const {\n columnType,\n ...restAdditionalProps\n } = additionalProps || {};\n cols.unshift( /*#__PURE__*/React.createElement(\"col\", _extends({\n key: i,\n style: {\n width,\n minWidth\n }\n }, restAdditionalProps)));\n mustInsert = true;\n }\n }\n return cols.length > 0 ? /*#__PURE__*/React.createElement(\"colgroup\", null, cols) : null;\n};\nexport default ColGroup;","import warning from \"@rc-component/util/es/warning\";\nexport const INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\nexport function getExpandableProps(props) {\n const {\n expandable,\n ...legacyExpandableConfig\n } = props;\n let config;\n if ('expandable' in props) {\n config = {\n ...legacyExpandableConfig,\n ...expandable\n };\n } else {\n if (process.env.NODE_ENV !== 'production' && ['indentSize', 'expandedRowKeys', 'defaultExpandedRowKeys', 'defaultExpandAllRows', 'expandedRowRender', 'expandRowByClick', 'expandIcon', 'onExpand', 'onExpandedRowsChange', 'expandedRowClassName', 'expandIconColumnIndex', 'showExpandColumn', 'title'].some(prop => prop in props)) {\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 { useContext } from '@rc-component/context';\nimport { clsx } from 'clsx';\nimport { fillRef } from \"@rc-component/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(() => {\n const cloneColumns = [];\n for (let i = 0; i < columCount; i += 1) {\n const 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}\nconst FixedHolder = /*#__PURE__*/React.forwardRef((props, ref) => {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n const {\n className,\n style,\n noData,\n columns,\n flattenColumns,\n colWidths,\n colGroup,\n columCount,\n stickyOffsets,\n direction,\n fixHeader,\n stickyTopOffset,\n stickyBottomOffset,\n stickyClassName,\n scrollX,\n tableLayout = 'fixed',\n onScroll,\n maxContentScroll,\n children,\n ...restProps\n } = props;\n const {\n prefixCls,\n scrollbarSize,\n isSticky,\n getComponent\n } = useContext(TableContext, ['prefixCls', 'scrollbarSize', 'isSticky', 'getComponent']);\n const TableComponent = getComponent(['header', 'table'], 'table');\n const combinationScrollBarSize = isSticky && !fixHeader ? 0 : scrollbarSize;\n\n // Pass wheel to scroll event\n const scrollRef = React.useRef(null);\n const setScrollRef = React.useCallback(element => {\n fillRef(ref, element);\n fillRef(scrollRef, element);\n }, []);\n React.useEffect(() => {\n function onWheel(e) {\n const {\n currentTarget,\n deltaX\n } = e;\n if (deltaX) {\n const {\n scrollLeft,\n scrollWidth,\n clientWidth\n } = currentTarget;\n const maxScrollWidth = scrollWidth - clientWidth;\n let nextScroll = scrollLeft + deltaX;\n if (direction === 'rtl') {\n nextScroll = Math.max(-maxScrollWidth, nextScroll);\n nextScroll = Math.min(0, nextScroll);\n } else {\n nextScroll = Math.min(maxScrollWidth, nextScroll);\n nextScroll = Math.max(0, nextScroll);\n }\n onScroll({\n currentTarget,\n scrollLeft: nextScroll\n });\n e.preventDefault();\n }\n }\n const scrollEle = scrollRef.current;\n scrollEle?.addEventListener('wheel', onWheel, {\n passive: false\n });\n return () => {\n scrollEle?.removeEventListener('wheel', onWheel);\n };\n }, []);\n\n // Add scrollbar column\n const lastColumn = flattenColumns[flattenColumns.length - 1];\n const ScrollBarColumn = {\n fixed: lastColumn ? lastColumn.fixed : null,\n scrollbar: true,\n onHeaderCell: () => ({\n className: `${prefixCls}-cell-scrollbar`\n })\n };\n const columnsWithScrollbar = useMemo(() => combinationScrollBarSize ? [...columns, ScrollBarColumn] : columns, [combinationScrollBarSize, columns]);\n const flattenColumnsWithScrollbar = useMemo(() => combinationScrollBarSize ? [...flattenColumns, ScrollBarColumn] : flattenColumns, [combinationScrollBarSize, flattenColumns]);\n\n // Calculate the sticky offsets\n const headerStickyOffsets = useMemo(() => {\n const {\n start,\n end\n } = stickyOffsets;\n return {\n ...stickyOffsets,\n // left:\n // direction === 'rtl' ? [...left.map(width => width + combinationScrollBarSize), 0] : left,\n // right:\n // direction === 'rtl' ? right : [...right.map(width => width + combinationScrollBarSize), 0],\n start: start,\n end: [...end.map(width => width + combinationScrollBarSize), 0],\n isSticky\n };\n }, [combinationScrollBarSize, stickyOffsets, isSticky]);\n const mergedColumnWidth = useColumnWidth(colWidths, columCount);\n const isColGroupEmpty = useMemo(() => {\n // use original ColGroup if no data or no calculated column width, otherwise use calculated column width\n // Return original colGroup if no data, or mergedColumnWidth is empty, or all widths are falsy\n const noWidth = !mergedColumnWidth || !mergedColumnWidth.length || mergedColumnWidth.every(w => !w);\n return noData || noWidth;\n }, [noData, mergedColumnWidth]);\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n overflow: 'hidden',\n ...(isSticky ? {\n top: stickyTopOffset,\n bottom: stickyBottomOffset\n } : {}),\n ...style\n },\n ref: setScrollRef,\n className: clsx(className, {\n [stickyClassName]: !!stickyClassName\n })\n }, /*#__PURE__*/React.createElement(TableComponent, {\n style: {\n tableLayout,\n minWidth: '100%',\n // https://github.com/ant-design/ant-design/issues/54894\n width: scrollX\n }\n }, isColGroupEmpty ? colGroup : /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: [...mergedColumnWidth, combinationScrollBarSize],\n columCount: columCount + 1,\n columns: flattenColumnsWithScrollbar\n }), children({\n ...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 * as React from 'react';\nimport { clsx } from 'clsx';\nimport { useContext } from '@rc-component/context';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport HeaderRow from \"./HeaderRow\";\nfunction parseHeaderRows(rootColumns, classNames, styles) {\n const rows = [];\n function fillRowCells(columns, colIndex, rowIndex = 0) {\n // Init rows\n rows[rowIndex] = rows[rowIndex] || [];\n let currentColIndex = colIndex;\n const colSpans = columns.filter(Boolean).map(column => {\n const cell = {\n key: column.key,\n className: clsx(column.className, classNames.cell) || '',\n style: styles.cell,\n children: column.title,\n column,\n colStart: currentColIndex\n };\n let colSpan = 1;\n const subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n colSpan = fillRowCells(subColumns, currentColIndex, rowIndex + 1).reduce((total, count) => total + count, 0);\n cell.hasSubColumns = true;\n }\n if ('colSpan' in column) {\n ({\n colSpan\n } = column);\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 const rowCount = rows.length;\n for (let rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n rows[rowIndex].forEach(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 return rows;\n}\nconst Header = props => {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n const {\n stickyOffsets,\n columns,\n flattenColumns,\n onHeaderRow\n } = props;\n const {\n prefixCls,\n getComponent,\n classNames,\n styles\n } = useContext(TableContext, ['prefixCls', 'getComponent', 'classNames', 'styles']);\n const {\n header: headerCls = {}\n } = classNames || {};\n const {\n header: headerStyles = {}\n } = styles || {};\n const rows = React.useMemo(() => parseHeaderRows(columns, headerCls, headerStyles), [columns, headerCls, headerStyles]);\n const WrapperComponent = getComponent(['header', 'wrapper'], 'thead');\n const trComponent = getComponent(['header', 'row'], 'tr');\n const thComponent = getComponent(['header', 'cell'], 'th');\n return /*#__PURE__*/React.createElement(WrapperComponent, {\n className: clsx(`${prefixCls}-thead`, headerCls.wrapper),\n style: headerStyles.wrapper\n }, rows.map((row, rowIndex) => {\n const rowNode = /*#__PURE__*/React.createElement(HeaderRow, {\n classNames: headerCls,\n styles: headerStyles,\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);","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\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\";\nconst HeaderRow = props => {\n const {\n cells,\n stickyOffsets,\n flattenColumns,\n rowComponent: RowComponent,\n cellComponent: CellComponent,\n onHeaderRow,\n index,\n classNames,\n styles\n } = props;\n const {\n prefixCls\n } = useContext(TableContext, ['prefixCls']);\n let rowProps;\n if (onHeaderRow) {\n rowProps = onHeaderRow(cells.map(cell => cell.column), index);\n }\n const columnsKey = getColumnsKey(cells.map(cell => cell.column));\n return /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, {\n className: classNames.row,\n style: styles.row\n }), cells.map((cell, cellIndex) => {\n const {\n column,\n colStart,\n colEnd,\n colSpan\n } = cell;\n const fixedInfo = getCellFixedInfo(colStart, colEnd, flattenColumns, stickyOffsets);\n const additionalProps = column?.onHeaderCell?.(column) || {};\n return /*#__PURE__*/React.createElement(Cell, _extends({}, cell, {\n scope: column.title ? 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 toArray from \"@rc-component/util/es/Children/toArray\";\nimport warning from \"@rc-component/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(node => /*#__PURE__*/React.isValidElement(node)).map(node => {\n const {\n key,\n props\n } = node;\n const {\n children: nodeChildren,\n ...restProps\n } = props;\n const column = {\n key,\n ...restProps\n };\n if (nodeChildren) {\n column.children = convertChildrenToColumns(nodeChildren);\n }\n return column;\n });\n}\nfunction filterHiddenColumns(columns) {\n return columns.filter(column => column && typeof column === 'object' && !column.hidden).map(column => {\n const subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return {\n ...column,\n children: filterHiddenColumns(subColumns)\n };\n }\n return column;\n });\n}\nfunction flatColumns(columns, parentKey = 'key') {\n return columns.filter(column => column && typeof column === 'object').reduce((list, column, index) => {\n const {\n fixed\n } = column;\n const parsedFixed = fixed === true || fixed === 'left' ? 'start' : fixed === 'right' ? 'end' : fixed;\n const mergedKey = `${parentKey}-${index}`;\n const subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return [...list, ...flatColumns(subColumns, mergedKey).map(subColum => ({\n ...subColum,\n fixed: subColum.fixed ?? parsedFixed\n }))];\n }\n return [...list, {\n key: mergedKey,\n ...column,\n fixed: parsedFixed\n }];\n }, []);\n}\n\n/**\n * Parse `columns` & `children` into `columns`.\n */\nfunction useColumns({\n prefixCls,\n columns,\n children,\n expandable,\n expandedKeys,\n columnTitle,\n getRowKey,\n onTriggerExpand,\n expandIcon,\n rowExpandable,\n expandIconColumnIndex,\n expandedRowOffset = 0,\n direction,\n expandRowByClick,\n columnWidth,\n fixed,\n scrollWidth,\n clientWidth\n}, transformColumns) {\n const baseColumns = React.useMemo(() => {\n const newColumns = columns || convertChildrenToColumns(children) || [];\n return filterHiddenColumns(newColumns.slice());\n }, [columns, children]);\n\n // ========================== Expand ==========================\n const withExpandColumns = React.useMemo(() => {\n if (expandable) {\n let 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 const expandColIndex = expandIconColumnIndex || 0;\n const insertIndex = expandColIndex === 0 && (fixed === 'right' || fixed === 'end') ? baseColumns.length : expandColIndex;\n if (insertIndex >= 0) {\n cloneColumns.splice(insertIndex, 0, EXPAND_COLUMN);\n }\n }\n\n // >>> Deduplicate additional expand column\n if (process.env.NODE_ENV !== 'production' && cloneColumns.filter(c => c === EXPAND_COLUMN).length > 1) {\n warning(false, 'There exist more than one `EXPAND_COLUMN` in `columns`.');\n }\n const expandColumnIndex = cloneColumns.indexOf(EXPAND_COLUMN);\n cloneColumns = cloneColumns.filter((column, index) => column !== EXPAND_COLUMN || index === expandColumnIndex);\n\n // >>> Check if expand column need to fixed\n const prevColumn = baseColumns[expandColumnIndex];\n let fixedColumn;\n if (fixed) {\n fixedColumn = fixed;\n } else {\n fixedColumn = prevColumn ? prevColumn.fixed : null;\n }\n\n // >>> Create expandable column\n const expandColumn = {\n [INTERNAL_COL_DEFINE]: {\n className: `${prefixCls}-expand-icon-col`,\n columnType: 'EXPAND_COLUMN'\n },\n title: columnTitle,\n fixed: fixedColumn,\n className: `${prefixCls}-row-expand-icon-cell`,\n width: columnWidth,\n render: (_, record, index) => {\n const rowKey = getRowKey(record, index);\n const expanded = expandedKeys.has(rowKey);\n const recordExpandable = rowExpandable ? rowExpandable(record) : true;\n const icon = expandIcon({\n prefixCls,\n expanded,\n expandable: recordExpandable,\n record,\n onExpand: onTriggerExpand\n });\n if (expandRowByClick) {\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: e => e.stopPropagation()\n }, icon);\n }\n return icon;\n }\n };\n return cloneColumns.map((col, index) => {\n const column = col === EXPAND_COLUMN ? expandColumn : col;\n if (index < expandedRowOffset) {\n return {\n ...column,\n fixed: column.fixed || 'start'\n };\n }\n return column;\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(col => col !== EXPAND_COLUMN);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expandable, baseColumns, getRowKey, expandedKeys, expandIcon, direction, expandedRowOffset]);\n\n // ========================= Transform ========================\n const mergedColumns = React.useMemo(() => {\n let 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: () => null\n }];\n }\n return finalColumns;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [transformColumns, withExpandColumns, direction]);\n\n // ========================== Flatten =========================\n const flattenColumns = React.useMemo(() => flatColumns(mergedColumns),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [mergedColumns, direction, scrollWidth]);\n\n // ========================= FillWidth ========================\n const [filledColumns, realScrollWidth] = useWidthColumns(flattenColumns, scrollWidth, clientWidth);\n return [mergedColumns, filledColumns, realScrollWidth];\n}\nexport default useColumns;","import * as React from 'react';\nfunction parseColWidth(totalWidth, width = '') {\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(() => {\n // Fill width if needed\n if (scrollWidth && scrollWidth > 0) {\n let totalWidth = 0;\n let missWidthCount = 0;\n\n // collect not given width column\n flattenColumns.forEach(col => {\n const colWidth = parseColWidth(scrollWidth, col.width);\n if (colWidth) {\n totalWidth += colWidth;\n } else {\n missWidthCount += 1;\n }\n });\n\n // Fill width\n const maxFitWidth = Math.max(scrollWidth, clientWidth);\n let restWidth = Math.max(maxFitWidth - totalWidth, missWidthCount);\n let restCount = missWidthCount;\n const avgWidth = restWidth / missWidthCount;\n let realTotal = 0;\n const filledColumns = flattenColumns.map(col => {\n const clone = {\n ...col\n };\n const colWidth = parseColWidth(scrollWidth, clone.width);\n if (colWidth) {\n clone.width = colWidth;\n } else {\n const 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 const scale = maxFitWidth / realTotal;\n restWidth = maxFitWidth;\n filledColumns.forEach((col, index) => {\n const 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 warning from \"@rc-component/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 const expandableConfig = getExpandableProps(props);\n const {\n expandIcon,\n expandedRowKeys,\n defaultExpandedRowKeys,\n defaultExpandAllRows,\n expandedRowRender,\n onExpand,\n onExpandedRowsChange,\n childrenColumnName\n } = expandableConfig;\n const mergedExpandIcon = expandIcon || renderExpandIcon;\n const mergedChildrenColumnName = childrenColumnName || 'children';\n const expandableType = React.useMemo(() => {\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(record => record && typeof record === 'object' && record[mergedChildrenColumnName])) {\n return 'nest';\n }\n /* eslint-enable */\n return false;\n }, [!!expandedRowRender, mergedData]);\n const [innerExpandedKeys, setInnerExpandedKeys] = React.useState(() => {\n if (defaultExpandedRowKeys) {\n return defaultExpandedRowKeys;\n }\n if (defaultExpandAllRows) {\n return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName);\n }\n return [];\n });\n const mergedExpandedKeys = React.useMemo(() => new Set(expandedRowKeys || innerExpandedKeys || []), [expandedRowKeys, innerExpandedKeys]);\n const onTriggerExpand = React.useCallback(record => {\n const key = getRowKey(record, mergedData.indexOf(record));\n let newExpandedKeys;\n const hasKey = mergedExpandedKeys.has(key);\n if (hasKey) {\n mergedExpandedKeys.delete(key);\n newExpandedKeys = [...mergedExpandedKeys];\n } else {\n newExpandedKeys = [...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(record => {\n return Array.isArray(record?.[mergedChildrenColumnName]);\n })) {\n warning(false, '`expandedRowRender` should not use with nested Table');\n }\n return [expandableConfig, expandableType, mergedExpandedKeys, mergedExpandIcon, mergedChildrenColumnName, onTriggerExpand];\n}","import useMemo from \"@rc-component/util/es/hooks/useMemo\";\nimport isEqual from \"@rc-component/util/es/isEqual\";\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport * as React from 'react';\nexport default function useFixedInfo(flattenColumns, stickyOffsets) {\n const fixedInfoList = React.useMemo(() => flattenColumns.map((_, colIndex) => getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets)), [flattenColumns, stickyOffsets]);\n return useMemo(() => fixedInfoList, [fixedInfoList], (prev, next) => !isEqual(prev, next));\n}","import { useRef, useState, useEffect } from 'react';\n/**\n * Execute code before next frame but async\n */\nexport function useLayoutState(defaultState) {\n const stateRef = useRef(defaultState);\n const [, forceUpdate] = useState({});\n const lastPromiseRef = useRef(null);\n const updateBatchRef = useRef([]);\n function setFrameState(updater) {\n updateBatchRef.current.push(updater);\n const promise = Promise.resolve();\n lastPromiseRef.current = promise;\n promise.then(() => {\n if (lastPromiseRef.current === promise) {\n const prevBatch = updateBatchRef.current;\n const prevState = stateRef.current;\n updateBatchRef.current = [];\n prevBatch.forEach(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(() => () => {\n lastPromiseRef.current = null;\n }, []);\n return [stateRef.current, setFrameState];\n}\n\n/** Lock frame, when frame pass reset the lock. */\nexport function useTimeoutLock(defaultState) {\n const frameRef = useRef(defaultState || null);\n const timeoutRef = useRef(null);\n function cleanUp() {\n clearTimeout(timeoutRef.current);\n }\n function setState(newState) {\n frameRef.current = newState;\n cleanUp();\n timeoutRef.current = setTimeout(() => {\n frameRef.current = null;\n timeoutRef.current = undefined;\n }, 100);\n }\n function getState() {\n return frameRef.current;\n }\n useEffect(() => cleanUp, []);\n return [setState, getState];\n}","import * as React from 'react';\nexport default function useHover() {\n const [startRow, setStartRow] = React.useState(-1);\n const [endRow, setEndRow] = React.useState(-1);\n const onHover = React.useCallback((start, end) => {\n setStartRow(start);\n setEndRow(end);\n }, []);\n return [startRow, endRow, onHover];\n}","import * as React from 'react';\nimport canUseDom from \"@rc-component/util/es/Dom/canUseDom\";\n// fix ssr render\nconst defaultContainer = canUseDom() ? window : null;\n\n/** Sticky header hooks */\nexport default function useSticky(sticky, prefixCls) {\n const {\n offsetHeader = 0,\n offsetSummary = 0,\n offsetScroll = 0,\n getContainer = () => defaultContainer\n } = typeof sticky === 'object' ? sticky : {};\n const container = getContainer() || defaultContainer;\n const isSticky = !!sticky;\n return React.useMemo(() => {\n return {\n isSticky,\n stickyClassName: isSticky ? `${prefixCls}-sticky-holder` : '',\n offsetHeader,\n offsetSummary,\n offsetScroll,\n 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) {\n const stickyOffsets = useMemo(() => {\n const columnCount = flattenColumns.length;\n const getOffsets = (startIndex, endIndex, offset) => {\n const offsets = [];\n let total = 0;\n for (let 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 const startOffsets = getOffsets(0, columnCount, 1);\n const endOffsets = getOffsets(columnCount - 1, -1, -1).reverse();\n return {\n start: startOffsets,\n end: endOffsets,\n widths: colWidths\n };\n }, [colWidths, flattenColumns]);\n return stickyOffsets;\n}\nexport default useStickyOffsets;","import * as React from 'react';\nconst Panel = props => {\n const {\n children,\n className,\n style\n } = props;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, children);\n};\nexport default Panel;","import { useContext } from '@rc-component/context';\nimport { clsx } from 'clsx';\nimport getScrollBarSize from \"@rc-component/util/es/getScrollBarSize\";\nimport * as React from 'react';\nimport TableContext from \"./context/TableContext\";\nimport { useLayoutState } from \"./hooks/useFrame\";\nimport raf from \"@rc-component/util/es/raf\";\nimport { getOffset } from \"./utils/offsetUtil\";\nimport { getDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\nconst MOUSEUP_EVENT = 'mouseup';\nconst MOUSEMOVE_EVENT = 'mousemove';\nconst SCROLL_EVENT = 'scroll';\nconst RESIZE_EVENT = 'resize';\nconst StickyScrollBar = (props, ref) => {\n const {\n scrollBodyRef,\n onScroll,\n offsetScroll,\n container,\n direction\n } = props;\n const prefixCls = useContext(TableContext, 'prefixCls');\n const bodyScrollWidth = scrollBodyRef.current?.scrollWidth || 0;\n const bodyWidth = scrollBodyRef.current?.clientWidth || 0;\n const scrollBarWidth = bodyScrollWidth && bodyWidth * (bodyWidth / bodyScrollWidth);\n const scrollBarRef = React.useRef(null);\n const [scrollState, setScrollState] = useLayoutState({\n scrollLeft: 0,\n isHiddenScrollBar: true\n });\n const refState = React.useRef({\n delta: 0,\n x: 0\n });\n const [isActive, setActive] = React.useState(false);\n const rafRef = React.useRef(null);\n React.useEffect(() => () => {\n raf.cancel(rafRef.current);\n }, []);\n const onMouseUp = () => {\n setActive(false);\n };\n const 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 const onMouseMove = event => {\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n const {\n buttons\n } = event || window?.event;\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 let left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;\n const isRTL = direction === 'rtl';\n // Limit scroll range\n left = Math.max(isRTL ? scrollBarWidth - bodyWidth : 0, Math.min(isRTL ? 0 : bodyWidth - scrollBarWidth, left));\n // Calculate the scroll position and update\n const shouldScroll = !isRTL || Math.abs(left) + Math.abs(scrollBarWidth) < bodyWidth;\n if (shouldScroll) {\n onScroll({\n scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)\n });\n refState.current.x = event.pageX;\n }\n };\n const checkScrollBarVisible = () => {\n raf.cancel(rafRef.current);\n rafRef.current = raf(() => {\n if (!scrollBodyRef.current) {\n return;\n }\n const tableOffsetTop = getOffset(scrollBodyRef.current).top;\n const tableBottomOffset = tableOffsetTop + scrollBodyRef.current.offsetHeight;\n const currentClientOffset = container === window ? document.documentElement.scrollTop + window.innerHeight : getOffset(container).top + container.clientHeight;\n if (tableBottomOffset - getScrollBarSize() <= currentClientOffset || tableOffsetTop >= currentClientOffset - offsetScroll) {\n setScrollState(state => ({\n ...state,\n isHiddenScrollBar: true\n }));\n } else {\n setScrollState(state => ({\n ...state,\n isHiddenScrollBar: false\n }));\n }\n });\n };\n const setScrollLeft = left => {\n setScrollState(state => {\n return {\n ...state,\n scrollLeft: left / bodyScrollWidth * bodyWidth || 0\n };\n });\n };\n React.useImperativeHandle(ref, () => ({\n setScrollLeft,\n checkScrollBarVisible\n }));\n React.useEffect(() => {\n document.body.addEventListener(MOUSEUP_EVENT, onMouseUp, false);\n document.body.addEventListener(MOUSEMOVE_EVENT, onMouseMove, false);\n checkScrollBarVisible();\n return () => {\n document.body.removeEventListener(MOUSEUP_EVENT, onMouseUp);\n document.body.removeEventListener(MOUSEMOVE_EVENT, onMouseMove);\n };\n }, [scrollBarWidth, isActive]);\n\n // Loop for scroll event check\n React.useEffect(() => {\n if (scrollBodyRef.current) {\n const scrollParents = [];\n let parent = getDOM(scrollBodyRef.current);\n while (parent) {\n scrollParents.push(parent);\n parent = parent.parentElement;\n }\n scrollParents.forEach(p => {\n p.addEventListener(SCROLL_EVENT, checkScrollBarVisible, false);\n });\n window.addEventListener(RESIZE_EVENT, checkScrollBarVisible, false);\n window.addEventListener(SCROLL_EVENT, checkScrollBarVisible, false);\n container.addEventListener(SCROLL_EVENT, checkScrollBarVisible, false);\n return () => {\n scrollParents.forEach(p => {\n p.removeEventListener(SCROLL_EVENT, checkScrollBarVisible);\n });\n window.removeEventListener(RESIZE_EVENT, checkScrollBarVisible);\n window.removeEventListener(SCROLL_EVENT, checkScrollBarVisible);\n container.removeEventListener(SCROLL_EVENT, checkScrollBarVisible);\n };\n }\n }, [container]);\n React.useEffect(() => {\n if (!scrollState.isHiddenScrollBar) {\n setScrollState(state => {\n const bodyNode = scrollBodyRef.current;\n if (!bodyNode) {\n return state;\n }\n return {\n ...state,\n scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth\n };\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\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: `${prefixCls}-sticky-scroll`\n }, /*#__PURE__*/React.createElement(\"div\", {\n onMouseDown: onMouseDown,\n ref: scrollBarRef,\n className: clsx(`${prefixCls}-sticky-scroll-bar`, {\n [`${prefixCls}-sticky-scroll-bar-active`]: isActive\n }),\n style: {\n width: `${scrollBarWidth}px`,\n transform: `translate3d(${scrollState.scrollLeft}px, 0, 0)`\n }\n }));\n};\nexport default /*#__PURE__*/React.forwardRef(StickyScrollBar);","let raf = callback => +setTimeout(callback, 16);\nlet caf = num => clearTimeout(num);\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = callback => window.requestAnimationFrame(callback);\n caf = handle => window.cancelAnimationFrame(handle);\n}\nlet rafUUID = 0;\nconst rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nconst wrapperRaf = (callback, times = 1) => {\n rafUUID += 1;\n const id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n\n // Trigger\n callback();\n } else {\n // Next raf\n const realId = raf(() => {\n callRef(leftTimes - 1);\n });\n\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = id => {\n const realId = rafIds.get(id);\n cleanup(id);\n return caf(realId);\n};\nif (process.env.NODE_ENV !== 'production') {\n wrapperRaf.ids = () => rafIds;\n}\nexport default wrapperRaf;","import { getDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\n\n// Copy from `rc-component/util/Dom/css.js`\nexport function getOffset(node) {\n const element = getDOM(node);\n const box = element.getBoundingClientRect();\n const docElem = document.documentElement;\n\n // < ie8 not support win.pageXOffset, use docElem.scrollLeft instead\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}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { clsx } from 'clsx';\nimport { useEvent, warning } from '@rc-component/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-component/util/es/utils/get\";\nconst renderBody = (rawData, props) => {\n const {\n ref,\n onScroll\n } = props;\n return /*#__PURE__*/React.createElement(Grid, {\n ref: ref,\n data: rawData,\n onScroll: onScroll\n });\n};\nconst VirtualTable = (props, ref) => {\n const {\n data,\n columns,\n scroll,\n sticky,\n prefixCls = DEFAULT_PREFIX,\n className,\n listItemHeight,\n components,\n onScroll\n } = props;\n let {\n x: scrollX,\n y: scrollY\n } = scroll || {};\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 const getComponent = useEvent((path, defaultComponent) => getValue(components, path) || defaultComponent);\n\n // Memo this\n const onInternalScroll = useEvent(onScroll);\n\n // ========================= Context ==========================\n const context = React.useMemo(() => ({\n sticky,\n scrollY,\n listItemHeight,\n getComponent,\n onScroll: onInternalScroll\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: clsx(className, `${prefixCls}-virtual`),\n scroll: {\n ...scroll,\n x: scrollX\n },\n components: {\n ...components,\n // fix https://github.com/ant-design/ant-design/issues/48991\n body: data?.length ? renderBody : undefined\n },\n columns: columns,\n internalHooks: INTERNAL_HOOKS,\n tailor: true,\n ref: ref\n })));\n};\nconst RefVirtualTable = /*#__PURE__*/React.forwardRef(VirtualTable);\nif (process.env.NODE_ENV !== 'production') {\n RefVirtualTable.displayName = 'VirtualTable';\n}\nexport const genVirtualTable = shouldTriggerRender => {\n return makeImmutable(RefVirtualTable, shouldTriggerRender);\n};\nexport default genVirtualTable();","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { clsx } from 'clsx';\nimport ResizeObserver from '@rc-component/resize-observer';\nimport { useEvent } from '@rc-component/util';\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport Filler from \"./Filler\";\nimport useChildren from \"./hooks/useChildren\";\nimport useDiffItem from \"./hooks/useDiffItem\";\nimport useFrameWheel from \"./hooks/useFrameWheel\";\nimport { useGetSize } from \"./hooks/useGetSize\";\nimport useHeights from \"./hooks/useHeights\";\nimport useMobileTouchMove from \"./hooks/useMobileTouchMove\";\nimport useOriginScroll from \"./hooks/useOriginScroll\";\nimport useScrollDrag from \"./hooks/useScrollDrag\";\nimport useScrollTo from \"./hooks/useScrollTo\";\nimport ScrollBar from \"./ScrollBar\";\nimport { getSpinSize } from \"./utils/scrollbarUtil\";\nconst EMPTY_DATA = [];\nconst ScrollStyle = {\n overflowY: 'auto',\n overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n const {\n prefixCls = 'rc-virtual-list',\n className,\n height,\n itemHeight,\n fullHeight = true,\n style,\n data,\n children,\n itemKey,\n virtual,\n direction,\n scrollWidth,\n component: Component = 'div',\n onScroll,\n onVirtualScroll,\n onVisibleChange,\n innerProps,\n extraRender,\n styles,\n showScrollBar = 'optional',\n ...restProps\n } = props;\n\n // =============================== Item Key ===============================\n const getKey = React.useCallback(item => {\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n return item?.[itemKey];\n }, [itemKey]);\n\n // ================================ Height ================================\n const [setInstanceRef, collectHeight, heights, heightUpdatedMark] = useHeights(getKey, null, null);\n\n // ================================= MISC =================================\n const useVirtual = !!(virtual !== false && height && itemHeight);\n const containerHeight = React.useMemo(() => Object.values(heights.maps).reduce((total, curr) => total + curr, 0), [heights.id, heights.maps]);\n const inVirtual = useVirtual && data && (Math.max(itemHeight * data.length, containerHeight) > height || !!scrollWidth);\n const isRTL = direction === 'rtl';\n const mergedClassName = clsx(prefixCls, {\n [`${prefixCls}-rtl`]: isRTL\n }, className);\n const mergedData = data || EMPTY_DATA;\n const componentRef = useRef();\n const fillerInnerRef = useRef();\n const containerRef = useRef();\n\n // =============================== Item Key ===============================\n\n const [offsetTop, setOffsetTop] = useState(0);\n const [offsetLeft, setOffsetLeft] = useState(0);\n const [scrollMoving, setScrollMoving] = useState(false);\n const onScrollbarStartMove = () => {\n setScrollMoving(true);\n };\n const onScrollbarStopMove = () => {\n setScrollMoving(false);\n };\n const sharedConfig = {\n getKey\n };\n\n // ================================ Scroll ================================\n function syncScrollTop(newTop) {\n setOffsetTop(origin => {\n let value;\n if (typeof newTop === 'function') {\n value = newTop(origin);\n } else {\n value = newTop;\n }\n const alignedTop = keepInRange(value);\n componentRef.current.scrollTop = alignedTop;\n return alignedTop;\n });\n }\n\n // ================================ Legacy ================================\n // Put ref here since the range is generate by follow\n const rangeRef = useRef({\n start: 0,\n end: mergedData.length\n });\n const diffItemRef = useRef();\n const [diffItem] = useDiffItem(mergedData, getKey);\n diffItemRef.current = diffItem;\n\n // ========================== Visible Calculation =========================\n const {\n scrollHeight,\n start,\n end,\n offset: fillerOffset\n } = React.useMemo(() => {\n if (!useVirtual) {\n return {\n scrollHeight: undefined,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n\n // Always use virtual scroll bar in avoid shaking\n if (!inVirtual) {\n return {\n scrollHeight: fillerInnerRef.current?.offsetHeight || 0,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n let itemTop = 0;\n let startIndex;\n let startOffset;\n let endIndex;\n const dataLen = mergedData.length;\n for (let i = 0; i < dataLen; i += 1) {\n const item = mergedData[i];\n const key = getKey(item);\n const cacheHeight = heights.get(key);\n const currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n\n // Check item top in the range\n if (currentItemBottom >= offsetTop && startIndex === undefined) {\n startIndex = i;\n startOffset = itemTop;\n }\n\n // Check item bottom in the range. We will render additional one item for motion usage\n if (currentItemBottom > offsetTop + height && endIndex === undefined) {\n endIndex = i;\n }\n itemTop = currentItemBottom;\n }\n\n // When scrollTop at the end but data cut to small count will reach this\n if (startIndex === undefined) {\n startIndex = 0;\n startOffset = 0;\n endIndex = Math.ceil(height / itemHeight);\n }\n if (endIndex === undefined) {\n endIndex = mergedData.length - 1;\n }\n\n // Give cache to improve scroll experience\n endIndex = Math.min(endIndex + 1, mergedData.length - 1);\n return {\n scrollHeight: itemTop,\n start: startIndex,\n end: endIndex,\n offset: startOffset\n };\n }, [inVirtual, useVirtual, offsetTop, mergedData, heightUpdatedMark, height]);\n rangeRef.current.start = start;\n rangeRef.current.end = end;\n\n // When scroll up, first visible item get real height may not same as `itemHeight`,\n // Which will make scroll jump.\n // Let's sync scroll top to avoid jump\n React.useLayoutEffect(() => {\n const changedRecord = heights.getRecord();\n if (changedRecord.size === 1) {\n const recordKey = Array.from(changedRecord.keys())[0];\n const prevCacheHeight = changedRecord.get(recordKey);\n\n // Quick switch data may cause `start` not in `mergedData` anymore\n const startItem = mergedData[start];\n if (startItem && prevCacheHeight === undefined) {\n const startIndexKey = getKey(startItem);\n if (startIndexKey === recordKey) {\n const realStartHeight = heights.get(recordKey);\n const diffHeight = realStartHeight - itemHeight;\n syncScrollTop(ori => {\n return ori + diffHeight;\n });\n }\n }\n }\n heights.resetRecord();\n }, [scrollHeight]);\n\n // ================================= Size =================================\n const [size, setSize] = React.useState({\n width: 0,\n height\n });\n const onHolderResize = sizeInfo => {\n setSize({\n width: sizeInfo.offsetWidth,\n height: sizeInfo.offsetHeight\n });\n };\n\n // Hack on scrollbar to enable flash call\n const verticalScrollBarRef = useRef();\n const horizontalScrollBarRef = useRef();\n const horizontalScrollBarSpinSize = React.useMemo(() => getSpinSize(size.width, scrollWidth), [size.width, scrollWidth]);\n const verticalScrollBarSpinSize = React.useMemo(() => getSpinSize(size.height, scrollHeight), [size.height, scrollHeight]);\n\n // =============================== In Range ===============================\n const maxScrollHeight = scrollHeight - height;\n const maxScrollHeightRef = useRef(maxScrollHeight);\n maxScrollHeightRef.current = maxScrollHeight;\n function keepInRange(newScrollTop) {\n let newTop = newScrollTop;\n if (!Number.isNaN(maxScrollHeightRef.current)) {\n newTop = Math.min(newTop, maxScrollHeightRef.current);\n }\n newTop = Math.max(newTop, 0);\n return newTop;\n }\n const isScrollAtTop = offsetTop <= 0;\n const isScrollAtBottom = offsetTop >= maxScrollHeight;\n const isScrollAtLeft = offsetLeft <= 0;\n const isScrollAtRight = offsetLeft >= scrollWidth;\n const originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight);\n\n // ================================ Scroll ================================\n const getVirtualScrollInfo = () => ({\n x: isRTL ? -offsetLeft : offsetLeft,\n y: offsetTop\n });\n const lastVirtualScrollInfoRef = useRef(getVirtualScrollInfo());\n const triggerScroll = useEvent(params => {\n if (onVirtualScroll) {\n const nextInfo = {\n ...getVirtualScrollInfo(),\n ...params\n };\n\n // Trigger when offset changed\n if (lastVirtualScrollInfoRef.current.x !== nextInfo.x || lastVirtualScrollInfoRef.current.y !== nextInfo.y) {\n onVirtualScroll(nextInfo);\n lastVirtualScrollInfoRef.current = nextInfo;\n }\n }\n });\n function onScrollBar(newScrollOffset, horizontal) {\n const newOffset = newScrollOffset;\n if (horizontal) {\n flushSync(() => {\n setOffsetLeft(newOffset);\n });\n triggerScroll();\n } else {\n syncScrollTop(newOffset);\n }\n }\n\n // When data size reduce. It may trigger native scroll event back to fit scroll position\n function onFallbackScroll(e) {\n const {\n scrollTop: newScrollTop\n } = e.currentTarget;\n if (newScrollTop !== offsetTop) {\n syncScrollTop(newScrollTop);\n }\n\n // Trigger origin onScroll\n onScroll?.(e);\n triggerScroll();\n }\n const keepInHorizontalRange = nextOffsetLeft => {\n let tmpOffsetLeft = nextOffsetLeft;\n const max = !!scrollWidth ? scrollWidth - size.width : 0;\n tmpOffsetLeft = Math.max(tmpOffsetLeft, 0);\n tmpOffsetLeft = Math.min(tmpOffsetLeft, max);\n return tmpOffsetLeft;\n };\n const onWheelDelta = useEvent((offsetXY, fromHorizontal) => {\n if (fromHorizontal) {\n flushSync(() => {\n setOffsetLeft(left => {\n const nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);\n return keepInHorizontalRange(nextOffsetLeft);\n });\n });\n triggerScroll();\n } else {\n syncScrollTop(top => {\n const newTop = top + offsetXY;\n return newTop;\n });\n }\n });\n\n // Since this added in global,should use ref to keep update\n const [onRawWheel, onFireFoxScroll] = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, !!scrollWidth, onWheelDelta);\n\n // Mobile touch move\n useMobileTouchMove(useVirtual, componentRef, (isHorizontal, delta, smoothOffset, e) => {\n const event = e;\n if (originScroll(isHorizontal, delta, smoothOffset)) {\n return false;\n }\n\n // Fix nest List trigger TouchMove event\n if (!event || !event._virtualHandled) {\n if (event) {\n event._virtualHandled = true;\n }\n onRawWheel({\n preventDefault() {},\n deltaX: isHorizontal ? delta : 0,\n deltaY: isHorizontal ? 0 : delta\n });\n return true;\n }\n return false;\n });\n\n // MouseDown drag for scroll\n useScrollDrag(inVirtual, componentRef, offset => {\n syncScrollTop(top => top + offset);\n });\n useLayoutEffect(() => {\n // Firefox only\n function onMozMousePixelScroll(e) {\n // scrolling at top/bottom limit\n const scrollingUpAtTop = isScrollAtTop && e.detail < 0;\n const scrollingDownAtBottom = isScrollAtBottom && e.detail > 0;\n if (useVirtual && !scrollingUpAtTop && !scrollingDownAtBottom) {\n e.preventDefault();\n }\n }\n const componentEle = componentRef.current;\n componentEle.addEventListener('wheel', onRawWheel, {\n passive: false\n });\n componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll, {\n passive: true\n });\n componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll, {\n passive: false\n });\n return () => {\n componentEle.removeEventListener('wheel', onRawWheel);\n componentEle.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n };\n }, [useVirtual, isScrollAtTop, isScrollAtBottom]);\n\n // Sync scroll left\n useLayoutEffect(() => {\n if (scrollWidth) {\n const newOffsetLeft = keepInHorizontalRange(offsetLeft);\n setOffsetLeft(newOffsetLeft);\n triggerScroll({\n x: newOffsetLeft\n });\n }\n }, [size.width, scrollWidth]);\n\n // ================================= Ref ==================================\n const delayHideScrollBar = () => {\n verticalScrollBarRef.current?.delayHidden();\n horizontalScrollBarRef.current?.delayHidden();\n };\n const scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, () => collectHeight(true), syncScrollTop, delayHideScrollBar);\n React.useImperativeHandle(ref, () => ({\n nativeElement: containerRef.current,\n getScrollInfo: getVirtualScrollInfo,\n scrollTo: config => {\n function isPosScroll(arg) {\n return arg && typeof arg === 'object' && ('left' in arg || 'top' in arg);\n }\n if (isPosScroll(config)) {\n // Scroll X\n if (config.left !== undefined) {\n setOffsetLeft(keepInHorizontalRange(config.left));\n }\n\n // Scroll Y\n scrollTo(config.top);\n } else {\n scrollTo(config);\n }\n }\n }));\n\n // ================================ Effect ================================\n /** We need told outside that some list not rendered */\n useLayoutEffect(() => {\n if (onVisibleChange) {\n const renderList = mergedData.slice(start, end + 1);\n onVisibleChange(renderList, mergedData);\n }\n }, [start, end, mergedData]);\n\n // ================================ Extra =================================\n const getSize = useGetSize(mergedData, getKey, heights, itemHeight);\n const extraContent = extraRender?.({\n start,\n end,\n virtual: inVirtual,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n rtl: isRTL,\n getSize\n });\n\n // ================================ Render ================================\n const listChildren = useChildren(mergedData, start, end, scrollWidth, offsetLeft, setInstanceRef, children, sharedConfig);\n let componentStyle = null;\n if (height) {\n componentStyle = {\n [fullHeight ? 'height' : 'maxHeight']: height,\n ...ScrollStyle\n };\n if (useVirtual) {\n componentStyle.overflowY = 'hidden';\n if (scrollWidth) {\n componentStyle.overflowX = 'hidden';\n }\n if (scrollMoving) {\n componentStyle.pointerEvents = 'none';\n }\n }\n }\n const containerProps = {};\n if (isRTL) {\n containerProps.dir = 'rtl';\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: containerRef,\n style: {\n ...style,\n position: 'relative'\n },\n className: mergedClassName\n }, containerProps, restProps), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onHolderResize\n }, /*#__PURE__*/React.createElement(Component, {\n className: `${prefixCls}-holder`,\n style: componentStyle,\n ref: componentRef,\n onScroll: onFallbackScroll,\n onMouseEnter: delayHideScrollBar\n }, /*#__PURE__*/React.createElement(Filler, {\n prefixCls: prefixCls,\n height: scrollHeight,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n scrollWidth: scrollWidth,\n onInnerResize: collectHeight,\n ref: fillerInnerRef,\n innerProps: innerProps,\n rtl: isRTL,\n extra: extraContent\n }, listChildren))), inVirtual && scrollHeight > height && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: verticalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetTop,\n scrollRange: scrollHeight,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: verticalScrollBarSpinSize,\n containerSize: size.height,\n style: styles?.verticalScrollBar,\n thumbStyle: styles?.verticalScrollBarThumb,\n showScrollBar: showScrollBar\n }), inVirtual && scrollWidth > size.width && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: horizontalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetLeft,\n scrollRange: scrollWidth,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: horizontalScrollBarSpinSize,\n containerSize: size.width,\n horizontal: true,\n style: styles?.horizontalScrollBar,\n thumbStyle: styles?.horizontalScrollBarThumb,\n showScrollBar: showScrollBar\n }));\n}\nconst List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport ResizeObserver from '@rc-component/resize-observer';\nimport { clsx } from 'clsx';\n/**\n * Fill component to provided the scroll content real height.\n */\nconst Filler = /*#__PURE__*/React.forwardRef(({\n height,\n offsetY,\n offsetX,\n children,\n prefixCls,\n onInnerResize,\n innerProps,\n rtl,\n extra\n}, ref) => {\n let outerStyle = {};\n let innerStyle = {\n display: 'flex',\n flexDirection: 'column'\n };\n if (offsetY !== undefined) {\n // Not set `width` since this will break `sticky: right`\n outerStyle = {\n height,\n position: 'relative',\n overflow: 'hidden'\n };\n innerStyle = {\n ...innerStyle,\n transform: `translateY(${offsetY}px)`,\n [rtl ? 'marginRight' : 'marginLeft']: -offsetX,\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0\n };\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: outerStyle\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: ({\n offsetHeight\n }) => {\n if (offsetHeight && onInnerResize) {\n onInnerResize();\n }\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n style: innerStyle,\n className: clsx({\n [`${prefixCls}-holder-inner`]: prefixCls\n }),\n ref: ref\n }, innerProps), children, extra)));\n});\nFiller.displayName = 'Filler';\nexport default Filler;","import * as React from 'react';\nimport { Item } from \"../Item\";\nexport default function useChildren(list, startIndex, endIndex, scrollWidth, offsetX, setNodeRef, renderFunc, {\n getKey\n}) {\n return list.slice(startIndex, endIndex + 1).map((item, index) => {\n const eleIndex = startIndex + index;\n const node = renderFunc(item, eleIndex, {\n style: {\n width: scrollWidth\n },\n offsetX\n });\n const key = getKey(item);\n return /*#__PURE__*/React.createElement(Item, {\n key: key,\n setRef: ele => setNodeRef(item, ele)\n }, node);\n });\n}","import * as React from 'react';\nexport function Item({\n children,\n setRef\n}) {\n const refFunc = React.useCallback(node => {\n setRef(node);\n }, []);\n return /*#__PURE__*/React.cloneElement(children, {\n ref: refFunc\n });\n}","import * as React from 'react';\nimport { findListDiffIndex } from \"../utils/algorithmUtil\";\nexport default function useDiffItem(data, getKey, onDiff) {\n const [prevData, setPrevData] = React.useState(data);\n const [diffItem, setDiffItem] = React.useState(null);\n React.useEffect(() => {\n const diff = findListDiffIndex(prevData || [], data || [], getKey);\n if (diff?.index !== undefined) {\n onDiff?.(diff.index);\n setDiffItem(data[diff.index]);\n }\n setPrevData(data);\n }, [data]);\n return [diffItem];\n}","/**\n * Get index with specific start index one by one. e.g.\n * min: 3, max: 9, start: 6\n *\n * Return index is:\n * [0]: 6\n * [1]: 7\n * [2]: 5\n * [3]: 8\n * [4]: 4\n * [5]: 9\n * [6]: 3\n */\nexport function getIndexByStartLoc(min, max, start, index) {\n const beforeCount = start - min;\n const afterCount = max - start;\n const balanceCount = Math.min(beforeCount, afterCount) * 2;\n\n // Balance\n if (index <= balanceCount) {\n const stepIndex = Math.floor(index / 2);\n if (index % 2) {\n return start + stepIndex + 1;\n }\n return start - stepIndex;\n }\n\n // One is out of range\n if (beforeCount > afterCount) {\n return start - (index - afterCount);\n }\n return start + (index - beforeCount);\n}\n\n/**\n * We assume that 2 list has only 1 item diff and others keeping the order.\n * So we can use dichotomy algorithm to find changed one.\n */\nexport function findListDiffIndex(originList, targetList, getKey) {\n const originLen = originList.length;\n const targetLen = targetList.length;\n let shortList;\n let longList;\n if (originLen === 0 && targetLen === 0) {\n return null;\n }\n if (originLen < targetLen) {\n shortList = originList;\n longList = targetList;\n } else {\n shortList = targetList;\n longList = originList;\n }\n const notExistKey = {\n __EMPTY_ITEM__: true\n };\n function getItemKey(item) {\n if (item !== undefined) {\n return getKey(item);\n }\n return notExistKey;\n }\n\n // Loop to find diff one\n let diffIndex = null;\n let multiple = Math.abs(originLen - targetLen) !== 1;\n for (let i = 0; i < longList.length; i += 1) {\n const shortKey = getItemKey(shortList[i]);\n const longKey = getItemKey(longList[i]);\n if (shortKey !== longKey) {\n diffIndex = i;\n multiple = multiple || shortKey !== getItemKey(longList[i + 1]);\n break;\n }\n }\n return diffIndex === null ? null : {\n index: diffIndex,\n multiple\n };\n}","import raf from \"@rc-component/util/es/raf\";\nimport { useRef } from 'react';\nimport isFF from \"../utils/isFirefox\";\nimport useOriginScroll from \"./useOriginScroll\";\nexport default function useFrameWheel(inVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, horizontalScroll,\n/***\n * Return `true` when you need to prevent default event\n */\nonWheelDelta) {\n const offsetRef = useRef(0);\n const nextFrameRef = useRef(null);\n\n // Firefox patch\n const wheelValueRef = useRef(null);\n const isMouseScrollRef = useRef(false);\n\n // Scroll status sync\n const originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight);\n function onWheelY(e, deltaY) {\n raf.cancel(nextFrameRef.current);\n\n // Do nothing when scroll at the edge, Skip check when is in scroll\n if (originScroll(false, deltaY)) return;\n\n // Skip if nest List has handled this event\n const event = e;\n if (!event._virtualHandled) {\n event._virtualHandled = true;\n } else {\n return;\n }\n offsetRef.current += deltaY;\n wheelValueRef.current = deltaY;\n\n // Proxy of scroll events\n if (!isFF) {\n event.preventDefault();\n }\n nextFrameRef.current = raf(() => {\n // Patch a multiple for Firefox to fix wheel number too small\n // ref: https://github.com/ant-design/ant-design/issues/26372#issuecomment-679460266\n const patchMultiple = isMouseScrollRef.current ? 10 : 1;\n onWheelDelta(offsetRef.current * patchMultiple, false);\n offsetRef.current = 0;\n });\n }\n function onWheelX(event, deltaX) {\n onWheelDelta(deltaX, true);\n if (!isFF) {\n event.preventDefault();\n }\n }\n\n // Check for which direction does wheel do. `sx` means `shift + wheel`\n const wheelDirectionRef = useRef(null);\n const wheelDirectionCleanRef = useRef(null);\n function onWheel(event) {\n if (!inVirtual) return;\n\n // Wait for 2 frame to clean direction\n raf.cancel(wheelDirectionCleanRef.current);\n wheelDirectionCleanRef.current = raf(() => {\n wheelDirectionRef.current = null;\n }, 2);\n const {\n deltaX,\n deltaY,\n shiftKey\n } = event;\n let mergedDeltaX = deltaX;\n let mergedDeltaY = deltaY;\n if (wheelDirectionRef.current === 'sx' || !wheelDirectionRef.current && (shiftKey || false) && deltaY && !deltaX) {\n mergedDeltaX = deltaY;\n mergedDeltaY = 0;\n wheelDirectionRef.current = 'sx';\n }\n const absX = Math.abs(mergedDeltaX);\n const absY = Math.abs(mergedDeltaY);\n if (wheelDirectionRef.current === null) {\n wheelDirectionRef.current = horizontalScroll && absX > absY ? 'x' : 'y';\n }\n if (wheelDirectionRef.current === 'y') {\n onWheelY(event, mergedDeltaY);\n } else {\n onWheelX(event, mergedDeltaX);\n }\n }\n\n // A patch for firefox\n function onFireFoxScroll(event) {\n if (!inVirtual) return;\n isMouseScrollRef.current = event.detail === wheelValueRef.current;\n }\n return [onWheel, onFireFoxScroll];\n}","const isFF = typeof navigator === 'object' && /Firefox/i.test(navigator.userAgent);\nexport default isFF;","import { useRef } from 'react';\nexport default ((isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight) => {\n // Do lock for a wheel when scrolling\n const lockRef = useRef(false);\n const lockTimeoutRef = useRef(null);\n function lockScroll() {\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = true;\n lockTimeoutRef.current = setTimeout(() => {\n lockRef.current = false;\n }, 50);\n }\n\n // Pass to ref since global add is in closure\n const scrollPingRef = useRef({\n top: isScrollAtTop,\n bottom: isScrollAtBottom,\n left: isScrollAtLeft,\n right: isScrollAtRight\n });\n scrollPingRef.current.top = isScrollAtTop;\n scrollPingRef.current.bottom = isScrollAtBottom;\n scrollPingRef.current.left = isScrollAtLeft;\n scrollPingRef.current.right = isScrollAtRight;\n return (isHorizontal, delta, smoothOffset = false) => {\n const originScroll = isHorizontal ?\n // Pass origin wheel when on the left\n delta < 0 && scrollPingRef.current.left ||\n // Pass origin wheel when on the right\n delta > 0 && scrollPingRef.current.right // Pass origin wheel when on the top\n : delta < 0 && scrollPingRef.current.top ||\n // Pass origin wheel when on the bottom\n delta > 0 && scrollPingRef.current.bottom;\n if (smoothOffset && originScroll) {\n // No need lock anymore when it's smooth offset from touchMove interval\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = false;\n } else if (!originScroll || lockRef.current) {\n lockScroll();\n }\n return !lockRef.current && originScroll;\n };\n});","import * as React from 'react';\n\n/**\n * Size info need loop query for the `heights` which will has the perf issue.\n * Let cache result for each render phase.\n */\nexport function useGetSize(mergedData, getKey, heights, itemHeight) {\n const [key2Index, bottomList] = React.useMemo(() => [new Map(), []], [mergedData, heights.id, itemHeight]);\n const getSize = (startKey, endKey = startKey) => {\n // Get from cache first\n let startIndex = key2Index.get(startKey);\n let endIndex = key2Index.get(endKey);\n\n // Loop to fill the cache\n if (startIndex === undefined || endIndex === undefined) {\n const dataLen = mergedData.length;\n for (let i = bottomList.length; i < dataLen; i += 1) {\n const item = mergedData[i];\n const key = getKey(item);\n key2Index.set(key, i);\n const cacheHeight = heights.get(key) ?? itemHeight;\n bottomList[i] = (bottomList[i - 1] || 0) + cacheHeight;\n if (key === startKey) {\n startIndex = i;\n }\n if (key === endKey) {\n endIndex = i;\n }\n if (startIndex !== undefined && endIndex !== undefined) {\n break;\n }\n }\n }\n return {\n top: bottomList[startIndex - 1] || 0,\n bottom: bottomList[endIndex]\n };\n };\n return getSize;\n}","import * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport CacheMap from \"../utils/CacheMap\";\nfunction parseNumber(value) {\n const num = parseFloat(value);\n return isNaN(num) ? 0 : num;\n}\nexport default function useHeights(getKey, onItemAdd, onItemRemove) {\n const [updatedMark, setUpdatedMark] = React.useState(0);\n const instanceRef = useRef(new Map());\n const heightsRef = useRef(new CacheMap());\n const promiseIdRef = useRef(0);\n function cancelRaf() {\n promiseIdRef.current += 1;\n }\n function collectHeight(sync = false) {\n cancelRaf();\n const doCollect = () => {\n let changed = false;\n instanceRef.current.forEach((element, key) => {\n if (element && element.offsetParent) {\n const {\n offsetHeight\n } = element;\n const {\n marginTop,\n marginBottom\n } = getComputedStyle(element);\n const marginTopNum = parseNumber(marginTop);\n const marginBottomNum = parseNumber(marginBottom);\n const totalHeight = offsetHeight + marginTopNum + marginBottomNum;\n if (heightsRef.current.get(key) !== totalHeight) {\n heightsRef.current.set(key, totalHeight);\n changed = true;\n }\n }\n });\n\n // Always trigger update mark to tell parent that should re-calculate heights when resized\n if (changed) {\n setUpdatedMark(c => c + 1);\n }\n };\n if (sync) {\n doCollect();\n } else {\n promiseIdRef.current += 1;\n const id = promiseIdRef.current;\n Promise.resolve().then(() => {\n if (id === promiseIdRef.current) {\n doCollect();\n }\n });\n }\n }\n function setInstanceRef(item, instance) {\n const key = getKey(item);\n const origin = instanceRef.current.get(key);\n if (instance) {\n instanceRef.current.set(key, instance);\n collectHeight();\n } else {\n instanceRef.current.delete(key);\n }\n\n // Instance changed\n if (!origin !== !instance) {\n if (instance) {\n onItemAdd?.(item);\n } else {\n onItemRemove?.(item);\n }\n }\n }\n useEffect(() => {\n return cancelRaf;\n }, []);\n return [setInstanceRef, collectHeight, heightsRef.current, updatedMark];\n}","// Firefox has low performance of map.\nclass CacheMap {\n maps;\n\n // Used for cache key\n // `useMemo` no need to update if `id` not change\n id = 0;\n diffRecords = new Map();\n constructor() {\n this.maps = Object.create(null);\n }\n set(key, value) {\n // Record prev value\n this.diffRecords.set(key, this.maps[key]);\n this.maps[key] = value;\n this.id += 1;\n }\n get(key) {\n return this.maps[key];\n }\n\n /**\n * CacheMap will record the key changed.\n * To help to know what's update in the next render.\n */\n resetRecord() {\n this.diffRecords.clear();\n }\n getRecord() {\n return this.diffRecords;\n }\n}\nexport default CacheMap;","import useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport { useRef } from 'react';\nconst SMOOTH_PTG = 14 / 15;\nexport default function useMobileTouchMove(inVirtual, listRef, callback) {\n const touchedRef = useRef(false);\n const touchXRef = useRef(0);\n const touchYRef = useRef(0);\n const elementRef = useRef(null);\n\n // Smooth scroll\n const intervalRef = useRef(null);\n\n /* eslint-disable prefer-const */\n let cleanUpEvents;\n const onTouchMove = e => {\n if (touchedRef.current) {\n const currentX = Math.ceil(e.touches[0].pageX);\n const currentY = Math.ceil(e.touches[0].pageY);\n let offsetX = touchXRef.current - currentX;\n let offsetY = touchYRef.current - currentY;\n const isHorizontal = Math.abs(offsetX) > Math.abs(offsetY);\n if (isHorizontal) {\n touchXRef.current = currentX;\n } else {\n touchYRef.current = currentY;\n }\n const scrollHandled = callback(isHorizontal, isHorizontal ? offsetX : offsetY, false, e);\n if (scrollHandled) {\n e.preventDefault();\n }\n\n // Smooth interval\n clearInterval(intervalRef.current);\n if (scrollHandled) {\n intervalRef.current = setInterval(() => {\n if (isHorizontal) {\n offsetX *= SMOOTH_PTG;\n } else {\n offsetY *= SMOOTH_PTG;\n }\n const offset = Math.floor(isHorizontal ? offsetX : offsetY);\n if (!callback(isHorizontal, offset, true) || Math.abs(offset) <= 0.1) {\n clearInterval(intervalRef.current);\n }\n }, 16);\n }\n }\n };\n const onTouchEnd = () => {\n touchedRef.current = false;\n cleanUpEvents();\n };\n const onTouchStart = e => {\n cleanUpEvents();\n if (e.touches.length === 1 && !touchedRef.current) {\n touchedRef.current = true;\n touchXRef.current = Math.ceil(e.touches[0].pageX);\n touchYRef.current = Math.ceil(e.touches[0].pageY);\n elementRef.current = e.target;\n elementRef.current.addEventListener('touchmove', onTouchMove, {\n passive: false\n });\n elementRef.current.addEventListener('touchend', onTouchEnd, {\n passive: true\n });\n }\n };\n cleanUpEvents = () => {\n if (elementRef.current) {\n elementRef.current.removeEventListener('touchmove', onTouchMove);\n elementRef.current.removeEventListener('touchend', onTouchEnd);\n }\n };\n useLayoutEffect(() => {\n if (inVirtual) {\n listRef.current.addEventListener('touchstart', onTouchStart, {\n passive: true\n });\n }\n return () => {\n listRef.current?.removeEventListener('touchstart', onTouchStart);\n cleanUpEvents();\n clearInterval(intervalRef.current);\n };\n }, [inVirtual]);\n}","import raf from \"@rc-component/util/es/raf\";\nimport * as React from 'react';\nfunction smoothScrollOffset(offset) {\n return Math.floor(offset ** 0.5);\n}\nexport function getPageXY(e, horizontal) {\n const obj = 'touches' in e ? e.touches[0] : e;\n return obj[horizontal ? 'pageX' : 'pageY'] - window[horizontal ? 'scrollX' : 'scrollY'];\n}\nexport default function useScrollDrag(inVirtual, componentRef, onScrollOffset) {\n React.useEffect(() => {\n const ele = componentRef.current;\n if (inVirtual && ele) {\n let mouseDownLock = false;\n let rafId;\n let offset;\n const stopScroll = () => {\n raf.cancel(rafId);\n };\n const continueScroll = () => {\n stopScroll();\n rafId = raf(() => {\n onScrollOffset(offset);\n continueScroll();\n });\n };\n const clearDragState = () => {\n mouseDownLock = false;\n stopScroll();\n };\n const onMouseDown = e => {\n // Skip if element set draggable\n if (e.target.draggable || e.button !== 0) {\n return;\n }\n // Skip if nest List has handled this event\n const event = e;\n if (!event._virtualHandled) {\n event._virtualHandled = true;\n mouseDownLock = true;\n }\n };\n const onMouseMove = e => {\n if (mouseDownLock) {\n const mouseY = getPageXY(e, false);\n const {\n top,\n bottom\n } = ele.getBoundingClientRect();\n if (mouseY <= top) {\n const diff = top - mouseY;\n offset = -smoothScrollOffset(diff);\n continueScroll();\n } else if (mouseY >= bottom) {\n const diff = mouseY - bottom;\n offset = smoothScrollOffset(diff);\n continueScroll();\n } else {\n stopScroll();\n }\n }\n };\n ele.addEventListener('mousedown', onMouseDown);\n ele.ownerDocument.addEventListener('mouseup', clearDragState);\n ele.ownerDocument.addEventListener('mousemove', onMouseMove);\n ele.ownerDocument.addEventListener('dragend', clearDragState);\n return () => {\n ele.removeEventListener('mousedown', onMouseDown);\n ele.ownerDocument.removeEventListener('mouseup', clearDragState);\n ele.ownerDocument.removeEventListener('mousemove', onMouseMove);\n ele.ownerDocument.removeEventListener('dragend', clearDragState);\n stopScroll();\n };\n }\n }, [inVirtual]);\n}","/* eslint-disable no-param-reassign */\nimport * as React from 'react';\nimport raf from \"@rc-component/util/es/raf\";\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport { warning } from '@rc-component/util';\nconst MAX_TIMES = 10;\nexport default function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHeight, syncScrollTop, triggerFlash) {\n const scrollRef = React.useRef();\n const [syncState, setSyncState] = React.useState(null);\n\n // ========================== Sync Scroll ==========================\n useLayoutEffect(() => {\n if (syncState && syncState.times < MAX_TIMES) {\n // Never reach\n if (!containerRef.current) {\n setSyncState(ori => ({\n ...ori\n }));\n return;\n }\n collectHeight();\n const {\n targetAlign,\n originAlign,\n index,\n offset\n } = syncState;\n const height = containerRef.current.clientHeight;\n let needCollectHeight = false;\n let newTargetAlign = targetAlign;\n let targetTop = null;\n\n // Go to next frame if height not exist\n if (height) {\n const mergedAlign = targetAlign || originAlign;\n\n // Get top & bottom\n let stackTop = 0;\n let itemTop = 0;\n let itemBottom = 0;\n const maxLen = Math.min(data.length - 1, index);\n for (let i = 0; i <= maxLen; i += 1) {\n const key = getKey(data[i]);\n itemTop = stackTop;\n const cacheHeight = heights.get(key);\n itemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n stackTop = itemBottom;\n }\n\n // Check if need sync height (visible range has item not record height)\n let leftHeight = mergedAlign === 'top' ? offset : height - offset;\n for (let i = maxLen; i >= 0; i -= 1) {\n const key = getKey(data[i]);\n const cacheHeight = heights.get(key);\n if (cacheHeight === undefined) {\n needCollectHeight = true;\n break;\n }\n leftHeight -= cacheHeight;\n if (leftHeight <= 0) {\n break;\n }\n }\n\n // Scroll to\n switch (mergedAlign) {\n case 'top':\n targetTop = itemTop - offset;\n break;\n case 'bottom':\n targetTop = itemBottom - height + offset;\n break;\n default:\n {\n const {\n scrollTop\n } = containerRef.current;\n const scrollBottom = scrollTop + height;\n if (itemTop < scrollTop) {\n newTargetAlign = 'top';\n } else if (itemBottom > scrollBottom) {\n newTargetAlign = 'bottom';\n }\n }\n }\n if (targetTop !== null) {\n syncScrollTop(targetTop);\n }\n\n // One more time for sync\n if (targetTop !== syncState.lastTop) {\n needCollectHeight = true;\n }\n }\n\n // Trigger next effect\n if (needCollectHeight) {\n setSyncState({\n ...syncState,\n times: syncState.times + 1,\n targetAlign: newTargetAlign,\n lastTop: targetTop\n });\n }\n } else if (process.env.NODE_ENV !== 'production' && syncState?.times === MAX_TIMES) {\n warning(false, 'Seems `scrollTo` with `rc-virtual-list` reach the max limitation. Please fire issue for us. Thanks.');\n }\n }, [syncState, containerRef.current]);\n\n // =========================== Scroll To ===========================\n return arg => {\n // When not argument provided, we think dev may want to show the scrollbar\n if (arg === null || arg === undefined) {\n triggerFlash();\n return;\n }\n\n // Normal scroll logic\n raf.cancel(scrollRef.current);\n if (typeof arg === 'number') {\n syncScrollTop(arg);\n } else if (arg && typeof arg === 'object') {\n let index;\n const {\n align\n } = arg;\n if ('index' in arg) {\n ({\n index\n } = arg);\n } else {\n index = data.findIndex(item => getKey(item) === arg.key);\n }\n const {\n offset = 0\n } = arg;\n setSyncState({\n times: 0,\n index,\n offset,\n originAlign: align\n });\n }\n };\n}","import { clsx } from 'clsx';\nimport raf from \"@rc-component/util/es/raf\";\nimport * as React from 'react';\nimport { getPageXY } from \"./hooks/useScrollDrag\";\nconst ScrollBar = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls,\n rtl,\n scrollOffset,\n scrollRange,\n onStartMove,\n onStopMove,\n onScroll,\n horizontal,\n spinSize,\n containerSize,\n style,\n thumbStyle: propsThumbStyle,\n showScrollBar\n } = props;\n const [dragging, setDragging] = React.useState(false);\n const [pageXY, setPageXY] = React.useState(null);\n const [startTop, setStartTop] = React.useState(null);\n const isLTR = !rtl;\n\n // ========================= Refs =========================\n const scrollbarRef = React.useRef();\n const thumbRef = React.useRef();\n\n // ======================= Visible ========================\n const [visible, setVisible] = React.useState(showScrollBar);\n const visibleTimeoutRef = React.useRef();\n const delayHidden = () => {\n if (showScrollBar === true || showScrollBar === false) return;\n clearTimeout(visibleTimeoutRef.current);\n setVisible(true);\n visibleTimeoutRef.current = setTimeout(() => {\n setVisible(false);\n }, 3000);\n };\n\n // ======================== Range =========================\n const enableScrollRange = scrollRange - containerSize || 0;\n const enableOffsetRange = containerSize - spinSize || 0;\n\n // ========================= Top ==========================\n const top = React.useMemo(() => {\n if (scrollOffset === 0 || enableScrollRange === 0) {\n return 0;\n }\n const ptg = scrollOffset / enableScrollRange;\n return ptg * enableOffsetRange;\n }, [scrollOffset, enableScrollRange, enableOffsetRange]);\n\n // ====================== Container =======================\n const onContainerMouseDown = e => {\n e.stopPropagation();\n e.preventDefault();\n };\n\n // ======================== Thumb =========================\n const stateRef = React.useRef({\n top,\n dragging,\n pageY: pageXY,\n startTop\n });\n stateRef.current = {\n top,\n dragging,\n pageY: pageXY,\n startTop\n };\n const onThumbMouseDown = e => {\n setDragging(true);\n setPageXY(getPageXY(e, horizontal));\n setStartTop(stateRef.current.top);\n onStartMove();\n e.stopPropagation();\n e.preventDefault();\n };\n\n // ======================== Effect ========================\n\n // React make event as passive, but we need to preventDefault\n // Add event on dom directly instead.\n // ref: https://github.com/facebook/react/issues/9809\n React.useEffect(() => {\n const onScrollbarTouchStart = e => {\n e.preventDefault();\n };\n const scrollbarEle = scrollbarRef.current;\n const thumbEle = thumbRef.current;\n scrollbarEle.addEventListener('touchstart', onScrollbarTouchStart, {\n passive: false\n });\n thumbEle.addEventListener('touchstart', onThumbMouseDown, {\n passive: false\n });\n return () => {\n scrollbarEle.removeEventListener('touchstart', onScrollbarTouchStart);\n thumbEle.removeEventListener('touchstart', onThumbMouseDown);\n };\n }, []);\n\n // Pass to effect\n const enableScrollRangeRef = React.useRef();\n enableScrollRangeRef.current = enableScrollRange;\n const enableOffsetRangeRef = React.useRef();\n enableOffsetRangeRef.current = enableOffsetRange;\n React.useEffect(() => {\n if (dragging) {\n let moveRafId;\n const onMouseMove = e => {\n const {\n dragging: stateDragging,\n pageY: statePageY,\n startTop: stateStartTop\n } = stateRef.current;\n raf.cancel(moveRafId);\n const rect = scrollbarRef.current.getBoundingClientRect();\n const scale = containerSize / (horizontal ? rect.width : rect.height);\n if (stateDragging) {\n const offset = (getPageXY(e, horizontal) - statePageY) * scale;\n let newTop = stateStartTop;\n if (!isLTR && horizontal) {\n newTop -= offset;\n } else {\n newTop += offset;\n }\n const tmpEnableScrollRange = enableScrollRangeRef.current;\n const tmpEnableOffsetRange = enableOffsetRangeRef.current;\n const ptg = tmpEnableOffsetRange ? newTop / tmpEnableOffsetRange : 0;\n let newScrollTop = Math.ceil(ptg * tmpEnableScrollRange);\n newScrollTop = Math.max(newScrollTop, 0);\n newScrollTop = Math.min(newScrollTop, tmpEnableScrollRange);\n moveRafId = raf(() => {\n onScroll(newScrollTop, horizontal);\n });\n }\n };\n const onMouseUp = () => {\n setDragging(false);\n onStopMove();\n };\n window.addEventListener('mousemove', onMouseMove, {\n passive: true\n });\n window.addEventListener('touchmove', onMouseMove, {\n passive: true\n });\n window.addEventListener('mouseup', onMouseUp, {\n passive: true\n });\n window.addEventListener('touchend', onMouseUp, {\n passive: true\n });\n return () => {\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('touchmove', onMouseMove);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('touchend', onMouseUp);\n raf.cancel(moveRafId);\n };\n }\n }, [dragging]);\n React.useEffect(() => {\n delayHidden();\n return () => {\n clearTimeout(visibleTimeoutRef.current);\n };\n }, [scrollOffset]);\n\n // ====================== Imperative ======================\n React.useImperativeHandle(ref, () => ({\n delayHidden\n }));\n\n // ======================== Render ========================\n const scrollbarPrefixCls = `${prefixCls}-scrollbar`;\n const containerStyle = {\n position: 'absolute',\n visibility: visible ? null : 'hidden'\n };\n const thumbStyle = {\n position: 'absolute',\n borderRadius: 99,\n background: 'var(--rc-virtual-list-scrollbar-bg, rgba(0, 0, 0, 0.5))',\n cursor: 'pointer',\n userSelect: 'none'\n };\n if (horizontal) {\n Object.assign(containerStyle, {\n height: 8,\n left: 0,\n right: 0,\n bottom: 0\n });\n Object.assign(thumbStyle, {\n height: '100%',\n width: spinSize,\n [isLTR ? 'left' : 'right']: top\n });\n } else {\n Object.assign(containerStyle, {\n width: 8,\n top: 0,\n bottom: 0,\n [isLTR ? 'right' : 'left']: 0\n });\n Object.assign(thumbStyle, {\n width: '100%',\n height: spinSize,\n top\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarRef,\n className: clsx(scrollbarPrefixCls, {\n [`${scrollbarPrefixCls}-horizontal`]: horizontal,\n [`${scrollbarPrefixCls}-vertical`]: !horizontal,\n [`${scrollbarPrefixCls}-visible`]: visible\n }),\n style: {\n ...containerStyle,\n ...style\n },\n onMouseDown: onContainerMouseDown,\n onMouseMove: delayHidden\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: thumbRef,\n className: clsx(`${scrollbarPrefixCls}-thumb`, {\n [`${scrollbarPrefixCls}-thumb-moving`]: dragging\n }),\n style: {\n ...thumbStyle,\n ...propsThumbStyle\n },\n onMouseDown: onThumbMouseDown\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n ScrollBar.displayName = 'ScrollBar';\n}\nexport default ScrollBar;","const MIN_SIZE = 20;\nexport function getSpinSize(containerSize = 0, scrollRange = 0) {\n let baseSize = containerSize / scrollRange * containerSize;\n if (isNaN(baseSize)) {\n baseSize = 0;\n }\n baseSize = Math.max(baseSize, MIN_SIZE);\n return Math.floor(baseSize);\n}","import List from \"./List\";\nexport default List;","import { useContext } from '@rc-component/context';\nimport VirtualList from '@rc-component/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\";\nconst Grid = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n data,\n onScroll\n } = props;\n const {\n flattenColumns,\n onColumnResize,\n getRowKey,\n expandedKeys,\n prefixCls,\n childrenColumnName,\n scrollX,\n direction\n } = useContext(TableContext, ['flattenColumns', 'onColumnResize', 'getRowKey', 'prefixCls', 'expandedKeys', 'childrenColumnName', 'scrollX', 'direction']);\n const {\n sticky,\n scrollY,\n listItemHeight,\n getComponent,\n onScroll: onTablePropScroll\n } = useContext(StaticContext);\n\n // =========================== Ref ============================\n const listRef = React.useRef(null);\n\n // =========================== Data ===========================\n const flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // ========================== Column ==========================\n const columnsWidth = React.useMemo(() => {\n let total = 0;\n return flattenColumns.map(({\n width,\n minWidth,\n key\n }) => {\n const finalWidth = Math.max(width || 0, minWidth || 0);\n total += finalWidth;\n return [key, finalWidth, total];\n });\n }, [flattenColumns]);\n const columnsOffset = React.useMemo(() => columnsWidth.map(colWidth => colWidth[2]), [columnsWidth]);\n React.useEffect(() => {\n columnsWidth.forEach(([key, width]) => {\n onColumnResize(key, width);\n });\n }, [columnsWidth]);\n\n // =========================== Ref ============================\n React.useImperativeHandle(ref, () => {\n const obj = {\n scrollTo: config => {\n const {\n offset,\n ...restConfig\n } = config;\n\n // If offset is provided, force align to 'top' for consistent behavior\n if (offset) {\n listRef.current?.scrollTo({\n ...restConfig,\n offset,\n align: 'top'\n });\n } else {\n listRef.current?.scrollTo(config);\n }\n },\n nativeElement: listRef.current?.nativeElement\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: () => listRef.current?.getScrollInfo().x || 0,\n set: value => {\n listRef.current?.scrollTo({\n left: value\n });\n }\n });\n\n // https://github.com/ant-design/ant-design/issues/54734\n Object.defineProperty(obj, 'scrollTop', {\n get: () => listRef.current?.getScrollInfo().y || 0,\n set: value => {\n listRef.current?.scrollTo({\n top: value\n });\n }\n });\n return obj;\n });\n\n // ======================= Col/Row Span =======================\n const getRowSpan = (column, index) => {\n const record = flattenData[index]?.record;\n const {\n onCell\n } = column;\n if (onCell) {\n const cellProps = onCell(record, index);\n return cellProps?.rowSpan ?? 1;\n }\n return 1;\n };\n const extraRender = info => {\n const {\n start,\n end,\n getSize,\n offsetY\n } = info;\n\n // Do nothing if no data\n if (end < 0) {\n return null;\n }\n\n // Find first rowSpan column\n let firstRowSpanColumns = flattenColumns.filter(\n // rowSpan is 0\n column => getRowSpan(column, start) === 0);\n let startIndex = start;\n for (let i = start; i >= 0; i -= 1) {\n firstRowSpanColumns = firstRowSpanColumns.filter(column => getRowSpan(column, i) === 0);\n if (!firstRowSpanColumns.length) {\n startIndex = i;\n break;\n }\n }\n\n // Find last rowSpan column\n let lastRowSpanColumns = flattenColumns.filter(\n // rowSpan is not 1\n column => getRowSpan(column, end) !== 1);\n let endIndex = end;\n for (let i = end; i < flattenData.length; i += 1) {\n lastRowSpanColumns = lastRowSpanColumns.filter(column => getRowSpan(column, i) !== 1);\n if (!lastRowSpanColumns.length) {\n endIndex = Math.max(i - 1, end);\n break;\n }\n }\n\n // Collect the line who has rowSpan\n const spanLines = [];\n for (let i = startIndex; i <= endIndex; i += 1) {\n const item = flattenData[i];\n\n // This code will never reach, just incase\n if (!item) {\n continue;\n }\n if (flattenColumns.some(column => getRowSpan(column, i) > 1)) {\n spanLines.push(i);\n }\n }\n\n // Patch extra line on the page\n const nodes = spanLines.map(index => {\n const item = flattenData[index];\n const rowKey = getRowKey(item.record, index);\n const getHeight = rowSpan => {\n const endItemIndex = index + rowSpan - 1;\n const endItem = flattenData[endItemIndex];\n if (!endItem || !endItem.record) {\n // clamp 到当前可用的最后一行,或退化为默认高度\n const safeEndIndex = Math.min(endItemIndex, flattenData.length - 1);\n const safeEndItem = flattenData[safeEndIndex];\n const endItemKey = getRowKey(safeEndItem.record, safeEndIndex);\n const sizeInfo = getSize(rowKey, endItemKey);\n return sizeInfo.bottom - sizeInfo.top;\n }\n const endItemKey = getRowKey(endItem.record, endItemIndex);\n const sizeInfo = getSize(rowKey, endItemKey);\n return sizeInfo.bottom - sizeInfo.top;\n };\n const 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 const gridContext = React.useMemo(() => ({\n columnsOffset\n }), [columnsOffset]);\n\n // ========================== Render ==========================\n const tblPrefixCls = `${prefixCls}-tbody`;\n\n // default 'div' in @rc-component/virtual-list\n const wrapperComponent = getComponent(['body', 'wrapper']);\n\n // ========================== Sticky Scroll Bar ==========================\n const 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: `${tblPrefixCls}-virtual`,\n styles: {\n horizontalScrollBar: horizontalScrollBarStyle\n },\n className: tblPrefixCls,\n height: scrollY,\n itemHeight: listItemHeight || 24,\n data: flattenData,\n itemKey: item => getRowKey(item.record),\n component: wrapperComponent,\n scrollWidth: scrollX,\n direction: direction,\n onVirtualScroll: ({\n x\n }) => {\n onScroll({\n currentTarget: listRef.current?.nativeElement,\n scrollLeft: x\n });\n },\n onScroll: onTablePropScroll,\n extraRender: extraRender\n }, (item, index, itemProps) => {\n const 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});\nconst ResponseGrid = responseImmutable(Grid);\nif (process.env.NODE_ENV !== 'production') {\n ResponseGrid.displayName = 'ResponseGrid';\n}\nexport default ResponseGrid;","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { useContext } from '@rc-component/context';\nimport { clsx } from 'clsx';\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\";\nconst BodyLine = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n data,\n index,\n className,\n rowKey,\n style,\n extra,\n getHeight,\n ...restProps\n } = props;\n const {\n record,\n indent,\n index: renderIndex\n } = data;\n const {\n scrollX,\n flattenColumns,\n prefixCls,\n fixColumn,\n componentWidth\n } = useContext(TableContext, ['prefixCls', 'flattenColumns', 'fixColumn', 'componentWidth', 'scrollX']);\n const {\n getComponent\n } = useContext(StaticContext, ['getComponent']);\n const rowInfo = useRowInfo(record, rowKey, index, indent);\n const RowComponent = getComponent(['body', 'row'], 'div');\n const cellComponent = getComponent(['body', 'cell'], 'div');\n\n // ========================== Expand ==========================\n const {\n rowSupportExpand,\n expanded,\n rowProps,\n expandedRowRender,\n expandedRowClassName\n } = rowInfo;\n let expandRowNode;\n if (rowSupportExpand && expanded) {\n const expandContent = expandedRowRender(record, index, indent + 1, expanded);\n const expandedClsName = computedExpandedClassName(expandedRowClassName, record, index, indent);\n let additionalProps = {};\n if (fixColumn) {\n additionalProps = {\n style: {\n ['--virtual-width']: `${componentWidth}px`\n }\n };\n }\n const rowCellCls = `${prefixCls}-expanded-row-cell`;\n expandRowNode = /*#__PURE__*/React.createElement(RowComponent, {\n className: clsx(`${prefixCls}-expanded-row`, `${prefixCls}-expanded-row-level-${indent + 1}`, expandedClsName)\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n className: clsx(rowCellCls, {\n [`${rowCellCls}-fixed`]: fixColumn\n }),\n additionalProps: additionalProps\n }, expandContent));\n }\n\n // ========================== Render ==========================\n const rowStyle = {\n ...style,\n width: scrollX\n };\n if (extra) {\n rowStyle.position = 'absolute';\n rowStyle.pointerEvents = 'none';\n }\n const rowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, restProps, {\n \"data-row-key\": rowKey,\n ref: rowSupportExpand ? null : ref,\n className: clsx(className, `${prefixCls}-row`, rowProps?.className, {\n [`${prefixCls}-row-extra`]: extra\n }),\n style: {\n ...rowStyle,\n ...rowProps?.style\n }\n }), flattenColumns.map((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});\nconst ResponseBodyLine = responseImmutable(BodyLine);\nif (process.env.NODE_ENV !== 'production') {\n ResponseBodyLine.displayName = 'BodyLine';\n}\nexport default ResponseBodyLine;","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { useContext } from '@rc-component/context';\nimport { clsx } from 'clsx';\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 const mergedColSpan = colSpan || 1;\n return columnsOffset[colIndex + mergedColSpan] - (columnsOffset[colIndex] || 0);\n}\nconst VirtualCell = props => {\n const {\n rowInfo,\n column,\n colIndex,\n indent,\n index,\n component,\n renderIndex,\n record,\n style,\n className,\n inverse,\n getHeight\n } = props;\n const {\n render,\n dataIndex,\n className: columnClassName,\n width: colWidth\n } = column;\n const {\n columnsOffset\n } = useContext(GridContext, ['columnsOffset']);\n\n // TODO: support `expandableRowOffset`\n const {\n key,\n fixedInfo,\n appendCellNode,\n additionalCellProps\n } = getCellProps(rowInfo, column, colIndex, indent, index);\n const {\n style: cellStyle,\n colSpan = 1,\n rowSpan = 1\n } = additionalCellProps;\n\n // ========================= ColWidth =========================\n // column width\n const startColIndex = colIndex - 1;\n const concatColWidth = getColumnWidth(startColIndex, colSpan, columnsOffset);\n\n // margin offset\n const marginOffset = colSpan > 1 ? colWidth - concatColWidth : 0;\n\n // ========================== Style ===========================\n const mergedStyle = {\n ...cellStyle,\n ...style,\n flex: `0 0 ${concatColWidth}px`,\n width: `${concatColWidth}px`,\n marginRight: marginOffset,\n pointerEvents: 'auto'\n };\n\n // When `colSpan` or `rowSpan` is `0`, should skip render.\n const needHide = React.useMemo(() => {\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?.(rowSpan);\n }\n const mergedRender = needHide ? () => null : render;\n\n // ========================== Render ==========================\n const 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: clsx(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: {\n ...additionalCellProps,\n style: mergedStyle,\n ...cellSpan\n }\n }));\n};\nexport default VirtualCell;","import { createContext } from '@rc-component/context';\nexport const StaticContext = createContext(null);\nexport const GridContext = createContext(null);","import { EXPAND_COLUMN, INTERNAL_HOOKS } from \"./constant\";\nimport { FooterComponents as Summary } from \"./Footer\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport Table, { genTable } from \"./Table\";\nimport { INTERNAL_COL_DEFINE } from \"./utils/legacyUtil\";\nimport VirtualTable, { genVirtualTable } from \"./VirtualTable\";\nexport { genTable, Summary, Column, ColumnGroup, INTERNAL_COL_DEFINE, EXPAND_COLUMN, INTERNAL_HOOKS, VirtualTable, genVirtualTable };\nexport default Table;","import _Table, { TableProps } from '@rc-component/table';\nimport { Spin } from '../Spin';\nimport { Empty } from '../Empty';\n\nexport const Table = ({\n className,\n loading = false,\n ...rest\n}: TableProps & {\n loading?: boolean;\n}) => {\n return (\n <Spin spinning={loading}>\n <_Table\n // temp set prefixCls = 'ant-table' to use antd table style\n prefixCls=\"ant-table\"\n className={className}\n {...rest}\n emptyText={<Empty show={true} />}\n />\n </Spin>\n );\n};\n\nexport type { TableProps };\n"],"mappings":"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","names":["REACT_FRAGMENT_TYPE","Element","ForwardRef","Fragment","isFragment","isMemo","React","useLayoutEffect","useLayoutEffect","React","createContext","useContext","React","React","_extends","useImmutableMark","makeImmutable","responseImmutable","React","makeImmutable","responseImmutable","useImmutableMark","createContext","React","React","React","React","React","useImmutableMark","useContext","React","useState","React","toArray","_extends","useContext","React","_extends","useContext","Cell_default","React","Cell_default","useContext","responseImmutable","clsx","React","React","React","onResize","React","onResize","_extends","ResizeObserver","toArray","_extends","React","React","clsx","React","clsx","React","clsx","useContext","React","useContext","React","clsx","_extends","clsx","responseImmutable","React","React","useContext","useContext","clsx","responseImmutable","React","_extends","useContext","clsx","React","useMemo","useMemo","useContext","clsx","React","clsx","React","_extends","useContext","clsx","useContext","responseImmutable","React","React","toArray","React","React","useRef","useState","useEffect","React","React","getContainer","useMemo","React","clsx","React","useContext","clsx","_extends","clsx","makeImmutable","clsx","React","clsx","React","useRef","useState","React","clsx","React","React","React","useRef","useRef","useRef","React","React","useEffect","useRef","useRef","useEffect","useRef","React","React","clsx","React","clsx","EMPTY_DATA","clsx","useRef","useState","es_default","React","clsx","React","clsx","React","createContext","_extends","useContext","clsx","_extends","useContext","clsx","responseImmutable","useContext","endItemKey","sizeInfo","es_default","responseImmutable","_extends","clsx","makeImmutable","es_default","Table","es_default"]}
|