pixivflow 2.0.38 → 2.0.40

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.
Files changed (213) hide show
  1. package/dist/cli/ArgumentParser.d.ts +2 -20
  2. package/dist/cli/ArgumentParser.d.ts.map +1 -1
  3. package/dist/cli/ArgumentParser.js +16 -29
  4. package/dist/cli/ArgumentParser.js.map +1 -1
  5. package/dist/commands/BackupCommand.d.ts +6 -0
  6. package/dist/commands/BackupCommand.d.ts.map +1 -1
  7. package/dist/commands/BackupCommand.js +6 -0
  8. package/dist/commands/BackupCommand.js.map +1 -1
  9. package/dist/commands/Command.d.ts +16 -0
  10. package/dist/commands/Command.d.ts.map +1 -1
  11. package/dist/commands/Command.js +9 -0
  12. package/dist/commands/Command.js.map +1 -1
  13. package/dist/commands/CommandRegistry.d.ts +24 -0
  14. package/dist/commands/CommandRegistry.d.ts.map +1 -1
  15. package/dist/commands/CommandRegistry.js +48 -0
  16. package/dist/commands/CommandRegistry.js.map +1 -1
  17. package/dist/commands/ConfigCommand.d.ts +6 -0
  18. package/dist/commands/ConfigCommand.d.ts.map +1 -1
  19. package/dist/commands/ConfigCommand.js +6 -0
  20. package/dist/commands/ConfigCommand.js.map +1 -1
  21. package/dist/commands/DirsCommand.d.ts +6 -0
  22. package/dist/commands/DirsCommand.d.ts.map +1 -1
  23. package/dist/commands/DirsCommand.js +6 -0
  24. package/dist/commands/DirsCommand.js.map +1 -1
  25. package/dist/commands/DownloadCommand.d.ts +6 -0
  26. package/dist/commands/DownloadCommand.d.ts.map +1 -1
  27. package/dist/commands/DownloadCommand.js +57 -3
  28. package/dist/commands/DownloadCommand.js.map +1 -1
  29. package/dist/commands/HealthCommand.d.ts +7 -0
  30. package/dist/commands/HealthCommand.d.ts.map +1 -1
  31. package/dist/commands/HealthCommand.js +7 -0
  32. package/dist/commands/HealthCommand.js.map +1 -1
  33. package/dist/commands/HelpCommand.d.ts +7 -0
  34. package/dist/commands/HelpCommand.d.ts.map +1 -1
  35. package/dist/commands/HelpCommand.js +22 -29
  36. package/dist/commands/HelpCommand.js.map +1 -1
  37. package/dist/commands/LoginCommand.d.ts +7 -0
  38. package/dist/commands/LoginCommand.d.ts.map +1 -1
  39. package/dist/commands/LoginCommand.js +7 -0
  40. package/dist/commands/LoginCommand.js.map +1 -1
  41. package/dist/commands/LoginHeadlessCommand.d.ts +7 -0
  42. package/dist/commands/LoginHeadlessCommand.d.ts.map +1 -1
  43. package/dist/commands/LoginHeadlessCommand.js +7 -0
  44. package/dist/commands/LoginHeadlessCommand.js.map +1 -1
  45. package/dist/commands/LogsCommand.d.ts +6 -0
  46. package/dist/commands/LogsCommand.d.ts.map +1 -1
  47. package/dist/commands/LogsCommand.js +6 -0
  48. package/dist/commands/LogsCommand.js.map +1 -1
  49. package/dist/commands/MaintainCommand.d.ts +6 -0
  50. package/dist/commands/MaintainCommand.d.ts.map +1 -1
  51. package/dist/commands/MaintainCommand.js +6 -0
  52. package/dist/commands/MaintainCommand.js.map +1 -1
  53. package/dist/commands/MigrateConfigCommand.d.ts +6 -0
  54. package/dist/commands/MigrateConfigCommand.d.ts.map +1 -1
  55. package/dist/commands/MigrateConfigCommand.js +6 -0
  56. package/dist/commands/MigrateConfigCommand.js.map +1 -1
  57. package/dist/commands/MonitorCommand.d.ts +6 -0
  58. package/dist/commands/MonitorCommand.d.ts.map +1 -1
  59. package/dist/commands/MonitorCommand.js +6 -0
  60. package/dist/commands/MonitorCommand.js.map +1 -1
  61. package/dist/commands/NormalizeCommand.d.ts +6 -0
  62. package/dist/commands/NormalizeCommand.d.ts.map +1 -1
  63. package/dist/commands/NormalizeCommand.js +6 -0
  64. package/dist/commands/NormalizeCommand.js.map +1 -1
  65. package/dist/commands/RandomDownloadCommand.d.ts +7 -1
  66. package/dist/commands/RandomDownloadCommand.d.ts.map +1 -1
  67. package/dist/commands/RandomDownloadCommand.js +7 -1
  68. package/dist/commands/RandomDownloadCommand.js.map +1 -1
  69. package/dist/commands/RefreshCommand.d.ts +12 -0
  70. package/dist/commands/RefreshCommand.d.ts.map +1 -1
  71. package/dist/commands/RefreshCommand.js +82 -0
  72. package/dist/commands/RefreshCommand.js.map +1 -1
  73. package/dist/commands/SchedulerCommand.d.ts +6 -0
  74. package/dist/commands/SchedulerCommand.d.ts.map +1 -1
  75. package/dist/commands/SchedulerCommand.js +7 -1
  76. package/dist/commands/SchedulerCommand.js.map +1 -1
  77. package/dist/commands/SetupCommand.d.ts +6 -0
  78. package/dist/commands/SetupCommand.d.ts.map +1 -1
  79. package/dist/commands/SetupCommand.js +6 -0
  80. package/dist/commands/SetupCommand.js.map +1 -1
  81. package/dist/commands/StatusCommand.d.ts +6 -0
  82. package/dist/commands/StatusCommand.d.ts.map +1 -1
  83. package/dist/commands/StatusCommand.js +6 -0
  84. package/dist/commands/StatusCommand.js.map +1 -1
  85. package/dist/commands/VersionCommand.d.ts +21 -0
  86. package/dist/commands/VersionCommand.d.ts.map +1 -0
  87. package/dist/commands/VersionCommand.js +81 -0
  88. package/dist/commands/VersionCommand.js.map +1 -0
  89. package/dist/commands/WebUICommand.d.ts +6 -0
  90. package/dist/commands/WebUICommand.d.ts.map +1 -1
  91. package/dist/commands/WebUICommand.js +6 -0
  92. package/dist/commands/WebUICommand.js.map +1 -1
  93. package/dist/commands/index.d.ts +2 -1
  94. package/dist/commands/index.d.ts.map +1 -1
  95. package/dist/commands/index.js +4 -1
  96. package/dist/commands/index.js.map +1 -1
  97. package/dist/commands/metadata.d.ts +38 -0
  98. package/dist/commands/metadata.d.ts.map +1 -0
  99. package/dist/commands/metadata.js +42 -0
  100. package/dist/commands/metadata.js.map +1 -0
  101. package/dist/commands/suggestions.d.ts +22 -0
  102. package/dist/commands/suggestions.d.ts.map +1 -0
  103. package/dist/commands/suggestions.js +85 -0
  104. package/dist/commands/suggestions.js.map +1 -0
  105. package/dist/config/validation.d.ts.map +1 -1
  106. package/dist/config/validation.js +11 -3
  107. package/dist/config/validation.js.map +1 -1
  108. package/dist/index.js +126 -320
  109. package/dist/index.js.map +1 -1
  110. package/dist/package.json +1 -1
  111. package/dist/pixiv/AuthClient.d.ts.map +1 -1
  112. package/dist/pixiv/AuthClient.js +56 -7
  113. package/dist/pixiv/AuthClient.js.map +1 -1
  114. package/dist/storage/Database.d.ts +22 -0
  115. package/dist/storage/Database.d.ts.map +1 -1
  116. package/dist/storage/Database.js +19 -0
  117. package/dist/storage/Database.js.map +1 -1
  118. package/dist/storage/DatabaseMigration.d.ts.map +1 -1
  119. package/dist/storage/DatabaseMigration.js +29 -0
  120. package/dist/storage/DatabaseMigration.js.map +1 -1
  121. package/dist/storage/repositories/TaskHistoryRepository.d.ts +61 -0
  122. package/dist/storage/repositories/TaskHistoryRepository.d.ts.map +1 -0
  123. package/dist/storage/repositories/TaskHistoryRepository.js +171 -0
  124. package/dist/storage/repositories/TaskHistoryRepository.js.map +1 -0
  125. package/dist/utils/errors.d.ts +14 -0
  126. package/dist/utils/errors.d.ts.map +1 -1
  127. package/dist/utils/errors.js +35 -12
  128. package/dist/utils/errors.js.map +1 -1
  129. package/dist/utils/pixiv-url-parser.d.ts +7 -1
  130. package/dist/utils/pixiv-url-parser.d.ts.map +1 -1
  131. package/dist/utils/pixiv-url-parser.js +75 -8
  132. package/dist/utils/pixiv-url-parser.js.map +1 -1
  133. package/dist/utils/token-manager.d.ts.map +1 -1
  134. package/dist/utils/token-manager.js +73 -5
  135. package/dist/utils/token-manager.js.map +1 -1
  136. package/dist/webui/package.json +1 -1
  137. package/dist/webui/routes/download.d.ts.map +1 -1
  138. package/dist/webui/routes/download.js +2 -0
  139. package/dist/webui/routes/download.js.map +1 -1
  140. package/dist/webui/routes/handlers/download-basic-handlers.d.ts +11 -0
  141. package/dist/webui/routes/handlers/download-basic-handlers.d.ts.map +1 -1
  142. package/dist/webui/routes/handlers/download-basic-handlers.js +199 -8
  143. package/dist/webui/routes/handlers/download-basic-handlers.js.map +1 -1
  144. package/dist/webui/services/DownloadTaskManager.d.ts.map +1 -1
  145. package/dist/webui/services/DownloadTaskManager.js +75 -3
  146. package/dist/webui/services/DownloadTaskManager.js.map +1 -1
  147. package/package.json +1 -1
  148. package/dist/webui/assets/ActionButton-DWq-fh3_.js +0 -2
  149. package/dist/webui/assets/ActionButton-DWq-fh3_.js.map +0 -1
  150. package/dist/webui/assets/CheckCircleOutlined-Can0-7ew.js +0 -2
  151. package/dist/webui/assets/CheckCircleOutlined-Can0-7ew.js.map +0 -1
  152. package/dist/webui/assets/CloseCircleOutlined-DfRmL2eG.js +0 -2
  153. package/dist/webui/assets/CloseCircleOutlined-DfRmL2eG.js.map +0 -1
  154. package/dist/webui/assets/Config-D9TWUGQR.js +0 -16
  155. package/dist/webui/assets/Config-D9TWUGQR.js.map +0 -1
  156. package/dist/webui/assets/Dashboard-CaGAH0y2.js +0 -2
  157. package/dist/webui/assets/Dashboard-CaGAH0y2.js.map +0 -1
  158. package/dist/webui/assets/DeleteOutlined-u-P2SpoK.js +0 -2
  159. package/dist/webui/assets/DeleteOutlined-u-P2SpoK.js.map +0 -1
  160. package/dist/webui/assets/Download-D9E4xrnM.js +0 -2
  161. package/dist/webui/assets/Download-D9E4xrnM.js.map +0 -1
  162. package/dist/webui/assets/Files-CKyc_PdW.js +0 -5
  163. package/dist/webui/assets/Files-CKyc_PdW.js.map +0 -1
  164. package/dist/webui/assets/PictureOutlined-C8Lbucj1.js +0 -2
  165. package/dist/webui/assets/PictureOutlined-C8Lbucj1.js.map +0 -1
  166. package/dist/webui/assets/SortDescendingOutlined-CR-hdhyW.js +0 -2
  167. package/dist/webui/assets/SortDescendingOutlined-CR-hdhyW.js.map +0 -1
  168. package/dist/webui/assets/ThunderboltOutlined-CiiB2de5.js +0 -2
  169. package/dist/webui/assets/ThunderboltOutlined-CiiB2de5.js.map +0 -1
  170. package/dist/webui/assets/UrlDownload-ClkUOXN_.js +0 -3
  171. package/dist/webui/assets/UrlDownload-ClkUOXN_.js.map +0 -1
  172. package/dist/webui/assets/dateUtils-CBk8bEa_.js +0 -2
  173. package/dist/webui/assets/dateUtils-CBk8bEa_.js.map +0 -1
  174. package/dist/webui/assets/errorCodeTranslator-DWsWq6B3.js +0 -3
  175. package/dist/webui/assets/errorCodeTranslator-DWsWq6B3.js.map +0 -1
  176. package/dist/webui/assets/index-BFgUdwJv.js +0 -214
  177. package/dist/webui/assets/index-BFgUdwJv.js.map +0 -1
  178. package/dist/webui/assets/index-CN3FylAF.js +0 -2
  179. package/dist/webui/assets/index-CN3FylAF.js.map +0 -1
  180. package/dist/webui/assets/index-CSoUPZat.js +0 -2
  181. package/dist/webui/assets/index-CSoUPZat.js.map +0 -1
  182. package/dist/webui/assets/index-CiHwNwrk.js +0 -19
  183. package/dist/webui/assets/index-CiHwNwrk.js.map +0 -1
  184. package/dist/webui/assets/index-DHwJxrFi.css +0 -1
  185. package/dist/webui/assets/index-DTU-FGA4.js +0 -2
  186. package/dist/webui/assets/index-DTU-FGA4.js.map +0 -1
  187. package/dist/webui/assets/index-DjpD0HQ5.js +0 -2
  188. package/dist/webui/assets/index-DjpD0HQ5.js.map +0 -1
  189. package/dist/webui/assets/index-Dycn6xoz.js +0 -2
  190. package/dist/webui/assets/index-Dycn6xoz.js.map +0 -1
  191. package/dist/webui/assets/index-G0EJCamt.js +0 -22
  192. package/dist/webui/assets/index-G0EJCamt.js.map +0 -1
  193. package/dist/webui/assets/index-WaraZQH0.js +0 -2
  194. package/dist/webui/assets/index-WaraZQH0.js.map +0 -1
  195. package/dist/webui/assets/index-k2rGFxEM.js +0 -8
  196. package/dist/webui/assets/index-k2rGFxEM.js.map +0 -1
  197. package/dist/webui/assets/index-lwTtspUb.js +0 -14
  198. package/dist/webui/assets/index-lwTtspUb.js.map +0 -1
  199. package/dist/webui/assets/index-pT0W4KjK.js +0 -47
  200. package/dist/webui/assets/index-pT0W4KjK.js.map +0 -1
  201. package/dist/webui/assets/index-wvielV9A.js +0 -2
  202. package/dist/webui/assets/index-wvielV9A.js.map +0 -1
  203. package/dist/webui/assets/row-FRqVdQDX.js +0 -20
  204. package/dist/webui/assets/row-FRqVdQDX.js.map +0 -1
  205. package/dist/webui/assets/useAuth-BMt6dHSB.js +0 -9
  206. package/dist/webui/assets/useAuth-BMt6dHSB.js.map +0 -1
  207. package/dist/webui/assets/useConfig-29Ugtjk4.js +0 -9
  208. package/dist/webui/assets/useConfig-29Ugtjk4.js.map +0 -1
  209. package/dist/webui/assets/useDownload-Dt6lsP8S.js +0 -2
  210. package/dist/webui/assets/useDownload-Dt6lsP8S.js.map +0 -1
  211. package/dist/webui/assets/useErrorHandler-DWHs3RlU.js +0 -84
  212. package/dist/webui/assets/useErrorHandler-DWHs3RlU.js.map +0 -1
  213. package/dist/webui/index.html +0 -15
@@ -1 +0,0 @@
1
- {"version":3,"file":"useErrorHandler-DWHs3RlU.js","sources":["../../node_modules/antd/es/_util/getScroll.js","../../node_modules/antd/es/_util/easings.js","../../node_modules/antd/es/_util/scrollTo.js","../../node_modules/antd/es/_util/hooks/useMultipleSelect.js","../../node_modules/antd/es/_util/hooks/useProxyImperativeHandle.js","../../node_modules/antd/es/_util/hooks/useSyncState.js","../../node_modules/antd/es/_util/isPrimitive.js","../../node_modules/antd/es/dropdown/style/status.js","../../node_modules/antd/es/dropdown/style/index.js","../../node_modules/antd/es/dropdown/dropdown.js","../../node_modules/rc-tree/es/utils/keyUtil.js","../../node_modules/rc-tree/es/utils/treeUtil.js","../../node_modules/rc-tree/es/utils/conductUtil.js","../../node_modules/antd/es/checkbox/style/index.js","../../node_modules/antd/es/checkbox/GroupContext.js","../../node_modules/antd/es/checkbox/Checkbox.js","../../node_modules/antd/es/checkbox/Group.js","../../node_modules/antd/es/checkbox/index.js","../../node_modules/antd/es/dropdown/dropdown-button.js","../../node_modules/antd/es/dropdown/index.js","../../node_modules/rc-util/es/Dom/addEventListener.js","../../node_modules/rc-table/es/constant.js","../../node_modules/@rc-component/context/es/context.js","../../node_modules/@rc-component/context/es/Immutable.js","../../node_modules/rc-table/es/context/TableContext.js","../../node_modules/rc-table/es/context/PerfContext.js","../../node_modules/rc-table/es/utils/valueUtil.js","../../node_modules/rc-table/es/Cell/useCellRender.js","../../node_modules/rc-table/es/Cell/useHoverState.js","../../node_modules/rc-table/es/Cell/index.js","../../node_modules/rc-table/es/utils/fixUtil.js","../../node_modules/rc-table/es/Footer/SummaryContext.js","../../node_modules/rc-table/es/Footer/Cell.js","../../node_modules/rc-table/es/Footer/Row.js","../../node_modules/rc-table/es/Footer/Summary.js","../../node_modules/rc-table/es/Footer/index.js","../../node_modules/rc-table/es/sugar/Column.js","../../node_modules/rc-table/es/sugar/ColumnGroup.js","../../node_modules/rc-table/es/hooks/useFlattenRecords.js","../../node_modules/rc-table/es/hooks/useRowInfo.js","../../node_modules/rc-table/es/Body/ExpandedRow.js","../../node_modules/rc-table/es/utils/expandUtil.js","../../node_modules/rc-table/es/Body/BodyRow.js","../../node_modules/rc-table/es/Body/MeasureCell.js","../../node_modules/rc-table/es/Body/MeasureRow.js","../../node_modules/rc-table/es/Body/index.js","../../node_modules/rc-table/es/utils/legacyUtil.js","../../node_modules/rc-table/es/ColGroup.js","../../node_modules/rc-table/es/FixedHolder/index.js","../../node_modules/rc-table/es/Header/HeaderRow.js","../../node_modules/rc-table/es/Header/Header.js","../../node_modules/rc-table/es/hooks/useColumns/useWidthColumns.js","../../node_modules/rc-table/es/hooks/useColumns/index.js","../../node_modules/rc-table/es/hooks/useExpand.js","../../node_modules/rc-table/es/hooks/useFixedInfo.js","../../node_modules/rc-table/es/hooks/useFrame.js","../../node_modules/rc-table/es/hooks/useHover.js","../../node_modules/rc-table/es/hooks/useSticky.js","../../node_modules/rc-table/es/hooks/useStickyOffsets.js","../../node_modules/rc-table/es/Panel/index.js","../../node_modules/rc-table/es/utils/offsetUtil.js","../../node_modules/rc-table/es/stickyScrollBar.js","../../node_modules/rc-table/es/Table.js","../../node_modules/rc-table/es/VirtualTable/context.js","../../node_modules/rc-table/es/VirtualTable/VirtualCell.js","../../node_modules/rc-table/es/VirtualTable/BodyLine.js","../../node_modules/rc-table/es/VirtualTable/BodyGrid.js","../../node_modules/rc-table/es/VirtualTable/index.js","../../node_modules/antd/es/table/Column.js","../../node_modules/antd/es/table/ColumnGroup.js","../../node_modules/rc-tree/es/contextTypes.js","../../node_modules/rc-tree/es/Indent.js","../../node_modules/rc-tree/es/TreeNode.js","../../node_modules/rc-tree/es/util.js","../../node_modules/antd/es/table/hooks/useSelection.js","../../node_modules/antd/es/table/ExpandIcon.js","../../node_modules/antd/es/table/hooks/useContainerWidth.js","../../node_modules/antd/es/table/util.js","../../node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","../../node_modules/@ant-design/icons/es/icons/FilterFilled.js","../../node_modules/rc-tree/es/DropIndicator.js","../../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","../../node_modules/rc-tree/es/useUnmount.js","../../node_modules/rc-tree/es/MotionTreeNode.js","../../node_modules/rc-tree/es/utils/diffUtil.js","../../node_modules/rc-tree/es/NodeList.js","../../node_modules/rc-tree/es/Tree.js","../../node_modules/@ant-design/icons-svg/es/asn/FileOutlined.js","../../node_modules/@ant-design/icons/es/icons/FileOutlined.js","../../node_modules/@ant-design/icons-svg/es/asn/FolderOpenOutlined.js","../../node_modules/@ant-design/icons/es/icons/FolderOpenOutlined.js","../../node_modules/@ant-design/icons-svg/es/asn/HolderOutlined.js","../../node_modules/@ant-design/icons/es/icons/HolderOutlined.js","../../node_modules/antd/es/tree/style/directory.js","../../node_modules/antd/es/tree/style/index.js","../../node_modules/antd/es/tree/utils/dropIndicator.js","../../node_modules/@ant-design/icons-svg/es/asn/CaretDownFilled.js","../../node_modules/@ant-design/icons/es/icons/CaretDownFilled.js","../../node_modules/@ant-design/icons-svg/es/asn/MinusSquareOutlined.js","../../node_modules/@ant-design/icons/es/icons/MinusSquareOutlined.js","../../node_modules/@ant-design/icons-svg/es/asn/PlusSquareOutlined.js","../../node_modules/@ant-design/icons/es/icons/PlusSquareOutlined.js","../../node_modules/antd/es/tree/utils/iconUtil.js","../../node_modules/antd/es/tree/Tree.js","../../node_modules/antd/es/tree/utils/dictUtil.js","../../node_modules/antd/es/tree/DirectoryTree.js","../../node_modules/antd/es/tree/index.js","../../node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","../../node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","../../node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","../../node_modules/antd/es/table/hooks/useFilter/index.js","../../node_modules/antd/es/table/hooks/useLazyKVMap.js","../../node_modules/antd/es/table/hooks/usePagination.js","../../node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","../../node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","../../node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","../../node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","../../node_modules/antd/es/table/hooks/useSorter.js","../../node_modules/antd/es/table/hooks/useTitleColumns.js","../../node_modules/antd/es/table/RcTable/index.js","../../node_modules/antd/es/table/RcTable/VirtualTable.js","../../node_modules/antd/es/table/style/bordered.js","../../node_modules/antd/es/table/style/ellipsis.js","../../node_modules/antd/es/table/style/empty.js","../../node_modules/antd/es/table/style/expand.js","../../node_modules/antd/es/table/style/filter.js","../../node_modules/antd/es/table/style/fixed.js","../../node_modules/antd/es/table/style/pagination.js","../../node_modules/antd/es/table/style/radius.js","../../node_modules/antd/es/table/style/rtl.js","../../node_modules/antd/es/table/style/selection.js","../../node_modules/antd/es/table/style/size.js","../../node_modules/antd/es/table/style/sorter.js","../../node_modules/antd/es/table/style/sticky.js","../../node_modules/antd/es/table/style/summary.js","../../node_modules/antd/es/table/style/virtual.js","../../node_modules/antd/es/table/style/index.js","../../node_modules/antd/es/table/InternalTable.js","../../node_modules/antd/es/table/Table.js","../../src/hooks/useErrorHandler.ts"],"sourcesContent":["export function isWindow(obj) {\n return obj !== null && obj !== undefined && obj === obj.window;\n}\nconst getScroll = target => {\n var _a, _b;\n if (typeof window === 'undefined') {\n /* istanbul ignore next */\n return 0;\n }\n let result = 0;\n if (isWindow(target)) {\n result = target.pageYOffset;\n } else if (target instanceof Document) {\n result = target.documentElement.scrollTop;\n } else if (target instanceof HTMLElement) {\n result = target.scrollTop;\n } else if (target) {\n // According to the type inference, the `target` is `never` type.\n // Since we configured the loose mode type checking, and supports mocking the target with such shape below::\n // `{ documentElement: { scrollLeft: 200, scrollTop: 400 } }`,\n // the program may falls into this branch.\n // Check the corresponding tests for details. Don't sure what is the real scenario this happens.\n /* biome-ignore lint/complexity/useLiteralKeys: target is a never type */ /* eslint-disable-next-line dot-notation */\n result = target['scrollTop'];\n }\n if (target && !isWindow(target) && typeof result !== 'number') {\n result = (_b = ((_a = target.ownerDocument) !== null && _a !== void 0 ? _a : target).documentElement) === null || _b === void 0 ? void 0 : _b.scrollTop;\n }\n return result;\n};\nexport default getScroll;","export function easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n }\n // biome-ignore lint: it is a common easing function\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}","import raf from \"rc-util/es/raf\";\nimport { easeInOutCubic } from './easings';\nimport getScroll, { isWindow } from './getScroll';\nexport default function scrollTo(y, options = {}) {\n const {\n getContainer = () => window,\n callback,\n duration = 450\n } = options;\n const container = getContainer();\n const scrollTop = getScroll(container);\n const startTime = Date.now();\n const frameFunc = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n const nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);\n if (isWindow(container)) {\n container.scrollTo(window.pageXOffset, nextScrollTop);\n } else if (container instanceof Document || container.constructor.name === 'HTMLDocument') {\n container.documentElement.scrollTop = nextScrollTop;\n } else {\n container.scrollTop = nextScrollTop;\n }\n if (time < duration) {\n raf(frameFunc);\n } else if (typeof callback === 'function') {\n callback();\n }\n };\n raf(frameFunc);\n}","import { useCallback, useState } from 'react';\n/**\n * @title multipleSelect hooks\n * @description multipleSelect by hold down shift key\n */\nexport const useMultipleSelect = getKey => {\n const [prevSelectedIndex, setPrevSelectedIndex] = useState(null);\n const multipleSelect = useCallback((currentSelectedIndex, data, selectedKeys) => {\n const configPrevSelectedIndex = prevSelectedIndex !== null && prevSelectedIndex !== void 0 ? prevSelectedIndex : currentSelectedIndex;\n // add/delete the selected range\n const startIndex = Math.min(configPrevSelectedIndex || 0, currentSelectedIndex);\n const endIndex = Math.max(configPrevSelectedIndex || 0, currentSelectedIndex);\n const rangeKeys = data.slice(startIndex, endIndex + 1).map(getKey);\n const shouldSelected = rangeKeys.some(rangeKey => !selectedKeys.has(rangeKey));\n const changedKeys = [];\n rangeKeys.forEach(item => {\n if (shouldSelected) {\n if (!selectedKeys.has(item)) {\n changedKeys.push(item);\n }\n selectedKeys.add(item);\n } else {\n selectedKeys.delete(item);\n changedKeys.push(item);\n }\n });\n setPrevSelectedIndex(shouldSelected ? endIndex : null);\n return changedKeys;\n }, [prevSelectedIndex]);\n return [multipleSelect, setPrevSelectedIndex];\n};","// Proxy the dom ref with `{ nativeElement, otherFn }` type\n// ref: https://github.com/ant-design/ant-design/discussions/45242\nimport { useImperativeHandle } from 'react';\nfunction fillProxy(element, handler) {\n element._antProxy = element._antProxy || {};\n Object.keys(handler).forEach(key => {\n if (!(key in element._antProxy)) {\n const ori = element[key];\n element._antProxy[key] = ori;\n element[key] = handler[key];\n }\n });\n return element;\n}\nexport const useProxyImperativeHandle = (ref, init) => {\n return useImperativeHandle(ref, () => {\n const refObj = init();\n const {\n nativeElement\n } = refObj;\n if (typeof Proxy !== 'undefined') {\n return new Proxy(nativeElement, {\n get(obj, prop) {\n if (refObj[prop]) {\n return refObj[prop];\n }\n return Reflect.get(obj, prop);\n }\n });\n }\n // Fallback of IE\n return fillProxy(nativeElement, refObj);\n });\n};","import * as React from 'react';\nimport { useForceUpdate } from './useForceUpdate';\nexport const useSyncState = initialValue => {\n const ref = React.useRef(initialValue);\n const [, forceUpdate] = useForceUpdate();\n return [() => ref.current, newValue => {\n ref.current = newValue;\n // re-render\n forceUpdate();\n }];\n};","const isPrimitive = value => typeof value !== 'object' && typeof value !== 'function' || value === null;\nexport default isPrimitive;","const genStatusStyle = token => {\n const {\n componentCls,\n menuCls,\n colorError,\n colorTextLightSolid\n } = token;\n const itemCls = `${menuCls}-item`;\n return {\n [`${componentCls}, ${componentCls}-menu-submenu`]: {\n [`${menuCls} ${itemCls}`]: {\n [`&${itemCls}-danger:not(${itemCls}-disabled)`]: {\n color: colorError,\n '&:hover': {\n color: colorTextLightSolid,\n backgroundColor: colorError\n }\n }\n }\n }\n };\n};\nexport default genStatusStyle;","import { unit } from '@ant-design/cssinjs';\nimport { genFocusStyle, resetComponent } from '../../style';\nimport { initMoveMotion, initSlideMotion, initZoomMotion, slideDownIn, slideDownOut, slideUpIn, slideUpOut } from '../../style/motion';\nimport getArrowStyle, { getArrowOffsetToken } from '../../style/placementArrow';\nimport { getArrowToken } from '../../style/roundedArrow';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport genStatusStyle from './status';\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n menuCls,\n zIndexPopup,\n dropdownArrowDistance,\n sizePopupArrow,\n antCls,\n iconCls,\n motionDurationMid,\n paddingBlock,\n fontSize,\n dropdownEdgeChildPadding,\n colorTextDisabled,\n fontSizeIcon,\n controlPaddingHorizontal,\n colorBgElevated\n } = token;\n return [{\n [componentCls]: {\n position: 'absolute',\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: zIndexPopup,\n display: 'block',\n // A placeholder out of dropdown visible range to avoid close when user moving\n '&::before': {\n position: 'absolute',\n insetBlock: token.calc(sizePopupArrow).div(2).sub(dropdownArrowDistance).equal(),\n // insetInlineStart: -7, // FIXME: Seems not work for hidden element\n zIndex: -9999,\n opacity: 0.0001,\n content: '\"\"'\n },\n // Makes vertical dropdowns have a scrollbar once they become taller than the viewport.\n '&-menu-vertical': {\n maxHeight: '100vh',\n overflowY: 'auto'\n },\n [`&-trigger${antCls}-btn`]: {\n [`& > ${iconCls}-down, & > ${antCls}-btn-icon > ${iconCls}-down`]: {\n fontSize: fontSizeIcon\n }\n },\n [`${componentCls}-wrap`]: {\n position: 'relative',\n [`${antCls}-btn > ${iconCls}-down`]: {\n fontSize: fontSizeIcon\n },\n [`${iconCls}-down::before`]: {\n transition: `transform ${motionDurationMid}`\n }\n },\n [`${componentCls}-wrap-open`]: {\n [`${iconCls}-down::before`]: {\n transform: `rotate(180deg)`\n }\n },\n [`\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n `]: {\n display: 'none'\n },\n // =============================================================\n // == Motion ==\n // =============================================================\n // When position is not enough for dropdown, the placement will revert.\n // We will handle this with revert motion name.\n [`&${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomRight,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpIn\n },\n [`&${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-top,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-top,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topRight,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topRight`]: {\n animationName: slideDownIn\n },\n [`&${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpOut\n },\n [`&${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-top,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topRight`]: {\n animationName: slideDownOut\n }\n }\n },\n // =============================================================\n // == Arrow style ==\n // =============================================================\n getArrowStyle(token, colorBgElevated, {\n arrowPlacement: {\n top: true,\n bottom: true\n }\n }), {\n // =============================================================\n // == Menu ==\n // =============================================================\n [`${componentCls} ${menuCls}`]: {\n position: 'relative',\n margin: 0\n },\n [`${menuCls}-submenu-popup`]: {\n position: 'absolute',\n zIndex: zIndexPopup,\n background: 'transparent',\n boxShadow: 'none',\n transformOrigin: '0 0',\n 'ul, li': {\n listStyle: 'none',\n margin: 0\n }\n },\n [`${componentCls}, ${componentCls}-menu-submenu`]: Object.assign(Object.assign({}, resetComponent(token)), {\n [menuCls]: Object.assign(Object.assign({\n padding: dropdownEdgeChildPadding,\n listStyleType: 'none',\n backgroundColor: colorBgElevated,\n backgroundClip: 'padding-box',\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary\n }, genFocusStyle(token)), {\n '&:empty': {\n padding: 0,\n boxShadow: 'none'\n },\n [`${menuCls}-item-group-title`]: {\n padding: `${unit(paddingBlock)} ${unit(controlPaddingHorizontal)}`,\n color: token.colorTextDescription,\n transition: `all ${motionDurationMid}`\n },\n // ======================= Item Content =======================\n [`${menuCls}-item`]: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n },\n [`${menuCls}-item-icon`]: {\n minWidth: fontSize,\n marginInlineEnd: token.marginXS,\n fontSize: token.fontSizeSM\n },\n [`${menuCls}-title-content`]: {\n flex: 'auto',\n '&-with-extra': {\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%'\n },\n '> a': {\n color: 'inherit',\n transition: `all ${motionDurationMid}`,\n '&:hover': {\n color: 'inherit'\n },\n '&::after': {\n position: 'absolute',\n inset: 0,\n content: '\"\"'\n }\n },\n [`${menuCls}-item-extra`]: {\n paddingInlineStart: token.padding,\n marginInlineStart: 'auto',\n fontSize: token.fontSizeSM,\n color: token.colorTextDescription\n }\n },\n // =========================== Item ===========================\n [`${menuCls}-item, ${menuCls}-submenu-title`]: Object.assign(Object.assign({\n display: 'flex',\n margin: 0,\n padding: `${unit(paddingBlock)} ${unit(controlPaddingHorizontal)}`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n transition: `all ${motionDurationMid}`,\n borderRadius: token.borderRadiusSM,\n '&:hover, &-active': {\n backgroundColor: token.controlItemBgHover\n }\n }, genFocusStyle(token)), {\n '&-selected': {\n color: token.colorPrimary,\n backgroundColor: token.controlItemBgActive,\n '&:hover, &-active': {\n backgroundColor: token.controlItemBgActiveHover\n }\n },\n '&-disabled': {\n color: colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n },\n a: {\n pointerEvents: 'none'\n }\n },\n '&-divider': {\n height: 1,\n // By design\n margin: `${unit(token.marginXXS)} 0`,\n overflow: 'hidden',\n lineHeight: 0,\n backgroundColor: token.colorSplit\n },\n [`${componentCls}-menu-submenu-expand-icon`]: {\n position: 'absolute',\n insetInlineEnd: token.paddingXS,\n [`${componentCls}-menu-submenu-arrow-icon`]: {\n marginInlineEnd: '0 !important',\n color: token.colorIcon,\n fontSize: fontSizeIcon,\n fontStyle: 'normal'\n }\n }\n }),\n [`${menuCls}-item-group-list`]: {\n margin: `0 ${unit(token.marginXS)}`,\n padding: 0,\n listStyle: 'none'\n },\n [`${menuCls}-submenu-title`]: {\n paddingInlineEnd: token.calc(controlPaddingHorizontal).add(token.fontSizeSM).equal()\n },\n [`${menuCls}-submenu-vertical`]: {\n position: 'relative'\n },\n [`${menuCls}-submenu${menuCls}-submenu-disabled ${componentCls}-menu-submenu-title`]: {\n [`&, ${componentCls}-menu-submenu-arrow-icon`]: {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n }\n },\n // https://github.com/ant-design/ant-design/issues/19264\n [`${menuCls}-submenu-selected ${componentCls}-menu-submenu-title`]: {\n color: token.colorPrimary\n }\n })\n })\n },\n // Follow code may reuse in other components\n [initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down'), initMoveMotion(token, 'move-up'), initMoveMotion(token, 'move-down'), initZoomMotion(token, 'zoom-big')]];\n};\n// ============================== Export ==============================\nexport const prepareComponentToken = token => Object.assign(Object.assign({\n zIndexPopup: token.zIndexPopupBase + 50,\n paddingBlock: (token.controlHeight - token.fontSize * token.lineHeight) / 2\n}, getArrowOffsetToken({\n contentRadius: token.borderRadiusLG,\n limitVerticalRadius: true\n})), getArrowToken(token));\nexport default genStyleHooks('Dropdown', token => {\n const {\n marginXXS,\n sizePopupArrow,\n paddingXXS,\n componentCls\n } = token;\n const dropdownToken = mergeToken(token, {\n menuCls: `${componentCls}-menu`,\n dropdownArrowDistance: token.calc(sizePopupArrow).div(2).add(marginXXS).equal(),\n dropdownEdgeChildPadding: paddingXXS\n });\n return [genBaseStyle(dropdownToken), genStatusStyle(dropdownToken)];\n}, prepareComponentToken, {\n resetStyle: false\n});","\"use client\";\n\nimport * as React from 'react';\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcDropdown from 'rc-dropdown';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport { useZIndex } from '../_util/hooks';\nimport isPrimitive from '../_util/isPrimitive';\nimport getPlacements from '../_util/placements';\nimport genPurePanel from '../_util/PurePanel';\nimport { cloneElement } from '../_util/reactNode';\nimport { devUseWarning } from '../_util/warning';\nimport zIndexContext from '../_util/zindexContext';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport Menu from '../menu';\nimport { OverrideProvider } from '../menu/OverrideContext';\nimport { useToken } from '../theme/internal';\nimport useStyle from './style';\nconst _Placements = ['topLeft', 'topCenter', 'topRight', 'bottomLeft', 'bottomCenter', 'bottomRight', 'top', 'bottom'];\nconst Dropdown = props => {\n var _a;\n const {\n menu,\n arrow,\n prefixCls: customizePrefixCls,\n children,\n trigger,\n disabled,\n dropdownRender,\n popupRender,\n getPopupContainer,\n overlayClassName,\n rootClassName,\n overlayStyle,\n open,\n onOpenChange,\n // Deprecated\n visible,\n onVisibleChange,\n mouseEnterDelay = 0.15,\n mouseLeaveDelay = 0.1,\n autoAdjustOverflow = true,\n placement = '',\n overlay,\n transitionName,\n destroyOnHidden,\n destroyPopupOnHide\n } = props;\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction,\n dropdown\n } = React.useContext(ConfigContext);\n const mergedPopupRender = popupRender || dropdownRender;\n // Warning for deprecated usage\n const warning = devUseWarning('Dropdown');\n if (process.env.NODE_ENV !== 'production') {\n const deprecatedProps = {\n visible: 'open',\n onVisibleChange: 'onOpenChange',\n overlay: 'menu',\n dropdownRender: 'popupRender',\n destroyPopupOnHide: 'destroyOnHidden'\n };\n Object.entries(deprecatedProps).forEach(([deprecatedName, newName]) => {\n warning.deprecated(!(deprecatedName in props), deprecatedName, newName);\n });\n if (placement.includes('Center')) {\n warning.deprecated(!placement.includes('Center'), `placement: ${placement}`, `placement: ${placement.slice(0, placement.indexOf('Center'))}`);\n }\n }\n const memoTransitionName = React.useMemo(() => {\n const rootPrefixCls = getPrefixCls();\n if (transitionName !== undefined) {\n return transitionName;\n }\n if (placement.includes('top')) {\n return `${rootPrefixCls}-slide-down`;\n }\n return `${rootPrefixCls}-slide-up`;\n }, [getPrefixCls, placement, transitionName]);\n const memoPlacement = React.useMemo(() => {\n if (!placement) {\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n }\n if (placement.includes('Center')) {\n return placement.slice(0, placement.indexOf('Center'));\n }\n return placement;\n }, [placement, direction]);\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const [, token] = useToken();\n const child = React.Children.only(isPrimitive(children) ? /*#__PURE__*/React.createElement(\"span\", null, children) : children);\n const popupTrigger = cloneElement(child, {\n className: classNames(`${prefixCls}-trigger`, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, child.props.className),\n disabled: (_a = child.props.disabled) !== null && _a !== void 0 ? _a : disabled\n });\n const triggerActions = disabled ? [] : trigger;\n const alignPoint = !!(triggerActions === null || triggerActions === void 0 ? void 0 : triggerActions.includes('contextMenu'));\n // =========================== Open ============================\n const [mergedOpen, setOpen] = useMergedState(false, {\n value: open !== null && open !== void 0 ? open : visible\n });\n const onInnerOpenChange = useEvent(nextOpen => {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen, {\n source: 'trigger'\n });\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(nextOpen);\n setOpen(nextOpen);\n });\n // =========================== Overlay ============================\n const overlayClassNameCustomized = classNames(overlayClassName, rootClassName, hashId, cssVarCls, rootCls, dropdown === null || dropdown === void 0 ? void 0 : dropdown.className, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n });\n const builtinPlacements = getPlacements({\n arrowPointAtCenter: typeof arrow === 'object' && arrow.pointAtCenter,\n autoAdjustOverflow,\n offset: token.marginXXS,\n arrowWidth: arrow ? token.sizePopupArrow : 0,\n borderRadius: token.borderRadius\n });\n const onMenuClick = useEvent(() => {\n if ((menu === null || menu === void 0 ? void 0 : menu.selectable) && (menu === null || menu === void 0 ? void 0 : menu.multiple)) {\n return;\n }\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false, {\n source: 'menu'\n });\n setOpen(false);\n });\n const renderOverlay = () => {\n // rc-dropdown already can process the function of overlay, but we have check logic here.\n // So we need render the element to check and pass back to rc-dropdown.\n let overlayNode;\n if (menu === null || menu === void 0 ? void 0 : menu.items) {\n overlayNode = /*#__PURE__*/React.createElement(Menu, Object.assign({}, menu));\n } else if (typeof overlay === 'function') {\n overlayNode = overlay();\n } else {\n overlayNode = overlay;\n }\n if (mergedPopupRender) {\n overlayNode = mergedPopupRender(overlayNode);\n }\n overlayNode = React.Children.only(typeof overlayNode === 'string' ? /*#__PURE__*/React.createElement(\"span\", null, overlayNode) : overlayNode);\n return /*#__PURE__*/React.createElement(OverrideProvider, {\n prefixCls: `${prefixCls}-menu`,\n rootClassName: classNames(cssVarCls, rootCls),\n expandIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-menu-submenu-arrow`\n }, direction === 'rtl' ? (/*#__PURE__*/React.createElement(LeftOutlined, {\n className: `${prefixCls}-menu-submenu-arrow-icon`\n })) : (/*#__PURE__*/React.createElement(RightOutlined, {\n className: `${prefixCls}-menu-submenu-arrow-icon`\n }))),\n mode: \"vertical\",\n selectable: false,\n onClick: onMenuClick,\n validator: ({\n mode\n }) => {\n // Warning if use other mode\n process.env.NODE_ENV !== \"production\" ? warning(!mode || mode === 'vertical', 'usage', `mode=\"${mode}\" is not supported for Dropdown's Menu.`) : void 0;\n }\n }, overlayNode);\n };\n // =========================== zIndex ============================\n const [zIndex, contextZIndex] = useZIndex('Dropdown', overlayStyle === null || overlayStyle === void 0 ? void 0 : overlayStyle.zIndex);\n // ============================ Render ============================\n let renderNode = /*#__PURE__*/React.createElement(RcDropdown, Object.assign({\n alignPoint: alignPoint\n }, omit(props, ['rootClassName']), {\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n visible: mergedOpen,\n builtinPlacements: builtinPlacements,\n arrow: !!arrow,\n overlayClassName: overlayClassNameCustomized,\n prefixCls: prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: memoTransitionName,\n trigger: triggerActions,\n overlay: renderOverlay,\n placement: memoPlacement,\n onVisibleChange: onInnerOpenChange,\n overlayStyle: Object.assign(Object.assign(Object.assign({}, dropdown === null || dropdown === void 0 ? void 0 : dropdown.style), overlayStyle), {\n zIndex\n }),\n autoDestroy: destroyOnHidden !== null && destroyOnHidden !== void 0 ? destroyOnHidden : destroyPopupOnHide\n }), popupTrigger);\n if (zIndex) {\n renderNode = /*#__PURE__*/React.createElement(zIndexContext.Provider, {\n value: contextZIndex\n }, renderNode);\n }\n return wrapCSSVar(renderNode);\n};\n// We don't care debug panel\nconst PurePanel = genPurePanel(Dropdown, 'align', undefined, 'dropdown', prefixCls => prefixCls);\n/* istanbul ignore next */\nconst WrapPurePanel = props => (/*#__PURE__*/React.createElement(PurePanel, Object.assign({}, props), /*#__PURE__*/React.createElement(\"span\", null)));\nDropdown._InternalPanelDoNotUseOrYouWillBeFired = WrapPurePanel;\nif (process.env.NODE_ENV !== 'production') {\n Dropdown.displayName = 'Dropdown';\n}\nexport default Dropdown;","export default function getEntity(keyEntities, key) {\n return keyEntities[key];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport toArray from \"rc-util/es/Children/toArray\";\nimport omit from \"rc-util/es/omit\";\nimport warning from \"rc-util/es/warning\";\nimport getEntity from \"./keyUtil\";\nexport function getPosition(level, index) {\n return \"\".concat(level, \"-\").concat(index);\n}\nexport function isTreeNode(node) {\n return node && node.type && node.type.isTreeNode;\n}\nexport function getKey(key, pos) {\n if (key !== null && key !== undefined) {\n return key;\n }\n return pos;\n}\nexport function fillFieldNames(fieldNames) {\n var _ref = fieldNames || {},\n title = _ref.title,\n _title = _ref._title,\n key = _ref.key,\n children = _ref.children;\n var mergedTitle = title || 'title';\n return {\n title: mergedTitle,\n _title: _title || [mergedTitle],\n key: key || 'key',\n children: children || 'children'\n };\n}\n\n/**\n * Warning if TreeNode do not provides key\n */\nexport function warningWithoutKey(treeData, fieldNames) {\n var keys = new Map();\n function dig(list) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (list || []).forEach(function (treeNode) {\n var key = treeNode[fieldNames.key];\n var children = treeNode[fieldNames.children];\n warning(key !== null && key !== undefined, \"Tree node must have a certain key: [\".concat(path).concat(key, \"]\"));\n var recordKey = String(key);\n warning(!keys.has(recordKey) || key === null || key === undefined, \"Same 'key' exist in the Tree: \".concat(recordKey));\n keys.set(recordKey, true);\n dig(children, \"\".concat(path).concat(recordKey, \" > \"));\n });\n }\n dig(treeData);\n}\n\n/**\n * Convert `children` of Tree into `treeData` structure.\n */\nexport function convertTreeToData(rootNodes) {\n function dig(node) {\n var treeNodes = toArray(node);\n return treeNodes.map(function (treeNode) {\n // Filter invalidate node\n if (!isTreeNode(treeNode)) {\n warning(!treeNode, 'Tree/TreeNode can only accept TreeNode as children.');\n return null;\n }\n var key = treeNode.key;\n var _treeNode$props = treeNode.props,\n children = _treeNode$props.children,\n rest = _objectWithoutProperties(_treeNode$props, _excluded);\n var dataNode = _objectSpread({\n key: key\n }, rest);\n var parsedChildren = dig(children);\n if (parsedChildren.length) {\n dataNode.children = parsedChildren;\n }\n return dataNode;\n }).filter(function (dataNode) {\n return dataNode;\n });\n }\n return dig(rootNodes);\n}\n\n/**\n * Flat nest tree data into flatten list. This is used for virtual list render.\n * @param treeNodeList Origin data node list\n * @param expandedKeys\n * need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).\n */\nexport function flattenTreeData(treeNodeList, expandedKeys, fieldNames) {\n var _fillFieldNames = fillFieldNames(fieldNames),\n fieldTitles = _fillFieldNames._title,\n fieldKey = _fillFieldNames.key,\n fieldChildren = _fillFieldNames.children;\n var expandedKeySet = new Set(expandedKeys === true ? [] : expandedKeys);\n var flattenList = [];\n function dig(list) {\n var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return list.map(function (treeNode, index) {\n var pos = getPosition(parent ? parent.pos : '0', index);\n var mergedKey = getKey(treeNode[fieldKey], pos);\n\n // Pick matched title in field title list\n var mergedTitle;\n for (var i = 0; i < fieldTitles.length; i += 1) {\n var fieldTitle = fieldTitles[i];\n if (treeNode[fieldTitle] !== undefined) {\n mergedTitle = treeNode[fieldTitle];\n break;\n }\n }\n\n // Add FlattenDataNode into list\n // We use `Object.assign` here to save perf since babel's `objectSpread` has perf issue\n var flattenNode = Object.assign(omit(treeNode, [].concat(_toConsumableArray(fieldTitles), [fieldKey, fieldChildren])), {\n title: mergedTitle,\n key: mergedKey,\n parent: parent,\n pos: pos,\n children: null,\n data: treeNode,\n isStart: [].concat(_toConsumableArray(parent ? parent.isStart : []), [index === 0]),\n isEnd: [].concat(_toConsumableArray(parent ? parent.isEnd : []), [index === list.length - 1])\n });\n flattenList.push(flattenNode);\n\n // Loop treeNode children\n if (expandedKeys === true || expandedKeySet.has(mergedKey)) {\n flattenNode.children = dig(treeNode[fieldChildren] || [], flattenNode);\n } else {\n flattenNode.children = [];\n }\n return flattenNode;\n });\n }\n dig(treeNodeList);\n return flattenList;\n}\n/**\n * Traverse all the data by `treeData`.\n * Please not use it out of the `rc-tree` since we may refactor this code.\n */\nexport function traverseDataNodes(dataNodes, callback,\n// To avoid too many params, let use config instead of origin param\nconfig) {\n var mergedConfig = {};\n if (_typeof(config) === 'object') {\n mergedConfig = config;\n } else {\n mergedConfig = {\n externalGetKey: config\n };\n }\n mergedConfig = mergedConfig || {};\n\n // Init config\n var _mergedConfig = mergedConfig,\n childrenPropName = _mergedConfig.childrenPropName,\n externalGetKey = _mergedConfig.externalGetKey,\n fieldNames = _mergedConfig.fieldNames;\n var _fillFieldNames2 = fillFieldNames(fieldNames),\n fieldKey = _fillFieldNames2.key,\n fieldChildren = _fillFieldNames2.children;\n var mergeChildrenPropName = childrenPropName || fieldChildren;\n\n // Get keys\n var syntheticGetKey;\n if (externalGetKey) {\n if (typeof externalGetKey === 'string') {\n syntheticGetKey = function syntheticGetKey(node) {\n return node[externalGetKey];\n };\n } else if (typeof externalGetKey === 'function') {\n syntheticGetKey = function syntheticGetKey(node) {\n return externalGetKey(node);\n };\n }\n } else {\n syntheticGetKey = function syntheticGetKey(node, pos) {\n return getKey(node[fieldKey], pos);\n };\n }\n\n // Process\n function processNode(node, index, parent, pathNodes) {\n var children = node ? node[mergeChildrenPropName] : dataNodes;\n var pos = node ? getPosition(parent.pos, index) : '0';\n var connectNodes = node ? [].concat(_toConsumableArray(pathNodes), [node]) : [];\n\n // Process node if is not root\n if (node) {\n var key = syntheticGetKey(node, pos);\n var _data = {\n node: node,\n index: index,\n pos: pos,\n key: key,\n parentPos: parent.node ? parent.pos : null,\n level: parent.level + 1,\n nodes: connectNodes\n };\n callback(_data);\n }\n\n // Process children node\n if (children) {\n children.forEach(function (subNode, subIndex) {\n processNode(subNode, subIndex, {\n node: node,\n pos: pos,\n level: parent ? parent.level + 1 : -1\n }, connectNodes);\n });\n }\n }\n processNode(null);\n}\n/**\n * Convert `treeData` into entity records.\n */\nexport function convertDataToEntities(dataNodes) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n initWrapper = _ref2.initWrapper,\n processEntity = _ref2.processEntity,\n onProcessFinished = _ref2.onProcessFinished,\n externalGetKey = _ref2.externalGetKey,\n childrenPropName = _ref2.childrenPropName,\n fieldNames = _ref2.fieldNames;\n var /** @deprecated Use `config.externalGetKey` instead */\n legacyExternalGetKey = arguments.length > 2 ? arguments[2] : undefined;\n // Init config\n var mergedExternalGetKey = externalGetKey || legacyExternalGetKey;\n var posEntities = {};\n var keyEntities = {};\n var wrapper = {\n posEntities: posEntities,\n keyEntities: keyEntities\n };\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n traverseDataNodes(dataNodes, function (item) {\n var node = item.node,\n index = item.index,\n pos = item.pos,\n key = item.key,\n parentPos = item.parentPos,\n level = item.level,\n nodes = item.nodes;\n var entity = {\n node: node,\n nodes: nodes,\n index: index,\n key: key,\n pos: pos,\n level: level\n };\n var mergedKey = getKey(key, pos);\n posEntities[pos] = entity;\n keyEntities[mergedKey] = entity;\n\n // Fill children\n entity.parent = posEntities[parentPos];\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n }, {\n externalGetKey: mergedExternalGetKey,\n childrenPropName: childrenPropName,\n fieldNames: fieldNames\n });\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n return wrapper;\n}\n/**\n * Get TreeNode props with Tree props.\n */\nexport function getTreeNodeProps(key, _ref3) {\n var expandedKeys = _ref3.expandedKeys,\n selectedKeys = _ref3.selectedKeys,\n loadedKeys = _ref3.loadedKeys,\n loadingKeys = _ref3.loadingKeys,\n checkedKeys = _ref3.checkedKeys,\n halfCheckedKeys = _ref3.halfCheckedKeys,\n dragOverNodeKey = _ref3.dragOverNodeKey,\n dropPosition = _ref3.dropPosition,\n keyEntities = _ref3.keyEntities;\n var entity = getEntity(keyEntities, key);\n var treeNodeProps = {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.indexOf(key) !== -1,\n checked: checkedKeys.indexOf(key) !== -1,\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos: String(entity ? entity.pos : ''),\n // [Legacy] Drag props\n // Since the interaction of drag is changed, the semantic of the props are\n // not accuracy, I think it should be finally removed\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1\n };\n return treeNodeProps;\n}\nexport function convertNodePropsToEventData(props) {\n var data = props.data,\n expanded = props.expanded,\n selected = props.selected,\n checked = props.checked,\n loaded = props.loaded,\n loading = props.loading,\n halfChecked = props.halfChecked,\n dragOver = props.dragOver,\n dragOverGapTop = props.dragOverGapTop,\n dragOverGapBottom = props.dragOverGapBottom,\n pos = props.pos,\n active = props.active,\n eventKey = props.eventKey;\n var eventData = _objectSpread(_objectSpread({}, data), {}, {\n expanded: expanded,\n selected: selected,\n checked: checked,\n loaded: loaded,\n loading: loading,\n halfChecked: halfChecked,\n dragOver: dragOver,\n dragOverGapTop: dragOverGapTop,\n dragOverGapBottom: dragOverGapBottom,\n pos: pos,\n active: active,\n key: eventKey\n });\n if (!('props' in eventData)) {\n Object.defineProperty(eventData, 'props', {\n get: function get() {\n warning(false, 'Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`.');\n return props;\n }\n });\n }\n return eventData;\n}","import warning from \"rc-util/es/warning\";\nimport getEntity from \"./keyUtil\";\nfunction removeFromCheckedKeys(halfCheckedKeys, checkedKeys) {\n var filteredKeys = new Set();\n halfCheckedKeys.forEach(function (key) {\n if (!checkedKeys.has(key)) {\n filteredKeys.add(key);\n }\n });\n return filteredKeys;\n}\nexport function isCheckDisabled(node) {\n var _ref = node || {},\n disabled = _ref.disabled,\n disableCheckbox = _ref.disableCheckbox,\n checkable = _ref.checkable;\n return !!(disabled || disableCheckbox) || checkable === false;\n}\n\n// Fill miss keys\nfunction fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set();\n\n // Add checked keys top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children = entity.children,\n children = _entity$children === void 0 ? [] : _entity$children;\n if (checkedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.add(childEntity.key);\n });\n }\n });\n }\n\n // Add checked keys from bottom to top\n var visitedKeys = new Set();\n for (var _level = maxLevel; _level >= 0; _level -= 1) {\n var _entities = levelEntities.get(_level) || new Set();\n _entities.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref2) {\n var key = _ref2.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (allChecked) {\n checkedKeys.add(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n\n// Remove useless key\nfunction cleanConductCheck(keys, halfKeys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set(halfKeys);\n\n // Remove checked keys from top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children2 = entity.children,\n children = _entity$children2 === void 0 ? [] : _entity$children2;\n if (!checkedKeys.has(key) && !halfCheckedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.delete(childEntity.key);\n });\n }\n });\n }\n\n // Remove checked keys form bottom to top\n halfCheckedKeys = new Set();\n var visitedKeys = new Set();\n for (var _level2 = maxLevel; _level2 >= 0; _level2 -= 1) {\n var _entities2 = levelEntities.get(_level2) || new Set();\n _entities2.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref3) {\n var key = _ref3.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (!allChecked) {\n checkedKeys.delete(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n\n/**\n * Conduct with keys.\n * @param keyList current key list\n * @param keyEntities key - dataEntity map\n * @param mode `fill` to fill missing key, `clean` to remove useless key\n */\nexport function conductCheck(keyList, checked, keyEntities, getCheckDisabled) {\n var warningMissKeys = [];\n var syntheticGetCheckDisabled;\n if (getCheckDisabled) {\n syntheticGetCheckDisabled = getCheckDisabled;\n } else {\n syntheticGetCheckDisabled = isCheckDisabled;\n }\n\n // We only handle exist keys\n var keys = new Set(keyList.filter(function (key) {\n var hasEntity = !!getEntity(keyEntities, key);\n if (!hasEntity) {\n warningMissKeys.push(key);\n }\n return hasEntity;\n }));\n var levelEntities = new Map();\n var maxLevel = 0;\n\n // Convert entities by level for calculation\n Object.keys(keyEntities).forEach(function (key) {\n var entity = keyEntities[key];\n var level = entity.level;\n var levelSet = levelEntities.get(level);\n if (!levelSet) {\n levelSet = new Set();\n levelEntities.set(level, levelSet);\n }\n levelSet.add(entity);\n maxLevel = Math.max(maxLevel, level);\n });\n warning(!warningMissKeys.length, \"Tree missing follow keys: \".concat(warningMissKeys.slice(0, 100).map(function (key) {\n return \"'\".concat(key, \"'\");\n }).join(', ')));\n var result;\n if (checked === true) {\n result = fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n } else {\n result = cleanConductCheck(keys, checked.halfCheckedKeys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n }\n return result;\n}","import { unit } from '@ant-design/cssinjs';\nimport { genFocusOutline, resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\nexport const genCheckboxStyle = token => {\n const {\n checkboxCls\n } = token;\n const wrapperCls = `${checkboxCls}-wrapper`;\n return [\n // ===================== Basic =====================\n {\n // Group\n [`${checkboxCls}-group`]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-flex',\n flexWrap: 'wrap',\n columnGap: token.marginXS,\n // Group > Grid\n [`> ${token.antCls}-row`]: {\n flex: 1\n }\n }),\n // Wrapper\n [wrapperCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-flex',\n alignItems: 'baseline',\n cursor: 'pointer',\n // Fix checkbox & radio in flex align #30260\n '&:after': {\n display: 'inline-block',\n width: 0,\n overflow: 'hidden',\n content: \"'\\\\a0'\"\n },\n // Checkbox near checkbox\n [`& + ${wrapperCls}`]: {\n marginInlineStart: 0\n },\n [`&${wrapperCls}-in-form-item`]: {\n 'input[type=\"checkbox\"]': {\n width: 14,\n // FIXME: magic\n height: 14 // FIXME: magic\n }\n }\n }),\n // Wrapper > Checkbox\n [checkboxCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n whiteSpace: 'nowrap',\n lineHeight: 1,\n cursor: 'pointer',\n borderRadius: token.borderRadiusSM,\n // To make alignment right when `controlHeight` is changed\n // Ref: https://github.com/ant-design/ant-design/issues/41564\n alignSelf: 'center',\n // Wrapper > Checkbox > input\n [`${checkboxCls}-input`]: {\n position: 'absolute',\n // Since baseline align will get additional space offset,\n // we need to move input to top to make it align with text.\n // Ref: https://github.com/ant-design/ant-design/issues/38926#issuecomment-1486137799\n inset: 0,\n zIndex: 1,\n cursor: 'pointer',\n opacity: 0,\n margin: 0,\n [`&:focus-visible + ${checkboxCls}-inner`]: genFocusOutline(token)\n },\n // Wrapper > Checkbox > inner\n [`${checkboxCls}-inner`]: {\n boxSizing: 'border-box',\n display: 'block',\n width: token.checkboxSize,\n height: token.checkboxSize,\n direction: 'ltr',\n backgroundColor: token.colorBgContainer,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadiusSM,\n borderCollapse: 'separate',\n transition: `all ${token.motionDurationSlow}`,\n '&:after': {\n boxSizing: 'border-box',\n position: 'absolute',\n top: '50%',\n insetInlineStart: '25%',\n display: 'table',\n width: token.calc(token.checkboxSize).div(14).mul(5).equal(),\n height: token.calc(token.checkboxSize).div(14).mul(8).equal(),\n border: `${unit(token.lineWidthBold)} solid ${token.colorWhite}`,\n borderTop: 0,\n borderInlineStart: 0,\n transform: 'rotate(45deg) scale(0) translate(-50%,-50%)',\n opacity: 0,\n content: '\"\"',\n transition: `all ${token.motionDurationFast} ${token.motionEaseInBack}, opacity ${token.motionDurationFast}`\n }\n },\n // Wrapper > Checkbox + Text\n '& + span': {\n paddingInlineStart: token.paddingXS,\n paddingInlineEnd: token.paddingXS\n }\n })\n },\n // ===================== Hover =====================\n {\n // Wrapper & Wrapper > Checkbox\n [`\n ${wrapperCls}:not(${wrapperCls}-disabled),\n ${checkboxCls}:not(${checkboxCls}-disabled)\n `]: {\n [`&:hover ${checkboxCls}-inner`]: {\n borderColor: token.colorPrimary\n }\n },\n [`${wrapperCls}:not(${wrapperCls}-disabled)`]: {\n [`&:hover ${checkboxCls}-checked:not(${checkboxCls}-disabled) ${checkboxCls}-inner`]: {\n backgroundColor: token.colorPrimaryHover,\n borderColor: 'transparent'\n },\n [`&:hover ${checkboxCls}-checked:not(${checkboxCls}-disabled):after`]: {\n borderColor: token.colorPrimaryHover\n }\n }\n },\n // ==================== Checked ====================\n {\n // Wrapper > Checkbox\n [`${checkboxCls}-checked`]: {\n [`${checkboxCls}-inner`]: {\n backgroundColor: token.colorPrimary,\n borderColor: token.colorPrimary,\n '&:after': {\n opacity: 1,\n transform: 'rotate(45deg) scale(1) translate(-50%,-50%)',\n transition: `all ${token.motionDurationMid} ${token.motionEaseOutBack} ${token.motionDurationFast}`\n }\n }\n },\n [`\n ${wrapperCls}-checked:not(${wrapperCls}-disabled),\n ${checkboxCls}-checked:not(${checkboxCls}-disabled)\n `]: {\n [`&:hover ${checkboxCls}-inner`]: {\n backgroundColor: token.colorPrimaryHover,\n borderColor: 'transparent'\n }\n }\n },\n // ================= Indeterminate =================\n {\n [checkboxCls]: {\n '&-indeterminate': {\n '&': {\n // Wrapper > Checkbox > inner\n [`${checkboxCls}-inner`]: {\n backgroundColor: `${token.colorBgContainer}`,\n borderColor: `${token.colorBorder}`,\n '&:after': {\n top: '50%',\n insetInlineStart: '50%',\n width: token.calc(token.fontSizeLG).div(2).equal(),\n height: token.calc(token.fontSizeLG).div(2).equal(),\n backgroundColor: token.colorPrimary,\n border: 0,\n transform: 'translate(-50%, -50%) scale(1)',\n opacity: 1,\n content: '\"\"'\n }\n },\n // https://github.com/ant-design/ant-design/issues/50074\n [`&:hover ${checkboxCls}-inner`]: {\n backgroundColor: `${token.colorBgContainer}`,\n borderColor: `${token.colorPrimary}`\n }\n }\n }\n }\n },\n // ==================== Disable ====================\n {\n // Wrapper\n [`${wrapperCls}-disabled`]: {\n cursor: 'not-allowed'\n },\n // Wrapper > Checkbox\n [`${checkboxCls}-disabled`]: {\n // Wrapper > Checkbox > input\n [`&, ${checkboxCls}-input`]: {\n cursor: 'not-allowed',\n // Disabled for native input to enable Tooltip event handler\n // ref: https://github.com/ant-design/ant-design/issues/39822#issuecomment-1365075901\n pointerEvents: 'none'\n },\n // Wrapper > Checkbox > inner\n [`${checkboxCls}-inner`]: {\n background: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n '&:after': {\n borderColor: token.colorTextDisabled\n }\n },\n '&:after': {\n display: 'none'\n },\n '& + span': {\n color: token.colorTextDisabled\n },\n [`&${checkboxCls}-indeterminate ${checkboxCls}-inner::after`]: {\n background: token.colorTextDisabled\n }\n }\n }];\n};\n// ============================== Export ==============================\nexport function getStyle(prefixCls, token) {\n const checkboxToken = mergeToken(token, {\n checkboxCls: `.${prefixCls}`,\n checkboxSize: token.controlInteractiveSize\n });\n return genCheckboxStyle(checkboxToken);\n}\nexport default genStyleHooks('Checkbox', (token, {\n prefixCls\n}) => [getStyle(prefixCls, token)]);","import React from 'react';\nconst GroupContext = /*#__PURE__*/React.createContext(null);\nexport default GroupContext;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport { FormItemInputContext } from '../form/context';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nimport useBubbleLock from './useBubbleLock';\nconst InternalCheckbox = (props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n indeterminate = false,\n style,\n onMouseEnter,\n onMouseLeave,\n skipGroup = false,\n disabled\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"indeterminate\", \"style\", \"onMouseEnter\", \"onMouseLeave\", \"skipGroup\", \"disabled\"]);\n const {\n getPrefixCls,\n direction,\n checkbox\n } = React.useContext(ConfigContext);\n const checkboxGroup = React.useContext(GroupContext);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n const contextDisabled = React.useContext(DisabledContext);\n const mergedDisabled = (_a = (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.disabled) || disabled) !== null && _a !== void 0 ? _a : contextDisabled;\n const prevValue = React.useRef(restProps.value);\n const checkboxRef = React.useRef(null);\n const mergedRef = composeRef(ref, checkboxRef);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Checkbox');\n process.env.NODE_ENV !== \"production\" ? warning('checked' in restProps || !!checkboxGroup || !('value' in restProps), 'usage', '`value` is not a valid prop, do you mean `checked`?') : void 0;\n }\n React.useEffect(() => {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n }, []);\n React.useEffect(() => {\n if (skipGroup) {\n return;\n }\n if (restProps.value !== prevValue.current) {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(prevValue.current);\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n prevValue.current = restProps.value;\n }\n return () => checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(restProps.value);\n }, [restProps.value]);\n React.useEffect(() => {\n var _a;\n if ((_a = checkboxRef.current) === null || _a === void 0 ? void 0 : _a.input) {\n checkboxRef.current.input.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const checkboxProps = Object.assign({}, restProps);\n if (checkboxGroup && !skipGroup) {\n checkboxProps.onChange = (...args) => {\n if (restProps.onChange) {\n restProps.onChange.apply(restProps, args);\n }\n if (checkboxGroup.toggleOption) {\n checkboxGroup.toggleOption({\n label: children,\n value: restProps.value\n });\n }\n };\n checkboxProps.name = checkboxGroup.name;\n checkboxProps.checked = checkboxGroup.value.includes(restProps.value);\n }\n const classString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-checked`]: checkboxProps.checked,\n [`${prefixCls}-wrapper-disabled`]: mergedDisabled,\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, checkbox === null || checkbox === void 0 ? void 0 : checkbox.className, className, rootClassName, cssVarCls, rootCls, hashId);\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate\n }, TARGET_CLS, hashId);\n // ============================ Event Lock ============================\n const [onLabelClick, onInputClick] = useBubbleLock(checkboxProps.onClick);\n // ============================== Render ==============================\n return wrapCSSVar(/*#__PURE__*/React.createElement(Wave, {\n component: \"Checkbox\",\n disabled: mergedDisabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: classString,\n style: Object.assign(Object.assign({}, checkbox === null || checkbox === void 0 ? void 0 : checkbox.style), style),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onClick: onLabelClick\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, checkboxProps, {\n onClick: onInputClick,\n prefixCls: prefixCls,\n className: checkboxClass,\n disabled: mergedDisabled,\n ref: mergedRef\n })), children !== undefined && children !== null && (/*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-label`\n }, children)))));\n};\nconst Checkbox = /*#__PURE__*/React.forwardRef(InternalCheckbox);\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport Checkbox from './Checkbox';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nconst CheckboxGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n defaultValue,\n children,\n options = [],\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n onChange\n } = props,\n restProps = __rest(props, [\"defaultValue\", \"children\", \"options\", \"prefixCls\", \"className\", \"rootClassName\", \"style\", \"onChange\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [value, setValue] = React.useState(restProps.value || defaultValue || []);\n const [registeredValues, setRegisteredValues] = React.useState([]);\n React.useEffect(() => {\n if ('value' in restProps) {\n setValue(restProps.value || []);\n }\n }, [restProps.value]);\n const memoizedOptions = React.useMemo(() => options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n return {\n label: option,\n value: option\n };\n }\n return option;\n }), [options]);\n const cancelValue = val => {\n setRegisteredValues(prevValues => prevValues.filter(v => v !== val));\n };\n const registerValue = val => {\n setRegisteredValues(prevValues => [].concat(_toConsumableArray(prevValues), [val]));\n };\n const toggleOption = option => {\n const optionIndex = value.indexOf(option.value);\n const newValue = _toConsumableArray(value);\n if (optionIndex === -1) {\n newValue.push(option.value);\n } else {\n newValue.splice(optionIndex, 1);\n }\n if (!('value' in restProps)) {\n setValue(newValue);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(newValue.filter(val => registeredValues.includes(val)).sort((a, b) => {\n const indexA = memoizedOptions.findIndex(opt => opt.value === a);\n const indexB = memoizedOptions.findIndex(opt => opt.value === b);\n return indexA - indexB;\n }));\n };\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const domProps = omit(restProps, ['value', 'disabled']);\n const childrenNode = options.length ? memoizedOptions.map(option => (/*#__PURE__*/React.createElement(Checkbox, {\n prefixCls: prefixCls,\n key: option.value.toString(),\n disabled: 'disabled' in option ? option.disabled : restProps.disabled,\n value: option.value,\n checked: value.includes(option.value),\n onChange: option.onChange,\n className: classNames(`${groupPrefixCls}-item`, option.className),\n style: option.style,\n title: option.title,\n id: option.id,\n required: option.required\n }, option.label))) : children;\n const memoizedContext = React.useMemo(() => ({\n toggleOption,\n value,\n disabled: restProps.disabled,\n name: restProps.name,\n // https://github.com/ant-design/ant-design/issues/16376\n registerValue,\n cancelValue\n }), [toggleOption, value, restProps.disabled, restProps.name, registerValue, cancelValue]);\n const classString = classNames(groupPrefixCls, {\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, cssVarCls, rootCls, hashId);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classString,\n style: style\n }, domProps, {\n ref: ref\n }), /*#__PURE__*/React.createElement(GroupContext.Provider, {\n value: memoizedContext\n }, childrenNode)));\n});\nexport { GroupContext };\nexport default CheckboxGroup;","\"use client\";\n\nimport InternalCheckbox from './Checkbox';\nimport Group from './Group';\nconst Checkbox = InternalCheckbox;\nCheckbox.Group = Group;\nCheckbox.__ANT_CHECKBOX = true;\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport classNames from 'classnames';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport Space from '../space';\nimport { useCompactItemContext } from '../space/Compact';\nimport Dropdown from './dropdown';\nconst DropdownButton = props => {\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n type = 'default',\n danger,\n disabled,\n loading,\n onClick,\n htmlType,\n children,\n className,\n menu,\n arrow,\n autoFocus,\n overlay,\n trigger,\n align,\n open,\n onOpenChange,\n placement,\n getPopupContainer,\n href,\n icon = /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n title,\n buttonsRender = buttons => buttons,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayClassName,\n overlayStyle,\n destroyOnHidden,\n destroyPopupOnHide,\n dropdownRender,\n popupRender\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"type\", \"danger\", \"disabled\", \"loading\", \"onClick\", \"htmlType\", \"children\", \"className\", \"menu\", \"arrow\", \"autoFocus\", \"overlay\", \"trigger\", \"align\", \"open\", \"onOpenChange\", \"placement\", \"getPopupContainer\", \"href\", \"icon\", \"title\", \"buttonsRender\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayClassName\", \"overlayStyle\", \"destroyOnHidden\", \"destroyPopupOnHide\", \"dropdownRender\", \"popupRender\"]);\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n const buttonPrefixCls = `${prefixCls}-button`;\n const mergedPopupRender = popupRender || dropdownRender;\n const dropdownProps = {\n menu,\n arrow,\n autoFocus,\n align,\n disabled,\n trigger: disabled ? [] : trigger,\n onOpenChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayClassName,\n overlayStyle,\n destroyOnHidden,\n popupRender: mergedPopupRender\n };\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const classes = classNames(buttonPrefixCls, compactItemClassnames, className);\n if ('destroyPopupOnHide' in props) {\n dropdownProps.destroyPopupOnHide = destroyPopupOnHide;\n }\n if ('overlay' in props) {\n dropdownProps.overlay = overlay;\n }\n if ('open' in props) {\n dropdownProps.open = open;\n }\n if ('placement' in props) {\n dropdownProps.placement = placement;\n } else {\n dropdownProps.placement = direction === 'rtl' ? 'bottomLeft' : 'bottomRight';\n }\n const leftButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n danger: danger,\n disabled: disabled,\n loading: loading,\n onClick: onClick,\n htmlType: htmlType,\n href: href,\n title: title\n }, children);\n const rightButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n danger: danger,\n icon: icon\n });\n const [leftButtonToRender, rightButtonToRender] = buttonsRender([leftButton, rightButton]);\n return /*#__PURE__*/React.createElement(Space.Compact, Object.assign({\n className: classes,\n size: compactSize,\n block: true\n }, restProps), leftButtonToRender, /*#__PURE__*/React.createElement(Dropdown, Object.assign({}, dropdownProps), rightButtonToRender));\n};\nDropdownButton.__ANT_BUTTON = true;\nexport default DropdownButton;","\"use client\";\n\nimport InternalDropdown from './dropdown';\nimport DropdownButton from './dropdown-button';\nconst Dropdown = InternalDropdown;\nDropdown.Button = DropdownButton;\nexport default Dropdown;","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n if (target !== null && target !== void 0 && target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n return {\n remove: function remove() {\n if (target !== null && target !== void 0 && target.removeEventListener) {\n target.removeEventListener(eventType, callback, option);\n }\n }\n };\n}","export var EXPAND_COLUMN = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nexport function createContext(defaultValue) {\n var Context = /*#__PURE__*/React.createContext(undefined);\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n useLayoutEffect(function () {\n unstable_batchedUpdates(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n return {\n Context: Context,\n Provider: Provider,\n defaultValue: defaultValue\n };\n}\n\n/** e.g. useSelect(userContext) => user */\n\n/** e.g. useSelect(userContext, user => user.name) => user.name */\n\n/** e.g. useSelect(userContext, ['name', 'age']) => user { name, age } */\n\n/** e.g. useSelect(userContext, 'name') => user.name */\n\nexport function useContext(holder, selector) {\n var eventSelector = useEvent(typeof selector === 'function' ? selector : function (ctx) {\n if (selector === undefined) {\n return ctx;\n }\n if (!Array.isArray(selector)) {\n return ctx[selector];\n }\n var obj = {};\n selector.forEach(function (key) {\n obj[key] = ctx[key];\n });\n return obj;\n });\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n var valueRef = React.useRef();\n valueRef.current = eventSelector(context ? getValue() : holder === null || holder === void 0 ? void 0 : holder.defaultValue);\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n forceUpdate = _React$useState4[1];\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n function trigger(nextValue) {\n var nextSelectorValue = eventSelector(nextValue);\n if (!isEqual(valueRef.current, nextSelectorValue, true)) {\n forceUpdate({});\n }\n }\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return valueRef.current;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\n/**\n * Create Immutable pair for `makeImmutable` and `responseImmutable`.\n */\nexport default function createImmutable() {\n var ImmutableContext = /*#__PURE__*/React.createContext(null);\n\n /**\n * Get render update mark by `makeImmutable` root.\n * Do not deps on the return value as render times\n * but only use for `useMemo` or `useCallback` deps.\n */\n function useImmutableMark() {\n return React.useContext(ImmutableContext);\n }\n\n /**\n * Wrapped Component will be marked as Immutable.\n * When Component parent trigger render,\n * it will notice children component (use with `responseImmutable`) node that parent has updated.\n * @param Component Passed Component\n * @param triggerRender Customize trigger `responseImmutable` children re-render logic. Default will always trigger re-render when this component re-render.\n */\n function makeImmutable(Component, shouldTriggerRender) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n var renderTimesRef = React.useRef(0);\n var prevProps = React.useRef(props);\n\n // If parent has the context, we do not wrap it\n var mark = useImmutableMark();\n if (mark !== null) {\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n }\n if (\n // Always trigger re-render if not provide `notTriggerRender`\n !shouldTriggerRender || shouldTriggerRender(prevProps.current, props)) {\n renderTimesRef.current += 1;\n }\n prevProps.current = props;\n return /*#__PURE__*/React.createElement(ImmutableContext.Provider, {\n value: renderTimesRef.current\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps)));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableRoot(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;\n }\n\n /**\n * Wrapped Component with `React.memo`.\n * But will rerender when parent with `makeImmutable` rerender.\n */\n function responseImmutable(Component, propsAreEqual) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n useImmutableMark();\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableResponse(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(ImmutableComponent), propsAreEqual) : /*#__PURE__*/React.memo(ImmutableComponent, propsAreEqual);\n }\n return {\n makeImmutable: makeImmutable,\n responseImmutable: responseImmutable,\n useImmutableMark: useImmutableMark\n };\n}","import { createContext, createImmutable } from '@rc-component/context';\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { makeImmutable, responseImmutable, useImmutableMark };\nvar TableContext = createContext();\nexport default TableContext;","import * as React from 'react';\n// TODO: Remove when use `responsiveImmutable`\nvar PerfContext = /*#__PURE__*/React.createContext({\n renderWithProps: false\n});\nexport default PerfContext;","var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';\nfunction toArray(arr) {\n if (arr === undefined || arr === null) {\n return [];\n }\n return Array.isArray(arr) ? arr : [arr];\n}\nexport function getColumnsKey(columns) {\n var columnKeys = [];\n var keys = {};\n columns.forEach(function (column) {\n var _ref = column || {},\n key = _ref.key,\n dataIndex = _ref.dataIndex;\n var mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;\n while (keys[mergedKey]) {\n mergedKey = \"\".concat(mergedKey, \"_next\");\n }\n keys[mergedKey] = true;\n columnKeys.push(mergedKey);\n });\n return columnKeys;\n}\nexport function validateValue(val) {\n return val !== null && val !== undefined;\n}\nexport function validNumberValue(value) {\n return typeof value === 'number' && !Number.isNaN(value);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport { validateValue } from \"../utils/valueUtil\";\nimport { useImmutableMark } from \"../context/TableContext\";\nfunction isRenderCell(data) {\n return data && _typeof(data) === 'object' && !Array.isArray(data) && ! /*#__PURE__*/React.isValidElement(data);\n}\nexport default function useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate) {\n // TODO: Remove this after next major version\n var perfRecord = React.useContext(PerfContext);\n var mark = useImmutableMark();\n\n // ======================== Render ========================\n var retData = useMemo(function () {\n if (validateValue(children)) {\n return [children];\n }\n var path = dataIndex === null || dataIndex === undefined || dataIndex === '' ? [] : Array.isArray(dataIndex) ? dataIndex : [dataIndex];\n var value = getValue(record, path);\n\n // Customize render node\n var returnChildNode = value;\n var returnCellProps = undefined;\n if (render) {\n var renderData = render(value, record, renderIndex);\n if (isRenderCell(renderData)) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`columns.render` return cell props is deprecated with perf issue, please use `onCell` instead.');\n }\n returnChildNode = renderData.children;\n returnCellProps = renderData.props;\n perfRecord.renderWithProps = true;\n } else {\n returnChildNode = renderData;\n }\n }\n return [returnChildNode, returnCellProps];\n }, [\n // Force update deps\n mark,\n // Normal deps\n record, children, dataIndex, render, renderIndex], function (prev, next) {\n if (shouldCellUpdate) {\n var _prev = _slicedToArray(prev, 2),\n prevRecord = _prev[1];\n var _next = _slicedToArray(next, 2),\n nextRecord = _next[1];\n return shouldCellUpdate(nextRecord, prevRecord);\n }\n\n // Legacy mode should always update\n if (perfRecord.renderWithProps) {\n return true;\n }\n return !isEqual(prev, next, true);\n });\n return retData;\n}","import { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\n/** Check if cell is in hover range */\nfunction inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {\n var cellEndRow = cellStartRow + cellRowSpan - 1;\n return cellStartRow <= endRow && cellEndRow >= startRow;\n}\nexport default function useHoverState(rowIndex, rowSpan) {\n return useContext(TableContext, function (ctx) {\n var hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow);\n return [hovering, ctx.onHover];\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useCellRender from \"./useCellRender\";\nimport useHoverState from \"./useHoverState\";\nimport { useEvent } from 'rc-util';\nvar getTitleFromCellRenderChildren = function getTitleFromCellRenderChildren(_ref) {\n var ellipsis = _ref.ellipsis,\n rowType = _ref.rowType,\n children = _ref.children;\n var title;\n var ellipsisConfig = ellipsis === true ? {\n showTitle: true\n } : ellipsis;\n if (ellipsisConfig && (ellipsisConfig.showTitle || rowType === 'header')) {\n if (typeof children === 'string' || typeof children === 'number') {\n title = children.toString();\n } else if ( /*#__PURE__*/React.isValidElement(children) && typeof children.props.children === 'string') {\n title = children.props.children;\n }\n }\n return title;\n};\nfunction Cell(props) {\n var _ref2, _ref3, _legacyCellProps$colS, _ref4, _ref5, _legacyCellProps$rowS, _additionalProps$titl, _classNames;\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var Component = props.component,\n children = props.children,\n ellipsis = props.ellipsis,\n scope = props.scope,\n prefixCls = props.prefixCls,\n className = props.className,\n align = props.align,\n record = props.record,\n render = props.render,\n dataIndex = props.dataIndex,\n renderIndex = props.renderIndex,\n shouldCellUpdate = props.shouldCellUpdate,\n index = props.index,\n rowType = props.rowType,\n colSpan = props.colSpan,\n rowSpan = props.rowSpan,\n fixLeft = props.fixLeft,\n fixRight = props.fixRight,\n firstFixLeft = props.firstFixLeft,\n lastFixLeft = props.lastFixLeft,\n firstFixRight = props.firstFixRight,\n lastFixRight = props.lastFixRight,\n appendNode = props.appendNode,\n _props$additionalProp = props.additionalProps,\n additionalProps = _props$additionalProp === void 0 ? {} : _props$additionalProp,\n isSticky = props.isSticky;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var _useContext = useContext(TableContext, ['supportSticky', 'allColumnsFixedLeft', 'rowHoverable']),\n supportSticky = _useContext.supportSticky,\n allColumnsFixedLeft = _useContext.allColumnsFixedLeft,\n rowHoverable = _useContext.rowHoverable;\n\n // ====================== Value =======================\n var _useCellRender = useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate),\n _useCellRender2 = _slicedToArray(_useCellRender, 2),\n childNode = _useCellRender2[0],\n legacyCellProps = _useCellRender2[1];\n\n // ====================== Fixed =======================\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number' && supportSticky;\n var isFixRight = typeof fixRight === 'number' && supportSticky;\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = fixLeft;\n }\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = fixRight;\n }\n\n // ================ RowSpan & ColSpan =================\n var mergedColSpan = (_ref2 = (_ref3 = (_legacyCellProps$colS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.colSpan) !== null && _legacyCellProps$colS !== void 0 ? _legacyCellProps$colS : additionalProps.colSpan) !== null && _ref3 !== void 0 ? _ref3 : colSpan) !== null && _ref2 !== void 0 ? _ref2 : 1;\n var mergedRowSpan = (_ref4 = (_ref5 = (_legacyCellProps$rowS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.rowSpan) !== null && _legacyCellProps$rowS !== void 0 ? _legacyCellProps$rowS : additionalProps.rowSpan) !== null && _ref5 !== void 0 ? _ref5 : rowSpan) !== null && _ref4 !== void 0 ? _ref4 : 1;\n\n // ====================== Hover =======================\n var _useHoverState = useHoverState(index, mergedRowSpan),\n _useHoverState2 = _slicedToArray(_useHoverState, 2),\n hovering = _useHoverState2[0],\n onHover = _useHoverState2[1];\n var onMouseEnter = useEvent(function (event) {\n var _additionalProps$onMo;\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 || _additionalProps$onMo.call(additionalProps, event);\n });\n var onMouseLeave = useEvent(function (event) {\n var _additionalProps$onMo2;\n if (record) {\n onHover(-1, -1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === void 0 || _additionalProps$onMo2.call(additionalProps, event);\n });\n\n // ====================== Render ======================\n if (mergedColSpan === 0 || mergedRowSpan === 0) {\n return null;\n }\n\n // >>>>> Title\n var title = (_additionalProps$titl = additionalProps.title) !== null && _additionalProps$titl !== void 0 ? _additionalProps$titl : getTitleFromCellRenderChildren({\n rowType: rowType,\n ellipsis: ellipsis,\n children: childNode\n });\n\n // >>>>> ClassName\n var mergedClassName = classNames(cellPrefixCls, className, (_classNames = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left\"), isFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-first\"), firstFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-last\"), lastFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-all\"), lastFixLeft && allColumnsFixedLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right\"), isFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-first\"), firstFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-last\"), lastFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-ellipsis\"), ellipsis), \"\".concat(cellPrefixCls, \"-with-append\"), appendNode), \"\".concat(cellPrefixCls, \"-fix-sticky\"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-row-hover\"), !legacyCellProps && hovering)), additionalProps.className, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.className);\n\n // >>>>> Style\n var alignStyle = {};\n if (align) {\n alignStyle.textAlign = align;\n }\n\n // The order is important since user can overwrite style.\n // For example ant-design/ant-design#51763\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.style), fixedStyle), alignStyle), additionalProps.style);\n\n // >>>>> Children Node\n var mergedChildNode = childNode;\n\n // Not crash if final `childNode` is not validate ReactNode\n if (_typeof(mergedChildNode) === 'object' && !Array.isArray(mergedChildNode) && ! /*#__PURE__*/React.isValidElement(mergedChildNode)) {\n mergedChildNode = null;\n }\n if (ellipsis && (lastFixLeft || firstFixRight)) {\n mergedChildNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(cellPrefixCls, \"-content\")\n }, mergedChildNode);\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, legacyCellProps, additionalProps, {\n className: mergedClassName,\n style: mergedStyle\n // A11y\n ,\n title: title,\n scope: scope\n // Hover\n ,\n onMouseEnter: rowHoverable ? onMouseEnter : undefined,\n onMouseLeave: rowHoverable ? onMouseLeave : undefined\n //Span\n ,\n colSpan: mergedColSpan !== 1 ? mergedColSpan : null,\n rowSpan: mergedRowSpan !== 1 ? mergedRowSpan : null\n }), appendNode, mergedChildNode);\n}\nexport default /*#__PURE__*/React.memo(Cell);","export function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets, direction) {\n var startColumn = columns[colStart] || {};\n var endColumn = columns[colEnd] || {};\n var fixLeft;\n var fixRight;\n if (startColumn.fixed === 'left') {\n fixLeft = stickyOffsets.left[direction === 'rtl' ? colEnd : colStart];\n } else if (endColumn.fixed === 'right') {\n fixRight = stickyOffsets.right[direction === 'rtl' ? colStart : colEnd];\n }\n var lastFixLeft = false;\n var firstFixRight = false;\n var lastFixRight = false;\n var firstFixLeft = false;\n var nextColumn = columns[colEnd + 1];\n var prevColumn = columns[colStart - 1];\n\n // need show shadow only when canLastFix is true\n var canLastFix = nextColumn && !nextColumn.fixed || prevColumn && !prevColumn.fixed || columns.every(function (col) {\n return col.fixed === 'left';\n });\n if (direction === 'rtl') {\n if (fixLeft !== undefined) {\n var prevFixLeft = prevColumn && prevColumn.fixed === 'left';\n firstFixLeft = !prevFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var nextFixRight = nextColumn && nextColumn.fixed === 'right';\n lastFixRight = !nextFixRight && canLastFix;\n }\n } else if (fixLeft !== undefined) {\n var nextFixLeft = nextColumn && nextColumn.fixed === 'left';\n lastFixLeft = !nextFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var prevFixRight = prevColumn && prevColumn.fixed === 'right';\n firstFixRight = !prevFixRight && canLastFix;\n }\n return {\n fixLeft: fixLeft,\n fixRight: fixRight,\n lastFixLeft: lastFixLeft,\n firstFixRight: firstFixRight,\n lastFixRight: lastFixRight,\n firstFixLeft: firstFixLeft,\n isSticky: stickyOffsets.isSticky\n };\n}","import * as React from 'react';\nvar SummaryContext = /*#__PURE__*/React.createContext({});\nexport default SummaryContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport SummaryContext from \"./SummaryContext\";\nexport default function SummaryCell(_ref) {\n var className = _ref.className,\n index = _ref.index,\n children = _ref.children,\n _ref$colSpan = _ref.colSpan,\n colSpan = _ref$colSpan === void 0 ? 1 : _ref$colSpan,\n rowSpan = _ref.rowSpan,\n align = _ref.align;\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var _React$useContext = React.useContext(SummaryContext),\n scrollColumnIndex = _React$useContext.scrollColumnIndex,\n stickyOffsets = _React$useContext.stickyOffsets,\n flattenColumns = _React$useContext.flattenColumns;\n var lastIndex = index + colSpan - 1;\n var mergedColSpan = lastIndex + 1 === scrollColumnIndex ? colSpan + 1 : colSpan;\n var fixedInfo = getCellFixedInfo(index, index + mergedColSpan - 1, flattenColumns, stickyOffsets, direction);\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: className,\n index: index,\n component: \"td\",\n prefixCls: prefixCls,\n record: null,\n dataIndex: null,\n align: align,\n colSpan: mergedColSpan,\n rowSpan: rowSpan,\n render: function render() {\n return children;\n }\n }, fixedInfo));\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport default function FooterRow(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"tr\", props, children);\n}","import Cell from \"./Cell\";\nimport Row from \"./Row\";\n/**\n * Syntactic sugar. Do not support HOC.\n */\nfunction Summary(_ref) {\n var children = _ref.children;\n return children;\n}\nSummary.Row = Row;\nSummary.Cell = Cell;\nexport default Summary;","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport Summary from \"./Summary\";\nimport SummaryContext from \"./SummaryContext\";\nfunction Footer(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var children = props.children,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns;\n var prefixCls = useContext(TableContext, 'prefixCls');\n var lastColumnIndex = flattenColumns.length - 1;\n var scrollColumn = flattenColumns[lastColumnIndex];\n var summaryContext = React.useMemo(function () {\n return {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n scrollColumnIndex: scrollColumn !== null && scrollColumn !== void 0 && scrollColumn.scrollbar ? lastColumnIndex : null\n };\n }, [scrollColumn, flattenColumns, lastColumnIndex, stickyOffsets]);\n return /*#__PURE__*/React.createElement(SummaryContext.Provider, {\n value: summaryContext\n }, /*#__PURE__*/React.createElement(\"tfoot\", {\n className: \"\".concat(prefixCls, \"-summary\")\n }, children));\n}\nexport default responseImmutable(Footer);\nexport var FooterComponents = Summary;","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction Column(_) {\n return null;\n}\nexport default Column;","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\nexport default ColumnGroup;","import * as React from 'react';\n// recursion (flat tree structure)\nfunction fillRecords(list, record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n var key = getRowKey(record, index);\n list.push({\n record: record,\n indent: indent,\n index: index,\n rowKey: key\n });\n var expanded = expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.has(key);\n if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n fillRecords(list, record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n }\n }\n}\n/**\n * flat tree data on expanded state\n *\n * @export\n * @template T\n * @param {*} data : table data\n * @param {string} childrenColumnName : 指定树形结构的列名\n * @param {Set<Key>} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey<T>} getRowKey : 获取当前rowKey的方法\n * @returns flattened data\n */\nexport default function useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey) {\n var arr = React.useMemo(function () {\n if (expandedKeys !== null && expandedKeys !== void 0 && expandedKeys.size) {\n var list = [];\n\n // collect flattened record\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n\n // using array.push or spread operator may cause \"Maximum call stack size exceeded\" exception if array size is big enough.\n fillRecords(list, record, 0, childrenColumnName, expandedKeys, getRowKey, i);\n }\n return list;\n }\n return data === null || data === void 0 ? void 0 : data.map(function (item, index) {\n return {\n record: item,\n indent: 0,\n index: index,\n rowKey: getRowKey(item, index)\n };\n });\n }, [data, childrenColumnName, expandedKeys, getRowKey]);\n return arr;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport { useEvent } from 'rc-util';\nimport classNames from 'classnames';\nexport default function useRowInfo(record, rowKey, recordIndex, indent) {\n var context = useContext(TableContext, ['prefixCls', 'fixedInfoList', 'flattenColumns', 'expandableType', 'expandRowByClick', 'onTriggerExpand', 'rowClassName', 'expandedRowClassName', 'indentSize', 'expandIcon', 'expandedRowRender', 'expandIconColumnIndex', 'expandedKeys', 'childrenColumnName', 'rowExpandable', 'onRow']);\n var flattenColumns = context.flattenColumns,\n expandableType = context.expandableType,\n expandedKeys = context.expandedKeys,\n childrenColumnName = context.childrenColumnName,\n onTriggerExpand = context.onTriggerExpand,\n rowExpandable = context.rowExpandable,\n onRow = context.onRow,\n expandRowByClick = context.expandRowByClick,\n rowClassName = context.rowClassName;\n\n // ======================= Expandable =======================\n // Only when row is not expandable and `children` exist in record\n var nestExpandable = expandableType === 'nest';\n var rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record));\n var mergedExpandable = rowSupportExpand || nestExpandable;\n var expanded = expandedKeys && expandedKeys.has(rowKey);\n var hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n var onInternalTriggerExpand = useEvent(onTriggerExpand);\n\n // ========================= onRow ==========================\n var rowProps = onRow === null || onRow === void 0 ? void 0 : onRow(record, recordIndex);\n var onRowClick = rowProps === null || rowProps === void 0 ? void 0 : rowProps.onClick;\n var onClick = function onClick(event) {\n if (expandRowByClick && mergedExpandable) {\n onTriggerExpand(record, event);\n }\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n onRowClick === null || onRowClick === void 0 || onRowClick.apply(void 0, [event].concat(args));\n };\n\n // ====================== RowClassName ======================\n var computeRowClassName;\n if (typeof rowClassName === 'string') {\n computeRowClassName = rowClassName;\n } else if (typeof rowClassName === 'function') {\n computeRowClassName = rowClassName(record, recordIndex, indent);\n }\n\n // ========================= Column =========================\n var columnsKey = getColumnsKey(flattenColumns);\n return _objectSpread(_objectSpread({}, context), {}, {\n columnsKey: columnsKey,\n nestExpandable: nestExpandable,\n expanded: expanded,\n hasNestChildren: hasNestChildren,\n record: record,\n onTriggerExpand: onInternalTriggerExpand,\n rowSupportExpand: rowSupportExpand,\n expandable: mergedExpandable,\n rowProps: _objectSpread(_objectSpread({}, rowProps), {}, {\n className: classNames(computeRowClassName, rowProps === null || rowProps === void 0 ? void 0 : rowProps.className),\n onClick: onClick\n })\n });\n}","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nfunction ExpandedRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var prefixCls = props.prefixCls,\n children = props.children,\n Component = props.component,\n cellComponent = props.cellComponent,\n className = props.className,\n expanded = props.expanded,\n colSpan = props.colSpan,\n isEmpty = props.isEmpty,\n _props$stickyOffset = props.stickyOffset,\n stickyOffset = _props$stickyOffset === void 0 ? 0 : _props$stickyOffset;\n var _useContext = useContext(TableContext, ['scrollbarSize', 'fixHeader', 'fixColumn', 'componentWidth', 'horizonScroll']),\n scrollbarSize = _useContext.scrollbarSize,\n fixHeader = _useContext.fixHeader,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth,\n horizonScroll = _useContext.horizonScroll;\n\n // Cache render node\n var contentNode = children;\n if (isEmpty ? horizonScroll && componentWidth : fixColumn) {\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: componentWidth - stickyOffset - (fixHeader && !isEmpty ? scrollbarSize : 0),\n position: 'sticky',\n left: stickyOffset,\n overflow: 'hidden'\n },\n className: \"\".concat(prefixCls, \"-expanded-row-fixed\")\n }, contentNode);\n }\n return /*#__PURE__*/React.createElement(Component, {\n className: className,\n style: {\n display: expanded ? null : 'none'\n }\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n colSpan: colSpan\n }, contentNode));\n}\nexport default ExpandedRow;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport function renderExpandIcon(_ref) {\n var prefixCls = _ref.prefixCls,\n record = _ref.record,\n onExpand = _ref.onExpand,\n expanded = _ref.expanded,\n expandable = _ref.expandable;\n var expandClassName = \"\".concat(prefixCls, \"-row-expand-icon\");\n if (!expandable) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, \"\".concat(prefixCls, \"-row-spaced\"))\n });\n }\n var onClick = function onClick(event) {\n onExpand(record, event);\n event.stopPropagation();\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-row-expanded\"), expanded), \"\".concat(prefixCls, \"-row-collapsed\"), !expanded)),\n onClick: onClick\n });\n}\nexport function findAllChildrenKeys(data, getRowKey, childrenColumnName) {\n var keys = [];\n function dig(list) {\n (list || []).forEach(function (item, index) {\n keys.push(getRowKey(item, index));\n dig(item[childrenColumnName]);\n });\n }\n dig(data);\n return keys;\n}\nexport function computedExpandedClassName(cls, record, index, indent) {\n if (typeof cls === 'string') {\n return cls;\n }\n if (typeof cls === 'function') {\n return cls(record, index, indent);\n }\n return '';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport ExpandedRow from \"./ExpandedRow\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nexport function getCellProps(rowInfo, column, colIndex, indent, index) {\n var _column$onCell;\n var rowKeys = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];\n var expandedRowOffset = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var record = rowInfo.record,\n prefixCls = rowInfo.prefixCls,\n columnsKey = rowInfo.columnsKey,\n fixedInfoList = rowInfo.fixedInfoList,\n expandIconColumnIndex = rowInfo.expandIconColumnIndex,\n nestExpandable = rowInfo.nestExpandable,\n indentSize = rowInfo.indentSize,\n expandIcon = rowInfo.expandIcon,\n expanded = rowInfo.expanded,\n hasNestChildren = rowInfo.hasNestChildren,\n onTriggerExpand = rowInfo.onTriggerExpand,\n expandable = rowInfo.expandable,\n expandedKeys = rowInfo.expandedKeys;\n var key = columnsKey[colIndex];\n var fixedInfo = fixedInfoList[colIndex];\n\n // ============= Used for nest expandable =============\n var appendCellNode;\n if (colIndex === (expandIconColumnIndex || 0) && nestExpandable) {\n appendCellNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n paddingLeft: \"\".concat(indentSize * indent, \"px\")\n },\n className: \"\".concat(prefixCls, \"-row-indent indent-level-\").concat(indent)\n }), expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: hasNestChildren,\n record: record,\n onExpand: onTriggerExpand\n }));\n }\n var additionalCellProps = ((_column$onCell = column.onCell) === null || _column$onCell === void 0 ? void 0 : _column$onCell.call(column, record, index)) || {};\n\n // Expandable row has offset\n if (expandedRowOffset) {\n var _additionalCellProps$ = additionalCellProps.rowSpan,\n rowSpan = _additionalCellProps$ === void 0 ? 1 : _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 var currentRowSpan = rowSpan;\n for (var i = index; i < index + rowSpan; i += 1) {\n var rowKey = rowKeys[i];\n if (expandedKeys.has(rowKey)) {\n currentRowSpan += 1;\n }\n }\n additionalCellProps.rowSpan = currentRowSpan;\n }\n }\n return {\n key: key,\n fixedInfo: fixedInfo,\n appendCellNode: appendCellNode,\n additionalCellProps: additionalCellProps\n };\n}\n\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nfunction BodyRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var className = props.className,\n style = props.style,\n record = props.record,\n index = props.index,\n renderIndex = props.renderIndex,\n rowKey = props.rowKey,\n rowKeys = props.rowKeys,\n _props$indent = props.indent,\n indent = _props$indent === void 0 ? 0 : _props$indent,\n RowComponent = props.rowComponent,\n cellComponent = props.cellComponent,\n scopeCellComponent = props.scopeCellComponent,\n expandedRowInfo = props.expandedRowInfo;\n var rowInfo = useRowInfo(record, rowKey, index, indent);\n var prefixCls = rowInfo.prefixCls,\n flattenColumns = rowInfo.flattenColumns,\n expandedRowClassName = rowInfo.expandedRowClassName,\n expandedRowRender = rowInfo.expandedRowRender,\n rowProps = rowInfo.rowProps,\n expanded = rowInfo.expanded,\n rowSupportExpand = rowInfo.rowSupportExpand;\n\n // Force render expand row if expanded before\n var expandedRef = React.useRef(false);\n expandedRef.current || (expandedRef.current = expanded);\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n // 若没有 expandedRowRender 参数, 将使用 baseRowNode 渲染 Children\n // 此时如果 level > 1 则说明是 expandedRow, 一样需要附加 computedExpandedRowClassName\n var expandedClsName = computedExpandedClassName(expandedRowClassName, record, index, indent);\n\n // ======================== Base tr row ========================\n var baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, {\n \"data-row-key\": rowKey,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), \"\".concat(prefixCls, \"-row-level-\").concat(indent), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className, _defineProperty({}, expandedClsName, indent >= 1)),\n style: _objectSpread(_objectSpread({}, style), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className;\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index, rowKeys, expandedRowInfo === null || expandedRowInfo === void 0 ? void 0 : expandedRowInfo.offset),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: columnClassName,\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: column.rowScope ? scopeCellComponent : cellComponent,\n prefixCls: prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: render,\n shouldCellUpdate: column.shouldCellUpdate\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: additionalCellProps\n }));\n }));\n\n // ======================== Expand Row =========================\n var expandRowNode;\n if (rowSupportExpand && (expandedRef.current || expanded)) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n expandRowNode = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: expanded,\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), expandedClsName),\n prefixCls: prefixCls,\n component: RowComponent,\n cellComponent: cellComponent,\n colSpan: expandedRowInfo ? expandedRowInfo.colSpan : flattenColumns.length,\n stickyOffset: expandedRowInfo === null || expandedRowInfo === void 0 ? void 0 : expandedRowInfo.sticky,\n isEmpty: false\n }, expandContent);\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, baseRowNode, expandRowNode);\n}\nif (process.env.NODE_ENV !== 'production') {\n BodyRow.displayName = 'BodyRow';\n}\nexport default responseImmutable(BodyRow);","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nexport default function MeasureCell(_ref) {\n var columnKey = _ref.columnKey,\n onColumnResize = _ref.onColumnResize,\n prefixCls = _ref.prefixCls,\n title = _ref.title;\n var cellRef = React.useRef();\n useLayoutEffect(function () {\n if (cellRef.current) {\n onColumnResize(columnKey, cellRef.current.offsetWidth);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n data: columnKey\n }, /*#__PURE__*/React.createElement(\"th\", {\n ref: cellRef,\n className: \"\".concat(prefixCls, \"-measure-cell\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-measure-cell-content\")\n }, title || '\\xa0')));\n}","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport MeasureCell from \"./MeasureCell\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\nexport default function MeasureRow(_ref) {\n var prefixCls = _ref.prefixCls,\n columnsKey = _ref.columnsKey,\n onColumnResize = _ref.onColumnResize,\n columns = _ref.columns;\n var ref = React.useRef(null);\n var _useContext = useContext(TableContext, ['measureRowRender']),\n measureRowRender = _useContext.measureRowRender;\n var measureRow = /*#__PURE__*/React.createElement(\"tr\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-measure-row\"),\n ref: ref,\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(ResizeObserver.Collection, {\n onBatchResize: function onBatchResize(infoList) {\n if (isVisible(ref.current)) {\n infoList.forEach(function (_ref2) {\n var columnKey = _ref2.data,\n size = _ref2.size;\n onColumnResize(columnKey, size.offsetWidth);\n });\n }\n }\n }, columnsKey.map(function (columnKey) {\n var column = columns.find(function (col) {\n return col.key === columnKey;\n });\n var rawTitle = column === null || column === void 0 ? void 0 : column.title;\n var titleForMeasure = /*#__PURE__*/React.isValidElement(rawTitle) ? /*#__PURE__*/React.cloneElement(rawTitle, {\n ref: null\n }) : rawTitle;\n return /*#__PURE__*/React.createElement(MeasureCell, {\n prefixCls: prefixCls,\n key: columnKey,\n columnKey: columnKey,\n onColumnResize: onColumnResize,\n title: titleForMeasure\n });\n })));\n return measureRowRender ? measureRowRender(measureRow) : measureRow;\n}","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport BodyRow from \"./BodyRow\";\nimport ExpandedRow from \"./ExpandedRow\";\nimport MeasureRow from \"./MeasureRow\";\nfunction Body(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var data = props.data,\n measureColumnWidth = props.measureColumnWidth;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent', 'onColumnResize', 'flattenColumns', 'getRowKey', 'expandedKeys', 'childrenColumnName', 'emptyNode', 'expandedRowOffset', 'fixedInfoList', 'colWidths']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent,\n onColumnResize = _useContext.onColumnResize,\n flattenColumns = _useContext.flattenColumns,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n childrenColumnName = _useContext.childrenColumnName,\n emptyNode = _useContext.emptyNode,\n _useContext$expandedR = _useContext.expandedRowOffset,\n expandedRowOffset = _useContext$expandedR === void 0 ? 0 : _useContext$expandedR,\n colWidths = _useContext.colWidths;\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n var rowKeys = React.useMemo(function () {\n return flattenData.map(function (item) {\n return item.rowKey;\n });\n }, [flattenData]);\n\n // =================== Performance ====================\n var 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 var expandedRowInfo = React.useMemo(function () {\n var expandedColSpan = flattenColumns.length - expandedRowOffset;\n var expandedStickyStart = 0;\n for (var 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 var WrapperComponent = getComponent(['body', 'wrapper'], 'tbody');\n var trComponent = getComponent(['body', 'row'], 'tr');\n var tdComponent = getComponent(['body', 'cell'], 'td');\n var thComponent = getComponent(['body', 'cell'], 'th');\n var rows;\n if (data.length) {\n rows = flattenData.map(function (item, idx) {\n var record = item.record,\n indent = item.indent,\n renderIndex = item.index,\n rowKey = item.rowKey;\n return /*#__PURE__*/React.createElement(BodyRow, {\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: \"\".concat(prefixCls, \"-placeholder\"),\n prefixCls: prefixCls,\n component: trComponent,\n cellComponent: tdComponent,\n colSpan: flattenColumns.length,\n isEmpty: true\n }, emptyNode);\n }\n var columnsKey = getColumnsKey(flattenColumns);\n return /*#__PURE__*/React.createElement(PerfContext.Provider, {\n value: perfRef.current\n }, /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-tbody\")\n }, measureColumnWidth && /*#__PURE__*/React.createElement(MeasureRow, {\n prefixCls: prefixCls,\n columnsKey: columnsKey,\n onColumnResize: onColumnResize,\n columns: flattenColumns\n }), rows));\n}\nif (process.env.NODE_ENV !== 'production') {\n Body.displayName = 'Body';\n}\nexport default responseImmutable(Body);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"expandable\"];\nimport warning from \"rc-util/es/warning\";\nexport var INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\nexport function getExpandableProps(props) {\n var expandable = props.expandable,\n legacyExpandableConfig = _objectWithoutProperties(props, _excluded);\n var config;\n if ('expandable' in props) {\n config = _objectSpread(_objectSpread({}, legacyExpandableConfig), expandable);\n } else {\n if (process.env.NODE_ENV !== 'production' && ['indentSize', 'expandedRowKeys', 'defaultExpandedRowKeys', 'defaultExpandAllRows', 'expandedRowRender', 'expandRowByClick', 'expandIcon', 'onExpand', 'onExpandedRowsChange', 'expandedRowClassName', 'expandIconColumnIndex', 'showExpandColumn', 'title'].some(function (prop) {\n return prop in props;\n })) {\n warning(false, 'expanded related props have been moved into `expandable`.');\n }\n config = legacyExpandableConfig;\n }\n if (config.showExpandColumn === false) {\n config.expandIconColumnIndex = -1;\n }\n return config;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"columnType\"];\nimport * as React from 'react';\nimport { INTERNAL_COL_DEFINE } from \"./utils/legacyUtil\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"./context/TableContext\";\nfunction ColGroup(_ref) {\n var colWidths = _ref.colWidths,\n columns = _ref.columns,\n columCount = _ref.columCount;\n var _useContext = useContext(TableContext, ['tableLayout']),\n tableLayout = _useContext.tableLayout;\n var cols = [];\n var len = columCount || columns.length;\n\n // Only insert col with width & additional props\n // Skip if rest col do not have any useful info\n var mustInsert = false;\n for (var i = len - 1; i >= 0; i -= 1) {\n var width = colWidths[i];\n var column = columns && columns[i];\n var additionalProps = void 0;\n var minWidth = void 0;\n if (column) {\n additionalProps = column[INTERNAL_COL_DEFINE];\n\n // fixed will cause layout problems\n if (tableLayout === 'auto') {\n minWidth = column.minWidth;\n }\n }\n if (width || minWidth || additionalProps || mustInsert) {\n var _ref2 = additionalProps || {},\n columnType = _ref2.columnType,\n restAdditionalProps = _objectWithoutProperties(_ref2, _excluded);\n cols.unshift( /*#__PURE__*/React.createElement(\"col\", _extends({\n key: i,\n style: {\n width: width,\n minWidth: minWidth\n }\n }, restAdditionalProps)));\n mustInsert = true;\n }\n }\n return cols.length > 0 ? /*#__PURE__*/React.createElement(\"colgroup\", null, cols) : null;\n}\nexport default ColGroup;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"noData\", \"columns\", \"flattenColumns\", \"colWidths\", \"colGroup\", \"columCount\", \"stickyOffsets\", \"direction\", \"fixHeader\", \"stickyTopOffset\", \"stickyBottomOffset\", \"stickyClassName\", \"scrollX\", \"tableLayout\", \"onScroll\", \"children\"];\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport { fillRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport ColGroup from \"../ColGroup\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nfunction useColumnWidth(colWidths, columCount) {\n return useMemo(function () {\n var cloneColumns = [];\n for (var i = 0; i < columCount; i += 1) {\n var val = colWidths[i];\n if (val !== undefined) {\n cloneColumns[i] = val;\n } else {\n return null;\n }\n }\n return cloneColumns;\n }, [colWidths.join('_'), columCount]);\n}\nvar FixedHolder = /*#__PURE__*/React.forwardRef(function (props, ref) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var className = props.className,\n noData = props.noData,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n colWidths = props.colWidths,\n colGroup = props.colGroup,\n columCount = props.columCount,\n stickyOffsets = props.stickyOffsets,\n direction = props.direction,\n fixHeader = props.fixHeader,\n stickyTopOffset = props.stickyTopOffset,\n stickyBottomOffset = props.stickyBottomOffset,\n stickyClassName = props.stickyClassName,\n scrollX = props.scrollX,\n _props$tableLayout = props.tableLayout,\n tableLayout = _props$tableLayout === void 0 ? 'fixed' : _props$tableLayout,\n onScroll = props.onScroll,\n children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var _useContext = useContext(TableContext, ['prefixCls', 'scrollbarSize', 'isSticky', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n scrollbarSize = _useContext.scrollbarSize,\n isSticky = _useContext.isSticky,\n getComponent = _useContext.getComponent;\n var TableComponent = getComponent(['header', 'table'], 'table');\n var combinationScrollBarSize = isSticky && !fixHeader ? 0 : scrollbarSize;\n\n // Pass wheel to scroll event\n var scrollRef = React.useRef(null);\n var setScrollRef = React.useCallback(function (element) {\n fillRef(ref, element);\n fillRef(scrollRef, element);\n }, []);\n React.useEffect(function () {\n function onWheel(e) {\n var _ref = e,\n currentTarget = _ref.currentTarget,\n deltaX = _ref.deltaX;\n if (deltaX) {\n onScroll({\n currentTarget: currentTarget,\n scrollLeft: currentTarget.scrollLeft + deltaX\n });\n e.preventDefault();\n }\n }\n var scrollEle = scrollRef.current;\n scrollEle === null || scrollEle === void 0 || scrollEle.addEventListener('wheel', onWheel, {\n passive: false\n });\n return function () {\n scrollEle === null || scrollEle === void 0 || scrollEle.removeEventListener('wheel', onWheel);\n };\n }, []);\n\n // Add scrollbar column\n var lastColumn = flattenColumns[flattenColumns.length - 1];\n var ScrollBarColumn = {\n fixed: lastColumn ? lastColumn.fixed : null,\n scrollbar: true,\n onHeaderCell: function onHeaderCell() {\n return {\n className: \"\".concat(prefixCls, \"-cell-scrollbar\")\n };\n }\n };\n var columnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(columns), [ScrollBarColumn]) : columns;\n }, [combinationScrollBarSize, columns]);\n var flattenColumnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(flattenColumns), [ScrollBarColumn]) : flattenColumns;\n }, [combinationScrollBarSize, flattenColumns]);\n\n // Calculate the sticky offsets\n var headerStickyOffsets = useMemo(function () {\n var right = stickyOffsets.right,\n left = stickyOffsets.left;\n return _objectSpread(_objectSpread({}, stickyOffsets), {}, {\n left: direction === 'rtl' ? [].concat(_toConsumableArray(left.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]) : left,\n right: direction === 'rtl' ? right : [].concat(_toConsumableArray(right.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]),\n isSticky: isSticky\n });\n }, [combinationScrollBarSize, stickyOffsets, isSticky]);\n var mergedColumnWidth = useColumnWidth(colWidths, columCount);\n var isColGroupEmpty = useMemo(function () {\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 var noWidth = !mergedColumnWidth || !mergedColumnWidth.length || mergedColumnWidth.every(function (w) {\n return !w;\n });\n return noData || noWidth;\n }, [noData, mergedColumnWidth]);\n return /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread({\n overflow: 'hidden'\n }, isSticky ? {\n top: stickyTopOffset,\n bottom: stickyBottomOffset\n } : {}),\n ref: setScrollRef,\n className: classNames(className, _defineProperty({}, stickyClassName, !!stickyClassName))\n }, /*#__PURE__*/React.createElement(TableComponent, {\n style: {\n tableLayout: 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: [].concat(_toConsumableArray(mergedColumnWidth), [combinationScrollBarSize]),\n columCount: columCount + 1,\n columns: flattenColumnsWithScrollbar\n }), children(_objectSpread(_objectSpread({}, restProps), {}, {\n stickyOffsets: headerStickyOffsets,\n columns: columnsWithScrollbar,\n flattenColumns: flattenColumnsWithScrollbar\n }))));\n});\nif (process.env.NODE_ENV !== 'production') {\n FixedHolder.displayName = 'FixedHolder';\n}\n\n/** Return a table in div as fixed element which contains sticky info */\n// export default responseImmutable(FixedHolder);\nexport default /*#__PURE__*/React.memo(FixedHolder);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nvar HeaderRow = function HeaderRow(props) {\n var cells = props.cells,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns,\n RowComponent = props.rowComponent,\n CellComponent = props.cellComponent,\n onHeaderRow = props.onHeaderRow,\n index = props.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var rowProps;\n if (onHeaderRow) {\n rowProps = onHeaderRow(cells.map(function (cell) {\n return cell.column;\n }), index);\n }\n var columnsKey = getColumnsKey(cells.map(function (cell) {\n return cell.column;\n }));\n return /*#__PURE__*/React.createElement(RowComponent, rowProps, cells.map(function (cell, cellIndex) {\n var column = cell.column;\n var fixedInfo = getCellFixedInfo(cell.colStart, cell.colEnd, flattenColumns, stickyOffsets, direction);\n var additionalProps;\n if (column && column.onHeaderCell) {\n additionalProps = cell.column.onHeaderCell(column);\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({}, cell, {\n scope: column.title ? cell.colSpan > 1 ? 'colgroup' : 'col' : null,\n ellipsis: column.ellipsis,\n align: column.align,\n component: CellComponent,\n prefixCls: prefixCls,\n key: columnsKey[cellIndex]\n }, fixedInfo, {\n additionalProps: additionalProps,\n rowType: \"header\"\n }));\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n HeaderRow.displayName = 'HeaderRow';\n}\nexport default HeaderRow;","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport HeaderRow from \"./HeaderRow\";\nfunction parseHeaderRows(rootColumns) {\n var rows = [];\n function fillRowCells(columns, colIndex) {\n var rowIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n // Init rows\n rows[rowIndex] = rows[rowIndex] || [];\n var currentColIndex = colIndex;\n var colSpans = columns.filter(Boolean).map(function (column) {\n var cell = {\n key: column.key,\n className: column.className || '',\n children: column.title,\n column: column,\n colStart: currentColIndex\n };\n var colSpan = 1;\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n colSpan = fillRowCells(subColumns, currentColIndex, rowIndex + 1).reduce(function (total, count) {\n return total + count;\n }, 0);\n cell.hasSubColumns = true;\n }\n if ('colSpan' in column) {\n colSpan = column.colSpan;\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n cell.colSpan = colSpan;\n cell.colEnd = cell.colStart + colSpan - 1;\n rows[rowIndex].push(cell);\n currentColIndex += colSpan;\n return colSpan;\n });\n return colSpans;\n }\n\n // Generate `rows` cell data\n fillRowCells(rootColumns, 0);\n\n // Handle `rowSpan`\n var rowCount = rows.length;\n var _loop = function _loop(rowIndex) {\n rows[rowIndex].forEach(function (cell) {\n if (!('rowSpan' in cell) && !cell.hasSubColumns) {\n // eslint-disable-next-line no-param-reassign\n cell.rowSpan = rowCount - rowIndex;\n }\n });\n };\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n _loop(rowIndex);\n }\n return rows;\n}\nvar Header = function Header(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var stickyOffsets = props.stickyOffsets,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n onHeaderRow = props.onHeaderRow;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent;\n var rows = React.useMemo(function () {\n return parseHeaderRows(columns);\n }, [columns]);\n var WrapperComponent = getComponent(['header', 'wrapper'], 'thead');\n var trComponent = getComponent(['header', 'row'], 'tr');\n var thComponent = getComponent(['header', 'cell'], 'th');\n return /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-thead\")\n }, rows.map(function (row, rowIndex) {\n var rowNode = /*#__PURE__*/React.createElement(HeaderRow, {\n key: rowIndex,\n flattenColumns: flattenColumns,\n cells: row,\n stickyOffsets: stickyOffsets,\n rowComponent: trComponent,\n cellComponent: thComponent,\n onHeaderRow: onHeaderRow,\n index: rowIndex\n });\n return rowNode;\n }));\n};\nexport default responseImmutable(Header);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction parseColWidth(totalWidth) {\n var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (typeof width === 'number') {\n return width;\n }\n if (width.endsWith('%')) {\n return totalWidth * parseFloat(width) / 100;\n }\n return null;\n}\n\n/**\n * Fill all column with width\n */\nexport default function useWidthColumns(flattenColumns, scrollWidth, clientWidth) {\n return React.useMemo(function () {\n // Fill width if needed\n if (scrollWidth && scrollWidth > 0) {\n var totalWidth = 0;\n var missWidthCount = 0;\n\n // collect not given width column\n flattenColumns.forEach(function (col) {\n var colWidth = parseColWidth(scrollWidth, col.width);\n if (colWidth) {\n totalWidth += colWidth;\n } else {\n missWidthCount += 1;\n }\n });\n\n // Fill width\n var maxFitWidth = Math.max(scrollWidth, clientWidth);\n var restWidth = Math.max(maxFitWidth - totalWidth, missWidthCount);\n var restCount = missWidthCount;\n var avgWidth = restWidth / missWidthCount;\n var realTotal = 0;\n var filledColumns = flattenColumns.map(function (col) {\n var clone = _objectSpread({}, col);\n var colWidth = parseColWidth(scrollWidth, clone.width);\n if (colWidth) {\n clone.width = colWidth;\n } else {\n var colAvgWidth = Math.floor(avgWidth);\n clone.width = restCount === 1 ? restWidth : colAvgWidth;\n restWidth -= colAvgWidth;\n restCount -= 1;\n }\n realTotal += clone.width;\n return clone;\n });\n\n // If realTotal is less than clientWidth,\n // We need extend column width\n if (realTotal < maxFitWidth) {\n var scale = maxFitWidth / realTotal;\n restWidth = maxFitWidth;\n filledColumns.forEach(function (col, index) {\n var colWidth = Math.floor(col.width * scale);\n col.width = index === filledColumns.length - 1 ? restWidth : colWidth;\n restWidth -= colWidth;\n });\n }\n return [filledColumns, Math.max(realTotal, maxFitWidth)];\n }\n return [flattenColumns, scrollWidth];\n }, [flattenColumns, scrollWidth, clientWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"fixed\"];\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { EXPAND_COLUMN } from \"../../constant\";\nimport { INTERNAL_COL_DEFINE } from \"../../utils/legacyUtil\";\nimport useWidthColumns from \"./useWidthColumns\";\nexport function convertChildrenToColumns(children) {\n return toArray(children).filter(function (node) {\n return /*#__PURE__*/React.isValidElement(node);\n }).map(function (_ref) {\n var key = _ref.key,\n props = _ref.props;\n var nodeChildren = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var column = _objectSpread({\n key: key\n }, restProps);\n if (nodeChildren) {\n column.children = convertChildrenToColumns(nodeChildren);\n }\n return column;\n });\n}\nfunction filterHiddenColumns(columns) {\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object' && !column.hidden;\n }).map(function (column) {\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return _objectSpread(_objectSpread({}, column), {}, {\n children: filterHiddenColumns(subColumns)\n });\n }\n return column;\n });\n}\nfunction flatColumns(columns) {\n var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key';\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object';\n }).reduce(function (list, column, index) {\n var fixed = column.fixed;\n // Convert `fixed='true'` to `fixed='left'` instead\n var parsedFixed = fixed === true ? 'left' : fixed;\n var mergedKey = \"\".concat(parentKey, \"-\").concat(index);\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return [].concat(_toConsumableArray(list), _toConsumableArray(flatColumns(subColumns, mergedKey).map(function (subColum) {\n var _subColum$fixed;\n return _objectSpread(_objectSpread({}, subColum), {}, {\n fixed: (_subColum$fixed = subColum.fixed) !== null && _subColum$fixed !== void 0 ? _subColum$fixed : parsedFixed\n });\n })));\n }\n return [].concat(_toConsumableArray(list), [_objectSpread(_objectSpread({\n key: mergedKey\n }, column), {}, {\n fixed: parsedFixed\n })]);\n }, []);\n}\nfunction revertForRtl(columns) {\n return columns.map(function (column) {\n var fixed = column.fixed,\n restProps = _objectWithoutProperties(column, _excluded2);\n\n // Convert `fixed='left'` to `fixed='right'` instead\n var parsedFixed = fixed;\n if (fixed === 'left') {\n parsedFixed = 'right';\n } else if (fixed === 'right') {\n parsedFixed = 'left';\n }\n return _objectSpread({\n fixed: parsedFixed\n }, restProps);\n });\n}\n\n/**\n * Parse `columns` & `children` into `columns`.\n */\nfunction useColumns(_ref2, transformColumns) {\n var prefixCls = _ref2.prefixCls,\n columns = _ref2.columns,\n children = _ref2.children,\n expandable = _ref2.expandable,\n expandedKeys = _ref2.expandedKeys,\n columnTitle = _ref2.columnTitle,\n getRowKey = _ref2.getRowKey,\n onTriggerExpand = _ref2.onTriggerExpand,\n expandIcon = _ref2.expandIcon,\n rowExpandable = _ref2.rowExpandable,\n expandIconColumnIndex = _ref2.expandIconColumnIndex,\n _ref2$expandedRowOffs = _ref2.expandedRowOffset,\n expandedRowOffset = _ref2$expandedRowOffs === void 0 ? 0 : _ref2$expandedRowOffs,\n direction = _ref2.direction,\n expandRowByClick = _ref2.expandRowByClick,\n columnWidth = _ref2.columnWidth,\n fixed = _ref2.fixed,\n scrollWidth = _ref2.scrollWidth,\n clientWidth = _ref2.clientWidth;\n var baseColumns = React.useMemo(function () {\n var newColumns = columns || convertChildrenToColumns(children) || [];\n return filterHiddenColumns(newColumns.slice());\n }, [columns, children]);\n\n // ========================== Expand ==========================\n var withExpandColumns = React.useMemo(function () {\n if (expandable) {\n var cloneColumns = baseColumns.slice();\n\n // >>> Warning if use `expandIconColumnIndex`\n if (process.env.NODE_ENV !== 'production' && expandIconColumnIndex >= 0) {\n warning(false, '`expandIconColumnIndex` is deprecated. Please use `Table.EXPAND_COLUMN` in `columns` instead.');\n }\n\n // >>> Insert expand column if not exist\n if (!cloneColumns.includes(EXPAND_COLUMN)) {\n var expandColIndex = expandIconColumnIndex || 0;\n var insertIndex = expandColIndex === 0 && fixed === 'right' ? 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(function (c) {\n return c === EXPAND_COLUMN;\n }).length > 1) {\n warning(false, 'There exist more than one `EXPAND_COLUMN` in `columns`.');\n }\n var expandColumnIndex = cloneColumns.indexOf(EXPAND_COLUMN);\n cloneColumns = cloneColumns.filter(function (column, index) {\n return column !== EXPAND_COLUMN || index === expandColumnIndex;\n });\n\n // >>> Check if expand column need to fixed\n var prevColumn = baseColumns[expandColumnIndex];\n var fixedColumn;\n if (fixed) {\n fixedColumn = fixed;\n } else {\n fixedColumn = prevColumn ? prevColumn.fixed : null;\n }\n\n // >>> Create expandable column\n var expandColumn = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, INTERNAL_COL_DEFINE, {\n className: \"\".concat(prefixCls, \"-expand-icon-col\"),\n columnType: 'EXPAND_COLUMN'\n }), \"title\", columnTitle), \"fixed\", fixedColumn), \"className\", \"\".concat(prefixCls, \"-row-expand-icon-cell\")), \"width\", columnWidth), \"render\", function render(_, record, index) {\n var rowKey = getRowKey(record, index);\n var expanded = expandedKeys.has(rowKey);\n var recordExpandable = rowExpandable ? rowExpandable(record) : true;\n var icon = expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: recordExpandable,\n record: record,\n onExpand: onTriggerExpand\n });\n if (expandRowByClick) {\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, icon);\n }\n return icon;\n });\n return cloneColumns.map(function (col, index) {\n var column = col === EXPAND_COLUMN ? expandColumn : col;\n if (index < expandedRowOffset) {\n return _objectSpread(_objectSpread({}, column), {}, {\n fixed: column.fixed || 'left'\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(function (col) {\n return col !== EXPAND_COLUMN;\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expandable, baseColumns, getRowKey, expandedKeys, expandIcon, direction, expandedRowOffset]);\n\n // ========================= Transform ========================\n var mergedColumns = React.useMemo(function () {\n var finalColumns = withExpandColumns;\n if (transformColumns) {\n finalColumns = transformColumns(finalColumns);\n }\n\n // Always provides at least one column for table display\n if (!finalColumns.length) {\n finalColumns = [{\n render: function render() {\n return null;\n }\n }];\n }\n return finalColumns;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [transformColumns, withExpandColumns, direction]);\n\n // ========================== Flatten =========================\n var flattenColumns = React.useMemo(function () {\n if (direction === 'rtl') {\n return revertForRtl(flatColumns(mergedColumns));\n }\n return flatColumns(mergedColumns);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mergedColumns, direction, scrollWidth]);\n\n // ========================= Gap Fixed ========================\n var hasGapFixed = React.useMemo(function () {\n // Fixed: left, since old browser not support `findLastIndex`, we should use reverse loop\n var lastLeftIndex = -1;\n for (var i = flattenColumns.length - 1; i >= 0; i -= 1) {\n var colFixed = flattenColumns[i].fixed;\n if (colFixed === 'left' || colFixed === true) {\n lastLeftIndex = i;\n break;\n }\n }\n if (lastLeftIndex >= 0) {\n for (var _i = 0; _i <= lastLeftIndex; _i += 1) {\n var _colFixed = flattenColumns[_i].fixed;\n if (_colFixed !== 'left' && _colFixed !== true) {\n return true;\n }\n }\n }\n\n // Fixed: right\n var firstRightIndex = flattenColumns.findIndex(function (_ref3) {\n var colFixed = _ref3.fixed;\n return colFixed === 'right';\n });\n if (firstRightIndex >= 0) {\n for (var _i2 = firstRightIndex; _i2 < flattenColumns.length; _i2 += 1) {\n var _colFixed2 = flattenColumns[_i2].fixed;\n if (_colFixed2 !== 'right') {\n return true;\n }\n }\n }\n return false;\n }, [flattenColumns]);\n\n // ========================= FillWidth ========================\n var _useWidthColumns = useWidthColumns(flattenColumns, scrollWidth, clientWidth),\n _useWidthColumns2 = _slicedToArray(_useWidthColumns, 2),\n filledColumns = _useWidthColumns2[0],\n realScrollWidth = _useWidthColumns2[1];\n return [mergedColumns, filledColumns, realScrollWidth, hasGapFixed];\n}\nexport default useColumns;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../constant\";\nimport { findAllChildrenKeys, renderExpandIcon } from \"../utils/expandUtil\";\nimport { getExpandableProps } from \"../utils/legacyUtil\";\nexport default function useExpand(props, mergedData, getRowKey) {\n var expandableConfig = getExpandableProps(props);\n var expandIcon = expandableConfig.expandIcon,\n expandedRowKeys = expandableConfig.expandedRowKeys,\n defaultExpandedRowKeys = expandableConfig.defaultExpandedRowKeys,\n defaultExpandAllRows = expandableConfig.defaultExpandAllRows,\n expandedRowRender = expandableConfig.expandedRowRender,\n onExpand = expandableConfig.onExpand,\n onExpandedRowsChange = expandableConfig.onExpandedRowsChange,\n childrenColumnName = expandableConfig.childrenColumnName;\n var mergedExpandIcon = expandIcon || renderExpandIcon;\n var mergedChildrenColumnName = childrenColumnName || 'children';\n var expandableType = React.useMemo(function () {\n if (expandedRowRender) {\n return 'row';\n }\n /* eslint-disable no-underscore-dangle */\n /**\n * Fix https://github.com/ant-design/ant-design/issues/21154\n * This is a workaround to not to break current behavior.\n * We can remove follow code after final release.\n *\n * To other developer:\n * Do not use `__PARENT_RENDER_ICON__` in prod since we will remove this when refactor\n */\n if (props.expandable && props.internalHooks === INTERNAL_HOOKS && props.expandable.__PARENT_RENDER_ICON__ || mergedData.some(function (record) {\n return record && _typeof(record) === 'object' && record[mergedChildrenColumnName];\n })) {\n return 'nest';\n }\n /* eslint-enable */\n return false;\n }, [!!expandedRowRender, mergedData]);\n var _React$useState = React.useState(function () {\n if (defaultExpandedRowKeys) {\n return defaultExpandedRowKeys;\n }\n if (defaultExpandAllRows) {\n return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName);\n }\n return [];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerExpandedKeys = _React$useState2[0],\n setInnerExpandedKeys = _React$useState2[1];\n var mergedExpandedKeys = React.useMemo(function () {\n return new Set(expandedRowKeys || innerExpandedKeys || []);\n }, [expandedRowKeys, innerExpandedKeys]);\n var onTriggerExpand = React.useCallback(function (record) {\n var key = getRowKey(record, mergedData.indexOf(record));\n var newExpandedKeys;\n var hasKey = mergedExpandedKeys.has(key);\n if (hasKey) {\n mergedExpandedKeys.delete(key);\n newExpandedKeys = _toConsumableArray(mergedExpandedKeys);\n } else {\n newExpandedKeys = [].concat(_toConsumableArray(mergedExpandedKeys), [key]);\n }\n setInnerExpandedKeys(newExpandedKeys);\n if (onExpand) {\n onExpand(!hasKey, record);\n }\n if (onExpandedRowsChange) {\n onExpandedRowsChange(newExpandedKeys);\n }\n }, [getRowKey, mergedExpandedKeys, mergedData, onExpand, onExpandedRowsChange]);\n\n // Warning if use `expandedRowRender` and nest children in the same time\n if (process.env.NODE_ENV !== 'production' && expandedRowRender && mergedData.some(function (record) {\n return Array.isArray(record === null || record === void 0 ? void 0 : record[mergedChildrenColumnName]);\n })) {\n warning(false, '`expandedRowRender` should not use with nested Table');\n }\n return [expandableConfig, expandableType, mergedExpandedKeys, mergedExpandIcon, mergedChildrenColumnName, onTriggerExpand];\n}","import useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nexport default function useFixedInfo(flattenColumns, stickyOffsets, direction) {\n var fixedInfoList = flattenColumns.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets, direction);\n });\n return useMemo(function () {\n return fixedInfoList;\n }, [fixedInfoList], function (prev, next) {\n return !isEqual(prev, next);\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\n/**\n * Execute code before next frame but async\n */\nexport function useLayoutState(defaultState) {\n var stateRef = useRef(defaultState);\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n var lastPromiseRef = useRef(null);\n var updateBatchRef = useRef([]);\n function setFrameState(updater) {\n updateBatchRef.current.push(updater);\n var promise = Promise.resolve();\n lastPromiseRef.current = promise;\n promise.then(function () {\n if (lastPromiseRef.current === promise) {\n var prevBatch = updateBatchRef.current;\n var prevState = stateRef.current;\n updateBatchRef.current = [];\n prevBatch.forEach(function (batchUpdater) {\n stateRef.current = batchUpdater(stateRef.current);\n });\n lastPromiseRef.current = null;\n if (prevState !== stateRef.current) {\n forceUpdate({});\n }\n }\n });\n }\n useEffect(function () {\n return function () {\n lastPromiseRef.current = null;\n };\n }, []);\n return [stateRef.current, setFrameState];\n}\n\n/** Lock frame, when frame pass reset the lock. */\nexport function useTimeoutLock(defaultState) {\n var frameRef = useRef(defaultState || null);\n var timeoutRef = useRef();\n function cleanUp() {\n window.clearTimeout(timeoutRef.current);\n }\n function setState(newState) {\n frameRef.current = newState;\n cleanUp();\n timeoutRef.current = window.setTimeout(function () {\n frameRef.current = null;\n timeoutRef.current = undefined;\n }, 100);\n }\n function getState() {\n return frameRef.current;\n }\n useEffect(function () {\n return cleanUp;\n }, []);\n return [setState, getState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useHover() {\n var _React$useState = React.useState(-1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n startRow = _React$useState2[0],\n setStartRow = _React$useState2[1];\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n endRow = _React$useState4[0],\n setEndRow = _React$useState4[1];\n var onHover = React.useCallback(function (start, end) {\n setStartRow(start);\n setEndRow(end);\n }, []);\n return [startRow, endRow, onHover];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\n// fix ssr render\nvar defaultContainer = canUseDom() ? window : null;\n\n/** Sticky header hooks */\nexport default function useSticky(sticky, prefixCls) {\n var _ref = _typeof(sticky) === 'object' ? sticky : {},\n _ref$offsetHeader = _ref.offsetHeader,\n offsetHeader = _ref$offsetHeader === void 0 ? 0 : _ref$offsetHeader,\n _ref$offsetSummary = _ref.offsetSummary,\n offsetSummary = _ref$offsetSummary === void 0 ? 0 : _ref$offsetSummary,\n _ref$offsetScroll = _ref.offsetScroll,\n offsetScroll = _ref$offsetScroll === void 0 ? 0 : _ref$offsetScroll,\n _ref$getContainer = _ref.getContainer,\n getContainer = _ref$getContainer === void 0 ? function () {\n return defaultContainer;\n } : _ref$getContainer;\n var container = getContainer() || defaultContainer;\n var isSticky = !!sticky;\n return React.useMemo(function () {\n return {\n isSticky: isSticky,\n stickyClassName: isSticky ? \"\".concat(prefixCls, \"-sticky-holder\") : '',\n offsetHeader: offsetHeader,\n offsetSummary: offsetSummary,\n offsetScroll: offsetScroll,\n container: container\n };\n }, [isSticky, offsetScroll, offsetHeader, offsetSummary, prefixCls, container]);\n}","import { useMemo } from 'react';\n/**\n * Get sticky column offset width\n */\nfunction useStickyOffsets(colWidths, flattenColumns, direction) {\n var stickyOffsets = useMemo(function () {\n var columnCount = flattenColumns.length;\n var getOffsets = function getOffsets(startIndex, endIndex, offset) {\n var offsets = [];\n var total = 0;\n for (var i = startIndex; i !== endIndex; i += offset) {\n offsets.push(total);\n if (flattenColumns[i].fixed) {\n total += colWidths[i] || 0;\n }\n }\n return offsets;\n };\n var startOffsets = getOffsets(0, columnCount, 1);\n var endOffsets = getOffsets(columnCount - 1, -1, -1).reverse();\n return direction === 'rtl' ? {\n left: endOffsets,\n right: startOffsets\n } : {\n left: startOffsets,\n right: endOffsets\n };\n }, [colWidths, flattenColumns, direction]);\n return stickyOffsets;\n}\nexport default useStickyOffsets;","import * as React from 'react';\nfunction Panel(_ref) {\n var className = _ref.className,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n}\nexport default Panel;","import { getDOM } from \"rc-util/es/Dom/findDOMNode\";\n\n// Copy from `rc-util/Dom/css.js`\nexport function getOffset(node) {\n var element = getDOM(node);\n var box = element.getBoundingClientRect();\n var 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}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport getScrollBarSize from \"rc-util/es/getScrollBarSize\";\nimport * as React from 'react';\nimport TableContext from \"./context/TableContext\";\nimport { useLayoutState } from \"./hooks/useFrame\";\nimport raf from \"rc-util/es/raf\";\nimport { getOffset } from \"./utils/offsetUtil\";\nimport { getDOM } from \"rc-util/es/Dom/findDOMNode\";\nvar StickyScrollBar = function StickyScrollBar(_ref, ref) {\n var _scrollBodyRef$curren, _scrollBodyRef$curren2;\n var scrollBodyRef = _ref.scrollBodyRef,\n onScroll = _ref.onScroll,\n offsetScroll = _ref.offsetScroll,\n container = _ref.container,\n direction = _ref.direction;\n var prefixCls = useContext(TableContext, 'prefixCls');\n var bodyScrollWidth = ((_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 ? void 0 : _scrollBodyRef$curren.scrollWidth) || 0;\n var bodyWidth = ((_scrollBodyRef$curren2 = scrollBodyRef.current) === null || _scrollBodyRef$curren2 === void 0 ? void 0 : _scrollBodyRef$curren2.clientWidth) || 0;\n var scrollBarWidth = bodyScrollWidth && bodyWidth * (bodyWidth / bodyScrollWidth);\n var scrollBarRef = React.useRef();\n var _useLayoutState = useLayoutState({\n scrollLeft: 0,\n isHiddenScrollBar: true\n }),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n scrollState = _useLayoutState2[0],\n setScrollState = _useLayoutState2[1];\n var refState = React.useRef({\n delta: 0,\n x: 0\n });\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n isActive = _React$useState2[0],\n setActive = _React$useState2[1];\n var rafRef = React.useRef(null);\n React.useEffect(function () {\n return function () {\n raf.cancel(rafRef.current);\n };\n }, []);\n var onMouseUp = function onMouseUp() {\n setActive(false);\n };\n var onMouseDown = function onMouseDown(event) {\n event.persist();\n refState.current.delta = event.pageX - scrollState.scrollLeft;\n refState.current.x = 0;\n setActive(true);\n event.preventDefault();\n };\n var onMouseMove = function onMouseMove(event) {\n var _window;\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n var _ref2 = event || ((_window = window) === null || _window === void 0 ? void 0 : _window.event),\n buttons = _ref2.buttons;\n if (!isActive || buttons === 0) {\n // If out body mouse up, we can set isActive false when mouse move\n if (isActive) {\n setActive(false);\n }\n return;\n }\n var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;\n var 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 var 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 var checkScrollBarVisible = function checkScrollBarVisible() {\n raf.cancel(rafRef.current);\n rafRef.current = raf(function () {\n if (!scrollBodyRef.current) {\n return;\n }\n var tableOffsetTop = getOffset(scrollBodyRef.current).top;\n var tableBottomOffset = tableOffsetTop + scrollBodyRef.current.offsetHeight;\n var currentClientOffset = container === window ? document.documentElement.scrollTop + window.innerHeight : getOffset(container).top + container.clientHeight;\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n isHiddenScrollBar: tableBottomOffset - getScrollBarSize() <= currentClientOffset || tableOffsetTop >= currentClientOffset - offsetScroll\n });\n });\n });\n };\n var setScrollLeft = function setScrollLeft(left) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: bodyScrollWidth ? left / bodyScrollWidth * bodyWidth : 0\n });\n });\n };\n React.useImperativeHandle(ref, function () {\n return {\n setScrollLeft: setScrollLeft,\n checkScrollBarVisible: checkScrollBarVisible\n };\n });\n React.useEffect(function () {\n var onMouseUpListener = addEventListener(document.body, 'mouseup', onMouseUp, false);\n var onMouseMoveListener = addEventListener(document.body, 'mousemove', onMouseMove, false);\n checkScrollBarVisible();\n return function () {\n onMouseUpListener.remove();\n onMouseMoveListener.remove();\n };\n }, [scrollBarWidth, isActive]);\n\n // Loop for scroll event check\n React.useEffect(function () {\n if (!scrollBodyRef.current) return;\n var scrollParents = [];\n var parent = getDOM(scrollBodyRef.current);\n while (parent) {\n scrollParents.push(parent);\n parent = parent.parentElement;\n }\n scrollParents.forEach(function (p) {\n return p.addEventListener('scroll', checkScrollBarVisible, false);\n });\n window.addEventListener('resize', checkScrollBarVisible, false);\n window.addEventListener('scroll', checkScrollBarVisible, false);\n container.addEventListener('scroll', checkScrollBarVisible, false);\n return function () {\n scrollParents.forEach(function (p) {\n return p.removeEventListener('scroll', checkScrollBarVisible);\n });\n window.removeEventListener('resize', checkScrollBarVisible);\n window.removeEventListener('scroll', checkScrollBarVisible);\n container.removeEventListener('scroll', checkScrollBarVisible);\n };\n }, [container]);\n React.useEffect(function () {\n if (!scrollState.isHiddenScrollBar) {\n setScrollState(function (state) {\n var bodyNode = scrollBodyRef.current;\n if (!bodyNode) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth\n });\n });\n }\n }, [scrollState.isHiddenScrollBar]);\n if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: getScrollBarSize(),\n width: bodyWidth,\n bottom: offsetScroll\n },\n className: \"\".concat(prefixCls, \"-sticky-scroll\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n onMouseDown: onMouseDown,\n ref: scrollBarRef,\n className: classNames(\"\".concat(prefixCls, \"-sticky-scroll-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-sticky-scroll-bar-active\"), isActive)),\n style: {\n width: \"\".concat(scrollBarWidth, \"px\"),\n transform: \"translate3d(\".concat(scrollState.scrollLeft, \"px, 0, 0)\")\n }\n }));\n};\nexport default /*#__PURE__*/React.forwardRef(StickyScrollBar);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n/**\n * Feature:\n * - fixed not need to set width\n * - support `rowExpandable` to config row expand logic\n * - add `summary` to support `() => ReactNode`\n *\n * Update:\n * - `dataIndex` is `array[]` now\n * - `expandable` wrap all the expand related props\n *\n * Removed:\n * - expandIconAsCell\n * - useFixedHeader\n * - rowRef\n * - columns[number].onCellClick\n * - onRowClick\n * - onRowDoubleClick\n * - onRowMouseEnter\n * - onRowMouseLeave\n * - getBodyWrapper\n * - bodyStyle\n *\n * Deprecated:\n * - All expanded props, move into expandable\n */\n\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Body from \"./Body\";\nimport ColGroup from \"./ColGroup\";\nimport { EXPAND_COLUMN, INTERNAL_HOOKS } from \"./constant\";\nimport TableContext, { makeImmutable } from \"./context/TableContext\";\nimport FixedHolder from \"./FixedHolder\";\nimport Footer, { FooterComponents } from \"./Footer\";\nimport Summary from \"./Footer/Summary\";\nimport Header from \"./Header/Header\";\nimport useColumns from \"./hooks/useColumns\";\nimport useExpand from \"./hooks/useExpand\";\nimport useFixedInfo from \"./hooks/useFixedInfo\";\nimport { useTimeoutLock } from \"./hooks/useFrame\";\nimport useHover from \"./hooks/useHover\";\nimport useSticky from \"./hooks/useSticky\";\nimport useStickyOffsets from \"./hooks/useStickyOffsets\";\nimport Panel from \"./Panel\";\nimport StickyScrollBar from \"./stickyScrollBar\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport { getColumnsKey, validateValue, validNumberValue } from \"./utils/valueUtil\";\nimport { getDOM } from \"rc-util/es/Dom/findDOMNode\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nexport var DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n return 'No Data';\n}\nfunction Table(tableProps, ref) {\n var props = _objectSpread({\n rowKey: 'key',\n prefixCls: DEFAULT_PREFIX,\n emptyText: defaultEmpty\n }, tableProps);\n var prefixCls = props.prefixCls,\n className = props.className,\n rowClassName = props.rowClassName,\n style = props.style,\n data = props.data,\n rowKey = props.rowKey,\n scroll = props.scroll,\n tableLayout = props.tableLayout,\n direction = props.direction,\n title = props.title,\n footer = props.footer,\n summary = props.summary,\n caption = props.caption,\n id = props.id,\n showHeader = props.showHeader,\n components = props.components,\n emptyText = props.emptyText,\n onRow = props.onRow,\n onHeaderRow = props.onHeaderRow,\n measureRowRender = props.measureRowRender,\n onScroll = props.onScroll,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n tailor = props.tailor,\n getContainerWidth = props.getContainerWidth,\n sticky = props.sticky,\n _props$rowHoverable = props.rowHoverable,\n rowHoverable = _props$rowHoverable === void 0 ? true : _props$rowHoverable;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length;\n var useInternalHooks = internalHooks === INTERNAL_HOOKS;\n\n // ===================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(function (name) {\n warning(props[name] === undefined, \"`\".concat(name, \"` is removed, please use `onRow` instead.\"));\n });\n warning(!('getBodyWrapper' in props), '`getBodyWrapper` is deprecated, please use custom `components` instead.');\n }\n\n // ==================== Customize =====================\n var getComponent = React.useCallback(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n }, [components]);\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return function (record) {\n var key = record && record[rowKey];\n if (process.env.NODE_ENV !== 'production') {\n warning(key !== undefined, 'Each record in table should have a unique `key` prop, or set `rowKey` to an unique primary key.');\n }\n return key;\n };\n }, [rowKey]);\n var customizeScrollBody = getComponent(['body']);\n\n // ====================== Hover =======================\n var _useHover = useHover(),\n _useHover2 = _slicedToArray(_useHover, 3),\n startRow = _useHover2[0],\n endRow = _useHover2[1],\n onHover = _useHover2[2];\n\n // ====================== Expand ======================\n var _useExpand = useExpand(props, mergedData, getRowKey),\n _useExpand2 = _slicedToArray(_useExpand, 6),\n expandableConfig = _useExpand2[0],\n expandableType = _useExpand2[1],\n mergedExpandedKeys = _useExpand2[2],\n mergedExpandIcon = _useExpand2[3],\n mergedChildrenColumnName = _useExpand2[4],\n onTriggerExpand = _useExpand2[5];\n\n // ====================== Column ======================\n var scrollX = scroll === null || scroll === void 0 ? void 0 : scroll.x;\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n componentWidth = _React$useState2[0],\n setComponentWidth = _React$useState2[1];\n var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n expandable: !!expandableConfig.expandedRowRender,\n columnTitle: expandableConfig.columnTitle,\n expandedKeys: mergedExpandedKeys,\n getRowKey: getRowKey,\n // https://github.com/ant-design/ant-design/issues/23894\n onTriggerExpand: onTriggerExpand,\n expandIcon: mergedExpandIcon,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n direction: direction,\n scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null,\n clientWidth: componentWidth\n }), useInternalHooks ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 4),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1],\n flattenScrollX = _useColumns2[2],\n hasGapFixed = _useColumns2[3];\n var mergedScrollX = flattenScrollX !== null && flattenScrollX !== void 0 ? flattenScrollX : scrollX;\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]);\n\n // ======================= Refs =======================\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: fullTableRef.current,\n scrollTo: function scrollTo(config) {\n var _scrollBodyRef$curren3;\n if (scrollBodyRef.current instanceof HTMLElement) {\n // Native scroll\n var index = config.index,\n top = config.top,\n key = config.key;\n if (validNumberValue(top)) {\n var _scrollBodyRef$curren;\n (_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 || _scrollBodyRef$curren.scrollTo({\n top: top\n });\n } else {\n var _scrollBodyRef$curren2;\n var mergedKey = key !== null && key !== void 0 ? key : getRowKey(mergedData[index]);\n (_scrollBodyRef$curren2 = scrollBodyRef.current.querySelector(\"[data-row-key=\\\"\".concat(mergedKey, \"\\\"]\"))) === null || _scrollBodyRef$curren2 === void 0 || _scrollBodyRef$curren2.scrollIntoView();\n }\n } else if ((_scrollBodyRef$curren3 = scrollBodyRef.current) !== null && _scrollBodyRef$curren3 !== void 0 && _scrollBodyRef$curren3.scrollTo) {\n // Pass to proxy\n scrollBodyRef.current.scrollTo(config);\n }\n }\n };\n });\n\n // ====================== Scroll ======================\n var scrollSummaryRef = React.useRef();\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pingedLeft = _React$useState4[0],\n setPingedLeft = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedRight = _React$useState6[0],\n setPingedRight = _React$useState6[1];\n var _React$useState7 = React.useState(new Map()),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n colsWidths = _React$useState8[0],\n updateColsWidths = _React$useState8[1];\n\n // Convert map to number width\n var colsKeys = getColumnsKey(flattenColumns);\n var pureColWidths = colsKeys.map(function (columnKey) {\n return colsWidths.get(columnKey);\n });\n var colWidths = React.useMemo(function () {\n return pureColWidths;\n }, [pureColWidths.join('_')]);\n var stickyOffsets = useStickyOffsets(colWidths, flattenColumns, direction);\n var fixHeader = scroll && validateValue(scroll.y);\n var horizonScroll = scroll && validateValue(mergedScrollX) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n var fixed = _ref.fixed;\n return fixed;\n });\n\n // Sticky\n var stickyRef = React.useRef();\n var _useSticky = useSticky(sticky, prefixCls),\n isSticky = _useSticky.isSticky,\n offsetHeader = _useSticky.offsetHeader,\n offsetSummary = _useSticky.offsetSummary,\n offsetScroll = _useSticky.offsetScroll,\n stickyClassName = _useSticky.stickyClassName,\n container = _useSticky.container;\n\n // Footer (Fix footer must fixed header)\n var summaryNode = React.useMemo(function () {\n return summary === null || summary === void 0 ? void 0 : summary(mergedData);\n }, [summary, mergedData]);\n var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed;\n\n // Scroll\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n if (fixHeader) {\n scrollYStyle = {\n overflowY: hasData ? 'scroll' : 'auto',\n maxHeight: scroll.y\n };\n }\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\n };\n // When no vertical scrollbar, should hide it\n // https://github.com/ant-design/ant-design/pull/20705\n // https://github.com/ant-design/ant-design/issues/21879\n if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n scrollTableStyle = {\n width: mergedScrollX === true ? 'auto' : mergedScrollX,\n minWidth: '100%'\n };\n }\n var onColumnResize = React.useCallback(function (columnKey, width) {\n updateColsWidths(function (widths) {\n if (widths.get(columnKey) !== width) {\n var newWidths = new Map(widths);\n newWidths.set(columnKey, width);\n return newWidths;\n }\n return widths;\n });\n }, []);\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n target.scrollLeft = scrollLeft;\n\n // Delay to force scroll position if not sync\n // ref: https://github.com/ant-design/ant-design/issues/37179\n if (target.scrollLeft !== scrollLeft) {\n setTimeout(function () {\n target.scrollLeft = scrollLeft;\n }, 0);\n }\n }\n }\n var onInternalScroll = useEvent(function (_ref2) {\n var currentTarget = _ref2.currentTarget,\n scrollLeft = _ref2.scrollLeft;\n var isRTL = direction === 'rtl';\n var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\n setScrollTarget(compareTarget);\n forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n forceScroll(mergedScrollLeft, scrollBodyRef.current);\n forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n forceScroll(mergedScrollLeft, (_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.setScrollLeft);\n }\n var measureTarget = currentTarget || scrollHeaderRef.current;\n if (measureTarget) {\n var scrollWidth =\n // Should use mergedScrollX in virtual table(useInternalHooks && tailor === true)\n useInternalHooks && tailor && typeof mergedScrollX === 'number' ? mergedScrollX : measureTarget.scrollWidth;\n var clientWidth = measureTarget.clientWidth;\n // There is no space to scroll\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\n }\n if (isRTL) {\n setPingedLeft(-mergedScrollLeft < scrollWidth - clientWidth);\n setPingedRight(-mergedScrollLeft > 0);\n } else {\n setPingedLeft(mergedScrollLeft > 0);\n setPingedRight(mergedScrollLeft < scrollWidth - clientWidth);\n }\n }\n });\n var onBodyScroll = useEvent(function (e) {\n onInternalScroll(e);\n onScroll === null || onScroll === void 0 || onScroll(e);\n });\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n var _scrollBodyRef$curren4;\n onInternalScroll({\n currentTarget: getDOM(scrollBodyRef.current),\n scrollLeft: (_scrollBodyRef$curren4 = scrollBodyRef.current) === null || _scrollBodyRef$curren4 === void 0 ? void 0 : _scrollBodyRef$curren4.scrollLeft\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n var onFullTableResize = function onFullTableResize(_ref3) {\n var _stickyRef$current2;\n var width = _ref3.width;\n (_stickyRef$current2 = stickyRef.current) === null || _stickyRef$current2 === void 0 || _stickyRef$current2.checkScrollBarVisible();\n var mergedWidth = fullTableRef.current ? fullTableRef.current.offsetWidth : width;\n if (useInternalHooks && getContainerWidth && fullTableRef.current) {\n mergedWidth = getContainerWidth(fullTableRef.current, mergedWidth) || mergedWidth;\n }\n if (mergedWidth !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(mergedWidth);\n }\n };\n\n // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n var mounted = React.useRef(false);\n React.useEffect(function () {\n // onFullTableResize will be trigger once when ResizeObserver is mounted\n // This will reduce one duplicated triggerOnScroll time\n if (mounted.current) {\n triggerOnScroll();\n }\n }, [horizonScroll, data, columns.length]);\n React.useEffect(function () {\n mounted.current = true;\n }, []);\n\n // ===================== Effects ======================\n var _React$useState9 = React.useState(0),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n scrollbarSize = _React$useState10[0],\n setScrollbarSize = _React$useState10[1];\n var _React$useState11 = React.useState(true),\n _React$useState12 = _slicedToArray(_React$useState11, 2),\n supportSticky = _React$useState12[0],\n setSupportSticky = _React$useState12[1]; // Only IE not support, we mark as support first\n\n useLayoutEffect(function () {\n if (!tailor || !useInternalHooks) {\n if (scrollBodyRef.current instanceof Element) {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n } else {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n }\n }\n setSupportSticky(isStyleSupport('position', 'sticky'));\n }, []);\n\n // ================== INTERNAL HOOKS ==================\n React.useEffect(function () {\n if (useInternalHooks && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n });\n\n // ========================================================================\n // == Render ==\n // ========================================================================\n // =================== Render: Func ===================\n var renderFixedHeaderTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n }, [fixFooter, summaryNode]);\n var renderFixedFooterTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n }, [summaryNode]);\n\n // =================== Render: Node ===================\n var TableComponent = getComponent(['table'], 'table');\n\n // Table layout\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\n }\n // https://github.com/ant-design/ant-design/issues/25227\n // When scroll.x is max-content, no need to fix table layout\n // it's width should stretch out to fit content\n if (fixColumn) {\n return mergedScrollX === 'max-content' ? 'auto' : 'fixed';\n }\n if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n var ellipsis = _ref4.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode;\n\n // Header props\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n };\n\n // Empty\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n return emptyText;\n }, [hasData, emptyText]);\n\n // Body\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky\n });\n var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(function (_ref5) {\n var width = _ref5.width;\n return width;\n }),\n columns: flattenColumns\n });\n var captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n className: \"\".concat(prefixCls, \"-caption\")\n }, caption) : undefined;\n var dataProps = pickAttrs(props, {\n data: true\n });\n var ariaProps = pickAttrs(props, {\n aria: true\n });\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize: scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onInternalScroll\n });\n headerProps.colWidths = flattenColumns.map(function (_ref6, index) {\n var width = _ref6.width;\n var colWidth = index === flattenColumns.length - 1 ? width - scrollbarSize : width;\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(props.columns.length === 0, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n }\n return 0;\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n onScroll: onBodyScroll,\n ref: scrollBodyRef,\n className: classNames(\"\".concat(prefixCls, \"-body\"))\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n }\n\n // Fixed holder share the props\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: 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: \"\".concat(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: \"\".concat(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: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n className: classNames(\"\".concat(prefixCls, \"-content\")),\n onScroll: onInternalScroll,\n ref: scrollBodyRef\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n }\n var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), \"\".concat(prefixCls, \"-ping-right\"), pingedRight), \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), \"\".concat(prefixCls, \"-fixed-column-gapped\"), fixColumn && hasGapFixed), \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right')),\n style: style,\n id: id,\n ref: fullTableRef\n }, dataProps), title && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-title\")\n }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollBodyContainerRef,\n className: \"\".concat(prefixCls, \"-container\")\n }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer(mergedData)));\n if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction);\n var TableContextValue = React.useMemo(function () {\n return {\n // Scroll\n scrollX: mergedScrollX,\n // Table\n prefixCls: prefixCls,\n getComponent: getComponent,\n scrollbarSize: scrollbarSize,\n direction: direction,\n fixedInfoList: fixedInfoList,\n isSticky: isSticky,\n supportSticky: supportSticky,\n componentWidth: componentWidth,\n fixHeader: fixHeader,\n fixColumn: fixColumn,\n horizonScroll: horizonScroll,\n // Body\n tableLayout: mergedTableLayout,\n rowClassName: rowClassName,\n expandedRowClassName: expandableConfig.expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType: expandableType,\n expandRowByClick: expandableConfig.expandRowByClick,\n expandedRowRender: expandableConfig.expandedRowRender,\n expandedRowOffset: expandableConfig.expandedRowOffset,\n onTriggerExpand: onTriggerExpand,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n indentSize: expandableConfig.indentSize,\n allColumnsFixedLeft: flattenColumns.every(function (col) {\n return col.fixed === 'left';\n }),\n emptyNode: emptyNode,\n // Column\n columns: columns,\n flattenColumns: flattenColumns,\n onColumnResize: onColumnResize,\n colWidths: colWidths,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover: onHover,\n rowExpandable: expandableConfig.rowExpandable,\n onRow: onRow,\n getRowKey: getRowKey,\n expandedKeys: mergedExpandedKeys,\n childrenColumnName: mergedChildrenColumnName,\n rowHoverable: rowHoverable,\n // Measure Row\n measureRowRender: measureRowRender\n };\n }, [\n // Scroll\n mergedScrollX,\n // Table\n prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n // Body\n mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, 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}\nvar RefTable = /*#__PURE__*/React.forwardRef(Table);\nif (process.env.NODE_ENV !== 'production') {\n RefTable.displayName = 'Table';\n}\nexport function genTable(shouldTriggerRender) {\n return makeImmutable(RefTable, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.INTERNAL_HOOKS = INTERNAL_HOOKS;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;","import { createContext } from '@rc-component/context';\nexport var StaticContext = createContext(null);\nexport var GridContext = createContext(null);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { getCellProps } from \"../Body/BodyRow\";\nimport Cell from \"../Cell\";\nimport { GridContext } from \"./context\";\n/**\n * Return the width of the column by `colSpan`.\n * When `colSpan` is `0` will be trade as `1`.\n */\nexport function getColumnWidth(colIndex, colSpan, columnsOffset) {\n var mergedColSpan = colSpan || 1;\n return columnsOffset[colIndex + mergedColSpan] - (columnsOffset[colIndex] || 0);\n}\nfunction VirtualCell(props) {\n var rowInfo = props.rowInfo,\n column = props.column,\n colIndex = props.colIndex,\n indent = props.indent,\n index = props.index,\n component = props.component,\n renderIndex = props.renderIndex,\n record = props.record,\n style = props.style,\n className = props.className,\n inverse = props.inverse,\n getHeight = props.getHeight;\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className,\n colWidth = column.width;\n var _useContext = useContext(GridContext, ['columnsOffset']),\n columnsOffset = _useContext.columnsOffset;\n\n // TODO: support `expandableRowOffset`\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\n var cellStyle = additionalCellProps.style,\n _additionalCellProps$ = additionalCellProps.colSpan,\n colSpan = _additionalCellProps$ === void 0 ? 1 : _additionalCellProps$,\n _additionalCellProps$2 = additionalCellProps.rowSpan,\n rowSpan = _additionalCellProps$2 === void 0 ? 1 : _additionalCellProps$2;\n\n // ========================= ColWidth =========================\n // column width\n var startColIndex = colIndex - 1;\n var concatColWidth = getColumnWidth(startColIndex, colSpan, columnsOffset);\n\n // margin offset\n var marginOffset = colSpan > 1 ? colWidth - concatColWidth : 0;\n\n // ========================== Style ===========================\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread({}, cellStyle), style), {}, {\n flex: \"0 0 \".concat(concatColWidth, \"px\"),\n width: \"\".concat(concatColWidth, \"px\"),\n marginRight: marginOffset,\n pointerEvents: 'auto'\n });\n\n // When `colSpan` or `rowSpan` is `0`, should skip render.\n var needHide = React.useMemo(function () {\n if (inverse) {\n return rowSpan <= 1;\n } else {\n return colSpan === 0 || rowSpan === 0 || rowSpan > 1;\n }\n }, [rowSpan, colSpan, inverse]);\n\n // 0 rowSpan or colSpan should not render\n if (needHide) {\n mergedStyle.visibility = 'hidden';\n } else if (inverse) {\n mergedStyle.height = getHeight === null || getHeight === void 0 ? void 0 : getHeight(rowSpan);\n }\n var mergedRender = needHide ? function () {\n return null;\n } : render;\n\n // ========================== Render ==========================\n var cellSpan = {};\n\n // Virtual should reset `colSpan` & `rowSpan`\n if (rowSpan === 0 || colSpan === 0) {\n cellSpan.rowSpan = 1;\n cellSpan.colSpan = 1;\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: classNames(columnClassName, className),\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: component,\n prefixCls: rowInfo.prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: mergedRender,\n shouldCellUpdate: column.shouldCellUpdate\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: _objectSpread(_objectSpread({}, additionalCellProps), {}, {\n style: mergedStyle\n }, cellSpan)\n }));\n}\nexport default VirtualCell;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"data\", \"index\", \"className\", \"rowKey\", \"style\", \"extra\", \"getHeight\"];\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport VirtualCell from \"./VirtualCell\";\nimport { StaticContext } from \"./context\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\nvar BodyLine = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n index = props.index,\n className = props.className,\n rowKey = props.rowKey,\n style = props.style,\n extra = props.extra,\n getHeight = props.getHeight,\n restProps = _objectWithoutProperties(props, _excluded);\n var record = data.record,\n indent = data.indent,\n renderIndex = data.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'flattenColumns', 'fixColumn', 'componentWidth', 'scrollX']),\n scrollX = _useContext.scrollX,\n flattenColumns = _useContext.flattenColumns,\n prefixCls = _useContext.prefixCls,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth;\n var _useContext2 = useContext(StaticContext, ['getComponent']),\n getComponent = _useContext2.getComponent;\n var rowInfo = useRowInfo(record, rowKey, index, indent);\n var RowComponent = getComponent(['body', 'row'], 'div');\n var cellComponent = getComponent(['body', 'cell'], 'div');\n\n // ========================== Expand ==========================\n var rowSupportExpand = rowInfo.rowSupportExpand,\n expanded = rowInfo.expanded,\n rowProps = rowInfo.rowProps,\n expandedRowRender = rowInfo.expandedRowRender,\n expandedRowClassName = rowInfo.expandedRowClassName;\n var expandRowNode;\n if (rowSupportExpand && expanded) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n var expandedClsName = computedExpandedClassName(expandedRowClassName, record, index, indent);\n var additionalProps = {};\n if (fixColumn) {\n additionalProps = {\n style: _defineProperty({}, '--virtual-width', \"\".concat(componentWidth, \"px\"))\n };\n }\n var rowCellCls = \"\".concat(prefixCls, \"-expanded-row-cell\");\n expandRowNode = /*#__PURE__*/React.createElement(RowComponent, {\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), expandedClsName)\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n className: classNames(rowCellCls, _defineProperty({}, \"\".concat(rowCellCls, \"-fixed\"), fixColumn)),\n additionalProps: additionalProps\n }, expandContent));\n }\n\n // ========================== Render ==========================\n var rowStyle = _objectSpread(_objectSpread({}, style), {}, {\n width: scrollX\n });\n if (extra) {\n rowStyle.position = 'absolute';\n rowStyle.pointerEvents = 'none';\n }\n var rowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, restProps, {\n \"data-row-key\": rowKey,\n ref: rowSupportExpand ? null : ref,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className, _defineProperty({}, \"\".concat(prefixCls, \"-row-extra\"), extra)),\n style: _objectSpread(_objectSpread({}, rowStyle), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n return /*#__PURE__*/React.createElement(VirtualCell, {\n key: colIndex,\n component: cellComponent,\n rowInfo: rowInfo,\n column: column,\n colIndex: colIndex,\n indent: indent,\n index: index,\n renderIndex: renderIndex,\n record: record,\n inverse: extra,\n getHeight: getHeight\n });\n }));\n if (rowSupportExpand) {\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref\n }, rowNode, expandRowNode);\n }\n return rowNode;\n});\nvar ResponseBodyLine = responseImmutable(BodyLine);\nif (process.env.NODE_ENV !== 'production') {\n ResponseBodyLine.displayName = 'BodyLine';\n}\nexport default ResponseBodyLine;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport BodyLine from \"./BodyLine\";\nimport { GridContext, StaticContext } from \"./context\";\nvar Grid = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n onScroll = props.onScroll;\n var _useContext = useContext(TableContext, ['flattenColumns', 'onColumnResize', 'getRowKey', 'prefixCls', 'expandedKeys', 'childrenColumnName', 'scrollX', 'direction']),\n flattenColumns = _useContext.flattenColumns,\n onColumnResize = _useContext.onColumnResize,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n prefixCls = _useContext.prefixCls,\n childrenColumnName = _useContext.childrenColumnName,\n scrollX = _useContext.scrollX,\n direction = _useContext.direction;\n var _useContext2 = useContext(StaticContext),\n sticky = _useContext2.sticky,\n scrollY = _useContext2.scrollY,\n listItemHeight = _useContext2.listItemHeight,\n getComponent = _useContext2.getComponent,\n onTablePropScroll = _useContext2.onScroll;\n\n // =========================== Ref ============================\n var listRef = React.useRef();\n\n // =========================== Data ===========================\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // ========================== Column ==========================\n var columnsWidth = React.useMemo(function () {\n var total = 0;\n return flattenColumns.map(function (_ref) {\n var width = _ref.width,\n minWidth = _ref.minWidth,\n key = _ref.key;\n var finalWidth = Math.max(width || 0, minWidth || 0);\n total += finalWidth;\n return [key, finalWidth, total];\n });\n }, [flattenColumns]);\n var columnsOffset = React.useMemo(function () {\n return columnsWidth.map(function (colWidth) {\n return colWidth[2];\n });\n }, [columnsWidth]);\n React.useEffect(function () {\n columnsWidth.forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n width = _ref3[1];\n onColumnResize(key, width);\n });\n }, [columnsWidth]);\n\n // =========================== Ref ============================\n React.useImperativeHandle(ref, function () {\n var _listRef$current2;\n var obj = {\n scrollTo: function scrollTo(config) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(config);\n },\n nativeElement: (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.nativeElement\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current3;\n return ((_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : _listRef$current3.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current4;\n (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 || _listRef$current4.scrollTo({\n left: value\n });\n }\n });\n\n // https://github.com/ant-design/ant-design/issues/54734\n Object.defineProperty(obj, 'scrollTop', {\n get: function get() {\n var _listRef$current5;\n return ((_listRef$current5 = listRef.current) === null || _listRef$current5 === void 0 ? void 0 : _listRef$current5.getScrollInfo().y) || 0;\n },\n set: function set(value) {\n var _listRef$current6;\n (_listRef$current6 = listRef.current) === null || _listRef$current6 === void 0 || _listRef$current6.scrollTo({\n top: value\n });\n }\n });\n return obj;\n });\n\n // ======================= Col/Row Span =======================\n var getRowSpan = function getRowSpan(column, index) {\n var _flattenData$index;\n var record = (_flattenData$index = flattenData[index]) === null || _flattenData$index === void 0 ? void 0 : _flattenData$index.record;\n var onCell = column.onCell;\n if (onCell) {\n var _cellProps$rowSpan;\n var cellProps = onCell(record, index);\n return (_cellProps$rowSpan = cellProps === null || cellProps === void 0 ? void 0 : cellProps.rowSpan) !== null && _cellProps$rowSpan !== void 0 ? _cellProps$rowSpan : 1;\n }\n return 1;\n };\n var extraRender = function extraRender(info) {\n var start = info.start,\n end = info.end,\n getSize = info.getSize,\n offsetY = info.offsetY;\n\n // Do nothing if no data\n if (end < 0) {\n return null;\n }\n\n // Find first rowSpan column\n var firstRowSpanColumns = flattenColumns.filter(\n // rowSpan is 0\n function (column) {\n return getRowSpan(column, start) === 0;\n });\n var startIndex = start;\n var _loop = function _loop(i) {\n firstRowSpanColumns = firstRowSpanColumns.filter(function (column) {\n return getRowSpan(column, i) === 0;\n });\n if (!firstRowSpanColumns.length) {\n startIndex = i;\n return 1; // break\n }\n };\n for (var i = start; i >= 0; i -= 1) {\n if (_loop(i)) break;\n }\n\n // Find last rowSpan column\n var lastRowSpanColumns = flattenColumns.filter(\n // rowSpan is not 1\n function (column) {\n return getRowSpan(column, end) !== 1;\n });\n var endIndex = end;\n var _loop2 = function _loop2(_i) {\n lastRowSpanColumns = lastRowSpanColumns.filter(function (column) {\n return getRowSpan(column, _i) !== 1;\n });\n if (!lastRowSpanColumns.length) {\n endIndex = Math.max(_i - 1, end);\n return 1; // break\n }\n };\n for (var _i = end; _i < flattenData.length; _i += 1) {\n if (_loop2(_i)) break;\n }\n\n // Collect the line who has rowSpan\n var spanLines = [];\n var _loop3 = function _loop3(_i2) {\n var item = flattenData[_i2];\n\n // This code will never reach, just incase\n if (!item) {\n return 1; // continue\n }\n if (flattenColumns.some(function (column) {\n return getRowSpan(column, _i2) > 1;\n })) {\n spanLines.push(_i2);\n }\n };\n for (var _i2 = startIndex; _i2 <= endIndex; _i2 += 1) {\n if (_loop3(_i2)) continue;\n }\n\n // Patch extra line on the page\n var nodes = spanLines.map(function (index) {\n var item = flattenData[index];\n var rowKey = getRowKey(item.record, index);\n var getHeight = function getHeight(rowSpan) {\n var endItemIndex = index + rowSpan - 1;\n var endItemKey = getRowKey(flattenData[endItemIndex].record, endItemIndex);\n var sizeInfo = getSize(rowKey, endItemKey);\n return sizeInfo.bottom - sizeInfo.top;\n };\n var sizeInfo = getSize(rowKey);\n return /*#__PURE__*/React.createElement(BodyLine, {\n key: index,\n data: item,\n rowKey: rowKey,\n index: index,\n style: {\n top: -offsetY + sizeInfo.top\n },\n extra: true,\n getHeight: getHeight\n });\n });\n return nodes;\n };\n\n // ========================= Context ==========================\n var gridContext = React.useMemo(function () {\n return {\n columnsOffset: columnsOffset\n };\n }, [columnsOffset]);\n\n // ========================== Render ==========================\n var tblPrefixCls = \"\".concat(prefixCls, \"-tbody\");\n\n // default 'div' in rc-virtual-list\n var wrapperComponent = getComponent(['body', 'wrapper']);\n\n // ========================== Sticky Scroll Bar ==========================\n var horizontalScrollBarStyle = {};\n if (sticky) {\n horizontalScrollBarStyle.position = 'sticky';\n horizontalScrollBarStyle.bottom = 0;\n if (_typeof(sticky) === 'object' && sticky.offsetScroll) {\n horizontalScrollBarStyle.bottom = sticky.offsetScroll;\n }\n }\n return /*#__PURE__*/React.createElement(GridContext.Provider, {\n value: gridContext\n }, /*#__PURE__*/React.createElement(VirtualList, {\n fullHeight: false,\n ref: listRef,\n prefixCls: \"\".concat(tblPrefixCls, \"-virtual\"),\n styles: {\n horizontalScrollBar: horizontalScrollBarStyle\n },\n className: tblPrefixCls,\n height: scrollY,\n itemHeight: listItemHeight || 24,\n data: flattenData,\n itemKey: function itemKey(item) {\n return getRowKey(item.record);\n },\n component: wrapperComponent,\n scrollWidth: scrollX,\n direction: direction,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var _listRef$current7;\n var x = _ref4.x;\n onScroll({\n currentTarget: (_listRef$current7 = listRef.current) === null || _listRef$current7 === void 0 ? void 0 : _listRef$current7.nativeElement,\n scrollLeft: x\n });\n },\n onScroll: onTablePropScroll,\n extraRender: extraRender\n }, function (item, index, itemProps) {\n var rowKey = getRowKey(item.record, index);\n return /*#__PURE__*/React.createElement(BodyLine, {\n data: item,\n rowKey: rowKey,\n index: index,\n style: itemProps.style\n });\n }));\n});\nvar ResponseGrid = responseImmutable(Grid);\nif (process.env.NODE_ENV !== 'production') {\n ResponseGrid.displayName = 'ResponseGrid';\n}\nexport default ResponseGrid;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport { useEvent, warning } from 'rc-util';\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../constant\";\nimport { makeImmutable } from \"../context/TableContext\";\nimport Table, { DEFAULT_PREFIX } from \"../Table\";\nimport Grid from \"./BodyGrid\";\nimport { StaticContext } from \"./context\";\nimport getValue from \"rc-util/es/utils/get\";\nvar renderBody = function renderBody(rawData, props) {\n var ref = props.ref,\n onScroll = props.onScroll;\n return /*#__PURE__*/React.createElement(Grid, {\n ref: ref,\n data: rawData,\n onScroll: onScroll\n });\n};\nfunction VirtualTable(props, ref) {\n var data = props.data,\n columns = props.columns,\n scroll = props.scroll,\n sticky = props.sticky,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? DEFAULT_PREFIX : _props$prefixCls,\n className = props.className,\n listItemHeight = props.listItemHeight,\n components = props.components,\n onScroll = props.onScroll;\n var _ref = scroll || {},\n scrollX = _ref.x,\n scrollY = _ref.y;\n\n // Fill scrollX\n if (typeof scrollX !== 'number') {\n if (process.env.NODE_ENV !== 'production') {\n warning(!scrollX, '`scroll.x` in virtual table must be number.');\n }\n scrollX = 1;\n }\n\n // Fill scrollY\n if (typeof scrollY !== 'number') {\n scrollY = 500;\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`scroll.y` in virtual table must be number.');\n }\n }\n var getComponent = useEvent(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n });\n\n // Memo this\n var onInternalScroll = useEvent(onScroll);\n\n // ========================= Context ==========================\n var context = React.useMemo(function () {\n return {\n sticky: sticky,\n scrollY: scrollY,\n listItemHeight: listItemHeight,\n getComponent: getComponent,\n onScroll: onInternalScroll\n };\n }, [sticky, scrollY, listItemHeight, getComponent, onInternalScroll]);\n\n // ========================== Render ==========================\n return /*#__PURE__*/React.createElement(StaticContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Table, _extends({}, props, {\n className: classNames(className, \"\".concat(prefixCls, \"-virtual\")),\n scroll: _objectSpread(_objectSpread({}, scroll), {}, {\n x: scrollX\n }),\n components: _objectSpread(_objectSpread({}, components), {}, {\n // fix https://github.com/ant-design/ant-design/issues/48991\n body: data !== null && data !== void 0 && data.length ? renderBody : undefined\n }),\n columns: columns,\n internalHooks: INTERNAL_HOOKS,\n tailor: true,\n ref: ref\n })));\n}\nvar RefVirtualTable = /*#__PURE__*/React.forwardRef(VirtualTable);\nif (process.env.NODE_ENV !== 'production') {\n RefVirtualTable.displayName = 'VirtualTable';\n}\nexport function genVirtualTable(shouldTriggerRender) {\n return makeImmutable(RefVirtualTable, shouldTriggerRender);\n}\nexport default genVirtualTable();","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\nconst Column = _ => null;\nexport default Column;","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\nconst ColumnGroup = _ => null;\nexport default ColumnGroup;","/**\n * Webpack has bug for import loop, which is not the same behavior as ES module.\n * When util.js imports the TreeNode for tree generate will cause treeContextTypes be empty.\n */\nimport * as React from 'react';\nexport var TreeContext = /*#__PURE__*/React.createContext(null);\n\n/** Internal usage, safe to remove. Do not use in prod */\nexport var UnstableContext = /*#__PURE__*/React.createContext({});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar Indent = function Indent(_ref) {\n var prefixCls = _ref.prefixCls,\n level = _ref.level,\n isStart = _ref.isStart,\n isEnd = _ref.isEnd;\n var baseClassName = \"\".concat(prefixCls, \"-indent-unit\");\n var list = [];\n for (var i = 0; i < level; i += 1) {\n list.push( /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: classNames(baseClassName, _defineProperty(_defineProperty({}, \"\".concat(baseClassName, \"-start\"), isStart[i]), \"\".concat(baseClassName, \"-end\"), isEnd[i]))\n }));\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-indent\")\n }, list);\n};\nexport default /*#__PURE__*/React.memo(Indent);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"eventKey\", \"className\", \"style\", \"dragOver\", \"dragOverGapTop\", \"dragOverGapBottom\", \"isLeaf\", \"isStart\", \"isEnd\", \"expanded\", \"selected\", \"checked\", \"halfChecked\", \"loading\", \"domRef\", \"active\", \"data\", \"onMouseMove\", \"selectable\"];\nimport React from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport { TreeContext, UnstableContext } from \"./contextTypes\";\nimport Indent from \"./Indent\";\nimport getEntity from \"./utils/keyUtil\";\nimport { convertNodePropsToEventData } from \"./utils/treeUtil\";\nvar ICON_OPEN = 'open';\nvar ICON_CLOSE = 'close';\nvar defaultTitle = '---';\nvar TreeNode = function TreeNode(props) {\n var _unstableContext$node, _context$filterTreeNo, _classNames4;\n var eventKey = props.eventKey,\n className = props.className,\n style = props.style,\n dragOver = props.dragOver,\n dragOverGapTop = props.dragOverGapTop,\n dragOverGapBottom = props.dragOverGapBottom,\n isLeaf = props.isLeaf,\n isStart = props.isStart,\n isEnd = props.isEnd,\n expanded = props.expanded,\n selected = props.selected,\n checked = props.checked,\n halfChecked = props.halfChecked,\n loading = props.loading,\n domRef = props.domRef,\n active = props.active,\n data = props.data,\n onMouseMove = props.onMouseMove,\n selectable = props.selectable,\n otherProps = _objectWithoutProperties(props, _excluded);\n var context = React.useContext(TreeContext);\n var unstableContext = React.useContext(UnstableContext);\n var selectHandleRef = React.useRef(null);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n dragNodeHighlight = _React$useState2[0],\n setDragNodeHighlight = _React$useState2[1];\n\n // ======= State: Disabled State =======\n var isDisabled = !!(context.disabled || props.disabled || (_unstableContext$node = unstableContext.nodeDisabled) !== null && _unstableContext$node !== void 0 && _unstableContext$node.call(unstableContext, data));\n var isCheckable = React.useMemo(function () {\n // Return false if tree or treeNode is not checkable\n if (!context.checkable || props.checkable === false) {\n return false;\n }\n return context.checkable;\n }, [context.checkable, props.checkable]);\n\n // ======= Event Handlers: Selection and Check =======\n var onSelect = function onSelect(e) {\n if (isDisabled) {\n return;\n }\n context.onNodeSelect(e, convertNodePropsToEventData(props));\n };\n var onCheck = function onCheck(e) {\n if (isDisabled) {\n return;\n }\n if (!isCheckable || props.disableCheckbox) {\n return;\n }\n context.onNodeCheck(e, convertNodePropsToEventData(props), !checked);\n };\n\n // ======= State: Selectable Check =======\n var isSelectable = React.useMemo(function () {\n // Ignore when selectable is undefined or null\n if (typeof selectable === 'boolean') {\n return selectable;\n }\n return context.selectable;\n }, [selectable, context.selectable]);\n var onSelectorClick = function onSelectorClick(e) {\n // Click trigger before select/check operation\n context.onNodeClick(e, convertNodePropsToEventData(props));\n if (isSelectable) {\n onSelect(e);\n } else {\n onCheck(e);\n }\n };\n var onSelectorDoubleClick = function onSelectorDoubleClick(e) {\n context.onNodeDoubleClick(e, convertNodePropsToEventData(props));\n };\n var onMouseEnter = function onMouseEnter(e) {\n context.onNodeMouseEnter(e, convertNodePropsToEventData(props));\n };\n var onMouseLeave = function onMouseLeave(e) {\n context.onNodeMouseLeave(e, convertNodePropsToEventData(props));\n };\n var onContextMenu = function onContextMenu(e) {\n context.onNodeContextMenu(e, convertNodePropsToEventData(props));\n };\n\n // ======= Drag: Drag Enabled =======\n var isDraggable = React.useMemo(function () {\n return !!(context.draggable && (!context.draggable.nodeDraggable || context.draggable.nodeDraggable(data)));\n }, [context.draggable, data]);\n\n // ======= Drag: Drag Event Handlers =======\n var onDragStart = function onDragStart(e) {\n e.stopPropagation();\n setDragNodeHighlight(true);\n context.onNodeDragStart(e, props);\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } catch (_unused) {\n // empty\n }\n };\n var onDragEnter = function onDragEnter(e) {\n e.preventDefault();\n e.stopPropagation();\n context.onNodeDragEnter(e, props);\n };\n var onDragOver = function onDragOver(e) {\n e.preventDefault();\n e.stopPropagation();\n context.onNodeDragOver(e, props);\n };\n var onDragLeave = function onDragLeave(e) {\n e.stopPropagation();\n context.onNodeDragLeave(e, props);\n };\n var onDragEnd = function onDragEnd(e) {\n e.stopPropagation();\n setDragNodeHighlight(false);\n context.onNodeDragEnd(e, props);\n };\n var onDrop = function onDrop(e) {\n e.preventDefault();\n e.stopPropagation();\n setDragNodeHighlight(false);\n context.onNodeDrop(e, props);\n };\n\n // ======= Expand: Node Expansion =======\n var onExpand = function onExpand(e) {\n if (loading) {\n return;\n }\n context.onNodeExpand(e, convertNodePropsToEventData(props));\n };\n\n // ======= State: Has Children =======\n var hasChildren = React.useMemo(function () {\n var _ref = getEntity(context.keyEntities, eventKey) || {},\n children = _ref.children;\n return Boolean((children || []).length);\n }, [context.keyEntities, eventKey]);\n\n // ======= State: Leaf Check =======\n var memoizedIsLeaf = React.useMemo(function () {\n if (isLeaf === false) {\n return false;\n }\n return isLeaf || !context.loadData && !hasChildren || context.loadData && props.loaded && !hasChildren;\n }, [isLeaf, context.loadData, hasChildren, props.loaded]);\n\n // ============== Effect ==============\n React.useEffect(function () {\n // Load data to avoid default expanded tree without data\n if (loading) {\n return;\n }\n // read from state to avoid loadData at same time\n if (typeof context.loadData === 'function' && expanded && !memoizedIsLeaf && !props.loaded) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n context.onNodeLoad(convertNodePropsToEventData(props));\n }\n }, [loading, context.loadData, context.onNodeLoad, expanded, memoizedIsLeaf, props]);\n\n // ==================== Render: Drag Handler ====================\n var dragHandlerNode = React.useMemo(function () {\n var _context$draggable;\n if (!((_context$draggable = context.draggable) !== null && _context$draggable !== void 0 && _context$draggable.icon)) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(context.prefixCls, \"-draggable-icon\")\n }, context.draggable.icon);\n }, [context.draggable]);\n\n // ====================== Render: Switcher ======================\n var renderSwitcherIconDom = function renderSwitcherIconDom(isInternalLeaf) {\n var switcherIcon = props.switcherIcon || context.switcherIcon;\n // if switcherIconDom is null, no render switcher span\n if (typeof switcherIcon === 'function') {\n return switcherIcon(_objectSpread(_objectSpread({}, props), {}, {\n isLeaf: isInternalLeaf\n }));\n }\n return switcherIcon;\n };\n\n // Switcher\n var renderSwitcher = function renderSwitcher() {\n if (memoizedIsLeaf) {\n // if switcherIconDom is null, no render switcher span\n var _switcherIconDom = renderSwitcherIconDom(true);\n return _switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(context.prefixCls, \"-switcher\"), \"\".concat(context.prefixCls, \"-switcher-noop\"))\n }, _switcherIconDom) : null;\n }\n var switcherIconDom = renderSwitcherIconDom(false);\n return switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n onClick: onExpand,\n className: classNames(\"\".concat(context.prefixCls, \"-switcher\"), \"\".concat(context.prefixCls, \"-switcher_\").concat(expanded ? ICON_OPEN : ICON_CLOSE))\n }, switcherIconDom) : null;\n };\n\n // ====================== Checkbox ======================\n var checkboxNode = React.useMemo(function () {\n if (!isCheckable) {\n return null;\n }\n\n // [Legacy] Custom element should be separate with `checkable` in future\n var $custom = typeof isCheckable !== 'boolean' ? isCheckable : null;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(context.prefixCls, \"-checkbox\"), _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(context.prefixCls, \"-checkbox-checked\"), checked), \"\".concat(context.prefixCls, \"-checkbox-indeterminate\"), !checked && halfChecked), \"\".concat(context.prefixCls, \"-checkbox-disabled\"), isDisabled || props.disableCheckbox)),\n onClick: onCheck,\n role: \"checkbox\",\n \"aria-checked\": halfChecked ? 'mixed' : checked,\n \"aria-disabled\": isDisabled || props.disableCheckbox,\n \"aria-label\": \"Select \".concat(typeof props.title === 'string' ? props.title : 'tree node')\n }, $custom);\n }, [isCheckable, checked, halfChecked, isDisabled, props.disableCheckbox, props.title]);\n\n // ============== State: Node State (Open/Close) ==============\n var nodeState = React.useMemo(function () {\n if (memoizedIsLeaf) {\n return null;\n }\n return expanded ? ICON_OPEN : ICON_CLOSE;\n }, [memoizedIsLeaf, expanded]);\n\n // ==================== Render: Title + Icon ====================\n var iconNode = React.useMemo(function () {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(context.prefixCls, \"-iconEle\"), \"\".concat(context.prefixCls, \"-icon__\").concat(nodeState || 'docu'), _defineProperty({}, \"\".concat(context.prefixCls, \"-icon_loading\"), loading))\n });\n }, [context.prefixCls, nodeState, loading]);\n\n // =================== Drop Indicator ===================\n var dropIndicatorNode = React.useMemo(function () {\n var rootDraggable = Boolean(context.draggable);\n // allowDrop is calculated in Tree.tsx, there is no need for calc it here\n var showIndicator = !props.disabled && rootDraggable && context.dragOverNodeKey === eventKey;\n if (!showIndicator) {\n return null;\n }\n return context.dropIndicatorRender({\n dropPosition: context.dropPosition,\n dropLevelOffset: context.dropLevelOffset,\n indent: context.indent,\n prefixCls: context.prefixCls,\n direction: context.direction\n });\n }, [context.dropPosition, context.dropLevelOffset, context.indent, context.prefixCls, context.direction, context.draggable, context.dragOverNodeKey, context.dropIndicatorRender]);\n\n // Icon + Title\n var selectorNode = React.useMemo(function () {\n var _props$title = props.title,\n title = _props$title === void 0 ? defaultTitle : _props$title;\n var wrapClass = \"\".concat(context.prefixCls, \"-node-content-wrapper\");\n\n // Icon - Still show loading icon when loading without showIcon\n var $icon;\n if (context.showIcon) {\n var currentIcon = props.icon || context.icon;\n $icon = currentIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(context.prefixCls, \"-iconEle\"), \"\".concat(context.prefixCls, \"-icon__customize\"))\n }, typeof currentIcon === 'function' ? currentIcon(props) : currentIcon) : iconNode;\n } else if (context.loadData && loading) {\n $icon = iconNode;\n }\n\n // Title\n var titleNode;\n if (typeof title === 'function') {\n titleNode = title(data);\n } else if (context.titleRender) {\n titleNode = context.titleRender(data);\n } else {\n titleNode = title;\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: selectHandleRef,\n title: typeof title === 'string' ? title : '',\n className: classNames(wrapClass, \"\".concat(wrapClass, \"-\").concat(nodeState || 'normal'), _defineProperty({}, \"\".concat(context.prefixCls, \"-node-selected\"), !isDisabled && (selected || dragNodeHighlight))),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onContextMenu: onContextMenu,\n onClick: onSelectorClick,\n onDoubleClick: onSelectorDoubleClick\n }, $icon, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(context.prefixCls, \"-title\")\n }, titleNode), dropIndicatorNode);\n }, [context.prefixCls, context.showIcon, props, context.icon, iconNode, context.titleRender, data, nodeState, onMouseEnter, onMouseLeave, onContextMenu, onSelectorClick, onSelectorDoubleClick]);\n var dataOrAriaAttributeProps = pickAttrs(otherProps, {\n aria: true,\n data: true\n });\n var _ref2 = getEntity(context.keyEntities, eventKey) || {},\n level = _ref2.level;\n var isEndNode = isEnd[isEnd.length - 1];\n var draggableWithoutDisabled = !isDisabled && isDraggable;\n var dragging = context.draggingNodeKey === eventKey;\n var ariaSelected = selectable !== undefined ? {\n 'aria-selected': !!selectable\n } : undefined;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: domRef,\n role: \"treeitem\",\n \"aria-expanded\": isLeaf ? undefined : expanded,\n className: classNames(className, \"\".concat(context.prefixCls, \"-treenode\"), (_classNames4 = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames4, \"\".concat(context.prefixCls, \"-treenode-disabled\"), isDisabled), \"\".concat(context.prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), \"\".concat(context.prefixCls, \"-treenode-checkbox-checked\"), checked), \"\".concat(context.prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), \"\".concat(context.prefixCls, \"-treenode-selected\"), selected), \"\".concat(context.prefixCls, \"-treenode-loading\"), loading), \"\".concat(context.prefixCls, \"-treenode-active\"), active), \"\".concat(context.prefixCls, \"-treenode-leaf-last\"), isEndNode), \"\".concat(context.prefixCls, \"-treenode-draggable\"), isDraggable), \"dragging\", dragging), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames4, 'drop-target', context.dropTargetKey === eventKey), 'drop-container', context.dropContainerKey === eventKey), 'drag-over', !isDisabled && dragOver), 'drag-over-gap-top', !isDisabled && dragOverGapTop), 'drag-over-gap-bottom', !isDisabled && dragOverGapBottom), 'filter-node', (_context$filterTreeNo = context.filterTreeNode) === null || _context$filterTreeNo === void 0 ? void 0 : _context$filterTreeNo.call(context, convertNodePropsToEventData(props))), \"\".concat(context.prefixCls, \"-treenode-leaf\"), memoizedIsLeaf))),\n style: style\n // Draggable config\n ,\n draggable: draggableWithoutDisabled,\n onDragStart: draggableWithoutDisabled ? onDragStart : undefined\n // Drop config\n ,\n onDragEnter: isDraggable ? onDragEnter : undefined,\n onDragOver: isDraggable ? onDragOver : undefined,\n onDragLeave: isDraggable ? onDragLeave : undefined,\n onDrop: isDraggable ? onDrop : undefined,\n onDragEnd: isDraggable ? onDragEnd : undefined,\n onMouseMove: onMouseMove\n }, ariaSelected, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(Indent, {\n prefixCls: context.prefixCls,\n level: level,\n isStart: isStart,\n isEnd: isEnd\n }), dragHandlerNode, renderSwitcher(), checkboxNode, selectorNode);\n};\nTreeNode.isTreeNode = 1;\nif (process.env.NODE_ENV !== 'production') {\n TreeNode.displayName = 'TreeNode';\n}\nexport default TreeNode;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\n/* eslint-disable no-lonely-if */\n/**\n * Legacy code. Should avoid to use if you are new to import these code.\n */\n\nimport warning from \"rc-util/es/warning\";\nimport React from 'react';\nimport TreeNode from \"./TreeNode\";\nimport getEntity from \"./utils/keyUtil\";\nexport { getPosition, isTreeNode } from \"./utils/treeUtil\";\nexport function arrDel(list, value) {\n if (!list) return [];\n var clone = list.slice();\n var index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\nexport function arrAdd(list, value) {\n var clone = (list || []).slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\nexport function posToArr(pos) {\n return pos.split('-');\n}\nexport function getDragChildrenKeys(dragNodeKey, keyEntities) {\n // not contains self\n // self for left or right drag\n var dragChildrenKeys = [];\n var entity = getEntity(keyEntities, dragNodeKey);\n function dig() {\n var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n list.forEach(function (_ref) {\n var key = _ref.key,\n children = _ref.children;\n dragChildrenKeys.push(key);\n dig(children);\n });\n }\n dig(entity.children);\n return dragChildrenKeys;\n}\nexport function isLastChild(treeNodeEntity) {\n if (treeNodeEntity.parent) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === treeNodeEntity.parent.children.length - 1;\n }\n return false;\n}\nexport function isFirstChild(treeNodeEntity) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === 0;\n}\n\n// Only used when drag, not affect SSR.\nexport function calcDropPosition(event, dragNodeProps, targetNodeProps, indent, startMousePosition, allowDrop, flattenedNodes, keyEntities, expandKeys, direction) {\n var _abstractDropNodeEnti;\n var clientX = event.clientX,\n clientY = event.clientY;\n var _getBoundingClientRec = event.target.getBoundingClientRect(),\n top = _getBoundingClientRec.top,\n height = _getBoundingClientRec.height;\n // optional chain for testing\n var horizontalMouseOffset = (direction === 'rtl' ? -1 : 1) * (((startMousePosition === null || startMousePosition === void 0 ? void 0 : startMousePosition.x) || 0) - clientX);\n var rawDropLevelOffset = (horizontalMouseOffset - 12) / indent;\n\n // Filter the expanded keys to exclude the node that not has children currently (like async nodes).\n var filteredExpandKeys = expandKeys.filter(function (key) {\n var _keyEntities$key;\n return (_keyEntities$key = keyEntities[key]) === null || _keyEntities$key === void 0 || (_keyEntities$key = _keyEntities$key.children) === null || _keyEntities$key === void 0 ? void 0 : _keyEntities$key.length;\n });\n\n // find abstract drop node by horizontal offset\n var abstractDropNodeEntity = getEntity(keyEntities, targetNodeProps.eventKey);\n if (clientY < top + height / 2) {\n // first half, set abstract drop node to previous node\n var nodeIndex = flattenedNodes.findIndex(function (flattenedNode) {\n return flattenedNode.key === abstractDropNodeEntity.key;\n });\n var prevNodeIndex = nodeIndex <= 0 ? 0 : nodeIndex - 1;\n var prevNodeKey = flattenedNodes[prevNodeIndex].key;\n abstractDropNodeEntity = getEntity(keyEntities, prevNodeKey);\n }\n var initialAbstractDropNodeKey = abstractDropNodeEntity.key;\n var abstractDragOverEntity = abstractDropNodeEntity;\n var dragOverNodeKey = abstractDropNodeEntity.key;\n var dropPosition = 0;\n var dropLevelOffset = 0;\n\n // Only allow cross level drop when dragging on a non-expanded node\n if (!filteredExpandKeys.includes(initialAbstractDropNodeKey)) {\n for (var i = 0; i < rawDropLevelOffset; i += 1) {\n if (isLastChild(abstractDropNodeEntity)) {\n abstractDropNodeEntity = abstractDropNodeEntity.parent;\n dropLevelOffset += 1;\n } else {\n break;\n }\n }\n }\n var abstractDragDataNode = dragNodeProps.data;\n var abstractDropDataNode = abstractDropNodeEntity.node;\n var dropAllowed = true;\n if (isFirstChild(abstractDropNodeEntity) && abstractDropNodeEntity.level === 0 && clientY < top + height / 2 && allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: -1\n }) && abstractDropNodeEntity.key === targetNodeProps.eventKey) {\n // first half of first node in first level\n dropPosition = -1;\n } else if ((abstractDragOverEntity.children || []).length && filteredExpandKeys.includes(dragOverNodeKey)) {\n // drop on expanded node\n // only allow drop inside\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else {\n dropAllowed = false;\n }\n } else if (dropLevelOffset === 0) {\n if (rawDropLevelOffset > -1.5) {\n // | Node | <- abstractDropNode\n // | -^-===== | <- mousePosition\n // 1. try drop after\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n } else {\n // | Node | <- abstractDropNode\n // | ---==^== | <- mousePosition\n // whether it has children or doesn't has children\n // always\n // 1. try drop inside\n // 2. try drop after\n // 3. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n } else {\n // | Node1 | <- abstractDropNode\n // | Node2 |\n // --^--|----=====| <- mousePosition\n // 1. try insert after Node1\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n return {\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: abstractDropNodeEntity.key,\n dropTargetPos: abstractDropNodeEntity.pos,\n dragOverNodeKey: dragOverNodeKey,\n dropContainerKey: dropPosition === 0 ? null : ((_abstractDropNodeEnti = abstractDropNodeEntity.parent) === null || _abstractDropNodeEnti === void 0 ? void 0 : _abstractDropNodeEnti.key) || null,\n dropAllowed: dropAllowed\n };\n}\n\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) return undefined;\n var multiple = props.multiple;\n if (multiple) {\n return selectedKeys.slice();\n }\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\nvar internalProcessProps = function internalProcessProps(props) {\n return props;\n};\nexport function convertDataToTree(treeData, processor) {\n if (!treeData) return [];\n var _ref2 = processor || {},\n _ref2$processProps = _ref2.processProps,\n processProps = _ref2$processProps === void 0 ? internalProcessProps : _ref2$processProps;\n var list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(function (_ref3) {\n var children = _ref3.children,\n props = _objectWithoutProperties(_ref3, _excluded);\n var childrenNodes = convertDataToTree(children, processor);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n key: props.key\n }, processProps(props)), childrenNodes);\n });\n}\n\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n\n // Convert keys to object format\n var keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined\n };\n } else if (_typeof(keys) === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n return keyProps;\n}\n\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n var expandedKeys = new Set();\n function conductUp(key) {\n if (expandedKeys.has(key)) return;\n var entity = getEntity(keyEntities, key);\n if (!entity) return;\n expandedKeys.add(key);\n var parent = entity.parent,\n node = entity.node;\n if (node.disabled) return;\n if (parent) {\n conductUp(parent.key);\n }\n }\n (keyList || []).forEach(function (key) {\n conductUp(key);\n });\n return _toConsumableArray(expandedKeys);\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { useCallback, useMemo } from 'react';\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport classNames from 'classnames';\nimport { INTERNAL_COL_DEFINE } from 'rc-table';\nimport { arrAdd, arrDel } from \"rc-tree/es/util\";\nimport { conductCheck } from \"rc-tree/es/utils/conductUtil\";\nimport { convertDataToEntities } from \"rc-tree/es/utils/treeUtil\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport { useMultipleSelect } from '../../_util/hooks';\nimport { devUseWarning } from '../../_util/warning';\nimport Checkbox from '../../checkbox';\nimport Dropdown from '../../dropdown';\nimport Radio from '../../radio';\n// TODO: warning if use ajax!!!\nexport const SELECTION_COLUMN = {};\nexport const SELECTION_ALL = 'SELECT_ALL';\nexport const SELECTION_INVERT = 'SELECT_INVERT';\nexport const SELECTION_NONE = 'SELECT_NONE';\nconst EMPTY_LIST = [];\nconst flattenData = (childrenColumnName, data, list = []) => {\n (data || []).forEach(record => {\n list.push(record);\n if (record && typeof record === 'object' && childrenColumnName in record) {\n flattenData(childrenColumnName, record[childrenColumnName], list);\n }\n });\n return list;\n};\nconst useSelection = (config, rowSelection) => {\n const {\n preserveSelectedRowKeys,\n selectedRowKeys,\n defaultSelectedRowKeys,\n getCheckboxProps,\n getTitleCheckboxProps,\n onChange: onSelectionChange,\n onSelect,\n onSelectAll,\n onSelectInvert,\n onSelectNone,\n onSelectMultiple,\n columnWidth: selectionColWidth,\n type: selectionType,\n selections,\n fixed,\n renderCell: customizeRenderCell,\n hideSelectAll,\n checkStrictly = true\n } = rowSelection || {};\n const {\n prefixCls,\n data,\n pageData,\n getRecordByKey,\n getRowKey,\n expandType,\n childrenColumnName,\n locale: tableLocale,\n getPopupContainer\n } = config;\n const warning = devUseWarning('Table');\n // ========================= MultipleSelect =========================\n const [multipleSelect, updatePrevSelectedIndex] = useMultipleSelect(item => item);\n // ========================= Keys =========================\n const [mergedSelectedKeys, setMergedSelectedKeys] = useMergedState(selectedRowKeys || defaultSelectedRowKeys || EMPTY_LIST, {\n value: selectedRowKeys\n });\n // ======================== Caches ========================\n const preserveRecordsRef = React.useRef(new Map());\n const updatePreserveRecordsCache = useCallback(keys => {\n if (preserveSelectedRowKeys) {\n const newCache = new Map();\n // Keep key if mark as preserveSelectedRowKeys\n keys.forEach(key => {\n let record = getRecordByKey(key);\n if (!record && preserveRecordsRef.current.has(key)) {\n record = preserveRecordsRef.current.get(key);\n }\n newCache.set(key, record);\n });\n // Refresh to new cache\n preserveRecordsRef.current = newCache;\n }\n }, [getRecordByKey, preserveSelectedRowKeys]);\n // Update cache with selectedKeys\n React.useEffect(() => {\n updatePreserveRecordsCache(mergedSelectedKeys);\n }, [mergedSelectedKeys]);\n // Get flatten data\n const flattedData = useMemo(() => flattenData(childrenColumnName, pageData), [childrenColumnName, pageData]);\n const {\n keyEntities\n } = useMemo(() => {\n if (checkStrictly) {\n return {\n keyEntities: null\n };\n }\n let convertData = data;\n if (preserveSelectedRowKeys) {\n // use flattedData keys\n const keysSet = new Set(flattedData.map((record, index) => getRowKey(record, index)));\n // remove preserveRecords that duplicate data\n const preserveRecords = Array.from(preserveRecordsRef.current).reduce((total, [key, value]) => keysSet.has(key) ? total : total.concat(value), []);\n convertData = [].concat(_toConsumableArray(convertData), _toConsumableArray(preserveRecords));\n }\n return convertDataToEntities(convertData, {\n externalGetKey: getRowKey,\n childrenPropName: childrenColumnName\n });\n }, [data, getRowKey, checkStrictly, childrenColumnName, preserveSelectedRowKeys, flattedData]);\n // Get all checkbox props\n const checkboxPropsMap = useMemo(() => {\n const map = new Map();\n flattedData.forEach((record, index) => {\n const key = getRowKey(record, index);\n const checkboxProps = (getCheckboxProps ? getCheckboxProps(record) : null) || {};\n map.set(key, checkboxProps);\n process.env.NODE_ENV !== \"production\" ? warning(!('checked' in checkboxProps || 'defaultChecked' in checkboxProps), 'usage', 'Do not set `checked` or `defaultChecked` in `getCheckboxProps`. Please use `selectedRowKeys` instead.') : void 0;\n });\n return map;\n }, [flattedData, getRowKey, getCheckboxProps]);\n const isCheckboxDisabled = useCallback(r => {\n const rowKey = getRowKey(r);\n let checkboxProps;\n if (checkboxPropsMap.has(rowKey)) {\n checkboxProps = checkboxPropsMap.get(getRowKey(r));\n } else {\n checkboxProps = getCheckboxProps ? getCheckboxProps(r) : undefined;\n }\n return !!(checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.disabled);\n }, [checkboxPropsMap, getRowKey]);\n const [derivedSelectedKeys, derivedHalfSelectedKeys] = useMemo(() => {\n if (checkStrictly) {\n return [mergedSelectedKeys || [], []];\n }\n const {\n checkedKeys,\n halfCheckedKeys\n } = conductCheck(mergedSelectedKeys, true, keyEntities, isCheckboxDisabled);\n return [checkedKeys || [], halfCheckedKeys];\n }, [mergedSelectedKeys, checkStrictly, keyEntities, isCheckboxDisabled]);\n const derivedSelectedKeySet = useMemo(() => {\n const keys = selectionType === 'radio' ? derivedSelectedKeys.slice(0, 1) : derivedSelectedKeys;\n return new Set(keys);\n }, [derivedSelectedKeys, selectionType]);\n const derivedHalfSelectedKeySet = useMemo(() => selectionType === 'radio' ? new Set() : new Set(derivedHalfSelectedKeys), [derivedHalfSelectedKeys, selectionType]);\n // Reset if rowSelection reset\n React.useEffect(() => {\n if (!rowSelection) {\n setMergedSelectedKeys(EMPTY_LIST);\n }\n }, [!!rowSelection]);\n const setSelectedKeys = useCallback((keys, method) => {\n let availableKeys;\n let records;\n updatePreserveRecordsCache(keys);\n if (preserveSelectedRowKeys) {\n availableKeys = keys;\n records = keys.map(key => preserveRecordsRef.current.get(key));\n } else {\n // Filter key which not exist in the `dataSource`\n availableKeys = [];\n records = [];\n keys.forEach(key => {\n const record = getRecordByKey(key);\n if (record !== undefined) {\n availableKeys.push(key);\n records.push(record);\n }\n });\n }\n setMergedSelectedKeys(availableKeys);\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(availableKeys, records, {\n type: method\n });\n }, [setMergedSelectedKeys, getRecordByKey, onSelectionChange, preserveSelectedRowKeys]);\n // ====================== Selections ======================\n // Trigger single `onSelect` event\n const triggerSingleSelection = useCallback((key, selected, keys, event) => {\n if (onSelect) {\n const rows = keys.map(k => getRecordByKey(k));\n onSelect(getRecordByKey(key), selected, rows, event);\n }\n setSelectedKeys(keys, 'single');\n }, [onSelect, getRecordByKey, setSelectedKeys]);\n const mergedSelections = useMemo(() => {\n if (!selections || hideSelectAll) {\n return null;\n }\n const selectionList = selections === true ? [SELECTION_ALL, SELECTION_INVERT, SELECTION_NONE] : selections;\n return selectionList.map(selection => {\n if (selection === SELECTION_ALL) {\n return {\n key: 'all',\n text: tableLocale.selectionAll,\n onSelect() {\n setSelectedKeys(data.map((record, index) => getRowKey(record, index)).filter(key => {\n const checkProps = checkboxPropsMap.get(key);\n return !(checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled) || derivedSelectedKeySet.has(key);\n }), 'all');\n }\n };\n }\n if (selection === SELECTION_INVERT) {\n return {\n key: 'invert',\n text: tableLocale.selectInvert,\n onSelect() {\n const keySet = new Set(derivedSelectedKeySet);\n pageData.forEach((record, index) => {\n const key = getRowKey(record, index);\n const checkProps = checkboxPropsMap.get(key);\n if (!(checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled)) {\n if (keySet.has(key)) {\n keySet.delete(key);\n } else {\n keySet.add(key);\n }\n }\n });\n const keys = Array.from(keySet);\n if (onSelectInvert) {\n warning.deprecated(false, 'onSelectInvert', 'onChange');\n onSelectInvert(keys);\n }\n setSelectedKeys(keys, 'invert');\n }\n };\n }\n if (selection === SELECTION_NONE) {\n return {\n key: 'none',\n text: tableLocale.selectNone,\n onSelect() {\n onSelectNone === null || onSelectNone === void 0 ? void 0 : onSelectNone();\n setSelectedKeys(Array.from(derivedSelectedKeySet).filter(key => {\n const checkProps = checkboxPropsMap.get(key);\n return checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled;\n }), 'none');\n }\n };\n }\n return selection;\n }).map(selection => Object.assign(Object.assign({}, selection), {\n onSelect: (...rest) => {\n var _a2;\n var _a;\n (_a = selection.onSelect) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [selection].concat(rest));\n updatePrevSelectedIndex(null);\n }\n }));\n }, [selections, derivedSelectedKeySet, pageData, getRowKey, onSelectInvert, setSelectedKeys]);\n // ======================= Columns ========================\n const transformColumns = useCallback(columns => {\n var _a;\n // >>>>>>>>>>> Skip if not exists `rowSelection`\n if (!rowSelection) {\n process.env.NODE_ENV !== \"production\" ? warning(!columns.includes(SELECTION_COLUMN), 'usage', '`rowSelection` is not config but `SELECTION_COLUMN` exists in the `columns`.') : void 0;\n return columns.filter(col => col !== SELECTION_COLUMN);\n }\n // >>>>>>>>>>> Support selection\n let cloneColumns = _toConsumableArray(columns);\n const keySet = new Set(derivedSelectedKeySet);\n // Record key only need check with enabled\n const recordKeys = flattedData.map(getRowKey).filter(key => !checkboxPropsMap.get(key).disabled);\n const checkedCurrentAll = recordKeys.every(key => keySet.has(key));\n const checkedCurrentSome = recordKeys.some(key => keySet.has(key));\n const onSelectAllChange = () => {\n const changeKeys = [];\n if (checkedCurrentAll) {\n recordKeys.forEach(key => {\n keySet.delete(key);\n changeKeys.push(key);\n });\n } else {\n recordKeys.forEach(key => {\n if (!keySet.has(key)) {\n keySet.add(key);\n changeKeys.push(key);\n }\n });\n }\n const keys = Array.from(keySet);\n onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(!checkedCurrentAll, keys.map(k => getRecordByKey(k)), changeKeys.map(k => getRecordByKey(k)));\n setSelectedKeys(keys, 'all');\n updatePrevSelectedIndex(null);\n };\n // ===================== Render =====================\n // Title Cell\n let title;\n let columnTitleCheckbox;\n if (selectionType !== 'radio') {\n let customizeSelections;\n if (mergedSelections) {\n const menu = {\n getPopupContainer,\n items: mergedSelections.map((selection, index) => {\n const {\n key,\n text,\n onSelect: onSelectionClick\n } = selection;\n return {\n key: key !== null && key !== void 0 ? key : index,\n onClick: () => {\n onSelectionClick === null || onSelectionClick === void 0 ? void 0 : onSelectionClick(recordKeys);\n },\n label: text\n };\n })\n };\n customizeSelections = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-selection-extra`\n }, /*#__PURE__*/React.createElement(Dropdown, {\n menu: menu,\n getPopupContainer: getPopupContainer\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(DownOutlined, null))));\n }\n const allDisabledData = flattedData.map((record, index) => {\n const key = getRowKey(record, index);\n const checkboxProps = checkboxPropsMap.get(key) || {};\n return Object.assign({\n checked: keySet.has(key)\n }, checkboxProps);\n }).filter(({\n disabled\n }) => disabled);\n const allDisabled = !!allDisabledData.length && allDisabledData.length === flattedData.length;\n const allDisabledAndChecked = allDisabled && allDisabledData.every(({\n checked\n }) => checked);\n const allDisabledSomeChecked = allDisabled && allDisabledData.some(({\n checked\n }) => checked);\n const customCheckboxProps = (getTitleCheckboxProps === null || getTitleCheckboxProps === void 0 ? void 0 : getTitleCheckboxProps()) || {};\n const {\n onChange,\n disabled\n } = customCheckboxProps;\n columnTitleCheckbox = /*#__PURE__*/React.createElement(Checkbox, Object.assign({\n \"aria-label\": customizeSelections ? 'Custom selection' : 'Select all'\n }, customCheckboxProps, {\n checked: !allDisabled ? !!flattedData.length && checkedCurrentAll : allDisabledAndChecked,\n indeterminate: !allDisabled ? !checkedCurrentAll && checkedCurrentSome : !allDisabledAndChecked && allDisabledSomeChecked,\n onChange: e => {\n onSelectAllChange();\n onChange === null || onChange === void 0 ? void 0 : onChange(e);\n },\n disabled: disabled !== null && disabled !== void 0 ? disabled : flattedData.length === 0 || allDisabled,\n skipGroup: true\n }));\n title = !hideSelectAll && (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-selection`\n }, columnTitleCheckbox, customizeSelections));\n }\n // Body Cell\n let renderCell;\n if (selectionType === 'radio') {\n renderCell = (_, record, index) => {\n const key = getRowKey(record, index);\n const checked = keySet.has(key);\n const checkboxProps = checkboxPropsMap.get(key);\n return {\n node: (/*#__PURE__*/React.createElement(Radio, Object.assign({}, checkboxProps, {\n checked: checked,\n onClick: e => {\n var _a;\n e.stopPropagation();\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onClick) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, e);\n },\n onChange: event => {\n var _a;\n if (!keySet.has(key)) {\n triggerSingleSelection(key, true, [key], event.nativeEvent);\n }\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onChange) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, event);\n }\n }))),\n checked\n };\n };\n } else {\n renderCell = (_, record, index) => {\n var _a;\n const key = getRowKey(record, index);\n const checked = keySet.has(key);\n const indeterminate = derivedHalfSelectedKeySet.has(key);\n const checkboxProps = checkboxPropsMap.get(key);\n let mergedIndeterminate;\n if (expandType === 'nest') {\n mergedIndeterminate = indeterminate;\n process.env.NODE_ENV !== \"production\" ? warning(typeof (checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== 'boolean', 'usage', 'set `indeterminate` using `rowSelection.getCheckboxProps` is not allowed with tree structured dataSource.') : void 0;\n } else {\n mergedIndeterminate = (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== null && _a !== void 0 ? _a : indeterminate;\n }\n // Record checked\n return {\n node: (/*#__PURE__*/React.createElement(Checkbox, Object.assign({}, checkboxProps, {\n indeterminate: mergedIndeterminate,\n checked: checked,\n skipGroup: true,\n onClick: e => {\n var _a;\n e.stopPropagation();\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onClick) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, e);\n },\n onChange: event => {\n var _a;\n const {\n nativeEvent\n } = event;\n const {\n shiftKey\n } = nativeEvent;\n const currentSelectedIndex = recordKeys.indexOf(key);\n const isMultiple = derivedSelectedKeys.some(item => recordKeys.includes(item));\n if (shiftKey && checkStrictly && isMultiple) {\n const changedKeys = multipleSelect(currentSelectedIndex, recordKeys, keySet);\n const keys = Array.from(keySet);\n onSelectMultiple === null || onSelectMultiple === void 0 ? void 0 : onSelectMultiple(!checked, keys.map(recordKey => getRecordByKey(recordKey)), changedKeys.map(recordKey => getRecordByKey(recordKey)));\n setSelectedKeys(keys, 'multiple');\n } else {\n // Single record selected\n const originCheckedKeys = derivedSelectedKeys;\n if (checkStrictly) {\n const checkedKeys = checked ? arrDel(originCheckedKeys, key) : arrAdd(originCheckedKeys, key);\n triggerSingleSelection(key, !checked, checkedKeys, nativeEvent);\n } else {\n // Always fill first\n const result = conductCheck([].concat(_toConsumableArray(originCheckedKeys), [key]), true, keyEntities, isCheckboxDisabled);\n const {\n checkedKeys,\n halfCheckedKeys\n } = result;\n let nextCheckedKeys = checkedKeys;\n // If remove, we do it again to correction\n if (checked) {\n const tempKeySet = new Set(checkedKeys);\n tempKeySet.delete(key);\n nextCheckedKeys = conductCheck(Array.from(tempKeySet), {\n checked: false,\n halfCheckedKeys\n }, keyEntities, isCheckboxDisabled).checkedKeys;\n }\n triggerSingleSelection(key, !checked, nextCheckedKeys, nativeEvent);\n }\n }\n if (checked) {\n updatePrevSelectedIndex(null);\n } else {\n updatePrevSelectedIndex(currentSelectedIndex);\n }\n (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.onChange) === null || _a === void 0 ? void 0 : _a.call(checkboxProps, event);\n }\n }))),\n checked\n };\n };\n }\n const renderSelectionCell = (_, record, index) => {\n const {\n node,\n checked\n } = renderCell(_, record, index);\n if (customizeRenderCell) {\n return customizeRenderCell(checked, record, index, node);\n }\n return node;\n };\n // Insert selection column if not exist\n if (!cloneColumns.includes(SELECTION_COLUMN)) {\n // Always after expand icon\n if (cloneColumns.findIndex(col => {\n var _a;\n return ((_a = col[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN';\n }) === 0) {\n const [expandColumn, ...restColumns] = cloneColumns;\n cloneColumns = [expandColumn, SELECTION_COLUMN].concat(_toConsumableArray(restColumns));\n } else {\n // Normal insert at first column\n cloneColumns = [SELECTION_COLUMN].concat(_toConsumableArray(cloneColumns));\n }\n }\n // Deduplicate selection column\n const selectionColumnIndex = cloneColumns.indexOf(SELECTION_COLUMN);\n process.env.NODE_ENV !== \"production\" ? warning(cloneColumns.filter(col => col === SELECTION_COLUMN).length <= 1, 'usage', 'Multiple `SELECTION_COLUMN` exist in `columns`.') : void 0;\n cloneColumns = cloneColumns.filter((column, index) => column !== SELECTION_COLUMN || index === selectionColumnIndex);\n // Fixed column logic\n const prevCol = cloneColumns[selectionColumnIndex - 1];\n const nextCol = cloneColumns[selectionColumnIndex + 1];\n let mergedFixed = fixed;\n if (mergedFixed === undefined) {\n if ((nextCol === null || nextCol === void 0 ? void 0 : nextCol.fixed) !== undefined) {\n mergedFixed = nextCol.fixed;\n } else if ((prevCol === null || prevCol === void 0 ? void 0 : prevCol.fixed) !== undefined) {\n mergedFixed = prevCol.fixed;\n }\n }\n if (mergedFixed && prevCol && ((_a = prevCol[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN' && prevCol.fixed === undefined) {\n prevCol.fixed = mergedFixed;\n }\n const columnCls = classNames(`${prefixCls}-selection-col`, {\n [`${prefixCls}-selection-col-with-dropdown`]: selections && selectionType === 'checkbox'\n });\n const renderColumnTitle = () => {\n if (!(rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.columnTitle)) {\n return title;\n }\n if (typeof rowSelection.columnTitle === 'function') {\n return rowSelection.columnTitle(columnTitleCheckbox);\n }\n return rowSelection.columnTitle;\n };\n // Replace with real selection column\n const selectionColumn = {\n fixed: mergedFixed,\n width: selectionColWidth,\n className: `${prefixCls}-selection-column`,\n title: renderColumnTitle(),\n render: renderSelectionCell,\n onCell: rowSelection.onCell,\n align: rowSelection.align,\n [INTERNAL_COL_DEFINE]: {\n className: columnCls\n }\n };\n return cloneColumns.map(col => col === SELECTION_COLUMN ? selectionColumn : col);\n }, [getRowKey, flattedData, rowSelection, derivedSelectedKeys, derivedSelectedKeySet, derivedHalfSelectedKeySet, selectionColWidth, mergedSelections, expandType, checkboxPropsMap, onSelectMultiple, triggerSingleSelection, isCheckboxDisabled]);\n return [transformColumns, derivedSelectedKeySet];\n};\nexport default useSelection;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nfunction renderExpandIcon(locale) {\n return props => {\n const {\n prefixCls,\n onExpand,\n record,\n expanded,\n expandable\n } = props;\n const iconPrefix = `${prefixCls}-row-expand-icon`;\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: e => {\n onExpand(record, e);\n e.stopPropagation();\n },\n className: classNames(iconPrefix, {\n [`${iconPrefix}-spaced`]: !expandable,\n [`${iconPrefix}-expanded`]: expandable && expanded,\n [`${iconPrefix}-collapsed`]: expandable && !expanded\n }),\n \"aria-label\": expanded ? locale.collapse : locale.expand,\n \"aria-expanded\": expanded\n });\n };\n}\nexport default renderExpandIcon;","export default function useContainerWidth(prefixCls) {\n const getContainerWidth = (ele, width) => {\n const container = ele.querySelector(`.${prefixCls}-container`);\n let returnWidth = width;\n if (container) {\n const style = getComputedStyle(container);\n const borderLeft = Number.parseInt(style.borderLeftWidth, 10);\n const borderRight = Number.parseInt(style.borderRightWidth, 10);\n returnWidth = width - borderLeft - borderRight;\n }\n return returnWidth;\n };\n return getContainerWidth;\n}","export const getColumnKey = (column, defaultKey) => {\n if ('key' in column && column.key !== undefined && column.key !== null) {\n return column.key;\n }\n if (column.dataIndex) {\n return Array.isArray(column.dataIndex) ? column.dataIndex.join('.') : column.dataIndex;\n }\n return defaultKey;\n};\nexport function getColumnPos(index, pos) {\n return pos ? `${pos}-${index}` : `${index}`;\n}\nexport const renderColumnTitle = (title, props) => {\n if (typeof title === 'function') {\n return title(props);\n }\n return title;\n};\n/**\n * Safe get column title\n *\n * Should filter [object Object]\n *\n * @param title\n */\nexport const safeColumnTitle = (title, props) => {\n const res = renderColumnTitle(title, props);\n if (Object.prototype.toString.call(res) === '[object Object]') {\n return '';\n }\n return res;\n};","// This icon file is generated automatically.\nvar FilterFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z\" } }] }, \"name\": \"filter\", \"theme\": \"filled\" };\nexport default FilterFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FilterFilledSvg from \"@ant-design/icons-svg/es/asn/FilterFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FilterFilled = function FilterFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FilterFilledSvg\n }));\n};\n\n/**![filter](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTM0OSA4MzhjMCAxNy43IDE0LjIgMzIgMzEuOCAzMmgyNjIuNGMxNy42IDAgMzEuOC0xNC4zIDMxLjgtMzJWNjQySDM0OXYxOTZ6bTUzMS4xLTY4NEgxNDMuOWMtMjQuNSAwLTM5LjggMjYuNy0yNy41IDQ4bDIyMS4zIDM3NmgzNDguOGwyMjEuMy0zNzZjMTIuMS0yMS4zLTMuMi00OC0yNy43LTQ4eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FilterFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FilterFilled';\n}\nexport default RefIcon;","import React from 'react';\nvar DropIndicator = function DropIndicator(props) {\n var dropPosition = props.dropPosition,\n dropLevelOffset = props.dropLevelOffset,\n indent = props.indent;\n var style = {\n pointerEvents: 'none',\n position: 'absolute',\n right: 0,\n backgroundColor: 'red',\n height: 2\n };\n switch (dropPosition) {\n case -1:\n style.top = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 1:\n style.bottom = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 0:\n style.bottom = 0;\n style.left = indent;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n DropIndicator.displayName = 'DropIndicator';\n}\nexport default DropIndicator;","function _objectDestructuringEmpty(t) {\n if (null == t) throw new TypeError(\"Cannot destructure \" + t);\n}\nexport { _objectDestructuringEmpty as default };","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\n\n/**\n * Trigger only when component unmount\n */\nfunction useUnmount(triggerStart, triggerEnd) {\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n firstMount = _React$useState2[0],\n setFirstMount = _React$useState2[1];\n useLayoutEffect(function () {\n if (firstMount) {\n triggerStart();\n return function () {\n triggerEnd();\n };\n }\n }, [firstMount]);\n useLayoutEffect(function () {\n setFirstMount(true);\n return function () {\n setFirstMount(false);\n };\n }, []);\n}\nexport default useUnmount;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"style\", \"motion\", \"motionNodes\", \"motionType\", \"onMotionStart\", \"onMotionEnd\", \"active\", \"treeNodeRequiredProps\"];\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { TreeContext } from \"./contextTypes\";\nimport TreeNode from \"./TreeNode\";\nimport useUnmount from \"./useUnmount\";\nimport { getTreeNodeProps } from \"./utils/treeUtil\";\nvar MotionTreeNode = /*#__PURE__*/React.forwardRef(function (oriProps, ref) {\n var className = oriProps.className,\n style = oriProps.style,\n motion = oriProps.motion,\n motionNodes = oriProps.motionNodes,\n motionType = oriProps.motionType,\n onOriginMotionStart = oriProps.onMotionStart,\n onOriginMotionEnd = oriProps.onMotionEnd,\n active = oriProps.active,\n treeNodeRequiredProps = oriProps.treeNodeRequiredProps,\n props = _objectWithoutProperties(oriProps, _excluded);\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n var _React$useContext = React.useContext(TreeContext),\n prefixCls = _React$useContext.prefixCls;\n\n // Calculate target visible here.\n // And apply in effect to make `leave` motion work.\n var targetVisible = motionNodes && motionType !== 'hide';\n useLayoutEffect(function () {\n if (motionNodes) {\n if (targetVisible !== visible) {\n setVisible(targetVisible);\n }\n }\n }, [motionNodes]);\n var triggerMotionStart = function triggerMotionStart() {\n if (motionNodes) {\n onOriginMotionStart();\n }\n };\n\n // Should only trigger once\n var triggerMotionEndRef = React.useRef(false);\n var triggerMotionEnd = function triggerMotionEnd() {\n if (motionNodes && !triggerMotionEndRef.current) {\n triggerMotionEndRef.current = true;\n onOriginMotionEnd();\n }\n };\n\n // Effect if unmount\n useUnmount(triggerMotionStart, triggerMotionEnd);\n\n // Motion end event\n var onVisibleChanged = function onVisibleChanged(nextVisible) {\n if (targetVisible === nextVisible) {\n triggerMotionEnd();\n }\n };\n if (motionNodes) {\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n ref: ref,\n visible: visible\n }, motion, {\n motionAppear: motionType === 'show',\n onVisibleChanged: onVisibleChanged\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: classNames(\"\".concat(prefixCls, \"-treenode-motion\"), motionClassName),\n style: motionStyle\n }, motionNodes.map(function (treeNode) {\n var restProps = Object.assign({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(key, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: active,\n data: treeNode.data,\n key: key,\n isStart: isStart,\n isEnd: isEnd\n }));\n }));\n });\n }\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n domRef: ref,\n className: className,\n style: style\n }, props, {\n active: active\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n MotionTreeNode.displayName = 'MotionTreeNode';\n}\nexport default MotionTreeNode;","export function findExpandedKeys() {\n var prev = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var next = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var prevLen = prev.length;\n var nextLen = next.length;\n if (Math.abs(prevLen - nextLen) !== 1) {\n return {\n add: false,\n key: null\n };\n }\n function find(shorter, longer) {\n var cache = new Map();\n shorter.forEach(function (key) {\n cache.set(key, true);\n });\n var keys = longer.filter(function (key) {\n return !cache.has(key);\n });\n return keys.length === 1 ? keys[0] : null;\n }\n if (prevLen < nextLen) {\n return {\n add: true,\n key: find(prev, next)\n };\n }\n return {\n add: false,\n key: find(next, prev)\n };\n}\nexport function getExpandRange(shorter, longer, key) {\n var shorterStartIndex = shorter.findIndex(function (data) {\n return data.key === key;\n });\n var shorterEndNode = shorter[shorterStartIndex + 1];\n var longerStartIndex = longer.findIndex(function (data) {\n return data.key === key;\n });\n if (shorterEndNode) {\n var longerEndIndex = longer.findIndex(function (data) {\n return data.key === shorterEndNode.key;\n });\n return longer.slice(longerStartIndex + 1, longerEndIndex);\n }\n return longer.slice(longerStartIndex + 1);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"data\", \"selectable\", \"checkable\", \"expandedKeys\", \"selectedKeys\", \"checkedKeys\", \"loadedKeys\", \"loadingKeys\", \"halfCheckedKeys\", \"keyEntities\", \"disabled\", \"dragging\", \"dragOverNodeKey\", \"dropPosition\", \"motion\", \"height\", \"itemHeight\", \"virtual\", \"scrollWidth\", \"focusable\", \"activeItem\", \"focused\", \"tabIndex\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onActiveChange\", \"onListChangeStart\", \"onListChangeEnd\"];\n/**\n * Handle virtual list of the TreeNodes.\n */\n\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport MotionTreeNode from \"./MotionTreeNode\";\nimport { findExpandedKeys, getExpandRange } from \"./utils/diffUtil\";\nimport { getKey, getTreeNodeProps } from \"./utils/treeUtil\";\nvar HIDDEN_STYLE = {\n width: 0,\n height: 0,\n display: 'flex',\n overflow: 'hidden',\n opacity: 0,\n border: 0,\n padding: 0,\n margin: 0\n};\nvar noop = function noop() {};\nexport var MOTION_KEY = \"RC_TREE_MOTION_\".concat(Math.random());\nvar MotionNode = {\n key: MOTION_KEY\n};\nexport var MotionEntity = {\n key: MOTION_KEY,\n level: 0,\n index: 0,\n pos: '0',\n node: MotionNode,\n nodes: [MotionNode]\n};\nvar MotionFlattenData = {\n parent: null,\n children: [],\n pos: MotionEntity.pos,\n data: MotionNode,\n title: null,\n key: MOTION_KEY,\n /** Hold empty list here since we do not use it */\n isStart: [],\n isEnd: []\n};\n/**\n * We only need get visible content items to play the animation.\n */\nexport function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {\n if (virtual === false || !height) {\n return list;\n }\n return list.slice(0, Math.ceil(height / itemHeight) + 1);\n}\nfunction itemKey(item) {\n var key = item.key,\n pos = item.pos;\n return getKey(key, pos);\n}\nfunction getAccessibilityPath(item) {\n var path = String(item.data.key);\n var current = item;\n while (current.parent) {\n current = current.parent;\n path = \"\".concat(current.data.key, \" > \").concat(path);\n }\n return path;\n}\nvar NodeList = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n data = props.data,\n selectable = props.selectable,\n checkable = props.checkable,\n expandedKeys = props.expandedKeys,\n selectedKeys = props.selectedKeys,\n checkedKeys = props.checkedKeys,\n loadedKeys = props.loadedKeys,\n loadingKeys = props.loadingKeys,\n halfCheckedKeys = props.halfCheckedKeys,\n keyEntities = props.keyEntities,\n disabled = props.disabled,\n dragging = props.dragging,\n dragOverNodeKey = props.dragOverNodeKey,\n dropPosition = props.dropPosition,\n motion = props.motion,\n height = props.height,\n itemHeight = props.itemHeight,\n virtual = props.virtual,\n scrollWidth = props.scrollWidth,\n focusable = props.focusable,\n activeItem = props.activeItem,\n focused = props.focused,\n tabIndex = props.tabIndex,\n onKeyDown = props.onKeyDown,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onActiveChange = props.onActiveChange,\n onListChangeStart = props.onListChangeStart,\n onListChangeEnd = props.onListChangeEnd,\n domProps = _objectWithoutProperties(props, _excluded);\n\n // =============================== Ref ================================\n var listRef = React.useRef(null);\n var indentMeasurerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n scrollTo: function scrollTo(scroll) {\n listRef.current.scrollTo(scroll);\n },\n getIndentWidth: function getIndentWidth() {\n return indentMeasurerRef.current.offsetWidth;\n }\n };\n });\n\n // ============================== Motion ==============================\n var _React$useState = React.useState(expandedKeys),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevExpandedKeys = _React$useState2[0],\n setPrevExpandedKeys = _React$useState2[1];\n var _React$useState3 = React.useState(data),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n prevData = _React$useState4[0],\n setPrevData = _React$useState4[1];\n var _React$useState5 = React.useState(data),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n transitionData = _React$useState6[0],\n setTransitionData = _React$useState6[1];\n var _React$useState7 = React.useState([]),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n transitionRange = _React$useState8[0],\n setTransitionRange = _React$useState8[1];\n var _React$useState9 = React.useState(null),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n motionType = _React$useState10[0],\n setMotionType = _React$useState10[1];\n\n // When motion end but data change, this will makes data back to previous one\n var dataRef = React.useRef(data);\n dataRef.current = data;\n function onMotionEnd() {\n var latestData = dataRef.current;\n setPrevData(latestData);\n setTransitionData(latestData);\n setTransitionRange([]);\n setMotionType(null);\n onListChangeEnd();\n }\n\n // Do animation if expanded keys changed\n // layoutEffect here to avoid blink of node removing\n useLayoutEffect(function () {\n setPrevExpandedKeys(expandedKeys);\n var diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);\n if (diffExpanded.key !== null) {\n if (diffExpanded.add) {\n var keyIndex = prevData.findIndex(function (_ref) {\n var key = _ref.key;\n return key === diffExpanded.key;\n });\n var rangeNodes = getMinimumRangeTransitionRange(getExpandRange(prevData, data, diffExpanded.key), virtual, height, itemHeight);\n var newTransitionData = prevData.slice();\n newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(newTransitionData);\n setTransitionRange(rangeNodes);\n setMotionType('show');\n } else {\n var _keyIndex = data.findIndex(function (_ref2) {\n var key = _ref2.key;\n return key === diffExpanded.key;\n });\n var _rangeNodes = getMinimumRangeTransitionRange(getExpandRange(data, prevData, diffExpanded.key), virtual, height, itemHeight);\n var _newTransitionData = data.slice();\n _newTransitionData.splice(_keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(_newTransitionData);\n setTransitionRange(_rangeNodes);\n setMotionType('hide');\n }\n } else if (prevData !== data) {\n // If whole data changed, we just refresh the list\n setPrevData(data);\n setTransitionData(data);\n }\n }, [expandedKeys, data]);\n\n // We should clean up motion if is changed by dragging\n React.useEffect(function () {\n if (!dragging) {\n onMotionEnd();\n }\n }, [dragging]);\n var mergedData = motion ? transitionData : data;\n var treeNodeRequiredProps = {\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n loadedKeys: loadedKeys,\n loadingKeys: loadingKeys,\n checkedKeys: checkedKeys,\n halfCheckedKeys: halfCheckedKeys,\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, focused && activeItem && /*#__PURE__*/React.createElement(\"span\", {\n style: HIDDEN_STYLE,\n \"aria-live\": \"assertive\"\n }, getAccessibilityPath(activeItem)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n style: HIDDEN_STYLE,\n disabled: focusable === false || disabled,\n tabIndex: focusable !== false ? tabIndex : null,\n onKeyDown: onKeyDown,\n onFocus: onFocus,\n onBlur: onBlur,\n value: \"\",\n onChange: noop,\n \"aria-label\": \"for screen reader\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-treenode\"),\n \"aria-hidden\": true,\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n visibility: 'hidden',\n height: 0,\n overflow: 'hidden',\n border: 0,\n padding: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-indent\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: indentMeasurerRef,\n className: \"\".concat(prefixCls, \"-indent-unit\")\n }))), /*#__PURE__*/React.createElement(VirtualList, _extends({}, domProps, {\n data: mergedData,\n itemKey: itemKey,\n height: height,\n fullHeight: false,\n virtual: virtual,\n itemHeight: itemHeight,\n scrollWidth: scrollWidth,\n prefixCls: \"\".concat(prefixCls, \"-list\"),\n ref: listRef,\n role: \"tree\",\n onVisibleChange: function onVisibleChange(originList) {\n // The best match is using `fullList` - `originList` = `restList`\n // and check the `restList` to see if has the MOTION_KEY node\n // but this will cause performance issue for long list compare\n // we just check `originList` and repeat trigger `onMotionEnd`\n if (originList.every(function (item) {\n return itemKey(item) !== MOTION_KEY;\n })) {\n onMotionEnd();\n }\n }\n }), function (treeNode) {\n var pos = treeNode.pos,\n restProps = Object.assign({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n var mergedKey = getKey(key, pos);\n delete restProps.key;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(MotionTreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: !!activeItem && key === activeItem.key,\n pos: pos,\n data: treeNode.data,\n isStart: isStart,\n isEnd: isEnd,\n motion: motion,\n motionNodes: key === MOTION_KEY ? transitionRange : null,\n motionType: motionType,\n onMotionStart: onListChangeStart,\n onMotionEnd: onMotionEnd,\n treeNodeRequiredProps: treeNodeRequiredProps,\n onMouseMove: function onMouseMove() {\n onActiveChange(null);\n }\n }));\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n NodeList.displayName = 'NodeList';\n}\nexport default NodeList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// TODO: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/treeview/treeview-2/treeview-2a.html\n// Fully accessibility support\n\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { TreeContext } from \"./contextTypes\";\nimport DropIndicator from \"./DropIndicator\";\nimport NodeList, { MOTION_KEY, MotionEntity } from \"./NodeList\";\nimport TreeNode from \"./TreeNode\";\nimport { arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductExpandParent, getDragChildrenKeys, parseCheckedKeys, posToArr } from \"./util\";\nimport { conductCheck } from \"./utils/conductUtil\";\nimport getEntity from \"./utils/keyUtil\";\nimport { convertDataToEntities, convertNodePropsToEventData, convertTreeToData, fillFieldNames, flattenTreeData, getTreeNodeProps, warningWithoutKey } from \"./utils/treeUtil\";\nvar MAX_RETRY_TIMES = 10;\nvar Tree = /*#__PURE__*/function (_React$Component) {\n _inherits(Tree, _React$Component);\n var _super = _createSuper(Tree);\n function Tree() {\n var _this;\n _classCallCheck(this, Tree);\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(_args));\n _defineProperty(_assertThisInitialized(_this), \"destroyed\", false);\n _defineProperty(_assertThisInitialized(_this), \"delayedDragEnterLogic\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"loadingRetryTimes\", {});\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n keyEntities: {},\n indent: null,\n selectedKeys: [],\n checkedKeys: [],\n halfCheckedKeys: [],\n loadedKeys: [],\n loadingKeys: [],\n expandedKeys: [],\n draggingNodeKey: null,\n dragChildrenKeys: [],\n // dropTargetKey is the key of abstract-drop-node\n // the abstract-drop-node is the real drop node when drag and drop\n // not the DOM drag over node\n dropTargetKey: null,\n dropPosition: null,\n // the drop position of abstract-drop-node, inside 0, top -1, bottom 1\n dropContainerKey: null,\n // the container key of abstract-drop-node if dropPosition is -1 or 1\n dropLevelOffset: null,\n // the drop level offset of abstract-drag-over-node\n dropTargetPos: null,\n // the pos of abstract-drop-node\n dropAllowed: true,\n // if drop to abstract-drop-node is allowed\n // the abstract-drag-over-node\n // if mouse is on the bottom of top dom node or no the top of the bottom dom node\n // abstract-drag-over-node is the top node\n dragOverNodeKey: null,\n treeData: [],\n flattenNodes: [],\n focused: false,\n activeKey: null,\n listChanging: false,\n prevProps: null,\n fieldNames: fillFieldNames()\n });\n _defineProperty(_assertThisInitialized(_this), \"dragStartMousePosition\", null);\n _defineProperty(_assertThisInitialized(_this), \"dragNodeProps\", null);\n _defineProperty(_assertThisInitialized(_this), \"currentMouseOverDroppableNodeKey\", null);\n _defineProperty(_assertThisInitialized(_this), \"listRef\", /*#__PURE__*/React.createRef());\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragStart\", function (event, nodeProps) {\n var _this$state = _this.state,\n expandedKeys = _this$state.expandedKeys,\n keyEntities = _this$state.keyEntities;\n var onDragStart = _this.props.onDragStart;\n var eventKey = nodeProps.eventKey;\n _this.dragNodeProps = nodeProps;\n _this.dragStartMousePosition = {\n x: event.clientX,\n y: event.clientY\n };\n var newExpandedKeys = arrDel(expandedKeys, eventKey);\n _this.setState({\n draggingNodeKey: eventKey,\n dragChildrenKeys: getDragChildrenKeys(eventKey, keyEntities),\n indent: _this.listRef.current.getIndentWidth()\n });\n _this.setExpandedKeys(newExpandedKeys);\n window.addEventListener('dragend', _this.onWindowDragEnd);\n onDragStart === null || onDragStart === void 0 || onDragStart({\n event: event,\n node: convertNodePropsToEventData(nodeProps)\n });\n });\n /**\n * [Legacy] Select handler is smaller than node,\n * so that this will trigger when drag enter node or select handler.\n * This is a little tricky if customize css without padding.\n * Better for use mouse move event to refresh drag state.\n * But let's just keep it to avoid event trigger logic change.\n */\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragEnter\", function (event, nodeProps) {\n var _this$state2 = _this.state,\n expandedKeys = _this$state2.expandedKeys,\n keyEntities = _this$state2.keyEntities,\n dragChildrenKeys = _this$state2.dragChildrenKeys,\n flattenNodes = _this$state2.flattenNodes,\n indent = _this$state2.indent;\n var _this$props = _this.props,\n onDragEnter = _this$props.onDragEnter,\n onExpand = _this$props.onExpand,\n allowDrop = _this$props.allowDrop,\n direction = _this$props.direction;\n var pos = nodeProps.pos,\n eventKey = nodeProps.eventKey;\n\n // record the key of node which is latest entered, used in dragleave event.\n if (_this.currentMouseOverDroppableNodeKey !== eventKey) {\n _this.currentMouseOverDroppableNodeKey = eventKey;\n }\n if (!_this.dragNodeProps) {\n _this.resetDragState();\n return;\n }\n var _calcDropPosition = calcDropPosition(event, _this.dragNodeProps, nodeProps, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition.dropPosition,\n dropLevelOffset = _calcDropPosition.dropLevelOffset,\n dropTargetKey = _calcDropPosition.dropTargetKey,\n dropContainerKey = _calcDropPosition.dropContainerKey,\n dropTargetPos = _calcDropPosition.dropTargetPos,\n dropAllowed = _calcDropPosition.dropAllowed,\n dragOverNodeKey = _calcDropPosition.dragOverNodeKey;\n if (\n // don't allow drop inside its children\n dragChildrenKeys.includes(dropTargetKey) ||\n // don't allow drop when drop is not allowed caculated by calcDropPosition\n !dropAllowed) {\n _this.resetDragState();\n return;\n }\n\n // Side effect for delay drag\n if (!_this.delayedDragEnterLogic) {\n _this.delayedDragEnterLogic = {};\n }\n Object.keys(_this.delayedDragEnterLogic).forEach(function (key) {\n clearTimeout(_this.delayedDragEnterLogic[key]);\n });\n if (_this.dragNodeProps.eventKey !== nodeProps.eventKey) {\n // hoist expand logic here\n // since if logic is on the bottom\n // it will be blocked by abstract dragover node check\n // => if you dragenter from top, you mouse will still be consider as in the top node\n event.persist();\n _this.delayedDragEnterLogic[pos] = window.setTimeout(function () {\n if (_this.state.draggingNodeKey === null) {\n return;\n }\n var newExpandedKeys = _toConsumableArray(expandedKeys);\n var entity = getEntity(keyEntities, nodeProps.eventKey);\n if (entity && (entity.children || []).length) {\n newExpandedKeys = arrAdd(expandedKeys, nodeProps.eventKey);\n }\n if (!_this.props.hasOwnProperty('expandedKeys')) {\n _this.setExpandedKeys(newExpandedKeys);\n }\n onExpand === null || onExpand === void 0 || onExpand(newExpandedKeys, {\n node: convertNodePropsToEventData(nodeProps),\n expanded: true,\n nativeEvent: event.nativeEvent\n });\n }, 800);\n }\n\n // Skip if drag node is self\n if (_this.dragNodeProps.eventKey === dropTargetKey && dropLevelOffset === 0) {\n _this.resetDragState();\n return;\n }\n\n // Update drag over node and drag state\n _this.setState({\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed\n });\n onDragEnter === null || onDragEnter === void 0 || onDragEnter({\n event: event,\n node: convertNodePropsToEventData(nodeProps),\n expandedKeys: expandedKeys\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragOver\", function (event, nodeProps) {\n var _this$state3 = _this.state,\n dragChildrenKeys = _this$state3.dragChildrenKeys,\n flattenNodes = _this$state3.flattenNodes,\n keyEntities = _this$state3.keyEntities,\n expandedKeys = _this$state3.expandedKeys,\n indent = _this$state3.indent;\n var _this$props2 = _this.props,\n onDragOver = _this$props2.onDragOver,\n allowDrop = _this$props2.allowDrop,\n direction = _this$props2.direction;\n if (!_this.dragNodeProps) {\n return;\n }\n var _calcDropPosition2 = calcDropPosition(event, _this.dragNodeProps, nodeProps, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition2.dropPosition,\n dropLevelOffset = _calcDropPosition2.dropLevelOffset,\n dropTargetKey = _calcDropPosition2.dropTargetKey,\n dropContainerKey = _calcDropPosition2.dropContainerKey,\n dropTargetPos = _calcDropPosition2.dropTargetPos,\n dropAllowed = _calcDropPosition2.dropAllowed,\n dragOverNodeKey = _calcDropPosition2.dragOverNodeKey;\n if (dragChildrenKeys.includes(dropTargetKey) || !dropAllowed) {\n // don't allow drop inside its children\n // don't allow drop when drop is not allowed calculated by calcDropPosition\n return;\n }\n\n // Update drag position\n\n if (_this.dragNodeProps.eventKey === dropTargetKey && dropLevelOffset === 0) {\n if (!(_this.state.dropPosition === null && _this.state.dropLevelOffset === null && _this.state.dropTargetKey === null && _this.state.dropContainerKey === null && _this.state.dropTargetPos === null && _this.state.dropAllowed === false && _this.state.dragOverNodeKey === null)) {\n _this.resetDragState();\n }\n } else if (!(dropPosition === _this.state.dropPosition && dropLevelOffset === _this.state.dropLevelOffset && dropTargetKey === _this.state.dropTargetKey && dropContainerKey === _this.state.dropContainerKey && dropTargetPos === _this.state.dropTargetPos && dropAllowed === _this.state.dropAllowed && dragOverNodeKey === _this.state.dragOverNodeKey)) {\n _this.setState({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed,\n dragOverNodeKey: dragOverNodeKey\n });\n }\n onDragOver === null || onDragOver === void 0 || onDragOver({\n event: event,\n node: convertNodePropsToEventData(nodeProps)\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragLeave\", function (event, nodeProps) {\n // if it is outside the droppable area\n // currentMouseOverDroppableNodeKey will be updated in dragenter event when into another droppable receiver.\n if (_this.currentMouseOverDroppableNodeKey === nodeProps.eventKey && !event.currentTarget.contains(event.relatedTarget)) {\n _this.resetDragState();\n _this.currentMouseOverDroppableNodeKey = null;\n }\n var onDragLeave = _this.props.onDragLeave;\n onDragLeave === null || onDragLeave === void 0 || onDragLeave({\n event: event,\n node: convertNodePropsToEventData(nodeProps)\n });\n });\n // since stopPropagation() is called in treeNode\n // if onWindowDrag is called, whice means state is keeped, drag state should be cleared\n _defineProperty(_assertThisInitialized(_this), \"onWindowDragEnd\", function (event) {\n _this.onNodeDragEnd(event, null, true);\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n });\n // if onNodeDragEnd is called, onWindowDragEnd won't be called since stopPropagation() is called\n _defineProperty(_assertThisInitialized(_this), \"onNodeDragEnd\", function (event, nodeProps) {\n var onDragEnd = _this.props.onDragEnd;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n onDragEnd === null || onDragEnd === void 0 || onDragEnd({\n event: event,\n node: convertNodePropsToEventData(nodeProps)\n });\n _this.dragNodeProps = null;\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeDrop\", function (event, _) {\n var _this$getActiveItem;\n var outsideTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var _this$state4 = _this.state,\n dragChildrenKeys = _this$state4.dragChildrenKeys,\n dropPosition = _this$state4.dropPosition,\n dropTargetKey = _this$state4.dropTargetKey,\n dropTargetPos = _this$state4.dropTargetPos,\n dropAllowed = _this$state4.dropAllowed;\n if (!dropAllowed) {\n return;\n }\n var onDrop = _this.props.onDrop;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n if (dropTargetKey === null) return;\n var abstractDropNodeProps = _objectSpread(_objectSpread({}, getTreeNodeProps(dropTargetKey, _this.getTreeNodeRequiredProps())), {}, {\n active: ((_this$getActiveItem = _this.getActiveItem()) === null || _this$getActiveItem === void 0 ? void 0 : _this$getActiveItem.key) === dropTargetKey,\n data: getEntity(_this.state.keyEntities, dropTargetKey).node\n });\n var dropToChild = dragChildrenKeys.includes(dropTargetKey);\n warning(!dropToChild, \"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.\");\n var posArr = posToArr(dropTargetPos);\n var dropResult = {\n event: event,\n node: convertNodePropsToEventData(abstractDropNodeProps),\n dragNode: _this.dragNodeProps ? convertNodePropsToEventData(_this.dragNodeProps) : null,\n dragNodesKeys: [_this.dragNodeProps.eventKey].concat(dragChildrenKeys),\n dropToGap: dropPosition !== 0,\n dropPosition: dropPosition + Number(posArr[posArr.length - 1])\n };\n if (!outsideTree) {\n onDrop === null || onDrop === void 0 || onDrop(dropResult);\n }\n _this.dragNodeProps = null;\n });\n _defineProperty(_assertThisInitialized(_this), \"cleanDragState\", function () {\n var draggingNodeKey = _this.state.draggingNodeKey;\n if (draggingNodeKey !== null) {\n _this.setState({\n draggingNodeKey: null,\n dropPosition: null,\n dropContainerKey: null,\n dropTargetKey: null,\n dropLevelOffset: null,\n dropAllowed: true,\n dragOverNodeKey: null\n });\n }\n _this.dragStartMousePosition = null;\n _this.currentMouseOverDroppableNodeKey = null;\n });\n _defineProperty(_assertThisInitialized(_this), \"triggerExpandActionExpand\", function (e, treeNode) {\n var _this$state5 = _this.state,\n expandedKeys = _this$state5.expandedKeys,\n flattenNodes = _this$state5.flattenNodes;\n var expanded = treeNode.expanded,\n key = treeNode.key,\n isLeaf = treeNode.isLeaf;\n if (isLeaf || e.shiftKey || e.metaKey || e.ctrlKey) {\n return;\n }\n var node = flattenNodes.filter(function (nodeItem) {\n return nodeItem.key === key;\n })[0];\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(key, _this.getTreeNodeRequiredProps())), {}, {\n data: node.data\n }));\n _this.setExpandedKeys(expanded ? arrDel(expandedKeys, key) : arrAdd(expandedKeys, key));\n _this.onNodeExpand(e, eventNode);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeClick\", function (e, treeNode) {\n var _this$props3 = _this.props,\n onClick = _this$props3.onClick,\n expandAction = _this$props3.expandAction;\n if (expandAction === 'click') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onClick === null || onClick === void 0 || onClick(e, treeNode);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeDoubleClick\", function (e, treeNode) {\n var _this$props4 = _this.props,\n onDoubleClick = _this$props4.onDoubleClick,\n expandAction = _this$props4.expandAction;\n if (expandAction === 'doubleClick') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onDoubleClick === null || onDoubleClick === void 0 || onDoubleClick(e, treeNode);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeSelect\", function (e, treeNode) {\n var selectedKeys = _this.state.selectedKeys;\n var _this$state6 = _this.state,\n keyEntities = _this$state6.keyEntities,\n fieldNames = _this$state6.fieldNames;\n var _this$props5 = _this.props,\n onSelect = _this$props5.onSelect,\n multiple = _this$props5.multiple;\n var selected = treeNode.selected;\n var key = treeNode[fieldNames.key];\n var targetSelected = !selected;\n\n // Update selected keys\n if (!targetSelected) {\n selectedKeys = arrDel(selectedKeys, key);\n } else if (!multiple) {\n selectedKeys = [key];\n } else {\n selectedKeys = arrAdd(selectedKeys, key);\n }\n\n // [Legacy] Not found related usage in doc or upper libs\n var selectedNodes = selectedKeys.map(function (selectedKey) {\n var entity = getEntity(keyEntities, selectedKey);\n return entity ? entity.node : null;\n }).filter(Boolean);\n _this.setUncontrolledState({\n selectedKeys: selectedKeys\n });\n onSelect === null || onSelect === void 0 || onSelect(selectedKeys, {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes: selectedNodes,\n nativeEvent: e.nativeEvent\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeCheck\", function (e, treeNode, checked) {\n var _this$state7 = _this.state,\n keyEntities = _this$state7.keyEntities,\n oriCheckedKeys = _this$state7.checkedKeys,\n oriHalfCheckedKeys = _this$state7.halfCheckedKeys;\n var _this$props6 = _this.props,\n checkStrictly = _this$props6.checkStrictly,\n onCheck = _this$props6.onCheck;\n var key = treeNode.key;\n\n // Prepare trigger arguments\n var checkedObj;\n var eventObj = {\n event: 'check',\n node: treeNode,\n checked: checked,\n nativeEvent: e.nativeEvent\n };\n if (checkStrictly) {\n var checkedKeys = checked ? arrAdd(oriCheckedKeys, key) : arrDel(oriCheckedKeys, key);\n var halfCheckedKeys = arrDel(oriHalfCheckedKeys, key);\n checkedObj = {\n checked: checkedKeys,\n halfChecked: halfCheckedKeys\n };\n eventObj.checkedNodes = checkedKeys.map(function (checkedKey) {\n return getEntity(keyEntities, checkedKey);\n }).filter(Boolean).map(function (entity) {\n return entity.node;\n });\n _this.setUncontrolledState({\n checkedKeys: checkedKeys\n });\n } else {\n // Always fill first\n var _conductCheck = conductCheck([].concat(_toConsumableArray(oriCheckedKeys), [key]), true, keyEntities),\n _checkedKeys = _conductCheck.checkedKeys,\n _halfCheckedKeys = _conductCheck.halfCheckedKeys;\n\n // If remove, we do it again to correction\n if (!checked) {\n var keySet = new Set(_checkedKeys);\n keySet.delete(key);\n var _conductCheck2 = conductCheck(Array.from(keySet), {\n checked: false,\n halfCheckedKeys: _halfCheckedKeys\n }, keyEntities);\n _checkedKeys = _conductCheck2.checkedKeys;\n _halfCheckedKeys = _conductCheck2.halfCheckedKeys;\n }\n checkedObj = _checkedKeys;\n\n // [Legacy] This is used for `rc-tree-select`\n eventObj.checkedNodes = [];\n eventObj.checkedNodesPositions = [];\n eventObj.halfCheckedKeys = _halfCheckedKeys;\n _checkedKeys.forEach(function (checkedKey) {\n var entity = getEntity(keyEntities, checkedKey);\n if (!entity) return;\n var node = entity.node,\n pos = entity.pos;\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({\n node: node,\n pos: pos\n });\n });\n _this.setUncontrolledState({\n checkedKeys: _checkedKeys\n }, false, {\n halfCheckedKeys: _halfCheckedKeys\n });\n }\n onCheck === null || onCheck === void 0 || onCheck(checkedObj, eventObj);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeLoad\", function (treeNode) {\n var _entity$children;\n var key = treeNode.key;\n var keyEntities = _this.state.keyEntities;\n\n // Skip if has children already\n var entity = getEntity(keyEntities, key);\n if (entity !== null && entity !== void 0 && (_entity$children = entity.children) !== null && _entity$children !== void 0 && _entity$children.length) {\n return;\n }\n var loadPromise = new Promise(function (resolve, reject) {\n // We need to get the latest state of loading/loaded keys\n _this.setState(function (_ref) {\n var _ref$loadedKeys = _ref.loadedKeys,\n loadedKeys = _ref$loadedKeys === void 0 ? [] : _ref$loadedKeys,\n _ref$loadingKeys = _ref.loadingKeys,\n loadingKeys = _ref$loadingKeys === void 0 ? [] : _ref$loadingKeys;\n var _this$props7 = _this.props,\n loadData = _this$props7.loadData,\n onLoad = _this$props7.onLoad;\n if (!loadData || loadedKeys.includes(key) || loadingKeys.includes(key)) {\n return null;\n }\n\n // Process load data\n var promise = loadData(treeNode);\n promise.then(function () {\n var currentLoadedKeys = _this.state.loadedKeys;\n var newLoadedKeys = arrAdd(currentLoadedKeys, key);\n\n // onLoad should trigger before internal setState to avoid `loadData` trigger twice.\n // https://github.com/ant-design/ant-design/issues/12464\n onLoad === null || onLoad === void 0 || onLoad(newLoadedKeys, {\n event: 'load',\n node: treeNode\n });\n _this.setUncontrolledState({\n loadedKeys: newLoadedKeys\n });\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n resolve();\n }).catch(function (e) {\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n\n // If exceed max retry times, we give up retry\n _this.loadingRetryTimes[key] = (_this.loadingRetryTimes[key] || 0) + 1;\n if (_this.loadingRetryTimes[key] >= MAX_RETRY_TIMES) {\n var currentLoadedKeys = _this.state.loadedKeys;\n warning(false, 'Retry for `loadData` many times but still failed. No more retry.');\n _this.setUncontrolledState({\n loadedKeys: arrAdd(currentLoadedKeys, key)\n });\n resolve();\n }\n reject(e);\n });\n return {\n loadingKeys: arrAdd(loadingKeys, key)\n };\n });\n });\n\n // Not care warning if we ignore this\n loadPromise.catch(function () {});\n return loadPromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeMouseEnter\", function (event, node) {\n var onMouseEnter = _this.props.onMouseEnter;\n onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({\n event: event,\n node: node\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeMouseLeave\", function (event, node) {\n var onMouseLeave = _this.props.onMouseLeave;\n onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({\n event: event,\n node: node\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeContextMenu\", function (event, node) {\n var onRightClick = _this.props.onRightClick;\n if (onRightClick) {\n event.preventDefault();\n onRightClick({\n event: event,\n node: node\n });\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onFocus\", function () {\n var onFocus = _this.props.onFocus;\n _this.setState({\n focused: true\n });\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n onFocus === null || onFocus === void 0 || onFocus.apply(void 0, args);\n });\n _defineProperty(_assertThisInitialized(_this), \"onBlur\", function () {\n var onBlur = _this.props.onBlur;\n _this.setState({\n focused: false\n });\n _this.onActiveChange(null);\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n onBlur === null || onBlur === void 0 || onBlur.apply(void 0, args);\n });\n _defineProperty(_assertThisInitialized(_this), \"getTreeNodeRequiredProps\", function () {\n var _this$state8 = _this.state,\n expandedKeys = _this$state8.expandedKeys,\n selectedKeys = _this$state8.selectedKeys,\n loadedKeys = _this$state8.loadedKeys,\n loadingKeys = _this$state8.loadingKeys,\n checkedKeys = _this$state8.checkedKeys,\n halfCheckedKeys = _this$state8.halfCheckedKeys,\n dragOverNodeKey = _this$state8.dragOverNodeKey,\n dropPosition = _this$state8.dropPosition,\n keyEntities = _this$state8.keyEntities;\n return {\n expandedKeys: expandedKeys || [],\n selectedKeys: selectedKeys || [],\n loadedKeys: loadedKeys || [],\n loadingKeys: loadingKeys || [],\n checkedKeys: checkedKeys || [],\n halfCheckedKeys: halfCheckedKeys || [],\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n });\n // =========================== Expanded ===========================\n /** Set uncontrolled `expandedKeys`. This will also auto update `flattenNodes`. */\n _defineProperty(_assertThisInitialized(_this), \"setExpandedKeys\", function (expandedKeys) {\n var _this$state9 = _this.state,\n treeData = _this$state9.treeData,\n fieldNames = _this$state9.fieldNames;\n var flattenNodes = flattenTreeData(treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n expandedKeys: expandedKeys,\n flattenNodes: flattenNodes\n }, true);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeExpand\", function (e, treeNode) {\n var expandedKeys = _this.state.expandedKeys;\n var _this$state10 = _this.state,\n listChanging = _this$state10.listChanging,\n fieldNames = _this$state10.fieldNames;\n var _this$props8 = _this.props,\n onExpand = _this$props8.onExpand,\n loadData = _this$props8.loadData;\n var expanded = treeNode.expanded;\n var key = treeNode[fieldNames.key];\n\n // Do nothing when motion is in progress\n if (listChanging) {\n return;\n }\n\n // Update selected keys\n var certain = expandedKeys.includes(key);\n var targetExpanded = !expanded;\n warning(expanded && certain || !expanded && !certain, 'Expand state not sync with index check');\n expandedKeys = targetExpanded ? arrAdd(expandedKeys, key) : arrDel(expandedKeys, key);\n _this.setExpandedKeys(expandedKeys);\n onExpand === null || onExpand === void 0 || onExpand(expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e.nativeEvent\n });\n\n // Async Load data\n if (targetExpanded && loadData) {\n var loadPromise = _this.onNodeLoad(treeNode);\n if (loadPromise) {\n loadPromise.then(function () {\n // [Legacy] Refresh logic\n var newFlattenTreeData = flattenTreeData(_this.state.treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n flattenNodes: newFlattenTreeData\n });\n }).catch(function () {\n var currentExpandedKeys = _this.state.expandedKeys;\n var expandedKeysToRestore = arrDel(currentExpandedKeys, key);\n _this.setExpandedKeys(expandedKeysToRestore);\n });\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onListChangeStart\", function () {\n _this.setUncontrolledState({\n listChanging: true\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onListChangeEnd\", function () {\n setTimeout(function () {\n _this.setUncontrolledState({\n listChanging: false\n });\n });\n });\n // =========================== Keyboard ===========================\n _defineProperty(_assertThisInitialized(_this), \"onActiveChange\", function (newActiveKey) {\n var activeKey = _this.state.activeKey;\n var _this$props9 = _this.props,\n onActiveChange = _this$props9.onActiveChange,\n _this$props9$itemScro = _this$props9.itemScrollOffset,\n itemScrollOffset = _this$props9$itemScro === void 0 ? 0 : _this$props9$itemScro;\n if (activeKey === newActiveKey) {\n return;\n }\n _this.setState({\n activeKey: newActiveKey\n });\n if (newActiveKey !== null) {\n _this.scrollTo({\n key: newActiveKey,\n offset: itemScrollOffset\n });\n }\n onActiveChange === null || onActiveChange === void 0 || onActiveChange(newActiveKey);\n });\n _defineProperty(_assertThisInitialized(_this), \"getActiveItem\", function () {\n var _this$state11 = _this.state,\n activeKey = _this$state11.activeKey,\n flattenNodes = _this$state11.flattenNodes;\n if (activeKey === null) {\n return null;\n }\n return flattenNodes.find(function (_ref2) {\n var key = _ref2.key;\n return key === activeKey;\n }) || null;\n });\n _defineProperty(_assertThisInitialized(_this), \"offsetActiveKey\", function (offset) {\n var _this$state12 = _this.state,\n flattenNodes = _this$state12.flattenNodes,\n activeKey = _this$state12.activeKey;\n var index = flattenNodes.findIndex(function (_ref3) {\n var key = _ref3.key;\n return key === activeKey;\n });\n\n // Align with index\n if (index === -1 && offset < 0) {\n index = flattenNodes.length;\n }\n index = (index + offset + flattenNodes.length) % flattenNodes.length;\n var item = flattenNodes[index];\n if (item) {\n var _key4 = item.key;\n _this.onActiveChange(_key4);\n } else {\n _this.onActiveChange(null);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onKeyDown\", function (event) {\n var _this$state13 = _this.state,\n activeKey = _this$state13.activeKey,\n expandedKeys = _this$state13.expandedKeys,\n checkedKeys = _this$state13.checkedKeys,\n fieldNames = _this$state13.fieldNames;\n var _this$props10 = _this.props,\n onKeyDown = _this$props10.onKeyDown,\n checkable = _this$props10.checkable,\n selectable = _this$props10.selectable;\n\n // >>>>>>>>>> Direction\n switch (event.which) {\n case KeyCode.UP:\n {\n _this.offsetActiveKey(-1);\n event.preventDefault();\n break;\n }\n case KeyCode.DOWN:\n {\n _this.offsetActiveKey(1);\n event.preventDefault();\n break;\n }\n }\n\n // >>>>>>>>>> Expand & Selection\n var activeItem = _this.getActiveItem();\n if (activeItem && activeItem.data) {\n var treeNodeRequiredProps = _this.getTreeNodeRequiredProps();\n var expandable = activeItem.data.isLeaf === false || !!(activeItem.data[fieldNames.children] || []).length;\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(activeKey, treeNodeRequiredProps)), {}, {\n data: activeItem.data,\n active: true\n }));\n switch (event.which) {\n // >>> Expand\n case KeyCode.LEFT:\n {\n // Collapse if possible\n if (expandable && expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.parent) {\n _this.onActiveChange(activeItem.parent.key);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.RIGHT:\n {\n // Expand if possible\n if (expandable && !expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.children && activeItem.children.length) {\n _this.onActiveChange(activeItem.children[0].key);\n }\n event.preventDefault();\n break;\n }\n\n // Selection\n case KeyCode.ENTER:\n case KeyCode.SPACE:\n {\n if (checkable && !eventNode.disabled && eventNode.checkable !== false && !eventNode.disableCheckbox) {\n _this.onNodeCheck({}, eventNode, !checkedKeys.includes(activeKey));\n } else if (!checkable && selectable && !eventNode.disabled && eventNode.selectable !== false) {\n _this.onNodeSelect({}, eventNode);\n }\n break;\n }\n }\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);\n });\n /**\n * Only update the value which is not in props\n */\n _defineProperty(_assertThisInitialized(_this), \"setUncontrolledState\", function (state) {\n var atomic = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var forceState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (!_this.destroyed) {\n var needSync = false;\n var allPassed = true;\n var newState = {};\n Object.keys(state).forEach(function (name) {\n if (_this.props.hasOwnProperty(name)) {\n allPassed = false;\n return;\n }\n needSync = true;\n newState[name] = state[name];\n });\n if (needSync && (!atomic || allPassed)) {\n _this.setState(_objectSpread(_objectSpread({}, newState), forceState));\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"scrollTo\", function (scroll) {\n _this.listRef.current.scrollTo(scroll);\n });\n return _this;\n }\n _createClass(Tree, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.destroyed = false;\n this.onUpdated();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onUpdated();\n }\n }, {\n key: \"onUpdated\",\n value: function onUpdated() {\n var _this$props11 = this.props,\n activeKey = _this$props11.activeKey,\n _this$props11$itemScr = _this$props11.itemScrollOffset,\n itemScrollOffset = _this$props11$itemScr === void 0 ? 0 : _this$props11$itemScr;\n if (activeKey !== undefined && activeKey !== this.state.activeKey) {\n this.setState({\n activeKey: activeKey\n });\n if (activeKey !== null) {\n this.scrollTo({\n key: activeKey,\n offset: itemScrollOffset\n });\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('dragend', this.onWindowDragEnd);\n this.destroyed = true;\n }\n }, {\n key: \"resetDragState\",\n value: function resetDragState() {\n this.setState({\n dragOverNodeKey: null,\n dropPosition: null,\n dropLevelOffset: null,\n dropTargetKey: null,\n dropContainerKey: null,\n dropTargetPos: null,\n dropAllowed: false\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state14 = this.state,\n focused = _this$state14.focused,\n flattenNodes = _this$state14.flattenNodes,\n keyEntities = _this$state14.keyEntities,\n draggingNodeKey = _this$state14.draggingNodeKey,\n activeKey = _this$state14.activeKey,\n dropLevelOffset = _this$state14.dropLevelOffset,\n dropContainerKey = _this$state14.dropContainerKey,\n dropTargetKey = _this$state14.dropTargetKey,\n dropPosition = _this$state14.dropPosition,\n dragOverNodeKey = _this$state14.dragOverNodeKey,\n indent = _this$state14.indent;\n var _this$props12 = this.props,\n prefixCls = _this$props12.prefixCls,\n className = _this$props12.className,\n style = _this$props12.style,\n showLine = _this$props12.showLine,\n focusable = _this$props12.focusable,\n _this$props12$tabInde = _this$props12.tabIndex,\n tabIndex = _this$props12$tabInde === void 0 ? 0 : _this$props12$tabInde,\n selectable = _this$props12.selectable,\n showIcon = _this$props12.showIcon,\n icon = _this$props12.icon,\n switcherIcon = _this$props12.switcherIcon,\n draggable = _this$props12.draggable,\n checkable = _this$props12.checkable,\n checkStrictly = _this$props12.checkStrictly,\n disabled = _this$props12.disabled,\n motion = _this$props12.motion,\n loadData = _this$props12.loadData,\n filterTreeNode = _this$props12.filterTreeNode,\n height = _this$props12.height,\n itemHeight = _this$props12.itemHeight,\n scrollWidth = _this$props12.scrollWidth,\n virtual = _this$props12.virtual,\n titleRender = _this$props12.titleRender,\n dropIndicatorRender = _this$props12.dropIndicatorRender,\n onContextMenu = _this$props12.onContextMenu,\n onScroll = _this$props12.onScroll,\n direction = _this$props12.direction,\n rootClassName = _this$props12.rootClassName,\n rootStyle = _this$props12.rootStyle;\n var domProps = pickAttrs(this.props, {\n aria: true,\n data: true\n });\n\n // It's better move to hooks but we just simply keep here\n var draggableConfig;\n if (draggable) {\n if (_typeof(draggable) === 'object') {\n draggableConfig = draggable;\n } else if (typeof draggable === 'function') {\n draggableConfig = {\n nodeDraggable: draggable\n };\n } else {\n draggableConfig = {};\n }\n }\n var contextValue = {\n prefixCls: prefixCls,\n selectable: selectable,\n showIcon: showIcon,\n icon: icon,\n switcherIcon: switcherIcon,\n draggable: draggableConfig,\n draggingNodeKey: draggingNodeKey,\n checkable: checkable,\n checkStrictly: checkStrictly,\n disabled: disabled,\n keyEntities: keyEntities,\n dropLevelOffset: dropLevelOffset,\n dropContainerKey: dropContainerKey,\n dropTargetKey: dropTargetKey,\n dropPosition: dropPosition,\n dragOverNodeKey: dragOverNodeKey,\n indent: indent,\n direction: direction,\n dropIndicatorRender: dropIndicatorRender,\n loadData: loadData,\n filterTreeNode: filterTreeNode,\n titleRender: titleRender,\n onNodeClick: this.onNodeClick,\n onNodeDoubleClick: this.onNodeDoubleClick,\n onNodeExpand: this.onNodeExpand,\n onNodeSelect: this.onNodeSelect,\n onNodeCheck: this.onNodeCheck,\n onNodeLoad: this.onNodeLoad,\n onNodeMouseEnter: this.onNodeMouseEnter,\n onNodeMouseLeave: this.onNodeMouseLeave,\n onNodeContextMenu: this.onNodeContextMenu,\n onNodeDragStart: this.onNodeDragStart,\n onNodeDragEnter: this.onNodeDragEnter,\n onNodeDragOver: this.onNodeDragOver,\n onNodeDragLeave: this.onNodeDragLeave,\n onNodeDragEnd: this.onNodeDragEnd,\n onNodeDrop: this.onNodeDrop\n };\n return /*#__PURE__*/React.createElement(TreeContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(prefixCls, className, rootClassName, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-show-line\"), showLine), \"\".concat(prefixCls, \"-focused\"), focused), \"\".concat(prefixCls, \"-active-focused\"), activeKey !== null)),\n style: rootStyle\n }, /*#__PURE__*/React.createElement(NodeList, _extends({\n ref: this.listRef,\n prefixCls: prefixCls,\n style: style,\n data: flattenNodes,\n disabled: disabled,\n selectable: selectable,\n checkable: !!checkable,\n motion: motion,\n dragging: draggingNodeKey !== null,\n height: height,\n itemHeight: itemHeight,\n virtual: virtual,\n focusable: focusable,\n focused: focused,\n tabIndex: tabIndex,\n activeItem: this.getActiveItem(),\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeyDown: this.onKeyDown,\n onActiveChange: this.onActiveChange,\n onListChangeStart: this.onListChangeStart,\n onListChangeEnd: this.onListChangeEnd,\n onContextMenu: onContextMenu,\n onScroll: onScroll,\n scrollWidth: scrollWidth\n }, this.getTreeNodeRequiredProps(), domProps))));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, prevState) {\n var prevProps = prevState.prevProps;\n var newState = {\n prevProps: props\n };\n function needSync(name) {\n return !prevProps && props.hasOwnProperty(name) || prevProps && prevProps[name] !== props[name];\n }\n\n // ================== Tree Node ==================\n var treeData;\n\n // fieldNames\n var fieldNames = prevState.fieldNames;\n if (needSync('fieldNames')) {\n fieldNames = fillFieldNames(props.fieldNames);\n newState.fieldNames = fieldNames;\n }\n\n // Check if `treeData` or `children` changed and save into the state.\n if (needSync('treeData')) {\n treeData = props.treeData;\n } else if (needSync('children')) {\n warning(false, '`children` of Tree is deprecated. Please use `treeData` instead.');\n treeData = convertTreeToData(props.children);\n }\n\n // Save flatten nodes info and convert `treeData` into keyEntities\n if (treeData) {\n newState.treeData = treeData;\n var entitiesMap = convertDataToEntities(treeData, {\n fieldNames: fieldNames\n });\n newState.keyEntities = _objectSpread(_defineProperty({}, MOTION_KEY, MotionEntity), entitiesMap.keyEntities);\n\n // Warning if treeNode not provide key\n if (process.env.NODE_ENV !== 'production') {\n warningWithoutKey(treeData, fieldNames);\n }\n }\n var keyEntities = newState.keyEntities || prevState.keyEntities;\n\n // ================ expandedKeys =================\n if (needSync('expandedKeys') || prevProps && needSync('autoExpandParent')) {\n newState.expandedKeys = props.autoExpandParent || !prevProps && props.defaultExpandParent ? conductExpandParent(props.expandedKeys, keyEntities) : props.expandedKeys;\n } else if (!prevProps && props.defaultExpandAll) {\n var cloneKeyEntities = _objectSpread({}, keyEntities);\n delete cloneKeyEntities[MOTION_KEY];\n\n // Only take the key who has the children to enhance the performance\n var nextExpandedKeys = [];\n Object.keys(cloneKeyEntities).forEach(function (key) {\n var entity = cloneKeyEntities[key];\n if (entity.children && entity.children.length) {\n nextExpandedKeys.push(entity.key);\n }\n });\n newState.expandedKeys = nextExpandedKeys;\n } else if (!prevProps && props.defaultExpandedKeys) {\n newState.expandedKeys = props.autoExpandParent || props.defaultExpandParent ? conductExpandParent(props.defaultExpandedKeys, keyEntities) : props.defaultExpandedKeys;\n }\n if (!newState.expandedKeys) {\n delete newState.expandedKeys;\n }\n\n // ================ flattenNodes =================\n if (treeData || newState.expandedKeys) {\n var flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, fieldNames);\n newState.flattenNodes = flattenNodes;\n }\n\n // ================ selectedKeys =================\n if (props.selectable) {\n if (needSync('selectedKeys')) {\n newState.selectedKeys = calcSelectedKeys(props.selectedKeys, props);\n } else if (!prevProps && props.defaultSelectedKeys) {\n newState.selectedKeys = calcSelectedKeys(props.defaultSelectedKeys, props);\n }\n }\n\n // ================= checkedKeys =================\n if (props.checkable) {\n var checkedKeyEntity;\n if (needSync('checkedKeys')) {\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {};\n } else if (!prevProps && props.defaultCheckedKeys) {\n checkedKeyEntity = parseCheckedKeys(props.defaultCheckedKeys) || {};\n } else if (treeData) {\n // If `treeData` changed, we also need check it\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {\n checkedKeys: prevState.checkedKeys,\n halfCheckedKeys: prevState.halfCheckedKeys\n };\n }\n if (checkedKeyEntity) {\n var _checkedKeyEntity = checkedKeyEntity,\n _checkedKeyEntity$che = _checkedKeyEntity.checkedKeys,\n checkedKeys = _checkedKeyEntity$che === void 0 ? [] : _checkedKeyEntity$che,\n _checkedKeyEntity$hal = _checkedKeyEntity.halfCheckedKeys,\n halfCheckedKeys = _checkedKeyEntity$hal === void 0 ? [] : _checkedKeyEntity$hal;\n if (!props.checkStrictly) {\n var conductKeys = conductCheck(checkedKeys, true, keyEntities);\n checkedKeys = conductKeys.checkedKeys;\n halfCheckedKeys = conductKeys.halfCheckedKeys;\n }\n newState.checkedKeys = checkedKeys;\n newState.halfCheckedKeys = halfCheckedKeys;\n }\n }\n\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState.loadedKeys = props.loadedKeys;\n }\n return newState;\n }\n }]);\n return Tree;\n}(React.Component);\n_defineProperty(Tree, \"defaultProps\", {\n prefixCls: 'rc-tree',\n showLine: false,\n showIcon: true,\n selectable: true,\n multiple: false,\n checkable: false,\n disabled: false,\n checkStrictly: false,\n draggable: false,\n defaultExpandParent: true,\n autoExpandParent: false,\n defaultExpandAll: false,\n defaultExpandedKeys: [],\n defaultCheckedKeys: [],\n defaultSelectedKeys: [],\n dropIndicatorRender: DropIndicator,\n allowDrop: function allowDrop() {\n return true;\n },\n expandAction: false\n});\n_defineProperty(Tree, \"TreeNode\", TreeNode);\nexport default Tree;","// This icon file is generated automatically.\nvar FileOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z\" } }] }, \"name\": \"file\", \"theme\": \"outlined\" };\nexport default FileOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FileOutlinedSvg from \"@ant-design/icons-svg/es/asn/FileOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FileOutlined = function FileOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FileOutlinedSvg\n }));\n};\n\n/**![file](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1NC42IDI4OC42TDYzOS40IDczLjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjgzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NDBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzExLjNjMC04LjUtMy40LTE2LjctOS40LTIyLjd6TTc5MC4yIDMyNkg2MDJWMTM3LjhMNzkwLjIgMzI2em0xLjggNTYySDIzMlYxMzZoMzAydjIxNmE0MiA0MiAwIDAwNDIgNDJoMjE2djQ5NHoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FileOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FileOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar FolderOpenOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z\" } }] }, \"name\": \"folder-open\", \"theme\": \"outlined\" };\nexport default FolderOpenOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FolderOpenOutlinedSvg from \"@ant-design/icons-svg/es/asn/FolderOpenOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FolderOpenOutlined = function FolderOpenOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FolderOpenOutlinedSvg\n }));\n};\n\n/**![folder-open](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkyOCA0NDRIODIwVjMzMC40YzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ3M0wzNTUuNyAxODYuMmE4LjE1IDguMTUgMCAwMC01LjUtMi4ySDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY1OTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjk4YzEzIDAgMjQuOC03LjkgMjkuNy0yMGwxMzQtMzMyYzEuNS0zLjggMi4zLTcuOSAyLjMtMTIgMC0xNy43LTE0LjMtMzItMzItMzJ6TTEzNiAyNTZoMTg4LjVsMTE5LjYgMTE0LjRINzQ4VjQ0NEgyMzhjLTEzIDAtMjQuOCA3LjktMjkuNyAyMEwxMzYgNjQzLjJWMjU2em02MzUuMyA1MTJIMTU5bDEwMy4zLTI1Nmg2MTIuNEw3NzEuMyA3Njh6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FolderOpenOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FolderOpenOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar HolderOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z\" } }] }, \"name\": \"holder\", \"theme\": \"outlined\" };\nexport default HolderOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport HolderOutlinedSvg from \"@ant-design/icons-svg/es/asn/HolderOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar HolderOutlined = function HolderOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: HolderOutlinedSvg\n }));\n};\n\n/**![holder](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMwMCAyNzYuNWE1NiA1NiAwIDEwNTYtOTcgNTYgNTYgMCAwMC01NiA5N3ptMCAyODRhNTYgNTYgMCAxMDU2LTk3IDU2IDU2IDAgMDAtNTYgOTd6TTY0MCAyMjhhNTYgNTYgMCAxMDExMiAwIDU2IDU2IDAgMDAtMTEyIDB6bTAgMjg0YTU2IDU2IDAgMTAxMTIgMCA1NiA1NiAwIDAwLTExMiAwek0zMDAgODQ0LjVhNTYgNTYgMCAxMDU2LTk3IDU2IDU2IDAgMDAtNTYgOTd6TTY0MCA3OTZhNTYgNTYgMCAxMDExMiAwIDU2IDU2IDAgMDAtMTEyIDB6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(HolderOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'HolderOutlined';\n}\nexport default RefIcon;","// ============================ Directory =============================\nexport const genDirectoryStyle = ({\n treeCls,\n treeNodeCls,\n directoryNodeSelectedBg,\n directoryNodeSelectedColor,\n motionDurationMid,\n borderRadius,\n controlItemBgHover\n}) => ({\n [`${treeCls}${treeCls}-directory ${treeNodeCls}`]: {\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n position: 'static',\n [`&:has(${treeCls}-drop-indicator)`]: {\n position: 'relative'\n },\n [`> *:not(${treeCls}-drop-indicator)`]: {\n position: 'relative'\n },\n '&:hover': {\n background: 'transparent'\n },\n // Expand interactive area to whole line\n '&:before': {\n position: 'absolute',\n inset: 0,\n transition: `background-color ${motionDurationMid}`,\n content: '\"\"',\n borderRadius\n },\n '&:hover:before': {\n background: controlItemBgHover\n }\n },\n [`${treeCls}-switcher, ${treeCls}-checkbox, ${treeCls}-draggable-icon`]: {\n zIndex: 1\n },\n // ============= Selected =============\n '&-selected': {\n background: directoryNodeSelectedBg,\n borderRadius,\n [`${treeCls}-switcher, ${treeCls}-draggable-icon`]: {\n color: directoryNodeSelectedColor\n },\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n color: directoryNodeSelectedColor,\n background: 'transparent',\n '&, &:hover': {\n color: directoryNodeSelectedColor\n },\n '&:before, &:hover:before': {\n background: directoryNodeSelectedBg\n }\n }\n }\n }\n});","import { Keyframes, unit } from '@ant-design/cssinjs';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\nimport { genFocusOutline, resetComponent } from '../../style';\nimport { genCollapseMotion } from '../../style/motion';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport { genDirectoryStyle } from './directory';\n// ============================ Keyframes =============================\nconst treeNodeFX = new Keyframes('ant-tree-node-fx-do-not-use', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\n// ============================== Switch ==============================\nconst getSwitchStyle = (prefixCls, token) => ({\n [`.${prefixCls}-switcher-icon`]: {\n display: 'inline-block',\n fontSize: 10,\n verticalAlign: 'baseline',\n svg: {\n transition: `transform ${token.motionDurationSlow}`\n }\n }\n});\n// =============================== Drop ===============================\nconst getDropIndicatorStyle = (prefixCls, token) => ({\n [`.${prefixCls}-drop-indicator`]: {\n position: 'absolute',\n // it should displayed over the following node\n zIndex: 1,\n height: 2,\n backgroundColor: token.colorPrimary,\n borderRadius: 1,\n pointerEvents: 'none',\n '&:after': {\n position: 'absolute',\n top: -3,\n insetInlineStart: -6,\n width: 8,\n height: 8,\n backgroundColor: 'transparent',\n border: `${unit(token.lineWidthBold)} solid ${token.colorPrimary}`,\n borderRadius: '50%',\n content: '\"\"'\n }\n }\n});\nexport const genBaseStyle = (prefixCls, token) => {\n const {\n treeCls,\n treeNodeCls,\n treeNodePadding,\n titleHeight,\n indentSize,\n nodeSelectedBg,\n nodeHoverBg,\n colorTextQuaternary,\n controlItemBgActiveDisabled\n } = token;\n return {\n [treeCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n // fix https://github.com/ant-design/ant-design/issues/50316\n ['--rc-virtual-list-scrollbar-bg']: token.colorSplit,\n background: token.colorBgContainer,\n borderRadius: token.borderRadius,\n transition: `background-color ${token.motionDurationSlow}`,\n '&-rtl': {\n direction: 'rtl'\n },\n [`&${treeCls}-rtl ${treeCls}-switcher_close ${treeCls}-switcher-icon svg`]: {\n transform: 'rotate(90deg)'\n },\n [`&-focused:not(:hover):not(${treeCls}-active-focused)`]: genFocusOutline(token),\n // =================== Virtual List ===================\n [`${treeCls}-list-holder-inner`]: {\n alignItems: 'flex-start'\n },\n [`&${treeCls}-block-node`]: {\n [`${treeCls}-list-holder-inner`]: {\n alignItems: 'stretch',\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n flex: 'auto'\n },\n // >>> Drag\n [`${treeNodeCls}.dragging:after`]: {\n position: 'absolute',\n inset: 0,\n border: `1px solid ${token.colorPrimary}`,\n opacity: 0,\n animationName: treeNodeFX,\n animationDuration: token.motionDurationSlow,\n animationPlayState: 'running',\n animationFillMode: 'forwards',\n content: '\"\"',\n pointerEvents: 'none',\n borderRadius: token.borderRadius\n }\n }\n },\n // ===================== TreeNode =====================\n [treeNodeCls]: {\n display: 'flex',\n alignItems: 'flex-start',\n marginBottom: treeNodePadding,\n lineHeight: unit(titleHeight),\n position: 'relative',\n // 非常重要,避免 drop-indicator 在拖拽过程中闪烁\n '&:before': {\n content: '\"\"',\n position: 'absolute',\n zIndex: 1,\n insetInlineStart: 0,\n width: '100%',\n top: '100%',\n height: treeNodePadding\n },\n // Disabled\n [`&-disabled ${treeCls}-node-content-wrapper`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n background: 'transparent'\n }\n },\n [`${treeCls}-checkbox-disabled + ${treeCls}-node-selected,&${treeNodeCls}-disabled${treeNodeCls}-selected ${treeCls}-node-content-wrapper`]: {\n backgroundColor: controlItemBgActiveDisabled\n },\n // we can not set pointer-events to none for checkbox in tree\n // ref: https://github.com/ant-design/ant-design/issues/39822#issuecomment-2605234058\n [`${treeCls}-checkbox-disabled`]: {\n pointerEvents: 'unset'\n },\n // not disable\n [`&:not(${treeNodeCls}-disabled)`]: {\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n '&:hover': {\n color: token.nodeHoverColor\n }\n }\n },\n [`&-active ${treeCls}-node-content-wrapper`]: {\n background: token.controlItemBgHover\n },\n [`&:not(${treeNodeCls}-disabled).filter-node ${treeCls}-title`]: {\n color: token.colorPrimary,\n fontWeight: token.fontWeightStrong\n },\n '&-draggable': {\n cursor: 'grab',\n [`${treeCls}-draggable-icon`]: {\n // https://github.com/ant-design/ant-design/issues/41915\n flexShrink: 0,\n width: titleHeight,\n textAlign: 'center',\n visibility: 'visible',\n color: colorTextQuaternary\n },\n [`&${treeNodeCls}-disabled ${treeCls}-draggable-icon`]: {\n visibility: 'hidden'\n }\n }\n },\n // >>> Indent\n [`${treeCls}-indent`]: {\n alignSelf: 'stretch',\n whiteSpace: 'nowrap',\n userSelect: 'none',\n '&-unit': {\n display: 'inline-block',\n width: indentSize\n }\n },\n // >>> Drag Handler\n [`${treeCls}-draggable-icon`]: {\n visibility: 'hidden'\n },\n // Switcher / Checkbox\n [`${treeCls}-switcher, ${treeCls}-checkbox`]: {\n marginInlineEnd: token.calc(token.calc(titleHeight).sub(token.controlInteractiveSize)).div(2).equal()\n },\n // >>> Switcher\n [`${treeCls}-switcher`]: Object.assign(Object.assign({}, getSwitchStyle(prefixCls, token)), {\n position: 'relative',\n flex: 'none',\n alignSelf: 'stretch',\n width: titleHeight,\n textAlign: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n transition: `all ${token.motionDurationSlow}`,\n '&-noop': {\n cursor: 'unset'\n },\n '&:before': {\n pointerEvents: 'none',\n content: '\"\"',\n width: titleHeight,\n height: titleHeight,\n position: 'absolute',\n left: {\n _skip_check_: true,\n value: 0\n },\n top: 0,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationSlow}`\n },\n [`&:not(${treeCls}-switcher-noop):hover:before`]: {\n backgroundColor: token.colorBgTextHover\n },\n [`&_close ${treeCls}-switcher-icon svg`]: {\n transform: 'rotate(-90deg)'\n },\n '&-loading-icon': {\n color: token.colorPrimary\n },\n '&-leaf-line': {\n position: 'relative',\n zIndex: 1,\n display: 'inline-block',\n width: '100%',\n height: '100%',\n // https://github.com/ant-design/ant-design/issues/31884\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.calc(titleHeight).div(2).equal(),\n bottom: token.calc(treeNodePadding).mul(-1).equal(),\n marginInlineStart: -1,\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&:after': {\n position: 'absolute',\n width: token.calc(token.calc(titleHeight).div(2).equal()).mul(0.8).equal(),\n height: token.calc(titleHeight).div(2).equal(),\n borderBottom: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n }\n }\n }),\n // >>> Title\n // add `${treeCls}-checkbox + span` to cover checkbox `${checkboxCls} + span`\n [`${treeCls}-node-content-wrapper`]: Object.assign(Object.assign({\n position: 'relative',\n minHeight: titleHeight,\n paddingBlock: 0,\n paddingInline: token.paddingXS,\n background: 'transparent',\n borderRadius: token.borderRadius,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`\n }, getDropIndicatorStyle(prefixCls, token)), {\n '&:hover': {\n backgroundColor: nodeHoverBg\n },\n [`&${treeCls}-node-selected`]: {\n color: token.nodeSelectedColor,\n backgroundColor: nodeSelectedBg\n },\n // Icon\n [`${treeCls}-iconEle`]: {\n display: 'inline-block',\n width: titleHeight,\n height: titleHeight,\n textAlign: 'center',\n verticalAlign: 'top',\n '&:empty': {\n display: 'none'\n }\n }\n }),\n // https://github.com/ant-design/ant-design/issues/28217\n [`${treeCls}-unselectable ${treeCls}-node-content-wrapper:hover`]: {\n backgroundColor: 'transparent'\n },\n [`${treeNodeCls}.drop-container > [draggable]`]: {\n boxShadow: `0 0 0 2px ${token.colorPrimary}`\n },\n // ==================== Show Line =====================\n '&-show-line': {\n // ================ Indent lines ================\n [`${treeCls}-indent-unit`]: {\n position: 'relative',\n height: '100%',\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.calc(titleHeight).div(2).equal(),\n bottom: token.calc(treeNodePadding).mul(-1).equal(),\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&-end:before': {\n display: 'none'\n }\n },\n // ============== Cover Background ==============\n [`${treeCls}-switcher`]: {\n background: 'transparent',\n '&-line-icon': {\n // https://github.com/ant-design/ant-design/issues/32813\n verticalAlign: '-0.15em'\n }\n }\n },\n [`${treeNodeCls}-leaf-last ${treeCls}-switcher-leaf-line:before`]: {\n top: 'auto !important',\n bottom: 'auto !important',\n height: `${unit(token.calc(titleHeight).div(2).equal())} !important`\n }\n })\n };\n};\n// ============================== Merged ==============================\nexport const genTreeStyle = (prefixCls, token,\n/**\n * @descCN 是否启用目录树样式\n * @descEN Whether to enable directory style\n * @default true\n */\nenableDirectory = true) => {\n const treeCls = `.${prefixCls}`;\n const treeNodeCls = `${treeCls}-treenode`;\n const treeNodePadding = token.calc(token.paddingXS).div(2).equal();\n const treeToken = mergeToken(token, {\n treeCls,\n treeNodeCls,\n treeNodePadding\n });\n return [\n // Basic\n genBaseStyle(prefixCls, treeToken),\n // Directory\n enableDirectory && genDirectoryStyle(treeToken)].filter(Boolean);\n};\nexport const initComponentToken = token => {\n const {\n controlHeightSM,\n controlItemBgHover,\n controlItemBgActive\n } = token;\n const titleHeight = controlHeightSM;\n return {\n titleHeight,\n indentSize: titleHeight,\n nodeHoverBg: controlItemBgHover,\n nodeHoverColor: token.colorText,\n nodeSelectedBg: controlItemBgActive,\n nodeSelectedColor: token.colorText\n };\n};\nexport const prepareComponentToken = token => {\n const {\n colorTextLightSolid,\n colorPrimary\n } = token;\n return Object.assign(Object.assign({}, initComponentToken(token)), {\n directoryNodeSelectedColor: colorTextLightSolid,\n directoryNodeSelectedBg: colorPrimary\n });\n};\nexport default genStyleHooks('Tree', (token, {\n prefixCls\n}) => [{\n [token.componentCls]: getCheckboxStyle(`${prefixCls}-checkbox`, token)\n}, genTreeStyle(prefixCls, token), genCollapseMotion(token)], prepareComponentToken);","\"use client\";\n\nimport React from 'react';\nexport const offset = 4;\nfunction dropIndicatorRender(props) {\n const {\n dropPosition,\n dropLevelOffset,\n prefixCls,\n indent,\n direction = 'ltr'\n } = props;\n const startPosition = direction === 'ltr' ? 'left' : 'right';\n const endPosition = direction === 'ltr' ? 'right' : 'left';\n const style = {\n [startPosition]: -dropLevelOffset * indent + offset,\n [endPosition]: 0\n };\n switch (dropPosition) {\n case -1:\n style.top = -3;\n break;\n case 1:\n style.bottom = -3;\n break;\n default:\n // dropPosition === 0\n style.bottom = -3;\n style[startPosition] = indent + offset;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style,\n className: `${prefixCls}-drop-indicator`\n });\n}\nexport default dropIndicatorRender;","// This icon file is generated automatically.\nvar CaretDownFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"filled\" };\nexport default CaretDownFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretDownFilledSvg from \"@ant-design/icons-svg/es/asn/CaretDownFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretDownFilled = function CaretDownFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretDownFilledSvg\n }));\n};\n\n/**![caret-down](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg0MC40IDMwMEgxODMuNmMtMTkuNyAwLTMwLjcgMjAuOC0xOC41IDM1bDMyOC40IDM4MC44YzkuNCAxMC45IDI3LjUgMTAuOSAzNyAwTDg1OC45IDMzNWMxMi4yLTE0LjIgMS4yLTM1LTE4LjUtMzV6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretDownFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretDownFilled';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar MinusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"minus-square\", \"theme\": \"outlined\" };\nexport default MinusSquareOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport MinusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/MinusSquareOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar MinusSquareOutlined = function MinusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: MinusSquareOutlinedSvg\n }));\n};\n\n/**![minus-square](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMyOCA1NDRoMzY4YzQuNCAwIDgtMy42IDgtOHYtNDhjMC00LjQtMy42LTgtOC04SDMyOGMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOHoiIC8+PHBhdGggZD0iTTg4MCAxMTJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY3MzZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTQwIDcyOEgxODRWMTg0aDY1NnY2NTZ6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(MinusSquareOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'MinusSquareOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar PlusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"plus-square\", \"theme\": \"outlined\" };\nexport default PlusSquareOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport PlusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusSquareOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar PlusSquareOutlined = function PlusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: PlusSquareOutlinedSvg\n }));\n};\n\n/**![plus-square](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMyOCA1NDRoMTUydjE1MmMwIDQuNCAzLjYgOCA4IDhoNDhjNC40IDAgOC0zLjYgOC04VjU0NGgxNTJjNC40IDAgOC0zLjYgOC04di00OGMwLTQuNC0zLjYtOC04LThINTQ0VjMyOGMwLTQuNC0zLjYtOC04LThoLTQ4Yy00LjQgMC04IDMuNi04IDh2MTUySDMyOGMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOHoiIC8+PHBhdGggZD0iTTg4MCAxMTJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY3MzZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTQwIDcyOEgxODRWMTg0aDY1NnY2NTZ6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(PlusSquareOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'PlusSquareOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport * as React from 'react';\nimport CaretDownFilled from \"@ant-design/icons/es/icons/CaretDownFilled\";\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport MinusSquareOutlined from \"@ant-design/icons/es/icons/MinusSquareOutlined\";\nimport PlusSquareOutlined from \"@ant-design/icons/es/icons/PlusSquareOutlined\";\nimport classNames from 'classnames';\nimport { cloneElement } from '../../_util/reactNode';\nconst SwitcherIconCom = props => {\n var _a, _b;\n const {\n prefixCls,\n switcherIcon,\n treeNodeProps,\n showLine,\n switcherLoadingIcon\n } = props;\n const {\n isLeaf,\n expanded,\n loading\n } = treeNodeProps;\n if (loading) {\n if (/*#__PURE__*/React.isValidElement(switcherLoadingIcon)) {\n return switcherLoadingIcon;\n }\n return /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: `${prefixCls}-switcher-loading-icon`\n });\n }\n let showLeafIcon;\n if (showLine && typeof showLine === 'object') {\n showLeafIcon = showLine.showLeafIcon;\n }\n if (isLeaf) {\n if (!showLine) {\n return null;\n }\n if (typeof showLeafIcon !== 'boolean' && !!showLeafIcon) {\n const leafIcon = typeof showLeafIcon === 'function' ? showLeafIcon(treeNodeProps) : showLeafIcon;\n const leafCls = `${prefixCls}-switcher-line-custom-icon`;\n if (/*#__PURE__*/React.isValidElement(leafIcon)) {\n return cloneElement(leafIcon, {\n className: classNames((_a = leafIcon.props) === null || _a === void 0 ? void 0 : _a.className, leafCls)\n });\n }\n return leafIcon;\n }\n return showLeafIcon ? (/*#__PURE__*/React.createElement(FileOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n })) : (/*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-switcher-leaf-line`\n }));\n }\n const switcherCls = `${prefixCls}-switcher-icon`;\n const switcher = typeof switcherIcon === 'function' ? switcherIcon(treeNodeProps) : switcherIcon;\n if (/*#__PURE__*/React.isValidElement(switcher)) {\n return cloneElement(switcher, {\n className: classNames((_b = switcher.props) === null || _b === void 0 ? void 0 : _b.className, switcherCls)\n });\n }\n if (switcher !== undefined) {\n return switcher;\n }\n if (showLine) {\n return expanded ? (/*#__PURE__*/React.createElement(MinusSquareOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n })) : (/*#__PURE__*/React.createElement(PlusSquareOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n }));\n }\n return /*#__PURE__*/React.createElement(CaretDownFilled, {\n className: switcherCls\n });\n};\nexport default SwitcherIconCom;","\"use client\";\n\nimport React from 'react';\nimport HolderOutlined from \"@ant-design/icons/es/icons/HolderOutlined\";\nimport classNames from 'classnames';\nimport RcTree from 'rc-tree';\nimport initCollapseMotion from '../_util/motion';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport { useToken } from '../theme/internal';\nimport useStyle from './style';\nimport dropIndicatorRender from './utils/dropIndicator';\nimport SwitcherIconCom from './utils/iconUtil';\nconst Tree = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a;\n const {\n getPrefixCls,\n direction,\n virtual,\n tree\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n showIcon = false,\n showLine,\n switcherIcon,\n switcherLoadingIcon,\n blockNode = false,\n children,\n checkable = false,\n selectable = true,\n draggable,\n disabled,\n motion: customMotion,\n style\n } = props;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const contextDisabled = React.useContext(DisabledContext);\n const mergedDisabled = disabled !== null && disabled !== void 0 ? disabled : contextDisabled;\n const motion = customMotion !== null && customMotion !== void 0 ? customMotion : Object.assign(Object.assign({}, initCollapseMotion(rootPrefixCls)), {\n motionAppear: false\n });\n const newProps = Object.assign(Object.assign({}, props), {\n checkable,\n selectable,\n showIcon,\n motion,\n blockNode,\n disabled: mergedDisabled,\n showLine: Boolean(showLine),\n dropIndicatorRender\n });\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const [, token] = useToken();\n const itemHeight = token.paddingXS / 2 + (((_a = token.Tree) === null || _a === void 0 ? void 0 : _a.titleHeight) || token.controlHeightSM);\n const draggableConfig = React.useMemo(() => {\n if (!draggable) {\n return false;\n }\n let mergedDraggable = {};\n switch (typeof draggable) {\n case 'function':\n mergedDraggable.nodeDraggable = draggable;\n break;\n case 'object':\n mergedDraggable = Object.assign({}, draggable);\n break;\n default:\n break;\n // Do nothing\n }\n if (mergedDraggable.icon !== false) {\n mergedDraggable.icon = mergedDraggable.icon || /*#__PURE__*/React.createElement(HolderOutlined, null);\n }\n return mergedDraggable;\n }, [draggable]);\n const renderSwitcherIcon = nodeProps => (/*#__PURE__*/React.createElement(SwitcherIconCom, {\n prefixCls: prefixCls,\n switcherIcon: switcherIcon,\n switcherLoadingIcon: switcherLoadingIcon,\n treeNodeProps: nodeProps,\n showLine: showLine\n }));\n return wrapCSSVar(\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(RcTree, Object.assign({\n itemHeight: itemHeight,\n ref: ref,\n virtual: virtual\n }, newProps, {\n // newProps may contain style so declare style below it\n style: Object.assign(Object.assign({}, tree === null || tree === void 0 ? void 0 : tree.style), style),\n prefixCls: prefixCls,\n className: classNames({\n [`${prefixCls}-icon-hide`]: !showIcon,\n [`${prefixCls}-block-node`]: blockNode,\n [`${prefixCls}-unselectable`]: !selectable,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-disabled`]: mergedDisabled\n }, tree === null || tree === void 0 ? void 0 : tree.className, className, hashId, cssVarCls),\n direction: direction,\n checkable: checkable ? /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-checkbox-inner`\n }) : checkable,\n selectable: selectable,\n switcherIcon: renderSwitcherIcon,\n draggable: draggableConfig\n }), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tree.displayName = 'Tree';\n}\nexport default Tree;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { fillFieldNames } from \"rc-tree/es/utils/treeUtil\";\nconst RECORD_NONE = 0;\nconst RECORD_START = 1;\nconst RECORD_END = 2;\nfunction traverseNodesKey(treeData, callback, fieldNames) {\n const {\n key: fieldKey,\n children: fieldChildren\n } = fieldNames;\n function processNode(dataNode) {\n const key = dataNode[fieldKey];\n const children = dataNode[fieldChildren];\n if (callback(key, dataNode) !== false) {\n traverseNodesKey(children || [], callback, fieldNames);\n }\n }\n treeData.forEach(processNode);\n}\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys({\n treeData,\n expandedKeys,\n startKey,\n endKey,\n fieldNames\n}) {\n const keys = [];\n let record = RECORD_NONE;\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n if (!startKey || !endKey) {\n return [];\n }\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n traverseNodesKey(treeData, key => {\n if (record === RECORD_END) {\n return false;\n }\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n if (record === RECORD_NONE) {\n record = RECORD_START;\n } else if (record === RECORD_START) {\n record = RECORD_END;\n return false;\n }\n } else if (record === RECORD_START) {\n // Append selection\n keys.push(key);\n }\n return expandedKeys.includes(key);\n }, fillFieldNames(fieldNames));\n return keys;\n}\nexport function convertDirectoryKeysToNodes(treeData, keys, fieldNames) {\n const restKeys = _toConsumableArray(keys);\n const nodes = [];\n traverseNodesKey(treeData, (key, node) => {\n const index = restKeys.indexOf(key);\n if (index !== -1) {\n nodes.push(node);\n restKeys.splice(index, 1);\n }\n return !!restKeys.length;\n }, fillFieldNames(fieldNames));\n return nodes;\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport FolderOpenOutlined from \"@ant-design/icons/es/icons/FolderOpenOutlined\";\nimport FolderOutlined from \"@ant-design/icons/es/icons/FolderOutlined\";\nimport classNames from 'classnames';\nimport { conductExpandParent } from \"rc-tree/es/util\";\nimport { convertDataToEntities, convertTreeToData } from \"rc-tree/es/utils/treeUtil\";\nimport { ConfigContext } from '../config-provider';\nimport Tree from './Tree';\nimport { calcRangeKeys, convertDirectoryKeysToNodes } from './utils/dictUtil';\nfunction getIcon(props) {\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return /*#__PURE__*/React.createElement(FileOutlined, null);\n }\n return expanded ? /*#__PURE__*/React.createElement(FolderOpenOutlined, null) : /*#__PURE__*/React.createElement(FolderOutlined, null);\n}\nfunction getTreeData({\n treeData,\n children\n}) {\n return treeData || convertTreeToData(children);\n}\nconst DirectoryTree = (_a, ref) => {\n var {\n defaultExpandAll,\n defaultExpandParent,\n defaultExpandedKeys\n } = _a,\n props = __rest(_a, [\"defaultExpandAll\", \"defaultExpandParent\", \"defaultExpandedKeys\"]);\n // Shift click usage\n const lastSelectedKey = React.useRef(null);\n const cachedSelectedKeys = React.useRef(null);\n const getInitExpandedKeys = () => {\n const {\n keyEntities\n } = convertDataToEntities(getTreeData(props), {\n fieldNames: props.fieldNames\n });\n let initExpandedKeys;\n // Expanded keys\n if (defaultExpandAll) {\n initExpandedKeys = Object.keys(keyEntities);\n } else if (defaultExpandParent) {\n initExpandedKeys = conductExpandParent(props.expandedKeys || defaultExpandedKeys || [], keyEntities);\n } else {\n initExpandedKeys = props.expandedKeys || defaultExpandedKeys || [];\n }\n return initExpandedKeys;\n };\n const [selectedKeys, setSelectedKeys] = React.useState(props.selectedKeys || props.defaultSelectedKeys || []);\n const [expandedKeys, setExpandedKeys] = React.useState(() => getInitExpandedKeys());\n React.useEffect(() => {\n if ('selectedKeys' in props) {\n setSelectedKeys(props.selectedKeys);\n }\n }, [props.selectedKeys]);\n React.useEffect(() => {\n if ('expandedKeys' in props) {\n setExpandedKeys(props.expandedKeys);\n }\n }, [props.expandedKeys]);\n const onExpand = (keys, info) => {\n var _a;\n if (!('expandedKeys' in props)) {\n setExpandedKeys(keys);\n }\n // Call origin function\n return (_a = props.onExpand) === null || _a === void 0 ? void 0 : _a.call(props, keys, info);\n };\n const onSelect = (keys, event) => {\n var _a;\n const {\n multiple,\n fieldNames\n } = props;\n const {\n node,\n nativeEvent\n } = event;\n const {\n key = ''\n } = node;\n const treeData = getTreeData(props);\n // const newState: DirectoryTreeState = {};\n // We need wrap this event since some value is not same\n const newEvent = Object.assign(Object.assign({}, event), {\n selected: true\n });\n // Windows / Mac single pick\n const ctrlPick = (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.ctrlKey) || (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.metaKey);\n const shiftPick = nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.shiftKey;\n // Generate new selected keys\n let newSelectedKeys;\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(new Set([].concat(_toConsumableArray(cachedSelectedKeys.current || []), _toConsumableArray(calcRangeKeys({\n treeData,\n expandedKeys,\n startKey: key,\n endKey: lastSelectedKey.current,\n fieldNames\n })))));\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n } else {\n // Single click\n newSelectedKeys = [key];\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n }\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, newSelectedKeys, newEvent);\n if (!('selectedKeys' in props)) {\n setSelectedKeys(newSelectedKeys);\n }\n };\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n showIcon = true,\n expandAction = 'click'\n } = props,\n otherProps = __rest(props, [\"prefixCls\", \"className\", \"showIcon\", \"expandAction\"]);\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const connectClassName = classNames(`${prefixCls}-directory`, {\n [`${prefixCls}-directory-rtl`]: direction === 'rtl'\n }, className);\n return /*#__PURE__*/React.createElement(Tree, Object.assign({\n icon: getIcon,\n ref: ref,\n blockNode: true\n }, otherProps, {\n showIcon: showIcon,\n expandAction: expandAction,\n prefixCls: prefixCls,\n className: connectClassName,\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n onSelect: onSelect,\n onExpand: onExpand\n }));\n};\nconst ForwardDirectoryTree = /*#__PURE__*/React.forwardRef(DirectoryTree);\nif (process.env.NODE_ENV !== 'production') {\n ForwardDirectoryTree.displayName = 'DirectoryTree';\n}\nexport default ForwardDirectoryTree;","\"use client\";\n\nimport { TreeNode } from 'rc-tree';\nimport DirectoryTree from './DirectoryTree';\nimport TreePure from './Tree';\nconst Tree = TreePure;\nTree.DirectoryTree = DirectoryTree;\nTree.TreeNode = TreeNode;\nexport default Tree;","\"use client\";\n\nimport * as React from 'react';\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport Input from '../../../input/Input';\nconst FilterSearch = props => {\n const {\n value,\n filterSearch,\n tablePrefixCls,\n locale,\n onChange\n } = props;\n if (!filterSearch) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${tablePrefixCls}-filter-dropdown-search`\n }, /*#__PURE__*/React.createElement(Input, {\n prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),\n placeholder: locale.filterSearchPlaceholder,\n onChange: onChange,\n value: value,\n // for skip min-width of input\n htmlSize: 1,\n className: `${tablePrefixCls}-filter-dropdown-search-input`\n }));\n};\nexport default FilterSearch;","\"use client\";\n\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nconst onKeyDown = event => {\n const {\n keyCode\n } = event;\n if (keyCode === KeyCode.ENTER) {\n event.stopPropagation();\n }\n};\nconst FilterDropdownMenuWrapper = /*#__PURE__*/React.forwardRef((props, ref) => (/*#__PURE__*/React.createElement(\"div\", {\n className: props.className,\n onClick: e => e.stopPropagation(),\n onKeyDown: onKeyDown,\n ref: ref\n}, props.children)));\nif (process.env.NODE_ENV !== 'production') {\n FilterDropdownMenuWrapper.displayName = 'FilterDropdownMenuWrapper';\n}\nexport default FilterDropdownMenuWrapper;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport FilterFilled from \"@ant-design/icons/es/icons/FilterFilled\";\nimport classNames from 'classnames';\nimport isEqual from \"rc-util/es/isEqual\";\nimport extendsObject from '../../../_util/extendsObject';\nimport { useSyncState } from '../../../_util/hooks';\nimport { devUseWarning } from '../../../_util/warning';\nimport Button from '../../../button';\nimport Checkbox from '../../../checkbox';\nimport { ConfigContext } from '../../../config-provider/context';\nimport Dropdown from '../../../dropdown';\nimport Empty from '../../../empty';\nimport Menu from '../../../menu';\nimport { OverrideProvider } from '../../../menu/OverrideContext';\nimport Radio from '../../../radio';\nimport Tree from '../../../tree';\nimport FilterSearch from './FilterSearch';\nimport FilterDropdownMenuWrapper from './FilterWrapper';\nexport function flattenKeys(filters) {\n let keys = [];\n (filters || []).forEach(({\n value,\n children\n }) => {\n keys.push(value);\n if (children) {\n keys = [].concat(_toConsumableArray(keys), _toConsumableArray(flattenKeys(children)));\n }\n });\n return keys;\n}\nfunction hasSubMenu(filters) {\n return filters.some(({\n children\n }) => children);\n}\nfunction searchValueMatched(searchValue, text) {\n if (typeof text === 'string' || typeof text === 'number') {\n return text === null || text === void 0 ? void 0 : text.toString().toLowerCase().includes(searchValue.trim().toLowerCase());\n }\n return false;\n}\nfunction renderFilterItems({\n filters,\n prefixCls,\n filteredKeys,\n filterMultiple,\n searchValue,\n filterSearch\n}) {\n return filters.map((filter, index) => {\n const key = String(filter.value);\n if (filter.children) {\n return {\n key: key || index,\n label: filter.text,\n popupClassName: `${prefixCls}-dropdown-submenu`,\n children: renderFilterItems({\n filters: filter.children,\n prefixCls,\n filteredKeys,\n filterMultiple,\n searchValue,\n filterSearch\n })\n };\n }\n const Component = filterMultiple ? Checkbox : Radio;\n const item = {\n key: filter.value !== undefined ? key : index,\n label: (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Component, {\n checked: filteredKeys.includes(key)\n }), /*#__PURE__*/React.createElement(\"span\", null, filter.text)))\n };\n if (searchValue.trim()) {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, filter) ? item : null;\n }\n return searchValueMatched(searchValue, filter.text) ? item : null;\n }\n return item;\n });\n}\nfunction wrapStringListType(keys) {\n return keys || [];\n}\nconst FilterDropdown = props => {\n var _a, _b, _c, _d;\n const {\n tablePrefixCls,\n prefixCls,\n column,\n dropdownPrefixCls,\n columnKey,\n filterOnClose,\n filterMultiple,\n filterMode = 'menu',\n filterSearch = false,\n filterState,\n triggerFilter,\n locale,\n children,\n getPopupContainer,\n rootClassName\n } = props;\n const {\n filterResetToDefaultFilteredValue,\n defaultFilteredValue,\n filterDropdownProps = {},\n // Deprecated\n filterDropdownOpen,\n filterDropdownVisible,\n onFilterDropdownVisibleChange,\n onFilterDropdownOpenChange\n } = column;\n const [visible, setVisible] = React.useState(false);\n const filtered = !!(filterState && (((_a = filterState.filteredKeys) === null || _a === void 0 ? void 0 : _a.length) || filterState.forceFiltered));\n const triggerVisible = newVisible => {\n var _a;\n setVisible(newVisible);\n (_a = filterDropdownProps.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(filterDropdownProps, newVisible);\n // deprecated\n onFilterDropdownOpenChange === null || onFilterDropdownOpenChange === void 0 ? void 0 : onFilterDropdownOpenChange(newVisible);\n onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(newVisible);\n };\n // =================Warning===================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Table');\n const deprecatedList = [['filterDropdownOpen', 'filterDropdownProps.open'], ['filterDropdownVisible', 'filterDropdownProps.open'], ['onFilterDropdownOpenChange', 'filterDropdownProps.onOpenChange'], ['onFilterDropdownVisibleChange', 'filterDropdownProps.onOpenChange']];\n deprecatedList.forEach(([deprecatedName, newName]) => {\n warning.deprecated(!(deprecatedName in column), deprecatedName, newName);\n });\n warning.deprecated(!('filterCheckall' in locale), 'filterCheckall', 'locale.filterCheckAll');\n }\n const mergedVisible = (_d = (_c = (_b = filterDropdownProps.open) !== null && _b !== void 0 ? _b : filterDropdownOpen) !== null && _c !== void 0 ? _c : filterDropdownVisible) !== null && _d !== void 0 ? _d : visible; // inner state\n // ===================== Select Keys =====================\n const propFilteredKeys = filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys;\n const [getFilteredKeysSync, setFilteredKeysSync] = useSyncState(wrapStringListType(propFilteredKeys));\n const onSelectKeys = ({\n selectedKeys\n }) => {\n setFilteredKeysSync(selectedKeys);\n };\n const onCheck = (keys, {\n node,\n checked\n }) => {\n if (!filterMultiple) {\n onSelectKeys({\n selectedKeys: checked && node.key ? [node.key] : []\n });\n } else {\n onSelectKeys({\n selectedKeys: keys\n });\n }\n };\n React.useEffect(() => {\n if (!visible) {\n return;\n }\n onSelectKeys({\n selectedKeys: wrapStringListType(propFilteredKeys)\n });\n }, [propFilteredKeys]);\n // ====================== Open Keys ======================\n const [openKeys, setOpenKeys] = React.useState([]);\n const onOpenChange = keys => {\n setOpenKeys(keys);\n };\n // search in tree mode column filter\n const [searchValue, setSearchValue] = React.useState('');\n const onSearch = e => {\n const {\n value\n } = e.target;\n setSearchValue(value);\n };\n // clear search value after close filter dropdown\n React.useEffect(() => {\n if (!visible) {\n setSearchValue('');\n }\n }, [visible]);\n // ======================= Submit ========================\n const internalTriggerFilter = keys => {\n const mergedKeys = (keys === null || keys === void 0 ? void 0 : keys.length) ? keys : null;\n if (mergedKeys === null && (!filterState || !filterState.filteredKeys)) {\n return null;\n }\n if (isEqual(mergedKeys, filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys, true)) {\n return null;\n }\n triggerFilter({\n column,\n key: columnKey,\n filteredKeys: mergedKeys\n });\n };\n const onConfirm = () => {\n triggerVisible(false);\n internalTriggerFilter(getFilteredKeysSync());\n };\n const onReset = ({\n confirm,\n closeDropdown\n } = {\n confirm: false,\n closeDropdown: false\n }) => {\n if (confirm) {\n internalTriggerFilter([]);\n }\n if (closeDropdown) {\n triggerVisible(false);\n }\n setSearchValue('');\n if (filterResetToDefaultFilteredValue) {\n setFilteredKeysSync((defaultFilteredValue || []).map(key => String(key)));\n } else {\n setFilteredKeysSync([]);\n }\n };\n const doFilter = ({\n closeDropdown\n } = {\n closeDropdown: true\n }) => {\n if (closeDropdown) {\n triggerVisible(false);\n }\n internalTriggerFilter(getFilteredKeysSync());\n };\n const onVisibleChange = (newVisible, info) => {\n if (info.source === 'trigger') {\n if (newVisible && propFilteredKeys !== undefined) {\n // Sync filteredKeys on appear in controlled mode (propFilteredKeys !== undefined)\n setFilteredKeysSync(wrapStringListType(propFilteredKeys));\n }\n triggerVisible(newVisible);\n if (!newVisible && !column.filterDropdown && filterOnClose) {\n onConfirm();\n }\n }\n };\n // ======================== Style ========================\n const dropdownMenuClass = classNames({\n [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(column.filters || [])\n });\n const onCheckAll = e => {\n if (e.target.checked) {\n const allFilterKeys = flattenKeys(column === null || column === void 0 ? void 0 : column.filters).map(key => String(key));\n setFilteredKeysSync(allFilterKeys);\n } else {\n setFilteredKeysSync([]);\n }\n };\n const getTreeData = ({\n filters\n }) => (filters || []).map((filter, index) => {\n const key = String(filter.value);\n const item = {\n title: filter.text,\n key: filter.value !== undefined ? key : String(index)\n };\n if (filter.children) {\n item.children = getTreeData({\n filters: filter.children\n });\n }\n return item;\n });\n const getFilterData = node => {\n var _a;\n return Object.assign(Object.assign({}, node), {\n text: node.title,\n value: node.key,\n children: ((_a = node.children) === null || _a === void 0 ? void 0 : _a.map(item => getFilterData(item))) || []\n });\n };\n let dropdownContent;\n const {\n direction,\n renderEmpty\n } = React.useContext(ConfigContext);\n if (typeof column.filterDropdown === 'function') {\n dropdownContent = column.filterDropdown({\n prefixCls: `${dropdownPrefixCls}-custom`,\n setSelectedKeys: selectedKeys => onSelectKeys({\n selectedKeys: selectedKeys\n }),\n selectedKeys: getFilteredKeysSync(),\n confirm: doFilter,\n clearFilters: onReset,\n filters: column.filters,\n visible: mergedVisible,\n close: () => {\n triggerVisible(false);\n }\n });\n } else if (column.filterDropdown) {\n dropdownContent = column.filterDropdown;\n } else {\n const selectedKeys = getFilteredKeysSync() || [];\n const getFilterComponent = () => {\n var _a, _b;\n const empty = (_a = renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table.filter')) !== null && _a !== void 0 ? _a : (/*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE,\n description: locale.filterEmptyText,\n styles: {\n image: {\n height: 24\n }\n },\n style: {\n margin: 0,\n padding: '16px 0'\n }\n }));\n if ((column.filters || []).length === 0) {\n return empty;\n }\n if (filterMode === 'tree') {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${tablePrefixCls}-filter-dropdown-tree`\n }, filterMultiple ? (/*#__PURE__*/React.createElement(Checkbox, {\n checked: selectedKeys.length === flattenKeys(column.filters).length,\n indeterminate: selectedKeys.length > 0 && selectedKeys.length < flattenKeys(column.filters).length,\n className: `${tablePrefixCls}-filter-dropdown-checkall`,\n onChange: onCheckAll\n }, (_b = locale === null || locale === void 0 ? void 0 : locale.filterCheckall) !== null && _b !== void 0 ? _b : locale === null || locale === void 0 ? void 0 : locale.filterCheckAll)) : null, /*#__PURE__*/React.createElement(Tree, {\n checkable: true,\n selectable: false,\n blockNode: true,\n multiple: filterMultiple,\n checkStrictly: !filterMultiple,\n className: `${dropdownPrefixCls}-menu`,\n onCheck: onCheck,\n checkedKeys: selectedKeys,\n selectedKeys: selectedKeys,\n showIcon: false,\n treeData: getTreeData({\n filters: column.filters\n }),\n autoExpandParent: true,\n defaultExpandAll: true,\n filterTreeNode: searchValue.trim() ? node => {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, getFilterData(node));\n }\n return searchValueMatched(searchValue, node.title);\n } : undefined\n })));\n }\n const items = renderFilterItems({\n filters: column.filters || [],\n filterSearch,\n prefixCls,\n filteredKeys: getFilteredKeysSync(),\n filterMultiple,\n searchValue\n });\n const isEmpty = items.every(item => item === null);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), isEmpty ? empty : (/*#__PURE__*/React.createElement(Menu, {\n selectable: true,\n multiple: filterMultiple,\n prefixCls: `${dropdownPrefixCls}-menu`,\n className: dropdownMenuClass,\n onSelect: onSelectKeys,\n onDeselect: onSelectKeys,\n selectedKeys: selectedKeys,\n getPopupContainer: getPopupContainer,\n openKeys: openKeys,\n onOpenChange: onOpenChange,\n items: items\n })));\n };\n const getResetDisabled = () => {\n if (filterResetToDefaultFilteredValue) {\n return isEqual((defaultFilteredValue || []).map(key => String(key)), selectedKeys, true);\n }\n return selectedKeys.length === 0;\n };\n dropdownContent = /*#__PURE__*/React.createElement(React.Fragment, null, getFilterComponent(), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-dropdown-btns`\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"link\",\n size: \"small\",\n disabled: getResetDisabled(),\n onClick: () => onReset()\n }, locale.filterReset), /*#__PURE__*/React.createElement(Button, {\n type: \"primary\",\n size: \"small\",\n onClick: onConfirm\n }, locale.filterConfirm)));\n }\n // We should not block customize Menu with additional props\n if (column.filterDropdown) {\n dropdownContent = /*#__PURE__*/React.createElement(OverrideProvider, {\n selectable: undefined\n }, dropdownContent);\n }\n dropdownContent = /*#__PURE__*/React.createElement(FilterDropdownMenuWrapper, {\n className: `${prefixCls}-dropdown`\n }, dropdownContent);\n const getDropdownTrigger = () => {\n let filterIcon;\n if (typeof column.filterIcon === 'function') {\n filterIcon = column.filterIcon(filtered);\n } else if (column.filterIcon) {\n filterIcon = column.filterIcon;\n } else {\n filterIcon = /*#__PURE__*/React.createElement(FilterFilled, null);\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n tabIndex: -1,\n className: classNames(`${prefixCls}-trigger`, {\n active: filtered\n }),\n onClick: e => {\n e.stopPropagation();\n }\n }, filterIcon);\n };\n const mergedDropdownProps = extendsObject({\n trigger: ['click'],\n placement: direction === 'rtl' ? 'bottomLeft' : 'bottomRight',\n children: getDropdownTrigger(),\n getPopupContainer\n }, Object.assign(Object.assign({}, filterDropdownProps), {\n rootClassName: classNames(rootClassName, filterDropdownProps.rootClassName),\n open: mergedVisible,\n onOpenChange: onVisibleChange,\n popupRender: () => {\n if (typeof (filterDropdownProps === null || filterDropdownProps === void 0 ? void 0 : filterDropdownProps.dropdownRender) === 'function') {\n return filterDropdownProps.dropdownRender(dropdownContent);\n }\n return dropdownContent;\n }\n }));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-column`\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: `${tablePrefixCls}-column-title`\n }, children), /*#__PURE__*/React.createElement(Dropdown, Object.assign({}, mergedDropdownProps)));\n};\nexport default FilterDropdown;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { devUseWarning } from '../../../_util/warning';\nimport { getColumnKey, getColumnPos, renderColumnTitle } from '../../util';\nimport FilterDropdown, { flattenKeys } from './FilterDropdown';\nconst collectFilterStates = (columns, init, pos) => {\n let filterStates = [];\n (columns || []).forEach((column, index) => {\n var _a;\n const columnPos = getColumnPos(index, pos);\n const filterDropdownIsDefined = column.filterDropdown !== undefined;\n if (column.filters || filterDropdownIsDefined || 'onFilter' in column) {\n if ('filteredValue' in column) {\n // Controlled\n let filteredValues = column.filteredValue;\n if (!filterDropdownIsDefined) {\n filteredValues = (_a = filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.map(String)) !== null && _a !== void 0 ? _a : filteredValues;\n }\n filterStates.push({\n column,\n key: getColumnKey(column, columnPos),\n filteredKeys: filteredValues,\n forceFiltered: column.filtered\n });\n } else {\n // Uncontrolled\n filterStates.push({\n column,\n key: getColumnKey(column, columnPos),\n filteredKeys: init && column.defaultFilteredValue ? column.defaultFilteredValue : undefined,\n forceFiltered: column.filtered\n });\n }\n }\n if ('children' in column) {\n filterStates = [].concat(_toConsumableArray(filterStates), _toConsumableArray(collectFilterStates(column.children, init, columnPos)));\n }\n });\n return filterStates;\n};\nfunction injectFilter(prefixCls, dropdownPrefixCls, columns, filterStates, locale, triggerFilter, getPopupContainer, pos, rootClassName) {\n return columns.map((column, index) => {\n const columnPos = getColumnPos(index, pos);\n const {\n filterOnClose = true,\n filterMultiple = true,\n filterMode,\n filterSearch\n } = column;\n let newColumn = column;\n if (newColumn.filters || newColumn.filterDropdown) {\n const columnKey = getColumnKey(newColumn, columnPos);\n const filterState = filterStates.find(({\n key\n }) => columnKey === key);\n newColumn = Object.assign(Object.assign({}, newColumn), {\n title: renderProps => (/*#__PURE__*/React.createElement(FilterDropdown, {\n tablePrefixCls: prefixCls,\n prefixCls: `${prefixCls}-filter`,\n dropdownPrefixCls: dropdownPrefixCls,\n column: newColumn,\n columnKey: columnKey,\n filterState: filterState,\n filterOnClose: filterOnClose,\n filterMultiple: filterMultiple,\n filterMode: filterMode,\n filterSearch: filterSearch,\n triggerFilter: triggerFilter,\n locale: locale,\n getPopupContainer: getPopupContainer,\n rootClassName: rootClassName\n }, renderColumnTitle(column.title, renderProps)))\n });\n }\n if ('children' in newColumn) {\n newColumn = Object.assign(Object.assign({}, newColumn), {\n children: injectFilter(prefixCls, dropdownPrefixCls, newColumn.children, filterStates, locale, triggerFilter, getPopupContainer, columnPos, rootClassName)\n });\n }\n return newColumn;\n });\n}\nconst generateFilterInfo = filterStates => {\n const currentFilters = {};\n filterStates.forEach(({\n key,\n filteredKeys,\n column\n }) => {\n const keyAsString = key;\n const {\n filters,\n filterDropdown\n } = column;\n if (filterDropdown) {\n currentFilters[keyAsString] = filteredKeys || null;\n } else if (Array.isArray(filteredKeys)) {\n const keys = flattenKeys(filters);\n currentFilters[keyAsString] = keys.filter(originKey => filteredKeys.includes(String(originKey)));\n } else {\n currentFilters[keyAsString] = null;\n }\n });\n return currentFilters;\n};\nexport const getFilterData = (data, filterStates, childrenColumnName) => {\n const filterDatas = filterStates.reduce((currentData, filterState) => {\n const {\n column: {\n onFilter,\n filters\n },\n filteredKeys\n } = filterState;\n if (onFilter && filteredKeys && filteredKeys.length) {\n return currentData\n // shallow copy\n .map(record => Object.assign({}, record)).filter(record => filteredKeys.some(key => {\n const keys = flattenKeys(filters);\n const keyIndex = keys.findIndex(k => String(k) === String(key));\n const realKey = keyIndex !== -1 ? keys[keyIndex] : key;\n // filter children\n if (record[childrenColumnName]) {\n record[childrenColumnName] = getFilterData(record[childrenColumnName], filterStates, childrenColumnName);\n }\n return onFilter(realKey, record);\n }));\n }\n return currentData;\n }, data);\n return filterDatas;\n};\nconst getMergedColumns = rawMergedColumns => rawMergedColumns.flatMap(column => {\n if ('children' in column) {\n return [column].concat(_toConsumableArray(getMergedColumns(column.children || [])));\n }\n return [column];\n});\nconst useFilter = props => {\n const {\n prefixCls,\n dropdownPrefixCls,\n mergedColumns: rawMergedColumns,\n onFilterChange,\n getPopupContainer,\n locale: tableLocale,\n rootClassName\n } = props;\n const warning = devUseWarning('Table');\n const mergedColumns = React.useMemo(() => getMergedColumns(rawMergedColumns || []), [rawMergedColumns]);\n const [filterStates, setFilterStates] = React.useState(() => collectFilterStates(mergedColumns, true));\n const mergedFilterStates = React.useMemo(() => {\n const collectedStates = collectFilterStates(mergedColumns, false);\n if (collectedStates.length === 0) {\n return collectedStates;\n }\n let filteredKeysIsAllNotControlled = true;\n let filteredKeysIsAllControlled = true;\n collectedStates.forEach(({\n filteredKeys\n }) => {\n if (filteredKeys !== undefined) {\n filteredKeysIsAllNotControlled = false;\n } else {\n filteredKeysIsAllControlled = false;\n }\n });\n // Return if not controlled\n if (filteredKeysIsAllNotControlled) {\n // Filter column may have been removed\n const keyList = (mergedColumns || []).map((column, index) => getColumnKey(column, getColumnPos(index)));\n return filterStates.filter(({\n key\n }) => keyList.includes(key)).map(item => {\n const col = mergedColumns[keyList.indexOf(item.key)];\n return Object.assign(Object.assign({}, item), {\n column: Object.assign(Object.assign({}, item.column), col),\n forceFiltered: col.filtered\n });\n });\n }\n process.env.NODE_ENV !== \"production\" ? warning(filteredKeysIsAllControlled, 'usage', 'Columns should all contain `filteredValue` or not contain `filteredValue`.') : void 0;\n return collectedStates;\n }, [mergedColumns, filterStates]);\n const filters = React.useMemo(() => generateFilterInfo(mergedFilterStates), [mergedFilterStates]);\n const triggerFilter = filterState => {\n const newFilterStates = mergedFilterStates.filter(({\n key\n }) => key !== filterState.key);\n newFilterStates.push(filterState);\n setFilterStates(newFilterStates);\n onFilterChange(generateFilterInfo(newFilterStates), newFilterStates);\n };\n const transformColumns = innerColumns => injectFilter(prefixCls, dropdownPrefixCls, innerColumns, mergedFilterStates, tableLocale, triggerFilter, getPopupContainer, undefined, rootClassName);\n return [transformColumns, mergedFilterStates, filters];\n};\nexport { flattenKeys };\nexport default useFilter;","import * as React from 'react';\nconst useLazyKVMap = (data, childrenColumnName, getRowKey) => {\n const mapCacheRef = React.useRef({});\n function getRecordByKey(key) {\n var _a;\n if (!mapCacheRef.current || mapCacheRef.current.data !== data || mapCacheRef.current.childrenColumnName !== childrenColumnName || mapCacheRef.current.getRowKey !== getRowKey) {\n const kvMap = new Map();\n function dig(records) {\n records.forEach((record, index) => {\n const rowKey = getRowKey(record, index);\n kvMap.set(rowKey, record);\n if (record && typeof record === 'object' && childrenColumnName in record) {\n dig(record[childrenColumnName] || []);\n }\n });\n }\n dig(data);\n mapCacheRef.current = {\n data,\n childrenColumnName,\n kvMap,\n getRowKey\n };\n }\n return (_a = mapCacheRef.current.kvMap) === null || _a === void 0 ? void 0 : _a.get(key);\n }\n return [getRecordByKey];\n};\nexport default useLazyKVMap;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { useState } from 'react';\nimport extendsObject from '../../_util/extendsObject';\nexport const DEFAULT_PAGE_SIZE = 10;\nexport function getPaginationParam(mergedPagination, pagination) {\n const param = {\n current: mergedPagination.current,\n pageSize: mergedPagination.pageSize\n };\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {};\n Object.keys(paginationObj).forEach(pageProp => {\n const value = mergedPagination[pageProp];\n if (typeof value !== 'function') {\n param[pageProp] = value;\n }\n });\n return param;\n}\nfunction usePagination(total, onChange, pagination) {\n const _a = pagination && typeof pagination === 'object' ? pagination : {},\n {\n total: paginationTotal = 0\n } = _a,\n paginationObj = __rest(_a, [\"total\"]);\n const [innerPagination, setInnerPagination] = useState(() => ({\n current: 'defaultCurrent' in paginationObj ? paginationObj.defaultCurrent : 1,\n pageSize: 'defaultPageSize' in paginationObj ? paginationObj.defaultPageSize : DEFAULT_PAGE_SIZE\n }));\n // ============ Basic Pagination Config ============\n const mergedPagination = extendsObject(innerPagination, paginationObj, {\n total: paginationTotal > 0 ? paginationTotal : total\n });\n // Reset `current` if data length or pageSize changed\n const maxPage = Math.ceil((paginationTotal || total) / mergedPagination.pageSize);\n if (mergedPagination.current > maxPage) {\n // Prevent a maximum page count of 0\n mergedPagination.current = maxPage || 1;\n }\n const refreshPagination = (current, pageSize) => {\n setInnerPagination({\n current: current !== null && current !== void 0 ? current : 1,\n pageSize: pageSize || mergedPagination.pageSize\n });\n };\n const onInternalChange = (current, pageSize) => {\n var _a;\n if (pagination) {\n (_a = pagination.onChange) === null || _a === void 0 ? void 0 : _a.call(pagination, current, pageSize);\n }\n refreshPagination(current, pageSize);\n onChange(current, pageSize || (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.pageSize));\n };\n if (pagination === false) {\n return [{}, () => {}];\n }\n return [Object.assign(Object.assign({}, mergedPagination), {\n onChange: onInternalChange\n }), refreshPagination];\n}\nexport default usePagination;","// This icon file is generated automatically.\nvar CaretDownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"outlined\" };\nexport default CaretDownOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretDownOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretDownOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretDownOutlined = function CaretDownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretDownOutlinedSvg\n }));\n};\n\n/**![caret-down](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg0MC40IDMwMEgxODMuNmMtMTkuNyAwLTMwLjcgMjAuOC0xOC41IDM1bDMyOC40IDM4MC44YzkuNCAxMC45IDI3LjUgMTAuOSAzNyAwTDg1OC45IDMzNWMxMi4yLTE0LjIgMS4yLTM1LTE4LjUtMzV6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretDownOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretDownOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar CaretUpOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z\" } }] }, \"name\": \"caret-up\", \"theme\": \"outlined\" };\nexport default CaretUpOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretUpOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretUpOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretUpOutlined = function CaretUpOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretUpOutlinedSvg\n }));\n};\n\n/**![caret-up](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1OC45IDY4OUw1MzAuNSAzMDguMmMtOS40LTEwLjktMjcuNS0xMC45LTM3IDBMMTY1LjEgNjg5Yy0xMi4yIDE0LjItMS4yIDM1IDE4LjUgMzVoNjU2LjhjMTkuNyAwIDMwLjctMjAuOCAxOC41LTM1eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretUpOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretUpOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport CaretDownOutlined from \"@ant-design/icons/es/icons/CaretDownOutlined\";\nimport CaretUpOutlined from \"@ant-design/icons/es/icons/CaretUpOutlined\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport Tooltip from '../../tooltip';\nimport { getColumnKey, getColumnPos, renderColumnTitle, safeColumnTitle } from '../util';\nconst ASCEND = 'ascend';\nconst DESCEND = 'descend';\nconst getMultiplePriority = column => {\n if (typeof column.sorter === 'object' && typeof column.sorter.multiple === 'number') {\n return column.sorter.multiple;\n }\n return false;\n};\nconst getSortFunction = sorter => {\n if (typeof sorter === 'function') {\n return sorter;\n }\n if (sorter && typeof sorter === 'object' && sorter.compare) {\n return sorter.compare;\n }\n return false;\n};\nconst nextSortDirection = (sortDirections, current) => {\n if (!current) {\n return sortDirections[0];\n }\n return sortDirections[sortDirections.indexOf(current) + 1];\n};\nconst collectSortStates = (columns, init, pos) => {\n let sortStates = [];\n const pushState = (column, columnPos) => {\n sortStates.push({\n column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.sortOrder\n });\n };\n (columns || []).forEach((column, index) => {\n const columnPos = getColumnPos(index, pos);\n if (column.children) {\n if ('sortOrder' in column) {\n // Controlled\n pushState(column, columnPos);\n }\n sortStates = [].concat(_toConsumableArray(sortStates), _toConsumableArray(collectSortStates(column.children, init, columnPos)));\n } else if (column.sorter) {\n if ('sortOrder' in column) {\n // Controlled\n pushState(column, columnPos);\n } else if (init && column.defaultSortOrder) {\n // Default sorter\n sortStates.push({\n column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.defaultSortOrder\n });\n }\n }\n });\n return sortStates;\n};\nconst injectSorter = (prefixCls, columns, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, pos) => {\n const finalColumns = (columns || []).map((column, index) => {\n const columnPos = getColumnPos(index, pos);\n let newColumn = column;\n if (newColumn.sorter) {\n const sortDirections = newColumn.sortDirections || defaultSortDirections;\n const showSorterTooltip = newColumn.showSorterTooltip === undefined ? tableShowSorterTooltip : newColumn.showSorterTooltip;\n const columnKey = getColumnKey(newColumn, columnPos);\n const sorterState = sorterStates.find(({\n key\n }) => key === columnKey);\n const sortOrder = sorterState ? sorterState.sortOrder : null;\n const nextSortOrder = nextSortDirection(sortDirections, sortOrder);\n let sorter;\n if (column.sortIcon) {\n sorter = column.sortIcon({\n sortOrder\n });\n } else {\n const upNode = sortDirections.includes(ASCEND) && (/*#__PURE__*/React.createElement(CaretUpOutlined, {\n className: classNames(`${prefixCls}-column-sorter-up`, {\n active: sortOrder === ASCEND\n })\n }));\n const downNode = sortDirections.includes(DESCEND) && (/*#__PURE__*/React.createElement(CaretDownOutlined, {\n className: classNames(`${prefixCls}-column-sorter-down`, {\n active: sortOrder === DESCEND\n })\n }));\n sorter = /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(`${prefixCls}-column-sorter`, {\n [`${prefixCls}-column-sorter-full`]: !!(upNode && downNode)\n })\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-column-sorter-inner`,\n \"aria-hidden\": \"true\"\n }, upNode, downNode));\n }\n const {\n cancelSort,\n triggerAsc,\n triggerDesc\n } = tableLocale || {};\n let sortTip = cancelSort;\n if (nextSortOrder === DESCEND) {\n sortTip = triggerDesc;\n } else if (nextSortOrder === ASCEND) {\n sortTip = triggerAsc;\n }\n const tooltipProps = typeof showSorterTooltip === 'object' ? Object.assign({\n title: sortTip\n }, showSorterTooltip) : {\n title: sortTip\n };\n newColumn = Object.assign(Object.assign({}, newColumn), {\n className: classNames(newColumn.className, {\n [`${prefixCls}-column-sort`]: sortOrder\n }),\n title: renderProps => {\n const columnSortersClass = `${prefixCls}-column-sorters`;\n const renderColumnTitleWrapper = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-column-title`\n }, renderColumnTitle(column.title, renderProps));\n const renderSortTitle = /*#__PURE__*/React.createElement(\"div\", {\n className: columnSortersClass\n }, renderColumnTitleWrapper, sorter);\n if (showSorterTooltip) {\n if (typeof showSorterTooltip !== 'boolean' && (showSorterTooltip === null || showSorterTooltip === void 0 ? void 0 : showSorterTooltip.target) === 'sorter-icon') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${columnSortersClass} ${prefixCls}-column-sorters-tooltip-target-sorter`\n }, renderColumnTitleWrapper, /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps), sorter));\n }\n return /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps), renderSortTitle);\n }\n return renderSortTitle;\n },\n onHeaderCell: col => {\n var _a;\n const cell = ((_a = column.onHeaderCell) === null || _a === void 0 ? void 0 : _a.call(column, col)) || {};\n const originOnClick = cell.onClick;\n const originOKeyDown = cell.onKeyDown;\n cell.onClick = event => {\n triggerSorter({\n column,\n key: columnKey,\n sortOrder: nextSortOrder,\n multiplePriority: getMultiplePriority(column)\n });\n originOnClick === null || originOnClick === void 0 ? void 0 : originOnClick(event);\n };\n cell.onKeyDown = event => {\n if (event.keyCode === KeyCode.ENTER) {\n triggerSorter({\n column,\n key: columnKey,\n sortOrder: nextSortOrder,\n multiplePriority: getMultiplePriority(column)\n });\n originOKeyDown === null || originOKeyDown === void 0 ? void 0 : originOKeyDown(event);\n }\n };\n const renderTitle = safeColumnTitle(column.title, {});\n const displayTitle = renderTitle === null || renderTitle === void 0 ? void 0 : renderTitle.toString();\n // Inform the screen-reader so it can tell the visually impaired user which column is sorted\n if (sortOrder) {\n cell['aria-sort'] = sortOrder === 'ascend' ? 'ascending' : 'descending';\n }\n cell['aria-label'] = displayTitle || '';\n cell.className = classNames(cell.className, `${prefixCls}-column-has-sorters`);\n cell.tabIndex = 0;\n if (column.ellipsis) {\n cell.title = (renderTitle !== null && renderTitle !== void 0 ? renderTitle : '').toString();\n }\n return cell;\n }\n });\n }\n if ('children' in newColumn) {\n newColumn = Object.assign(Object.assign({}, newColumn), {\n children: injectSorter(prefixCls, newColumn.children, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, columnPos)\n });\n }\n return newColumn;\n });\n return finalColumns;\n};\nconst stateToInfo = sorterState => {\n const {\n column,\n sortOrder\n } = sorterState;\n return {\n column,\n order: sortOrder,\n field: column.dataIndex,\n columnKey: column.key\n };\n};\nconst generateSorterInfo = sorterStates => {\n const activeSorters = sorterStates.filter(({\n sortOrder\n }) => sortOrder).map(stateToInfo);\n // =========== Legacy compatible support ===========\n // https://github.com/ant-design/ant-design/pull/19226\n if (activeSorters.length === 0 && sorterStates.length) {\n const lastIndex = sorterStates.length - 1;\n return Object.assign(Object.assign({}, stateToInfo(sorterStates[lastIndex])), {\n column: undefined,\n order: undefined,\n field: undefined,\n columnKey: undefined\n });\n }\n if (activeSorters.length <= 1) {\n return activeSorters[0] || {};\n }\n return activeSorters;\n};\nexport const getSortData = (data, sortStates, childrenColumnName) => {\n const innerSorterStates = sortStates.slice().sort((a, b) => b.multiplePriority - a.multiplePriority);\n const cloneData = data.slice();\n const runningSorters = innerSorterStates.filter(({\n column: {\n sorter\n },\n sortOrder\n }) => getSortFunction(sorter) && sortOrder);\n // Skip if no sorter needed\n if (!runningSorters.length) {\n return cloneData;\n }\n return cloneData.sort((record1, record2) => {\n for (let i = 0; i < runningSorters.length; i += 1) {\n const sorterState = runningSorters[i];\n const {\n column: {\n sorter\n },\n sortOrder\n } = sorterState;\n const compareFn = getSortFunction(sorter);\n if (compareFn && sortOrder) {\n const compareResult = compareFn(record1, record2, sortOrder);\n if (compareResult !== 0) {\n return sortOrder === ASCEND ? compareResult : -compareResult;\n }\n }\n }\n return 0;\n }).map(record => {\n const subRecords = record[childrenColumnName];\n if (subRecords) {\n return Object.assign(Object.assign({}, record), {\n [childrenColumnName]: getSortData(subRecords, sortStates, childrenColumnName)\n });\n }\n return record;\n });\n};\nconst useFilterSorter = props => {\n const {\n prefixCls,\n mergedColumns,\n sortDirections,\n tableLocale,\n showSorterTooltip,\n onSorterChange\n } = props;\n const [sortStates, setSortStates] = React.useState(() => collectSortStates(mergedColumns, true));\n const getColumnKeys = (columns, pos) => {\n const newKeys = [];\n columns.forEach((item, index) => {\n const columnPos = getColumnPos(index, pos);\n newKeys.push(getColumnKey(item, columnPos));\n if (Array.isArray(item.children)) {\n const childKeys = getColumnKeys(item.children, columnPos);\n newKeys.push.apply(newKeys, _toConsumableArray(childKeys));\n }\n });\n return newKeys;\n };\n const mergedSorterStates = React.useMemo(() => {\n let validate = true;\n const collectedStates = collectSortStates(mergedColumns, false);\n // Return if not controlled\n if (!collectedStates.length) {\n const mergedColumnsKeys = getColumnKeys(mergedColumns);\n return sortStates.filter(({\n key\n }) => mergedColumnsKeys.includes(key));\n }\n const validateStates = [];\n function patchStates(state) {\n if (validate) {\n validateStates.push(state);\n } else {\n validateStates.push(Object.assign(Object.assign({}, state), {\n sortOrder: null\n }));\n }\n }\n let multipleMode = null;\n collectedStates.forEach(state => {\n if (multipleMode === null) {\n patchStates(state);\n if (state.sortOrder) {\n if (state.multiplePriority === false) {\n validate = false;\n } else {\n multipleMode = true;\n }\n }\n } else if (multipleMode && state.multiplePriority !== false) {\n patchStates(state);\n } else {\n validate = false;\n patchStates(state);\n }\n });\n return validateStates;\n }, [mergedColumns, sortStates]);\n // Get render columns title required props\n const columnTitleSorterProps = React.useMemo(() => {\n var _a, _b;\n const sortColumns = mergedSorterStates.map(({\n column,\n sortOrder\n }) => ({\n column,\n order: sortOrder\n }));\n return {\n sortColumns,\n // Legacy\n sortColumn: (_a = sortColumns[0]) === null || _a === void 0 ? void 0 : _a.column,\n sortOrder: (_b = sortColumns[0]) === null || _b === void 0 ? void 0 : _b.order\n };\n }, [mergedSorterStates]);\n const triggerSorter = sortState => {\n let newSorterStates;\n if (sortState.multiplePriority === false || !mergedSorterStates.length || mergedSorterStates[0].multiplePriority === false) {\n newSorterStates = [sortState];\n } else {\n newSorterStates = [].concat(_toConsumableArray(mergedSorterStates.filter(({\n key\n }) => key !== sortState.key)), [sortState]);\n }\n setSortStates(newSorterStates);\n onSorterChange(generateSorterInfo(newSorterStates), newSorterStates);\n };\n const transformColumns = innerColumns => injectSorter(prefixCls, innerColumns, mergedSorterStates, triggerSorter, sortDirections, tableLocale, showSorterTooltip);\n const getSorters = () => generateSorterInfo(mergedSorterStates);\n return [transformColumns, mergedSorterStates, columnTitleSorterProps, getSorters];\n};\nexport default useFilterSorter;","import * as React from 'react';\nimport { renderColumnTitle } from '../util';\nconst fillTitle = (columns, columnTitleProps) => {\n const finalColumns = columns.map(column => {\n const cloneColumn = Object.assign({}, column);\n cloneColumn.title = renderColumnTitle(column.title, columnTitleProps);\n if ('children' in cloneColumn) {\n cloneColumn.children = fillTitle(cloneColumn.children, columnTitleProps);\n }\n return cloneColumn;\n });\n return finalColumns;\n};\nconst useTitleColumns = columnTitleProps => {\n const filledColumns = React.useCallback(columns => fillTitle(columns, columnTitleProps), [columnTitleProps]);\n return [filledColumns];\n};\nexport default useTitleColumns;","\"use client\";\n\nimport { genTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nconst RcTable = genTable((prev, next) => {\n const {\n _renderTimes: prevRenderTimes\n } = prev;\n const {\n _renderTimes: nextRenderTimes\n } = next;\n return prevRenderTimes !== nextRenderTimes;\n});\nexport default RcTable;","\"use client\";\n\nimport { genVirtualTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nconst RcVirtualTable = genVirtualTable((prev, next) => {\n const {\n _renderTimes: prevRenderTimes\n } = prev;\n const {\n _renderTimes: nextRenderTimes\n } = next;\n return prevRenderTimes !== nextRenderTimes;\n});\nexport default RcVirtualTable;","import { unit } from '@ant-design/cssinjs';\nconst genBorderedStyle = token => {\n const {\n componentCls,\n lineWidth,\n lineType,\n tableBorderColor,\n tableHeaderBg,\n tablePaddingVertical,\n tablePaddingHorizontal,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const getSizeBorderStyle = (size, paddingVertical, paddingHorizontal) => ({\n [`&${componentCls}-${size}`]: {\n [`> ${componentCls}-container`]: {\n [`> ${componentCls}-content, > ${componentCls}-body`]: {\n [`\n > table > tbody > tr > th,\n > table > tbody > tr > td\n `]: {\n [`> ${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(paddingVertical).mul(-1).equal())}\n ${unit(calc(calc(paddingHorizontal).add(lineWidth)).mul(-1).equal())}`\n }\n }\n }\n }\n }\n });\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}${componentCls}-bordered`]: Object.assign(Object.assign(Object.assign({\n // ============================ Title =============================\n [`> ${componentCls}-title`]: {\n border: tableBorder,\n borderBottom: 0\n },\n // ============================ Content ============================\n [`> ${componentCls}-container`]: {\n borderInlineStart: tableBorder,\n borderTop: tableBorder,\n [`\n > ${componentCls}-content,\n > ${componentCls}-header,\n > ${componentCls}-body,\n > ${componentCls}-summary\n `]: {\n '> table': {\n // ============================= Cell =============================\n [`\n > thead > tr > th,\n > thead > tr > td,\n > tbody > tr > th,\n > tbody > tr > td,\n > tfoot > tr > th,\n > tfoot > tr > td\n `]: {\n borderInlineEnd: tableBorder\n },\n // ============================ Header ============================\n '> thead': {\n '> tr:not(:last-child) > th': {\n borderBottom: tableBorder\n },\n '> tr > th::before': {\n backgroundColor: 'transparent !important'\n }\n },\n // Fixed right should provides additional border\n [`\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n `]: {\n [`> ${componentCls}-cell-fix-right-first::after`]: {\n borderInlineEnd: tableBorder\n }\n },\n // ========================== Expandable ==========================\n [`\n > tbody > tr > th,\n > tbody > tr > td\n `]: {\n [`> ${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(tablePaddingVertical).mul(-1).equal())} ${unit(calc(calc(tablePaddingHorizontal).add(lineWidth)).mul(-1).equal())}`,\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: lineWidth,\n bottom: 0,\n borderInlineEnd: tableBorder,\n content: '\"\"'\n }\n }\n }\n }\n }\n },\n // ============================ Scroll ============================\n [`&${componentCls}-scroll-horizontal`]: {\n [`> ${componentCls}-container > ${componentCls}-body`]: {\n '> table > tbody': {\n [`\n > tr${componentCls}-expanded-row,\n > tr${componentCls}-placeholder\n `]: {\n '> th, > td': {\n borderInlineEnd: 0\n }\n }\n }\n }\n }\n }, getSizeBorderStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle)), getSizeBorderStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall)), {\n // ============================ Footer ============================\n [`> ${componentCls}-footer`]: {\n border: tableBorder,\n borderTop: 0\n }\n }),\n // ============================ Nested ============================\n [`${componentCls}-cell`]: {\n [`${componentCls}-container:first-child`]: {\n // :first-child to avoid the case when bordered and title is set\n borderTop: 0\n },\n // https://github.com/ant-design/ant-design/issues/35577\n '&-scrollbar:not([rowspan])': {\n boxShadow: `0 ${unit(lineWidth)} 0 ${unit(lineWidth)} ${tableHeaderBg}`\n }\n },\n [`${componentCls}-bordered ${componentCls}-cell-scrollbar`]: {\n borderInlineEnd: tableBorder\n }\n }\n };\n};\nexport default genBorderedStyle;","import { textEllipsis } from '../../style';\nconst genEllipsisStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-cell-ellipsis`]: Object.assign(Object.assign({}, textEllipsis), {\n wordBreak: 'keep-all',\n // Fixed first or last should special process\n [`\n &${componentCls}-cell-fix-left-last,\n &${componentCls}-cell-fix-right-first\n `]: {\n overflow: 'visible',\n [`${componentCls}-cell-content`]: {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n },\n [`${componentCls}-column-title`]: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n wordBreak: 'keep-all'\n }\n })\n }\n };\n};\nexport default genEllipsisStyle;","// ========================= Placeholder ==========================\nconst genEmptyStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-tbody > tr${componentCls}-placeholder`]: {\n textAlign: 'center',\n color: token.colorTextDisabled,\n [`\n &:hover > th,\n &:hover > td,\n `]: {\n background: token.colorBgContainer\n }\n }\n }\n };\n};\nexport default genEmptyStyle;","import { unit } from '@ant-design/cssinjs';\nimport { operationUnit } from '../../style';\nconst genExpandStyle = token => {\n const {\n componentCls,\n antCls,\n motionDurationSlow,\n lineWidth,\n paddingXS,\n lineType,\n tableBorderColor,\n tableExpandIconBg,\n tableExpandColumnWidth,\n borderRadius,\n tablePaddingVertical,\n tablePaddingHorizontal,\n tableExpandedRowBg,\n paddingXXS,\n expandIconMarginTop,\n expandIconSize,\n expandIconHalfInner,\n expandIconScale,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const expandIconLineOffset = calc(paddingXXS).sub(lineWidth).equal();\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-expand-icon-col`]: {\n width: tableExpandColumnWidth\n },\n [`${componentCls}-row-expand-icon-cell`]: {\n textAlign: 'center',\n [`${componentCls}-row-expand-icon`]: {\n display: 'inline-flex',\n float: 'none',\n verticalAlign: 'sub'\n }\n },\n [`${componentCls}-row-indent`]: {\n height: 1,\n float: 'left'\n },\n [`${componentCls}-row-expand-icon`]: Object.assign(Object.assign({}, operationUnit(token)), {\n position: 'relative',\n float: 'left',\n width: expandIconSize,\n height: expandIconSize,\n color: 'inherit',\n lineHeight: unit(expandIconSize),\n background: tableExpandIconBg,\n border: tableBorder,\n borderRadius,\n transform: `scale(${expandIconScale})`,\n '&:focus, &:hover, &:active': {\n borderColor: 'currentcolor'\n },\n '&::before, &::after': {\n position: 'absolute',\n background: 'currentcolor',\n transition: `transform ${motionDurationSlow} ease-out`,\n content: '\"\"'\n },\n '&::before': {\n top: expandIconHalfInner,\n insetInlineEnd: expandIconLineOffset,\n insetInlineStart: expandIconLineOffset,\n height: lineWidth\n },\n '&::after': {\n top: expandIconLineOffset,\n bottom: expandIconLineOffset,\n insetInlineStart: expandIconHalfInner,\n width: lineWidth,\n transform: 'rotate(90deg)'\n },\n // Motion effect\n '&-collapsed::before': {\n transform: 'rotate(-180deg)'\n },\n '&-collapsed::after': {\n transform: 'rotate(0deg)'\n },\n '&-spaced': {\n '&::before, &::after': {\n display: 'none',\n content: 'none'\n },\n background: 'transparent',\n border: 0,\n visibility: 'hidden'\n }\n }),\n [`${componentCls}-row-indent + ${componentCls}-row-expand-icon`]: {\n marginTop: expandIconMarginTop,\n marginInlineEnd: paddingXS\n },\n [`tr${componentCls}-expanded-row`]: {\n '&, &:hover': {\n '> th, > td': {\n background: tableExpandedRowBg\n }\n },\n // https://github.com/ant-design/ant-design/issues/25573\n [`${antCls}-descriptions-view`]: {\n display: 'flex',\n table: {\n flex: 'auto',\n width: '100%'\n }\n }\n },\n // With fixed\n [`${componentCls}-expanded-row-fixed`]: {\n position: 'relative',\n margin: `${unit(calc(tablePaddingVertical).mul(-1).equal())} ${unit(calc(tablePaddingHorizontal).mul(-1).equal())}`,\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`\n }\n }\n };\n};\nexport default genExpandStyle;","import { unit } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nconst genFilterStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n tableFilterDropdownWidth,\n tableFilterDropdownSearchWidth,\n paddingXXS,\n paddingXS,\n colorText,\n lineWidth,\n lineType,\n tableBorderColor,\n headerIconColor,\n fontSizeSM,\n tablePaddingHorizontal,\n borderRadius,\n motionDurationSlow,\n colorIcon,\n colorPrimary,\n tableHeaderFilterActiveBg,\n colorTextDisabled,\n tableFilterDropdownBg,\n tableFilterDropdownHeight,\n controlItemBgHover,\n controlItemBgActive,\n boxShadowSecondary,\n filterDropdownMenuBg,\n calc\n } = token;\n const dropdownPrefixCls = `${antCls}-dropdown`;\n const tableFilterDropdownPrefixCls = `${componentCls}-filter-dropdown`;\n const treePrefixCls = `${antCls}-tree`;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n return [{\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-filter-column`]: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n [`${componentCls}-filter-trigger`]: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n marginBlock: calc(paddingXXS).mul(-1).equal(),\n marginInline: `${unit(paddingXXS)} ${unit(calc(tablePaddingHorizontal).div(2).mul(-1).equal())}`,\n padding: `0 ${unit(paddingXXS)}`,\n color: headerIconColor,\n fontSize: fontSizeSM,\n borderRadius,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n color: colorIcon,\n background: tableHeaderFilterActiveBg\n },\n '&.active': {\n color: colorPrimary\n }\n }\n }\n }, {\n // Dropdown\n [`${antCls}-dropdown`]: {\n [tableFilterDropdownPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n minWidth: tableFilterDropdownWidth,\n backgroundColor: tableFilterDropdownBg,\n borderRadius,\n boxShadow: boxShadowSecondary,\n overflow: 'hidden',\n // Reset menu\n [`${dropdownPrefixCls}-menu`]: {\n // https://github.com/ant-design/ant-design/issues/4916\n // https://github.com/ant-design/ant-design/issues/19542\n maxHeight: tableFilterDropdownHeight,\n overflowX: 'hidden',\n border: 0,\n boxShadow: 'none',\n borderRadius: 'unset',\n backgroundColor: filterDropdownMenuBg,\n '&:empty::after': {\n display: 'block',\n padding: `${unit(paddingXS)} 0`,\n color: colorTextDisabled,\n fontSize: fontSizeSM,\n textAlign: 'center',\n content: '\"Not Found\"'\n }\n },\n [`${tableFilterDropdownPrefixCls}-tree`]: {\n paddingBlock: `${unit(paddingXS)} 0`,\n paddingInline: paddingXS,\n [treePrefixCls]: {\n padding: 0\n },\n [`${treePrefixCls}-treenode ${treePrefixCls}-node-content-wrapper:hover`]: {\n backgroundColor: controlItemBgHover\n },\n [`${treePrefixCls}-treenode-checkbox-checked ${treePrefixCls}-node-content-wrapper`]: {\n '&, &:hover': {\n backgroundColor: controlItemBgActive\n }\n }\n },\n [`${tableFilterDropdownPrefixCls}-search`]: {\n padding: paddingXS,\n borderBottom: tableBorder,\n '&-input': {\n input: {\n minWidth: tableFilterDropdownSearchWidth\n },\n [iconCls]: {\n color: colorTextDisabled\n }\n }\n },\n [`${tableFilterDropdownPrefixCls}-checkall`]: {\n width: '100%',\n marginBottom: paddingXXS,\n marginInlineStart: paddingXXS\n },\n // Operation\n [`${tableFilterDropdownPrefixCls}-btns`]: {\n display: 'flex',\n justifyContent: 'space-between',\n padding: `${unit(calc(paddingXS).sub(lineWidth).equal())} ${unit(paddingXS)}`,\n overflow: 'hidden',\n borderTop: tableBorder\n }\n })\n }\n },\n // Dropdown Menu & SubMenu\n {\n // submenu of table filter dropdown\n [`${antCls}-dropdown ${tableFilterDropdownPrefixCls}, ${tableFilterDropdownPrefixCls}-submenu`]: {\n // Checkbox\n [`${antCls}-checkbox-wrapper + span`]: {\n paddingInlineStart: paddingXS,\n color: colorText\n },\n '> ul': {\n maxHeight: 'calc(100vh - 130px)',\n overflowX: 'hidden',\n overflowY: 'auto'\n }\n }\n }];\n};\nexport default genFilterStyle;","const genFixedStyle = token => {\n const {\n componentCls,\n lineWidth,\n colorSplit,\n motionDurationSlow,\n zIndexTableFixed,\n tableBg,\n zIndexTableSticky,\n calc\n } = token;\n const shadowColor = colorSplit;\n // Follow style is magic of shadow which should not follow token:\n return {\n [`${componentCls}-wrapper`]: {\n [`\n ${componentCls}-cell-fix-left,\n ${componentCls}-cell-fix-right\n `]: {\n position: 'sticky !important',\n zIndex: zIndexTableFixed,\n background: tableBg\n },\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after\n `]: {\n position: 'absolute',\n top: 0,\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: calc(lineWidth).mul(-1).equal(),\n width: 30,\n transform: 'translateX(100%)',\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none',\n // fix issues: https://github.com/ant-design/ant-design/issues/54587\n willChange: 'transform'\n },\n [`${componentCls}-cell-fix-left-all::after`]: {\n display: 'none'\n },\n [`\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n position: 'absolute',\n top: 0,\n bottom: calc(lineWidth).mul(-1).equal(),\n left: {\n _skip_check_: true,\n value: 0\n },\n width: 30,\n transform: 'translateX(-100%)',\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n [`${componentCls}-container`]: {\n position: 'relative',\n '&::before, &::after': {\n position: 'absolute',\n top: 0,\n bottom: 0,\n zIndex: calc(zIndexTableSticky).add(1).equal({\n unit: false\n }),\n width: 30,\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n '&::before': {\n insetInlineStart: 0\n },\n '&::after': {\n insetInlineEnd: 0\n }\n },\n [`${componentCls}-ping-left`]: {\n [`&:not(${componentCls}-has-fix-left) ${componentCls}-container::before`]: {\n boxShadow: `inset 10px 0 8px -8px ${shadowColor}`\n },\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after\n `]: {\n boxShadow: `inset 10px 0 8px -8px ${shadowColor}`\n },\n [`${componentCls}-cell-fix-left-last::before`]: {\n backgroundColor: 'transparent !important'\n }\n },\n [`${componentCls}-ping-right`]: {\n [`&:not(${componentCls}-has-fix-right) ${componentCls}-container::after`]: {\n boxShadow: `inset -10px 0 8px -8px ${shadowColor}`\n },\n [`\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n boxShadow: `inset -10px 0 8px -8px ${shadowColor}`\n }\n },\n // Gapped fixed Columns do not show the shadow\n [`${componentCls}-fixed-column-gapped`]: {\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after,\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n boxShadow: 'none'\n }\n }\n }\n };\n};\nexport default genFixedStyle;","import { unit } from '@ant-design/cssinjs';\nconst genPaginationStyle = token => {\n const {\n componentCls,\n antCls,\n margin\n } = token;\n return {\n [`${componentCls}-wrapper ${componentCls}-pagination${antCls}-pagination`]: {\n margin: `${unit(margin)} 0`\n }\n };\n};\nexport default genPaginationStyle;","import { unit } from '@ant-design/cssinjs';\nconst genRadiusStyle = token => {\n const {\n componentCls,\n tableRadius\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [componentCls]: {\n // https://github.com/ant-design/ant-design/issues/39115#issuecomment-1362314574\n [`${componentCls}-title, ${componentCls}-header`]: {\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`\n },\n [`${componentCls}-title + ${componentCls}-container`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0,\n // https://github.com/ant-design/ant-design/issues/41975\n [`${componentCls}-header, table`]: {\n borderRadius: 0\n },\n 'table > thead > tr:first-child': {\n 'th:first-child, th:last-child, td:first-child, td:last-child': {\n borderRadius: 0\n }\n }\n },\n '&-container': {\n borderStartStartRadius: tableRadius,\n borderStartEndRadius: tableRadius,\n 'table > thead > tr:first-child': {\n '> *:first-child': {\n borderStartStartRadius: tableRadius\n },\n '> *:last-child': {\n borderStartEndRadius: tableRadius\n }\n }\n },\n '&-footer': {\n borderRadius: `0 0 ${unit(tableRadius)} ${unit(tableRadius)}`\n }\n }\n }\n };\n};\nexport default genRadiusStyle;","const genStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper-rtl`]: {\n direction: 'rtl',\n table: {\n direction: 'rtl'\n },\n [`${componentCls}-pagination-left`]: {\n justifyContent: 'flex-end'\n },\n [`${componentCls}-pagination-right`]: {\n justifyContent: 'flex-start'\n },\n [`${componentCls}-row-expand-icon`]: {\n float: 'right',\n '&::after': {\n transform: 'rotate(-90deg)'\n },\n '&-collapsed::before': {\n transform: 'rotate(180deg)'\n },\n '&-collapsed::after': {\n transform: 'rotate(0deg)'\n }\n },\n [`${componentCls}-container`]: {\n '&::before': {\n insetInlineStart: 'unset',\n insetInlineEnd: 0\n },\n '&::after': {\n insetInlineStart: 0,\n insetInlineEnd: 'unset'\n },\n [`${componentCls}-row-indent`]: {\n float: 'right'\n }\n }\n }\n };\n};\nexport default genStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSelectionStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n fontSizeIcon,\n padding,\n paddingXS,\n headerIconColor,\n headerIconHoverColor,\n tableSelectionColumnWidth,\n tableSelectedRowBg,\n tableSelectedRowHoverBg,\n tableRowHoverBg,\n tablePaddingHorizontal,\n calc\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Selections ==========================\n [`${componentCls}-selection-col`]: {\n width: tableSelectionColumnWidth,\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: calc(tableSelectionColumnWidth).add(fontSizeIcon).add(calc(padding).div(4)).equal()\n }\n },\n [`${componentCls}-bordered ${componentCls}-selection-col`]: {\n width: calc(tableSelectionColumnWidth).add(calc(paddingXS).mul(2)).equal(),\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: calc(tableSelectionColumnWidth).add(fontSizeIcon).add(calc(padding).div(4)).add(calc(paddingXS).mul(2)).equal()\n }\n },\n [`\n table tr th${componentCls}-selection-column,\n table tr td${componentCls}-selection-column,\n ${componentCls}-selection-column\n `]: {\n paddingInlineEnd: token.paddingXS,\n paddingInlineStart: token.paddingXS,\n textAlign: 'center',\n [`${antCls}-radio-wrapper`]: {\n marginInlineEnd: 0\n }\n },\n [`table tr th${componentCls}-selection-column${componentCls}-cell-fix-left`]: {\n zIndex: calc(token.zIndexTableFixed).add(1).equal({\n unit: false\n })\n },\n [`table tr th${componentCls}-selection-column::after`]: {\n backgroundColor: 'transparent !important'\n },\n [`${componentCls}-selection`]: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column'\n },\n [`${componentCls}-selection-extra`]: {\n position: 'absolute',\n top: 0,\n zIndex: 1,\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n marginInlineStart: '100%',\n paddingInlineStart: unit(calc(tablePaddingHorizontal).div(4).equal()),\n [iconCls]: {\n color: headerIconColor,\n fontSize: fontSizeIcon,\n verticalAlign: 'baseline',\n '&:hover': {\n color: headerIconHoverColor\n }\n }\n },\n // ============================= Rows =============================\n [`${componentCls}-tbody`]: {\n [`${componentCls}-row`]: {\n [`&${componentCls}-row-selected`]: {\n [`> ${componentCls}-cell`]: {\n background: tableSelectedRowBg,\n '&-row-hover': {\n background: tableSelectedRowHoverBg\n }\n }\n },\n [`> ${componentCls}-cell-row-hover`]: {\n background: tableRowHoverBg\n }\n }\n }\n }\n };\n};\nexport default genSelectionStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSizeStyle = token => {\n const {\n componentCls,\n tableExpandColumnWidth,\n calc\n } = token;\n const getSizeStyle = (size, paddingVertical, paddingHorizontal, fontSize) => ({\n [`${componentCls}${componentCls}-${size}`]: {\n fontSize,\n [`\n ${componentCls}-title,\n ${componentCls}-footer,\n ${componentCls}-cell,\n ${componentCls}-thead > tr > th,\n ${componentCls}-tbody > tr > th,\n ${componentCls}-tbody > tr > td,\n tfoot > tr > th,\n tfoot > tr > td\n `]: {\n padding: `${unit(paddingVertical)} ${unit(paddingHorizontal)}`\n },\n [`${componentCls}-filter-trigger`]: {\n marginInlineEnd: unit(calc(paddingHorizontal).div(2).mul(-1).equal())\n },\n [`${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(paddingVertical).mul(-1).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`\n },\n [`${componentCls}-tbody`]: {\n // ========================= Nest Table ===========================\n [`${componentCls}-wrapper:only-child ${componentCls}`]: {\n marginBlock: unit(calc(paddingVertical).mul(-1).equal()),\n marginInline: `${unit(calc(tableExpandColumnWidth).sub(paddingHorizontal).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`\n }\n },\n // https://github.com/ant-design/ant-design/issues/35167\n [`${componentCls}-selection-extra`]: {\n paddingInlineStart: unit(calc(paddingHorizontal).div(4).equal())\n }\n }\n });\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, getSizeStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle, token.tableFontSizeMiddle)), getSizeStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall, token.tableFontSizeSmall))\n };\n};\nexport default genSizeStyle;","const genSorterStyle = token => {\n const {\n componentCls,\n marginXXS,\n fontSizeIcon,\n headerIconColor,\n headerIconHoverColor\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-thead th${componentCls}-column-has-sorters`]: {\n outline: 'none',\n cursor: 'pointer',\n // why left 0s? Avoid column header move with transition when left is changed\n // https://github.com/ant-design/ant-design/issues/50588\n transition: `all ${token.motionDurationSlow}, left 0s`,\n '&:hover': {\n background: token.tableHeaderSortHoverBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n },\n '&:focus-visible': {\n color: token.colorPrimary\n },\n // https://github.com/ant-design/ant-design/issues/30969\n [`\n &${componentCls}-cell-fix-left:hover,\n &${componentCls}-cell-fix-right:hover\n `]: {\n background: token.tableFixedHeaderSortActiveBg\n }\n },\n [`${componentCls}-thead th${componentCls}-column-sort`]: {\n background: token.tableHeaderSortBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n },\n [`td${componentCls}-column-sort`]: {\n background: token.tableBodySortBg\n },\n [`${componentCls}-column-title`]: {\n position: 'relative',\n zIndex: 1,\n flex: 1,\n minWidth: 0\n },\n [`${componentCls}-column-sorters`]: {\n display: 'flex',\n flex: 'auto',\n alignItems: 'center',\n justifyContent: 'space-between',\n '&::after': {\n position: 'absolute',\n inset: 0,\n width: '100%',\n height: '100%',\n content: '\"\"'\n }\n },\n [`${componentCls}-column-sorters-tooltip-target-sorter`]: {\n '&::after': {\n content: 'none'\n }\n },\n [`${componentCls}-column-sorter`]: {\n marginInlineStart: marginXXS,\n color: headerIconColor,\n fontSize: 0,\n transition: `color ${token.motionDurationSlow}`,\n '&-inner': {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n '&-up, &-down': {\n fontSize: fontSizeIcon,\n '&.active': {\n color: token.colorPrimary\n }\n },\n [`${componentCls}-column-sorter-up + ${componentCls}-column-sorter-down`]: {\n marginTop: '-0.3em'\n }\n },\n [`${componentCls}-column-sorters:hover ${componentCls}-column-sorter`]: {\n color: headerIconHoverColor\n }\n }\n };\n};\nexport default genSorterStyle;","import { unit } from '@ant-design/cssinjs';\nconst genStickyStyle = token => {\n const {\n componentCls,\n opacityLoading,\n tableScrollThumbBg,\n tableScrollThumbBgHover,\n tableScrollThumbSize,\n tableScrollBg,\n zIndexTableSticky,\n stickyScrollBarBorderRadius,\n lineWidth,\n lineType,\n tableBorderColor\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-sticky`]: {\n '&-holder': {\n position: 'sticky',\n zIndex: zIndexTableSticky,\n background: token.colorBgContainer\n },\n '&-scroll': {\n position: 'sticky',\n bottom: 0,\n height: `${unit(tableScrollThumbSize)} !important`,\n zIndex: zIndexTableSticky,\n display: 'flex',\n alignItems: 'center',\n background: tableScrollBg,\n borderTop: tableBorder,\n opacity: opacityLoading,\n '&:hover': {\n transformOrigin: 'center bottom'\n },\n // fake scrollbar style of sticky\n '&-bar': {\n height: tableScrollThumbSize,\n backgroundColor: tableScrollThumbBg,\n borderRadius: stickyScrollBarBorderRadius,\n transition: `all ${token.motionDurationSlow}, transform 0s`,\n position: 'absolute',\n bottom: 0,\n '&:hover, &-active': {\n backgroundColor: tableScrollThumbBgHover\n }\n }\n }\n }\n }\n };\n};\nexport default genStickyStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSummaryStyle = token => {\n const {\n componentCls,\n lineWidth,\n tableBorderColor,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${token.lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-summary`]: {\n position: 'relative',\n zIndex: token.zIndexTableFixed,\n background: token.tableBg,\n '> tr': {\n '> th, > td': {\n borderBottom: tableBorder\n }\n }\n },\n [`div${componentCls}-summary`]: {\n boxShadow: `0 ${unit(calc(lineWidth).mul(-1).equal())} 0 ${tableBorderColor}`\n }\n }\n };\n};\nexport default genSummaryStyle;","import { unit } from '@ant-design/cssinjs';\nconst genVirtualStyle = token => {\n const {\n componentCls,\n motionDurationMid,\n lineWidth,\n lineType,\n tableBorderColor,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const rowCellCls = `${componentCls}-expanded-row-cell`;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Row ==========================\n [`${componentCls}-tbody-virtual`]: {\n [`${componentCls}-tbody-virtual-holder-inner`]: {\n [`\n & > ${componentCls}-row, \n & > div:not(${componentCls}-row) > ${componentCls}-row\n `]: {\n display: 'flex',\n boxSizing: 'border-box',\n width: '100%'\n }\n },\n [`${componentCls}-cell`]: {\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid}`\n },\n [`${componentCls}-expanded-row`]: {\n [`${rowCellCls}${rowCellCls}-fixed`]: {\n position: 'sticky',\n insetInlineStart: 0,\n overflow: 'hidden',\n width: `calc(var(--virtual-width) - ${unit(lineWidth)})`,\n borderInlineEnd: 'none'\n }\n }\n },\n // ======================== Border =========================\n [`${componentCls}-bordered`]: {\n [`${componentCls}-tbody-virtual`]: {\n '&:after': {\n content: '\"\"',\n insetInline: 0,\n bottom: 0,\n borderBottom: tableBorder,\n position: 'absolute'\n },\n [`${componentCls}-cell`]: {\n borderInlineEnd: tableBorder,\n [`&${componentCls}-cell-fix-right-first:before`]: {\n content: '\"\"',\n position: 'absolute',\n insetBlock: 0,\n insetInlineStart: calc(lineWidth).mul(-1).equal(),\n borderInlineStart: tableBorder\n }\n }\n },\n // Empty placeholder\n [`&${componentCls}-virtual`]: {\n [`${componentCls}-placeholder ${componentCls}-cell`]: {\n borderInlineEnd: tableBorder,\n borderBottom: tableBorder\n }\n }\n }\n }\n };\n};\nexport default genVirtualStyle;","import { unit } from '@ant-design/cssinjs';\nimport { FastColor } from '@ant-design/fast-color';\nimport { clearFix, resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport genBorderedStyle from './bordered';\nimport genEllipsisStyle from './ellipsis';\nimport genEmptyStyle from './empty';\nimport genExpandStyle from './expand';\nimport genFilterStyle from './filter';\nimport genFixedStyle from './fixed';\nimport genPaginationStyle from './pagination';\nimport genRadiusStyle from './radius';\nimport genRtlStyle from './rtl';\nimport genSelectionStyle from './selection';\nimport genSizeStyle from './size';\nimport genSorterStyle from './sorter';\nimport genStickyStyle from './sticky';\nimport genSummaryStyle from './summary';\nimport genVirtualStyle from './virtual';\nconst genTableStyle = token => {\n const {\n componentCls,\n fontWeightStrong,\n tablePaddingVertical,\n tablePaddingHorizontal,\n tableExpandColumnWidth,\n lineWidth,\n lineType,\n tableBorderColor,\n tableFontSize,\n tableBg,\n tableRadius,\n tableHeaderTextColor,\n motionDurationMid,\n tableHeaderBg,\n tableHeaderCellSplitColor,\n tableFooterTextColor,\n tableFooterBg,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({\n clear: 'both',\n maxWidth: '100%',\n // fix https://github.com/ant-design/ant-design/issues/46177\n ['--rc-virtual-list-scrollbar-bg']: token.tableScrollBg\n }, clearFix()), {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n fontSize: tableFontSize,\n background: tableBg,\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`,\n // https://github.com/ant-design/ant-design/issues/47486\n scrollbarColor: `${token.tableScrollThumbBg} ${token.tableScrollBg}`\n }),\n // https://github.com/ant-design/ant-design/issues/17611\n table: {\n width: '100%',\n textAlign: 'start',\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`,\n borderCollapse: 'separate',\n borderSpacing: 0\n },\n // ============================= Cell ==============================\n [`\n ${componentCls}-cell,\n ${componentCls}-thead > tr > th,\n ${componentCls}-tbody > tr > th,\n ${componentCls}-tbody > tr > td,\n tfoot > tr > th,\n tfoot > tr > td\n `]: {\n position: 'relative',\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`,\n overflowWrap: 'break-word'\n },\n // ============================ Title =============================\n [`${componentCls}-title`]: {\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`\n },\n // ============================ Header ============================\n [`${componentCls}-thead`]: {\n [`\n > tr > th,\n > tr > td\n `]: {\n position: 'relative',\n color: tableHeaderTextColor,\n fontWeight: fontWeightStrong,\n textAlign: 'start',\n background: tableHeaderBg,\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid} ease`,\n \"&[colspan]:not([colspan='1'])\": {\n textAlign: 'center'\n },\n [`&:not(:last-child):not(${componentCls}-selection-column):not(${componentCls}-row-expand-icon-cell):not([colspan])::before`]: {\n position: 'absolute',\n top: '50%',\n insetInlineEnd: 0,\n width: 1,\n height: '1.6em',\n backgroundColor: tableHeaderCellSplitColor,\n transform: 'translateY(-50%)',\n transition: `background-color ${motionDurationMid}`,\n content: '\"\"'\n }\n },\n '> tr:not(:last-child) > th[colspan]': {\n borderBottom: 0\n }\n },\n // ============================ Body ============================\n [`${componentCls}-tbody`]: {\n '> tr': {\n '> th, > td': {\n transition: `background ${motionDurationMid}, border-color ${motionDurationMid}`,\n borderBottom: tableBorder,\n // ========================= Nest Table ===========================\n [`\n > ${componentCls}-wrapper:only-child,\n > ${componentCls}-expanded-row-fixed > ${componentCls}-wrapper:only-child\n `]: {\n [componentCls]: {\n marginBlock: unit(calc(tablePaddingVertical).mul(-1).equal()),\n marginInline: `${unit(calc(tableExpandColumnWidth).sub(tablePaddingHorizontal).equal())}\n ${unit(calc(tablePaddingHorizontal).mul(-1).equal())}`,\n [`${componentCls}-tbody > tr:last-child > td`]: {\n borderBottomWidth: 0,\n '&:first-child, &:last-child': {\n borderRadius: 0\n }\n }\n }\n }\n },\n '> th': {\n position: 'relative',\n color: tableHeaderTextColor,\n fontWeight: fontWeightStrong,\n textAlign: 'start',\n background: tableHeaderBg,\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid} ease`\n },\n // measure cell styles\n [`& > ${componentCls}-measure-cell`]: {\n paddingBlock: `0 !important`,\n borderBlock: `0 !important`,\n [`${componentCls}-measure-cell-content`]: {\n height: 0,\n overflow: 'hidden',\n pointerEvents: 'none'\n }\n }\n }\n },\n // ============================ Footer ============================\n [`${componentCls}-footer`]: {\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`,\n color: tableFooterTextColor,\n background: tableFooterBg\n }\n })\n };\n};\nexport const prepareComponentToken = token => {\n const {\n colorFillAlter,\n colorBgContainer,\n colorTextHeading,\n colorFillSecondary,\n colorFillContent,\n controlItemBgActive,\n controlItemBgActiveHover,\n padding,\n paddingSM,\n paddingXS,\n colorBorderSecondary,\n borderRadiusLG,\n controlHeight,\n colorTextPlaceholder,\n fontSize,\n fontSizeSM,\n lineHeight,\n lineWidth,\n colorIcon,\n colorIconHover,\n opacityLoading,\n controlInteractiveSize\n } = token;\n const colorFillSecondarySolid = new FastColor(colorFillSecondary).onBackground(colorBgContainer).toHexString();\n const colorFillContentSolid = new FastColor(colorFillContent).onBackground(colorBgContainer).toHexString();\n const colorFillAlterSolid = new FastColor(colorFillAlter).onBackground(colorBgContainer).toHexString();\n const baseColorAction = new FastColor(colorIcon);\n const baseColorActionHover = new FastColor(colorIconHover);\n const expandIconHalfInner = controlInteractiveSize / 2 - lineWidth;\n const expandIconSize = expandIconHalfInner * 2 + lineWidth * 3;\n return {\n headerBg: colorFillAlterSolid,\n headerColor: colorTextHeading,\n headerSortActiveBg: colorFillSecondarySolid,\n headerSortHoverBg: colorFillContentSolid,\n bodySortBg: colorFillAlterSolid,\n rowHoverBg: colorFillAlterSolid,\n rowSelectedBg: controlItemBgActive,\n rowSelectedHoverBg: controlItemBgActiveHover,\n rowExpandedBg: colorFillAlter,\n cellPaddingBlock: padding,\n cellPaddingInline: padding,\n cellPaddingBlockMD: paddingSM,\n cellPaddingInlineMD: paddingXS,\n cellPaddingBlockSM: paddingXS,\n cellPaddingInlineSM: paddingXS,\n borderColor: colorBorderSecondary,\n headerBorderRadius: borderRadiusLG,\n footerBg: colorFillAlterSolid,\n footerColor: colorTextHeading,\n cellFontSize: fontSize,\n cellFontSizeMD: fontSize,\n cellFontSizeSM: fontSize,\n headerSplitColor: colorBorderSecondary,\n fixedHeaderSortActiveBg: colorFillSecondarySolid,\n headerFilterHoverBg: colorFillContent,\n filterDropdownMenuBg: colorBgContainer,\n filterDropdownBg: colorBgContainer,\n expandIconBg: colorBgContainer,\n selectionColumnWidth: controlHeight,\n stickyScrollBarBg: colorTextPlaceholder,\n stickyScrollBarBorderRadius: 100,\n expandIconMarginTop: (fontSize * lineHeight - lineWidth * 3) / 2 - Math.ceil((fontSizeSM * 1.4 - lineWidth * 3) / 2),\n headerIconColor: baseColorAction.clone().setA(baseColorAction.a * opacityLoading).toRgbString(),\n headerIconHoverColor: baseColorActionHover.clone().setA(baseColorActionHover.a * opacityLoading).toRgbString(),\n expandIconHalfInner,\n expandIconSize,\n expandIconScale: controlInteractiveSize / expandIconSize\n };\n};\nconst zIndexTableFixed = 2;\n// ============================== Export ==============================\nexport default genStyleHooks('Table', token => {\n const {\n colorTextHeading,\n colorSplit,\n colorBgContainer,\n controlInteractiveSize: checkboxSize,\n headerBg,\n headerColor,\n headerSortActiveBg,\n headerSortHoverBg,\n bodySortBg,\n rowHoverBg,\n rowSelectedBg,\n rowSelectedHoverBg,\n rowExpandedBg,\n cellPaddingBlock,\n cellPaddingInline,\n cellPaddingBlockMD,\n cellPaddingInlineMD,\n cellPaddingBlockSM,\n cellPaddingInlineSM,\n borderColor,\n footerBg,\n footerColor,\n headerBorderRadius,\n cellFontSize,\n cellFontSizeMD,\n cellFontSizeSM,\n headerSplitColor,\n fixedHeaderSortActiveBg,\n headerFilterHoverBg,\n filterDropdownBg,\n expandIconBg,\n selectionColumnWidth,\n stickyScrollBarBg,\n calc\n } = token;\n const tableToken = mergeToken(token, {\n tableFontSize: cellFontSize,\n tableBg: colorBgContainer,\n tableRadius: headerBorderRadius,\n tablePaddingVertical: cellPaddingBlock,\n tablePaddingHorizontal: cellPaddingInline,\n tablePaddingVerticalMiddle: cellPaddingBlockMD,\n tablePaddingHorizontalMiddle: cellPaddingInlineMD,\n tablePaddingVerticalSmall: cellPaddingBlockSM,\n tablePaddingHorizontalSmall: cellPaddingInlineSM,\n tableBorderColor: borderColor,\n tableHeaderTextColor: headerColor,\n tableHeaderBg: headerBg,\n tableFooterTextColor: footerColor,\n tableFooterBg: footerBg,\n tableHeaderCellSplitColor: headerSplitColor,\n tableHeaderSortBg: headerSortActiveBg,\n tableHeaderSortHoverBg: headerSortHoverBg,\n tableBodySortBg: bodySortBg,\n tableFixedHeaderSortActiveBg: fixedHeaderSortActiveBg,\n tableHeaderFilterActiveBg: headerFilterHoverBg,\n tableFilterDropdownBg: filterDropdownBg,\n tableRowHoverBg: rowHoverBg,\n tableSelectedRowBg: rowSelectedBg,\n tableSelectedRowHoverBg: rowSelectedHoverBg,\n zIndexTableFixed,\n zIndexTableSticky: calc(zIndexTableFixed).add(1).equal({\n unit: false\n }),\n tableFontSizeMiddle: cellFontSizeMD,\n tableFontSizeSmall: cellFontSizeSM,\n tableSelectionColumnWidth: selectionColumnWidth,\n tableExpandIconBg: expandIconBg,\n tableExpandColumnWidth: calc(checkboxSize).add(calc(token.padding).mul(2)).equal(),\n tableExpandedRowBg: rowExpandedBg,\n // Dropdown\n tableFilterDropdownWidth: 120,\n tableFilterDropdownHeight: 264,\n tableFilterDropdownSearchWidth: 140,\n // Virtual Scroll Bar\n tableScrollThumbSize: 8,\n // Mac scroll bar size\n tableScrollThumbBg: stickyScrollBarBg,\n tableScrollThumbBgHover: colorTextHeading,\n tableScrollBg: colorSplit\n });\n return [genTableStyle(tableToken), genPaginationStyle(tableToken), genSummaryStyle(tableToken), genSorterStyle(tableToken), genFilterStyle(tableToken), genBorderedStyle(tableToken), genRadiusStyle(tableToken), genExpandStyle(tableToken), genSummaryStyle(tableToken), genEmptyStyle(tableToken), genSelectionStyle(tableToken), genFixedStyle(tableToken), genStickyStyle(tableToken), genEllipsisStyle(tableToken), genSizeStyle(tableToken), genRtlStyle(tableToken), genVirtualStyle(tableToken)];\n}, prepareComponentToken, {\n unitless: {\n expandIconScale: true\n }\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { INTERNAL_HOOKS } from 'rc-table';\nimport { convertChildrenToColumns } from \"rc-table/es/hooks/useColumns\";\nimport omit from \"rc-util/es/omit\";\nimport { useProxyImperativeHandle } from '../_util/hooks';\nimport scrollTo from '../_util/scrollTo';\nimport { devUseWarning } from '../_util/warning';\nimport ConfigProvider from '../config-provider';\nimport { ConfigContext } from '../config-provider/context';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport defaultLocale from '../locale/en_US';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport { useToken } from '../theme/internal';\nimport renderExpandIcon from './ExpandIcon';\nimport useContainerWidth from './hooks/useContainerWidth';\nimport useFilter, { getFilterData } from './hooks/useFilter';\nimport useLazyKVMap from './hooks/useLazyKVMap';\nimport usePagination, { DEFAULT_PAGE_SIZE, getPaginationParam } from './hooks/usePagination';\nimport useSelection from './hooks/useSelection';\nimport useSorter, { getSortData } from './hooks/useSorter';\nimport useTitleColumns from './hooks/useTitleColumns';\nimport RcTable from './RcTable';\nimport RcVirtualTable from './RcTable/VirtualTable';\nimport useStyle from './style';\nconst EMPTY_LIST = [];\nconst InternalTable = (props, ref) => {\n var _a, _b;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n size: customizeSize,\n bordered,\n dropdownPrefixCls: customizeDropdownPrefixCls,\n dataSource,\n pagination,\n rowSelection,\n rowKey = 'key',\n rowClassName,\n columns,\n children,\n childrenColumnName: legacyChildrenColumnName,\n onChange,\n getPopupContainer,\n loading,\n expandIcon,\n expandable,\n expandedRowRender,\n expandIconColumnIndex,\n indentSize,\n scroll,\n sortDirections,\n locale,\n showSorterTooltip = {\n target: 'full-header'\n },\n virtual\n } = props;\n const warning = devUseWarning('Table');\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof rowKey === 'function' && rowKey.length > 1), 'usage', '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.') : void 0;\n }\n const baseColumns = React.useMemo(() => columns || convertChildrenToColumns(children), [columns, children]);\n const needResponsive = React.useMemo(() => baseColumns.some(col => col.responsive), [baseColumns]);\n const screens = useBreakpoint(needResponsive);\n const mergedColumns = React.useMemo(() => {\n const matched = new Set(Object.keys(screens).filter(m => screens[m]));\n return baseColumns.filter(c => !c.responsive || c.responsive.some(r => matched.has(r)));\n }, [baseColumns, screens]);\n const tableProps = omit(props, ['className', 'style', 'columns']);\n const {\n locale: contextLocale = defaultLocale,\n direction,\n table,\n renderEmpty,\n getPrefixCls,\n getPopupContainer: getContextPopupContainer\n } = React.useContext(ConfigContext);\n const mergedSize = useSize(customizeSize);\n const tableLocale = Object.assign(Object.assign({}, contextLocale.Table), locale);\n const rawData = dataSource || EMPTY_LIST;\n const prefixCls = getPrefixCls('table', customizePrefixCls);\n const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n const [, token] = useToken();\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const mergedExpandable = Object.assign(Object.assign({\n childrenColumnName: legacyChildrenColumnName,\n expandIconColumnIndex\n }, expandable), {\n expandIcon: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.expandIcon) !== null && _a !== void 0 ? _a : (_b = table === null || table === void 0 ? void 0 : table.expandable) === null || _b === void 0 ? void 0 : _b.expandIcon\n });\n const {\n childrenColumnName = 'children'\n } = mergedExpandable;\n const expandType = React.useMemo(() => {\n if (rawData.some(item => item === null || item === void 0 ? void 0 : item[childrenColumnName])) {\n return 'nest';\n }\n if (expandedRowRender || (expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowRender)) {\n return 'row';\n }\n return null;\n }, [rawData]);\n const internalRefs = {\n body: React.useRef(null)\n };\n // ============================ Width =============================\n const getContainerWidth = useContainerWidth(prefixCls);\n // ============================= Refs =============================\n const rootRef = React.useRef(null);\n const tblRef = React.useRef(null);\n useProxyImperativeHandle(ref, () => Object.assign(Object.assign({}, tblRef.current), {\n nativeElement: rootRef.current\n }));\n // ============================ RowKey ============================\n const getRowKey = React.useMemo(() => {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return record => record === null || record === void 0 ? void 0 : record[rowKey];\n }, [rowKey]);\n const [getRecordByKey] = useLazyKVMap(rawData, childrenColumnName, getRowKey);\n // ============================ Events =============================\n const changeEventInfo = {};\n const triggerOnChange = (info, action, reset = false) => {\n var _a, _b, _c, _d;\n const changeInfo = Object.assign(Object.assign({}, changeEventInfo), info);\n if (reset) {\n (_a = changeEventInfo.resetPagination) === null || _a === void 0 ? void 0 : _a.call(changeEventInfo);\n // Reset event param\n if ((_b = changeInfo.pagination) === null || _b === void 0 ? void 0 : _b.current) {\n changeInfo.pagination.current = 1;\n }\n // Trigger pagination events\n if (pagination) {\n (_c = pagination.onChange) === null || _c === void 0 ? void 0 : _c.call(pagination, 1, (_d = changeInfo.pagination) === null || _d === void 0 ? void 0 : _d.pageSize);\n }\n }\n if (scroll && scroll.scrollToFirstRowOnChange !== false && internalRefs.body.current) {\n scrollTo(0, {\n getContainer: () => internalRefs.body.current\n });\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(changeInfo.pagination, changeInfo.filters, changeInfo.sorter, {\n currentDataSource: getFilterData(getSortData(rawData, changeInfo.sorterStates, childrenColumnName), changeInfo.filterStates, childrenColumnName),\n action\n });\n };\n /**\n * Controlled state in `columns` is not a good idea that makes too many code (1000+ line?) to read\n * state out and then put it back to title render. Move these code into `hooks` but still too\n * complex. We should provides Table props like `sorter` & `filter` to handle control in next big\n * version.\n */\n // ============================ Sorter =============================\n const onSorterChange = (sorter, sorterStates) => {\n triggerOnChange({\n sorter,\n sorterStates\n }, 'sort', false);\n };\n const [transformSorterColumns, sortStates, sorterTitleProps, getSorters] = useSorter({\n prefixCls,\n mergedColumns,\n onSorterChange,\n sortDirections: sortDirections || ['ascend', 'descend'],\n tableLocale,\n showSorterTooltip\n });\n const sortedData = React.useMemo(() => getSortData(rawData, sortStates, childrenColumnName), [rawData, sortStates]);\n changeEventInfo.sorter = getSorters();\n changeEventInfo.sorterStates = sortStates;\n // ============================ Filter ============================\n const onFilterChange = (filters, filterStates) => {\n triggerOnChange({\n filters,\n filterStates\n }, 'filter', true);\n };\n const [transformFilterColumns, filterStates, filters] = useFilter({\n prefixCls,\n locale: tableLocale,\n dropdownPrefixCls,\n mergedColumns,\n onFilterChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n rootClassName: classNames(rootClassName, rootCls)\n });\n const mergedData = getFilterData(sortedData, filterStates, childrenColumnName);\n changeEventInfo.filters = filters;\n changeEventInfo.filterStates = filterStates;\n // ============================ Column ============================\n const columnTitleProps = React.useMemo(() => {\n const mergedFilters = {};\n Object.keys(filters).forEach(filterKey => {\n if (filters[filterKey] !== null) {\n mergedFilters[filterKey] = filters[filterKey];\n }\n });\n return Object.assign(Object.assign({}, sorterTitleProps), {\n filters: mergedFilters\n });\n }, [sorterTitleProps, filters]);\n const [transformTitleColumns] = useTitleColumns(columnTitleProps);\n // ========================== Pagination ==========================\n const onPaginationChange = (current, pageSize) => {\n triggerOnChange({\n pagination: Object.assign(Object.assign({}, changeEventInfo.pagination), {\n current,\n pageSize\n })\n }, 'paginate');\n };\n const [mergedPagination, resetPagination] = usePagination(mergedData.length, onPaginationChange, pagination);\n changeEventInfo.pagination = pagination === false ? {} : getPaginationParam(mergedPagination, pagination);\n changeEventInfo.resetPagination = resetPagination;\n // ============================= Data =============================\n const pageData = React.useMemo(() => {\n if (pagination === false || !mergedPagination.pageSize) {\n return mergedData;\n }\n const {\n current = 1,\n total,\n pageSize = DEFAULT_PAGE_SIZE\n } = mergedPagination;\n process.env.NODE_ENV !== \"production\" ? warning(current > 0, 'usage', '`current` should be positive number.') : void 0;\n // Dynamic table data\n if (mergedData.length < total) {\n if (mergedData.length > pageSize) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'usage', '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.') : void 0;\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }\n return mergedData;\n }\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }, [!!pagination, mergedData, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.current, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.pageSize, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total]);\n // ========================== Selections ==========================\n const [transformSelectionColumns, selectedKeySet] = useSelection({\n prefixCls,\n data: mergedData,\n pageData,\n getRowKey,\n getRecordByKey,\n expandType,\n childrenColumnName,\n locale: tableLocale,\n getPopupContainer: getPopupContainer || getContextPopupContainer\n }, rowSelection);\n const internalRowClassName = (record, index, indent) => {\n let mergedRowClassName;\n if (typeof rowClassName === 'function') {\n mergedRowClassName = classNames(rowClassName(record, index, indent));\n } else {\n mergedRowClassName = classNames(rowClassName);\n }\n return classNames({\n [`${prefixCls}-row-selected`]: selectedKeySet.has(getRowKey(record, index))\n }, mergedRowClassName);\n };\n // ========================== Expandable ==========================\n // Pass origin render status into `rc-table`, this can be removed when refactor with `rc-table`\n mergedExpandable.__PARENT_RENDER_ICON__ = mergedExpandable.expandIcon;\n // Customize expandable icon\n mergedExpandable.expandIcon = mergedExpandable.expandIcon || expandIcon || renderExpandIcon(tableLocale);\n // Adjust expand icon index, no overwrite expandIconColumnIndex if set.\n if (expandType === 'nest' && mergedExpandable.expandIconColumnIndex === undefined) {\n mergedExpandable.expandIconColumnIndex = rowSelection ? 1 : 0;\n } else if (mergedExpandable.expandIconColumnIndex > 0 && rowSelection) {\n mergedExpandable.expandIconColumnIndex -= 1;\n }\n // Indent size\n if (typeof mergedExpandable.indentSize !== 'number') {\n mergedExpandable.indentSize = typeof indentSize === 'number' ? indentSize : 15;\n }\n // ============================ Render ============================\n const transformColumns = React.useCallback(innerColumns => transformTitleColumns(transformSelectionColumns(transformFilterColumns(transformSorterColumns(innerColumns)))), [transformSorterColumns, transformFilterColumns, transformSelectionColumns]);\n const getPaginationNodes = () => {\n if (pagination === false || !(mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total)) {\n return {};\n }\n const getPaginationSize = () => mergedPagination.size || (mergedSize === 'small' || mergedSize === 'middle' ? 'small' : undefined);\n const renderPagination = position => {\n const align = position === 'left' ? 'start' : position === 'right' ? 'end' : position;\n return /*#__PURE__*/React.createElement(Pagination, Object.assign({}, mergedPagination, {\n align: mergedPagination.align || align,\n className: classNames(`${prefixCls}-pagination`, mergedPagination.className),\n size: getPaginationSize()\n }));\n };\n const defaultPosition = direction === 'rtl' ? 'left' : 'right';\n const positions = mergedPagination.position;\n if (positions === null || !Array.isArray(positions)) {\n return {\n bottom: renderPagination(defaultPosition)\n };\n }\n const topPosition = positions.find(pos => typeof pos === 'string' && pos.toLowerCase().includes('top'));\n const bottomPosition = positions.find(pos => typeof pos === 'string' && pos.toLowerCase().includes('bottom'));\n const isNone = positions.every(pos => `${pos}` === 'none');\n const topAlign = topPosition ? topPosition.toLowerCase().replace('top', '') : '';\n const bottomAlign = bottomPosition ? bottomPosition.toLowerCase().replace('bottom', '') : '';\n const shouldDefaultBottom = !topPosition && !bottomPosition && !isNone;\n const renderTop = () => topAlign ? renderPagination(topAlign) : undefined;\n const renderBottom = () => {\n if (bottomAlign) {\n return renderPagination(bottomAlign);\n }\n if (shouldDefaultBottom) {\n return renderPagination(defaultPosition);\n }\n return undefined;\n };\n return {\n top: renderTop(),\n bottom: renderBottom()\n };\n };\n // >>>>>>>>> Spinning\n const spinProps = React.useMemo(() => {\n if (typeof loading === 'boolean') {\n return {\n spinning: loading\n };\n } else if (typeof loading === 'object' && loading !== null) {\n return Object.assign({\n spinning: true\n }, loading);\n } else {\n return undefined;\n }\n }, [loading]);\n const wrapperClassNames = classNames(cssVarCls, rootCls, `${prefixCls}-wrapper`, table === null || table === void 0 ? void 0 : table.className, {\n [`${prefixCls}-wrapper-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n const mergedStyle = Object.assign(Object.assign({}, table === null || table === void 0 ? void 0 : table.style), style);\n // ========== empty ==========\n const mergedEmptyNode = React.useMemo(() => {\n // When dataSource is null/undefined (detected by reference equality with EMPTY_LIST),\n // and the table is in a loading state, we only show the loading spinner without the empty placeholder.\n // For empty arrays (datasource={[]}), both loading and empty states would normally be shown.\n // discussion https://github.com/ant-design/ant-design/issues/54601#issuecomment-3158091383\n if ((spinProps === null || spinProps === void 0 ? void 0 : spinProps.spinning) && rawData === EMPTY_LIST) {\n return null;\n }\n if (typeof (locale === null || locale === void 0 ? void 0 : locale.emptyText) !== 'undefined') {\n return locale.emptyText;\n }\n return (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"Table\"\n });\n }, [spinProps === null || spinProps === void 0 ? void 0 : spinProps.spinning, rawData, locale === null || locale === void 0 ? void 0 : locale.emptyText, renderEmpty]);\n // ========================== Render ==========================\n const TableComponent = virtual ? RcVirtualTable : RcTable;\n // >>> Virtual Table props. We set height here since it will affect height collection\n const virtualProps = {};\n const listItemHeight = React.useMemo(() => {\n const {\n fontSize,\n lineHeight,\n lineWidth,\n padding,\n paddingXS,\n paddingSM\n } = token;\n const fontHeight = Math.floor(fontSize * lineHeight);\n switch (mergedSize) {\n case 'middle':\n return paddingSM * 2 + fontHeight + lineWidth;\n case 'small':\n return paddingXS * 2 + fontHeight + lineWidth;\n default:\n return padding * 2 + fontHeight + lineWidth;\n }\n }, [token, mergedSize]);\n if (virtual) {\n virtualProps.listItemHeight = listItemHeight;\n }\n const {\n top: topPaginationNode,\n bottom: bottomPaginationNode\n } = getPaginationNodes();\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n ref: rootRef,\n className: wrapperClassNames,\n style: mergedStyle\n }, /*#__PURE__*/React.createElement(Spin, Object.assign({\n spinning: false\n }, spinProps), topPaginationNode, /*#__PURE__*/React.createElement(TableComponent, Object.assign({}, virtualProps, tableProps, {\n ref: tblRef,\n columns: mergedColumns,\n direction: direction,\n expandable: mergedExpandable,\n prefixCls: prefixCls,\n className: classNames({\n [`${prefixCls}-middle`]: mergedSize === 'middle',\n [`${prefixCls}-small`]: mergedSize === 'small',\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-empty`]: rawData.length === 0\n }, cssVarCls, rootCls, hashId),\n data: pageData,\n rowKey: getRowKey,\n rowClassName: internalRowClassName,\n emptyText: mergedEmptyNode,\n // Internal\n internalHooks: INTERNAL_HOOKS,\n internalRefs: internalRefs,\n transformColumns: transformColumns,\n getContainerWidth: getContainerWidth,\n measureRowRender: measureRow => (/*#__PURE__*/React.createElement(ConfigProvider, {\n getPopupContainer: node => node\n }, measureRow))\n })), bottomPaginationNode)));\n};\nexport default /*#__PURE__*/React.forwardRef(InternalTable);","\"use client\";\n\nimport * as React from 'react';\nimport { EXPAND_COLUMN, Summary } from 'rc-table';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport { SELECTION_ALL, SELECTION_COLUMN, SELECTION_INVERT, SELECTION_NONE } from './hooks/useSelection';\nimport InternalTable from './InternalTable';\nconst Table = (props, ref) => {\n const renderTimesRef = React.useRef(0);\n renderTimesRef.current += 1;\n return /*#__PURE__*/React.createElement(InternalTable, Object.assign({}, props, {\n ref: ref,\n _renderTimes: renderTimesRef.current\n }));\n};\nconst ForwardTable = /*#__PURE__*/React.forwardRef(Table);\nForwardTable.SELECTION_COLUMN = SELECTION_COLUMN;\nForwardTable.EXPAND_COLUMN = EXPAND_COLUMN;\nForwardTable.SELECTION_ALL = SELECTION_ALL;\nForwardTable.SELECTION_INVERT = SELECTION_INVERT;\nForwardTable.SELECTION_NONE = SELECTION_NONE;\nForwardTable.Column = Column;\nForwardTable.ColumnGroup = ColumnGroup;\nForwardTable.Summary = Summary;\nif (process.env.NODE_ENV !== 'production') {\n ForwardTable.displayName = 'Table';\n}\nexport default ForwardTable;","import { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { message } from 'antd';\nimport { ApiError, handleApiError } from '../services/api';\nimport { translateErrorCode } from '../utils/errorCodeTranslator';\n\n/**\n * Hook for unified error handling\n */\nexport function useErrorHandler() {\n const { t } = useTranslation();\n\n const resolveErrorMessage = useCallback(\n (apiError: ApiError, customMessage?: string) => {\n if (customMessage) {\n return customMessage;\n }\n\n const translatedMessage = translateErrorCode(\n apiError.code,\n t,\n apiError.params,\n apiError.message\n );\n\n if (translatedMessage) {\n return translatedMessage;\n }\n\n return apiError.message || t('common.error.unknown');\n },\n [t]\n );\n\n const handleError = useCallback(\n (error: unknown, customMessage?: string) => {\n const apiError = error instanceof ApiError ? error : handleApiError(error);\n const errorMessage = resolveErrorMessage(apiError, customMessage);\n\n message.error(errorMessage);\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[PixivFlow] API Error:', apiError);\n }\n\n return apiError;\n },\n [resolveErrorMessage]\n );\n\n const handleSuccess = useCallback((msg: string) => {\n message.success(msg);\n }, []);\n\n const handleWarning = useCallback((msg: string) => {\n message.warning(msg);\n }, []);\n\n const handleInfo = useCallback((msg: string) => {\n message.info(msg);\n }, []);\n\n return {\n handleError,\n handleSuccess,\n handleWarning,\n handleInfo,\n };\n}\n\n"],"names":["isWindow","obj","getScroll","target","_a","_b","result","easeInOutCubic","t","b","c","d","cc","scrollTo","y","options","getContainer","callback","duration","container","scrollTop","startTime","frameFunc","time","nextScrollTop","raf","useMultipleSelect","getKey","prevSelectedIndex","setPrevSelectedIndex","useState","useCallback","currentSelectedIndex","data","selectedKeys","configPrevSelectedIndex","startIndex","endIndex","rangeKeys","shouldSelected","rangeKey","changedKeys","item","fillProxy","element","handler","key","ori","useProxyImperativeHandle","ref","init","useImperativeHandle","refObj","nativeElement","prop","useSyncState","initialValue","React.useRef","forceUpdate","useForceUpdate","newValue","isPrimitive","value","genStatusStyle","token","componentCls","menuCls","colorError","colorTextLightSolid","itemCls","genBaseStyle","zIndexPopup","dropdownArrowDistance","sizePopupArrow","antCls","iconCls","motionDurationMid","paddingBlock","fontSize","dropdownEdgeChildPadding","colorTextDisabled","fontSizeIcon","controlPaddingHorizontal","colorBgElevated","slideUpIn","slideDownIn","slideUpOut","slideDownOut","getArrowStyle","resetComponent","genFocusStyle","unit","initSlideMotion","initMoveMotion","initZoomMotion","prepareComponentToken","getArrowOffsetToken","getArrowToken","useStyle$3","genStyleHooks","marginXXS","paddingXXS","dropdownToken","mergeToken","Dropdown","props","menu","arrow","customizePrefixCls","children","trigger","disabled","dropdownRender","popupRender","getPopupContainer","overlayClassName","rootClassName","overlayStyle","open","onOpenChange","visible","onVisibleChange","mouseEnterDelay","mouseLeaveDelay","autoAdjustOverflow","placement","overlay","transitionName","destroyOnHidden","destroyPopupOnHide","getContextPopupContainer","getPrefixCls","direction","dropdown","React.useContext","ConfigContext","mergedPopupRender","devUseWarning","memoTransitionName","React.useMemo","rootPrefixCls","memoPlacement","prefixCls","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useStyle","useToken","child","React.Children","React.createElement","popupTrigger","cloneElement","classNames","triggerActions","alignPoint","mergedOpen","setOpen","useMergedState","onInnerOpenChange","useEvent","nextOpen","overlayClassNameCustomized","builtinPlacements","getPlacements","onMenuClick","renderOverlay","overlayNode","Menu","OverrideProvider","LeftOutlined","RightOutlined","mode","zIndex","contextZIndex","useZIndex","renderNode","RcDropdown","omit","zIndexContext","PurePanel","genPurePanel","WrapPurePanel","getEntity","keyEntities","_excluded","getPosition","level","index","isTreeNode","node","pos","fillFieldNames","fieldNames","_ref","title","_title","mergedTitle","convertTreeToData","rootNodes","dig","treeNodes","toArray","treeNode","warning","_treeNode$props","rest","_objectWithoutProperties","dataNode","_objectSpread","parsedChildren","flattenTreeData","treeNodeList","expandedKeys","_fillFieldNames","fieldTitles","fieldKey","fieldChildren","expandedKeySet","flattenList","list","parent","mergedKey","i","fieldTitle","flattenNode","_toConsumableArray","traverseDataNodes","dataNodes","config","mergedConfig","_typeof","_mergedConfig","childrenPropName","externalGetKey","_fillFieldNames2","mergeChildrenPropName","syntheticGetKey","processNode","pathNodes","connectNodes","_data","subNode","subIndex","convertDataToEntities","_ref2","initWrapper","processEntity","onProcessFinished","legacyExternalGetKey","mergedExternalGetKey","posEntities","wrapper","parentPos","nodes","entity","getTreeNodeProps","_ref3","loadedKeys","loadingKeys","checkedKeys","halfCheckedKeys","dragOverNodeKey","dropPosition","treeNodeProps","convertNodePropsToEventData","expanded","selected","checked","loaded","loading","halfChecked","dragOver","dragOverGapTop","dragOverGapBottom","active","eventKey","eventData","removeFromCheckedKeys","filteredKeys","isCheckDisabled","disableCheckbox","checkable","fillConductCheck","keys","levelEntities","maxLevel","syntheticGetCheckDisabled","entities","_entity$children","childEntity","visitedKeys","_level","_entities","allChecked","partialChecked","cleanConductCheck","halfKeys","_entity$children2","_level2","_entities2","conductCheck","keyList","getCheckDisabled","warningMissKeys","hasEntity","levelSet","genCheckboxStyle","checkboxCls","wrapperCls","genFocusOutline","getStyle","checkboxToken","useStyle$2","GroupContext","React","__rest","s","e","p","InternalCheckbox","className","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","restProps","checkbox","checkboxGroup","isFormItemInput","FormItemInputContext","contextDisabled","DisabledContext","mergedDisabled","prevValue","checkboxRef","mergedRef","composeRef","React.useEffect","checkboxProps","args","classString","checkboxClass","TARGET_CLS","onLabelClick","onInputClick","useBubbleLock","Wave","RcCheckbox","Checkbox","React.forwardRef","CheckboxGroup","defaultValue","onChange","setValue","React.useState","registeredValues","setRegisteredValues","memoizedOptions","option","cancelValue","val","prevValues","v","registerValue","toggleOption","optionIndex","a","indexA","opt","indexB","groupPrefixCls","domProps","childrenNode","memoizedContext","Group","DropdownButton","type","danger","onClick","htmlType","autoFocus","align","href","icon","EllipsisOutlined","buttonsRender","buttons","buttonPrefixCls","dropdownProps","compactSize","compactItemClassnames","useCompactItemContext","classes","leftButton","Button","rightButton","leftButtonToRender","rightButtonToRender","Space","InternalDropdown","addEventListenerWrap","eventType","cb","ReactDOM","EXPAND_COLUMN","INTERNAL_HOOKS","createContext","Context","React.createContext","Provider","valueRef","_React$useState","_React$useState2","_slicedToArray","context","useLayoutEffect","unstable_batchedUpdates","listener","useContext","holder","selector","eventSelector","ctx","listeners","getValue","_React$useState3","_React$useState4","nextValue","nextSelectorValue","isEqual","createImmutable","ImmutableContext","useImmutableMark","makeImmutable","Component","shouldTriggerRender","refAble","supportRef","ImmutableComponent","refProps","renderTimesRef","prevProps","mark","_extends","responseImmutable","propsAreEqual","React.memo","_createImmutable","TableContext","PerfContext","INTERNAL_KEY_PREFIX","arr","getColumnsKey","columns","columnKeys","column","dataIndex","validateValue","validNumberValue","isRenderCell","React.isValidElement","useCellRender","record","renderIndex","render","shouldCellUpdate","perfRecord","retData","useMemo","path","returnChildNode","returnCellProps","renderData","prev","next","_prev","prevRecord","_next","nextRecord","inHoverRange","cellStartRow","cellRowSpan","startRow","endRow","cellEndRow","useHoverState","rowIndex","rowSpan","hovering","getTitleFromCellRenderChildren","ellipsis","rowType","ellipsisConfig","Cell","_legacyCellProps$colS","_ref4","_ref5","_legacyCellProps$rowS","_additionalProps$titl","_classNames","scope","colSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_props$additionalProp","additionalProps","isSticky","cellPrefixCls","_useContext","supportSticky","allColumnsFixedLeft","rowHoverable","_useCellRender","_useCellRender2","childNode","legacyCellProps","fixedStyle","isFixLeft","isFixRight","mergedColSpan","mergedRowSpan","_useHoverState","_useHoverState2","onHover","event","_additionalProps$onMo","_additionalProps$onMo2","mergedClassName","_defineProperty","alignStyle","mergedStyle","mergedChildNode","Cell$1","getCellFixedInfo","colStart","colEnd","stickyOffsets","startColumn","endColumn","nextColumn","prevColumn","canLastFix","col","prevFixLeft","nextFixRight","nextFixLeft","prevFixRight","SummaryContext","SummaryCell","_ref$colSpan","_React$useContext","scrollColumnIndex","flattenColumns","lastIndex","fixedInfo","FooterRow","Summary","Row","Footer","lastColumnIndex","scrollColumn","summaryContext","Footer$1","FooterComponents","Column","_","ColumnGroup","fillRecords","indent","childrenColumnName","getRowKey","useFlattenRecords","useRowInfo","rowKey","recordIndex","expandableType","onTriggerExpand","rowExpandable","onRow","expandRowByClick","rowClassName","nestExpandable","rowSupportExpand","mergedExpandable","hasNestChildren","onInternalTriggerExpand","rowProps","onRowClick","_len","_key","computeRowClassName","columnsKey","ExpandedRow","cellComponent","isEmpty","_props$stickyOffset","stickyOffset","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","renderExpandIcon","onExpand","expandable","expandClassName","findAllChildrenKeys","computedExpandedClassName","cls","getCellProps","rowInfo","colIndex","_column$onCell","rowKeys","expandedRowOffset","fixedInfoList","expandIconColumnIndex","indentSize","expandIcon","appendCellNode","React.Fragment","additionalCellProps","_additionalCellProps$","currentRowSpan","BodyRow","_props$indent","RowComponent","scopeCellComponent","expandedRowInfo","expandedRowClassName","expandedRowRender","expandedRef","expandedClsName","baseRowNode","columnClassName","_getCellProps","expandRowNode","expandContent","BodyRow$1","MeasureCell","columnKey","onColumnResize","cellRef","ResizeObserver","MeasureRow","measureRowRender","measureRow","infoList","isVisible","size","rawTitle","titleForMeasure","React.cloneElement","Body","measureColumnWidth","getComponent","emptyNode","_useContext$expandedR","colWidths","flattenData","perfRef","expandedColSpan","expandedStickyStart","WrapperComponent","trComponent","tdComponent","thComponent","rows","idx","Body$1","INTERNAL_COL_DEFINE","getExpandableProps","legacyExpandableConfig","ColGroup","columCount","tableLayout","cols","len","mustInsert","width","minWidth","restAdditionalProps","useColumnWidth","cloneColumns","FixedHolder","noData","colGroup","stickyTopOffset","stickyBottomOffset","stickyClassName","scrollX","_props$tableLayout","onScroll","TableComponent","combinationScrollBarSize","scrollRef","setScrollRef","React.useCallback","fillRef","onWheel","currentTarget","deltaX","scrollEle","lastColumn","ScrollBarColumn","columnsWithScrollbar","flattenColumnsWithScrollbar","headerStickyOffsets","right","left","mergedColumnWidth","isColGroupEmpty","noWidth","w","FixedHolder$1","HeaderRow","cells","CellComponent","onHeaderRow","cell","cellIndex","parseHeaderRows","rootColumns","fillRowCells","currentColIndex","colSpans","subColumns","total","count","rowCount","_loop","Header","row","rowNode","Header$1","parseColWidth","totalWidth","useWidthColumns","scrollWidth","clientWidth","missWidthCount","colWidth","maxFitWidth","restWidth","restCount","avgWidth","realTotal","filledColumns","clone","colAvgWidth","scale","_excluded2","convertChildrenToColumns","nodeChildren","filterHiddenColumns","flatColumns","parentKey","fixed","parsedFixed","subColum","_subColum$fixed","revertForRtl","useColumns","transformColumns","columnTitle","_ref2$expandedRowOffs","columnWidth","baseColumns","newColumns","withExpandColumns","expandColIndex","insertIndex","expandColumnIndex","fixedColumn","expandColumn","recordExpandable","mergedColumns","finalColumns","hasGapFixed","lastLeftIndex","colFixed","_i","_colFixed","firstRightIndex","_i2","_colFixed2","_useWidthColumns","_useWidthColumns2","realScrollWidth","useExpand","mergedData","expandableConfig","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","onExpandedRowsChange","mergedExpandIcon","mergedChildrenColumnName","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","hasKey","useFixedInfo","useLayoutState","defaultState","stateRef","useRef","_useState","_useState2","lastPromiseRef","updateBatchRef","setFrameState","updater","promise","prevBatch","prevState","batchUpdater","useEffect","useTimeoutLock","frameRef","timeoutRef","cleanUp","setState","newState","getState","useHover","setStartRow","setEndRow","start","end","defaultContainer","canUseDom","useSticky","sticky","_ref$offsetHeader","offsetHeader","_ref$offsetSummary","offsetSummary","_ref$offsetScroll","offsetScroll","_ref$getContainer","useStickyOffsets","columnCount","getOffsets","offset","offsets","startOffsets","endOffsets","Panel","getOffset","getDOM","box","docElem","StickyScrollBar","_scrollBodyRef$curren","_scrollBodyRef$curren2","scrollBodyRef","bodyScrollWidth","bodyWidth","scrollBarWidth","scrollBarRef","_useLayoutState","_useLayoutState2","scrollState","setScrollState","refState","isActive","setActive","rafRef","onMouseUp","onMouseDown","onMouseMove","_window","isRTL","shouldScroll","checkScrollBarVisible","tableOffsetTop","tableBottomOffset","currentClientOffset","state","getScrollBarSize","setScrollLeft","React.useImperativeHandle","onMouseUpListener","addEventListener","onMouseMoveListener","scrollParents","bodyNode","StickyScrollBar$1","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","Table","tableProps","scroll","footer","summary","caption","id","showHeader","components","emptyText","internalHooks","internalRefs","tailor","getContainerWidth","_props$rowHoverable","hasData","useInternalHooks","defaultComponent","customizeScrollBody","_useHover","_useHover2","_useExpand","_useExpand2","setComponentWidth","_useColumns","_useColumns2","flattenScrollX","mergedScrollX","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","_scrollBodyRef$curren3","top","scrollSummaryRef","pingedLeft","setPingedLeft","_React$useState5","_React$useState6","pingedRight","setPingedRight","_React$useState7","_React$useState8","colsWidths","updateColsWidths","colsKeys","pureColWidths","stickyRef","_useSticky","summaryNode","fixFooter","scrollXStyle","scrollYStyle","scrollTableStyle","widths","newWidths","_useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","scrollLeft","onInternalScroll","mergedScrollLeft","compareTarget","_stickyRef$current","measureTarget","onBodyScroll","triggerOnScroll","_scrollBodyRef$curren4","onFullTableResize","_stickyRef$current2","mergedWidth","mounted","_React$useState9","_React$useState10","setScrollbarSize","_React$useState11","_React$useState12","setSupportSticky","getTargetScrollBarSize","isStyleSupport","renderFixedHeaderTable","fixedHolderPassProps","renderFixedFooterTable","mergedTableLayout","groupTableNode","headerProps","bodyTable","bodyColGroup","captionElement","dataProps","pickAttrs","ariaProps","bodyContent","_ref6","fixedHolderProps","fullTable","TableContextValue","RefTable","genTable","ImmutableTable","StaticContext","GridContext","getColumnWidth","columnsOffset","VirtualCell","component","inverse","getHeight","cellStyle","_additionalCellProps$2","startColIndex","concatColWidth","marginOffset","needHide","mergedRender","cellSpan","BodyLine","extra","_useContext2","rowCellCls","rowStyle","ResponseBodyLine","Grid","scrollY","listItemHeight","onTablePropScroll","listRef","columnsWidth","finalWidth","_listRef$current2","_listRef$current","_listRef$current3","_listRef$current4","_listRef$current5","_listRef$current6","getRowSpan","_flattenData$index","onCell","_cellProps$rowSpan","cellProps","extraRender","info","getSize","offsetY","firstRowSpanColumns","lastRowSpanColumns","_loop2","spanLines","_loop3","endItemIndex","endItemKey","sizeInfo","gridContext","tblPrefixCls","wrapperComponent","horizontalScrollBarStyle","VirtualList","_listRef$current7","x","itemProps","ResponseGrid","renderBody","rawData","VirtualTable","_props$prefixCls","RefVirtualTable","genVirtualTable","TreeContext","UnstableContext","Indent","isStart","isEnd","baseClassName","Indent$1","ICON_OPEN","ICON_CLOSE","defaultTitle","TreeNode","_unstableContext$node","_context$filterTreeNo","_classNames4","isLeaf","domRef","selectable","otherProps","unstableContext","selectHandleRef","dragNodeHighlight","setDragNodeHighlight","isDisabled","isCheckable","onSelect","onCheck","isSelectable","onSelectorClick","onSelectorDoubleClick","onContextMenu","isDraggable","onDragStart","onDragEnter","onDragOver","onDragLeave","onDragEnd","onDrop","hasChildren","memoizedIsLeaf","dragHandlerNode","_context$draggable","renderSwitcherIconDom","isInternalLeaf","switcherIcon","renderSwitcher","_switcherIconDom","switcherIconDom","checkboxNode","$custom","nodeState","iconNode","dropIndicatorNode","rootDraggable","showIndicator","selectorNode","_props$title","wrapClass","$icon","currentIcon","titleNode","dataOrAriaAttributeProps","isEndNode","draggableWithoutDisabled","dragging","ariaSelected","arrDel","arrAdd","posToArr","getDragChildrenKeys","dragNodeKey","dragChildrenKeys","isLastChild","treeNodeEntity","posArr","isFirstChild","calcDropPosition","dragNodeProps","targetNodeProps","startMousePosition","allowDrop","flattenedNodes","expandKeys","_abstractDropNodeEnti","clientX","clientY","_getBoundingClientRec","height","horizontalMouseOffset","rawDropLevelOffset","filteredExpandKeys","_keyEntities$key","abstractDropNodeEntity","nodeIndex","flattenedNode","prevNodeIndex","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","dropLevelOffset","abstractDragDataNode","abstractDropDataNode","dropAllowed","calcSelectedKeys","multiple","parseCheckedKeys","keyProps","conductExpandParent","conductUp","SELECTION_COLUMN","SELECTION_ALL","SELECTION_INVERT","SELECTION_NONE","EMPTY_LIST","useSelection","rowSelection","preserveSelectedRowKeys","selectedRowKeys","defaultSelectedRowKeys","getCheckboxProps","getTitleCheckboxProps","onSelectionChange","onSelectAll","onSelectInvert","onSelectNone","onSelectMultiple","selectionColWidth","selectionType","selections","customizeRenderCell","hideSelectAll","checkStrictly","pageData","getRecordByKey","expandType","tableLocale","multipleSelect","updatePrevSelectedIndex","mergedSelectedKeys","setMergedSelectedKeys","preserveRecordsRef","updatePreserveRecordsCache","newCache","flattedData","convertData","keysSet","preserveRecords","checkboxPropsMap","map","isCheckboxDisabled","r","derivedSelectedKeys","derivedHalfSelectedKeys","derivedSelectedKeySet","derivedHalfSelectedKeySet","setSelectedKeys","method","availableKeys","records","triggerSingleSelection","k","mergedSelections","selection","checkProps","keySet","_a2","recordKeys","checkedCurrentAll","checkedCurrentSome","onSelectAllChange","changeKeys","columnTitleCheckbox","customizeSelections","text","onSelectionClick","DownOutlined","allDisabledData","allDisabled","allDisabledAndChecked","allDisabledSomeChecked","customCheckboxProps","renderCell","Radio","mergedIndeterminate","nativeEvent","shiftKey","isMultiple","recordKey","originCheckedKeys","nextCheckedKeys","tempKeySet","renderSelectionCell","restColumns","selectionColumnIndex","prevCol","nextCol","mergedFixed","columnCls","renderColumnTitle","selectionColumn","locale","iconPrefix","useContainerWidth","ele","returnWidth","borderLeft","borderRight","getColumnKey","defaultKey","getColumnPos","safeColumnTitle","res","FilterFilled","AntdIcon","FilterFilledSvg","RefIcon","DropIndicator","_objectDestructuringEmpty","useUnmount","triggerStart","triggerEnd","firstMount","setFirstMount","MotionTreeNode","oriProps","motion","motionNodes","motionType","onOriginMotionStart","onOriginMotionEnd","treeNodeRequiredProps","setVisible","targetVisible","triggerMotionStart","triggerMotionEndRef","triggerMotionEnd","onVisibleChanged","nextVisible","CSSMotion","motionRef","motionClassName","motionStyle","findExpandedKeys","prevLen","nextLen","find","shorter","longer","cache","getExpandRange","shorterStartIndex","shorterEndNode","longerStartIndex","longerEndIndex","HIDDEN_STYLE","noop","MOTION_KEY","MotionNode","MotionEntity","MotionFlattenData","getMinimumRangeTransitionRange","virtual","itemHeight","itemKey","getAccessibilityPath","current","NodeList","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd","indentMeasurerRef","prevExpandedKeys","setPrevExpandedKeys","prevData","setPrevData","transitionData","setTransitionData","transitionRange","setTransitionRange","setMotionType","dataRef","onMotionEnd","latestData","diffExpanded","keyIndex","rangeNodes","newTransitionData","_keyIndex","_rangeNodes","_newTransitionData","originList","MAX_RETRY_TIMES","Tree","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_args","_assertThisInitialized","React.createRef","nodeProps","_this$state","_this$state2","flattenNodes","_this$props","_calcDropPosition","dropTargetKey","dropContainerKey","dropTargetPos","_this$state3","_this$props2","_calcDropPosition2","_this$getActiveItem","outsideTree","_this$state4","abstractDropNodeProps","dropToChild","dropResult","draggingNodeKey","_this$state5","nodeItem","eventNode","_this$props3","expandAction","_this$props4","onDoubleClick","_this$state6","_this$props5","targetSelected","selectedNodes","selectedKey","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","_this$props6","checkedObj","eventObj","checkedKey","_conductCheck","_checkedKeys","_halfCheckedKeys","_conductCheck2","loadPromise","resolve","reject","_ref$loadedKeys","_ref$loadingKeys","_this$props7","loadData","onLoad","currentLoadedKeys","newLoadedKeys","onRightClick","_len2","_key2","_len3","_key3","_this$state8","_this$state9","treeData","_this$state10","listChanging","_this$props8","certain","targetExpanded","newFlattenTreeData","currentExpandedKeys","expandedKeysToRestore","newActiveKey","activeKey","_this$props9","_this$props9$itemScro","itemScrollOffset","_this$state11","_this$state12","_key4","_this$state13","_this$props10","KeyCode","atomic","forceState","needSync","allPassed","name","_createClass","_this$props11","_this$props11$itemScr","_this$state14","_this$props12","showLine","_this$props12$tabInde","showIcon","draggable","filterTreeNode","titleRender","dropIndicatorRender","rootStyle","draggableConfig","contextValue","entitiesMap","cloneKeyEntities","nextExpandedKeys","checkedKeyEntity","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","React.Component","FileOutlined","FileOutlinedSvg","FolderOpenOutlined","FolderOpenOutlinedSvg","HolderOutlined","HolderOutlinedSvg","genDirectoryStyle","treeCls","treeNodeCls","directoryNodeSelectedBg","directoryNodeSelectedColor","borderRadius","controlItemBgHover","treeNodeFX","Keyframes","getSwitchStyle","getDropIndicatorStyle","treeNodePadding","titleHeight","nodeSelectedBg","nodeHoverBg","colorTextQuaternary","controlItemBgActiveDisabled","genTreeStyle","enableDirectory","treeToken","initComponentToken","controlHeightSM","controlItemBgActive","colorPrimary","useStyle$1","getCheckboxStyle","genCollapseMotion","startPosition","endPosition","CaretDownFilled","CaretDownFilledSvg","MinusSquareOutlined","MinusSquareOutlinedSvg","PlusSquareOutlined","PlusSquareOutlinedSvg","SwitcherIconCom","switcherLoadingIcon","LoadingOutlined","showLeafIcon","leafIcon","leafCls","switcherCls","switcher","tree","blockNode","customMotion","initCollapseMotion","newProps","mergedDraggable","renderSwitcherIcon","RcTree","RECORD_NONE","RECORD_START","RECORD_END","traverseNodesKey","calcRangeKeys","startKey","endKey","matchKey","convertDirectoryKeysToNodes","restKeys","getIcon","FolderOutlined","getTreeData","DirectoryTree","defaultExpandAll","defaultExpandParent","defaultExpandedKeys","lastSelectedKey","cachedSelectedKeys","getInitExpandedKeys","initExpandedKeys","setExpandedKeys","newEvent","ctrlPick","shiftPick","newSelectedKeys","connectClassName","ForwardDirectoryTree","TreePure","FilterSearch","filterSearch","tablePrefixCls","Input","SearchOutlined","keyCode","FilterDropdownMenuWrapper","flattenKeys","filters","hasSubMenu","searchValueMatched","searchValue","renderFilterItems","filterMultiple","filter","wrapStringListType","FilterDropdown","_c","_d","dropdownPrefixCls","filterOnClose","filterMode","filterState","triggerFilter","filterResetToDefaultFilteredValue","defaultFilteredValue","filterDropdownProps","filterDropdownOpen","filterDropdownVisible","onFilterDropdownVisibleChange","onFilterDropdownOpenChange","filtered","triggerVisible","newVisible","mergedVisible","propFilteredKeys","getFilteredKeysSync","setFilteredKeysSync","onSelectKeys","openKeys","setOpenKeys","setSearchValue","onSearch","internalTriggerFilter","mergedKeys","onConfirm","onReset","confirm","closeDropdown","doFilter","dropdownMenuClass","onCheckAll","allFilterKeys","getFilterData","dropdownContent","renderEmpty","getFilterComponent","empty","Empty","items","getResetDisabled","mergedDropdownProps","extendsObject","filterIcon","collectFilterStates","filterStates","columnPos","filterDropdownIsDefined","filteredValues","injectFilter","newColumn","renderProps","generateFilterInfo","currentFilters","keyAsString","filterDropdown","originKey","currentData","onFilter","realKey","getMergedColumns","rawMergedColumns","useFilter","onFilterChange","setFilterStates","mergedFilterStates","collectedStates","filteredKeysIsAllNotControlled","newFilterStates","innerColumns","useLazyKVMap","mapCacheRef","kvMap","DEFAULT_PAGE_SIZE","getPaginationParam","mergedPagination","pagination","param","pageProp","usePagination","paginationTotal","paginationObj","innerPagination","setInnerPagination","maxPage","refreshPagination","pageSize","onInternalChange","CaretDownOutlined","CaretDownOutlinedSvg","CaretUpOutlined","CaretUpOutlinedSvg","ASCEND","DESCEND","getMultiplePriority","getSortFunction","sorter","nextSortDirection","sortDirections","collectSortStates","sortStates","pushState","injectSorter","sorterStates","triggerSorter","defaultSortDirections","tableShowSorterTooltip","showSorterTooltip","sorterState","sortOrder","nextSortOrder","upNode","downNode","cancelSort","triggerAsc","triggerDesc","sortTip","tooltipProps","columnSortersClass","renderColumnTitleWrapper","renderSortTitle","Tooltip","originOnClick","originOKeyDown","renderTitle","displayTitle","stateToInfo","generateSorterInfo","activeSorters","getSortData","innerSorterStates","cloneData","runningSorters","record1","record2","compareFn","compareResult","subRecords","useFilterSorter","onSorterChange","setSortStates","getColumnKeys","newKeys","childKeys","mergedSorterStates","validate","mergedColumnsKeys","validateStates","patchStates","multipleMode","columnTitleSorterProps","sortColumns","sortState","newSorterStates","fillTitle","columnTitleProps","cloneColumn","useTitleColumns","RcTable","prevRenderTimes","nextRenderTimes","RcVirtualTable","genBorderedStyle","lineWidth","lineType","tableBorderColor","tableHeaderBg","tablePaddingVertical","tablePaddingHorizontal","calc","tableBorder","getSizeBorderStyle","paddingVertical","paddingHorizontal","genEllipsisStyle","textEllipsis","genEmptyStyle","genExpandStyle","motionDurationSlow","paddingXS","tableExpandIconBg","tableExpandColumnWidth","tableExpandedRowBg","expandIconMarginTop","expandIconSize","expandIconHalfInner","expandIconScale","expandIconLineOffset","operationUnit","genFilterStyle","tableFilterDropdownWidth","tableFilterDropdownSearchWidth","colorText","headerIconColor","fontSizeSM","colorIcon","tableHeaderFilterActiveBg","tableFilterDropdownBg","tableFilterDropdownHeight","boxShadowSecondary","filterDropdownMenuBg","tableFilterDropdownPrefixCls","treePrefixCls","genFixedStyle","colorSplit","zIndexTableFixed","tableBg","zIndexTableSticky","shadowColor","genPaginationStyle","margin","genRadiusStyle","tableRadius","genStyle","genSelectionStyle","padding","headerIconHoverColor","tableSelectionColumnWidth","tableSelectedRowBg","tableSelectedRowHoverBg","tableRowHoverBg","genSizeStyle","getSizeStyle","genSorterStyle","genStickyStyle","opacityLoading","tableScrollThumbBg","tableScrollThumbBgHover","tableScrollThumbSize","tableScrollBg","stickyScrollBarBorderRadius","genSummaryStyle","genVirtualStyle","genTableStyle","fontWeightStrong","tableFontSize","tableHeaderTextColor","tableHeaderCellSplitColor","tableFooterTextColor","tableFooterBg","clearFix","colorFillAlter","colorBgContainer","colorTextHeading","colorFillSecondary","colorFillContent","controlItemBgActiveHover","paddingSM","colorBorderSecondary","borderRadiusLG","controlHeight","colorTextPlaceholder","lineHeight","colorIconHover","controlInteractiveSize","colorFillSecondarySolid","FastColor","colorFillContentSolid","colorFillAlterSolid","baseColorAction","baseColorActionHover","checkboxSize","headerBg","headerColor","headerSortActiveBg","headerSortHoverBg","bodySortBg","rowHoverBg","rowSelectedBg","rowSelectedHoverBg","rowExpandedBg","cellPaddingBlock","cellPaddingInline","cellPaddingBlockMD","cellPaddingInlineMD","cellPaddingBlockSM","cellPaddingInlineSM","borderColor","footerBg","footerColor","headerBorderRadius","cellFontSize","cellFontSizeMD","cellFontSizeSM","headerSplitColor","fixedHeaderSortActiveBg","headerFilterHoverBg","filterDropdownBg","expandIconBg","selectionColumnWidth","stickyScrollBarBg","tableToken","genRtlStyle","InternalTable","customizeSize","bordered","customizeDropdownPrefixCls","dataSource","legacyChildrenColumnName","needResponsive","screens","useBreakpoint","matched","m","contextLocale","defaultLocale","table","mergedSize","useSize","rootRef","tblRef","changeEventInfo","triggerOnChange","action","reset","changeInfo","transformSorterColumns","sorterTitleProps","getSorters","useSorter","sortedData","transformFilterColumns","mergedFilters","filterKey","transformTitleColumns","onPaginationChange","resetPagination","transformSelectionColumns","selectedKeySet","internalRowClassName","mergedRowClassName","getPaginationNodes","getPaginationSize","renderPagination","position","Pagination","defaultPosition","positions","topPosition","bottomPosition","isNone","topAlign","bottomAlign","shouldDefaultBottom","renderTop","renderBottom","spinProps","wrapperClassNames","mergedEmptyNode","DefaultRenderEmpty","virtualProps","fontHeight","topPaginationNode","bottomPaginationNode","Spin","ConfigProvider","InternalTable$1","ForwardTable","useErrorHandler","useTranslation","resolveErrorMessage","apiError","customMessage","translatedMessage","translateErrorCode","handleError","error","ApiError","handleApiError","errorMessage","message","handleSuccess","msg","handleWarning","handleInfo"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138]}