@dtjoy/dt-design 1.1.1 → 1.1.5

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 (623) hide show
  1. package/README.md +44 -24
  2. package/dist/dt-design.min.css +1 -0
  3. package/dist/dt-design.min.js +1 -0
  4. package/es/_util/context/createContextSelector.d.ts +28 -0
  5. package/es/_util/context/createContextSelector.js +110 -0
  6. package/es/_util/context/immutable.d.ts +10 -0
  7. package/es/_util/context/immutable.js +84 -0
  8. package/es/_util/context/index.d.ts +3 -0
  9. package/es/_util/context/index.js +3 -0
  10. package/{esm → es}/_util/gapSize.d.ts +1 -1
  11. package/{esm → es}/_util/getScroll.js +1 -1
  12. package/es/_util/hooks/index.d.ts +11 -0
  13. package/es/_util/hooks/index.js +11 -0
  14. package/es/_util/hooks/useBreakpoint.d.ts +5 -0
  15. package/es/_util/hooks/useBreakpoint.js +75 -0
  16. package/es/_util/hooks/useCssVar.d.ts +3 -0
  17. package/es/_util/hooks/useCssVar.js +28 -0
  18. package/es/_util/hooks/useEvent.d.ts +1 -0
  19. package/es/_util/hooks/useEvent.js +1 -0
  20. package/es/_util/hooks/useLayoutEffect.d.ts +1 -0
  21. package/es/_util/hooks/useLayoutEffect.js +1 -0
  22. package/es/_util/hooks/useMultipleSelect.d.ts +2 -0
  23. package/es/_util/hooks/useMultipleSelect.js +37 -0
  24. package/es/_util/hooks/useProxyImperativeHandle.d.ts +4 -0
  25. package/{esm → es}/_util/hooks/useProxyImperativeHandle.js +10 -3
  26. package/es/_util/hooks/useTimeoutLock.d.ts +1 -0
  27. package/es/_util/hooks/useTimeoutLock.js +26 -0
  28. package/es/_util/index.d.ts +11 -0
  29. package/{esm → es}/_util/index.js +9 -1
  30. package/es/_util/is.d.ts +5 -0
  31. package/es/_util/is.js +16 -0
  32. package/es/_util/rcUtil.d.ts +17 -0
  33. package/es/_util/rcUtil.js +58 -0
  34. package/{esm → es}/_util/scrollTo.js +1 -1
  35. package/es/_util/scrollbar.d.ts +1 -0
  36. package/es/_util/scrollbar.js +32 -0
  37. package/{esm → es}/_util/type.d.ts +1 -0
  38. package/es/_util/validate.d.ts +2 -0
  39. package/es/_util/validate.js +10 -0
  40. package/{esm → es}/_util/warning.js +5 -6
  41. package/{lib/blockHeader → es/block-header}/index.d.ts +1 -1
  42. package/{esm/blockHeader → es/block-header}/index.js +1 -1
  43. package/{lib/blockHeader → es/block-header}/style/index.less +167 -143
  44. package/{esm → es}/button/index.d.ts +3 -3
  45. package/{esm → es}/button/index.js +16 -4
  46. package/{esm → es}/button/style/index.less +62 -59
  47. package/{esm → es}/button/style/mixin.less +40 -39
  48. package/{esm → es}/collapsible/index.js +3 -2
  49. package/{esm → es}/collapsible/style/index.less +24 -24
  50. package/{esm/collapsibleActionItems → es/collapsible-action-items}/index.d.ts +1 -1
  51. package/{esm/collapsibleActionItems → es/collapsible-action-items}/index.js +21 -19
  52. package/{lib/collapsibleActionItems → es/collapsible-action-items}/style/index.less +7 -7
  53. package/{lib → es}/flex/index.d.ts +2 -2
  54. package/{esm → es}/flex/index.js +3 -3
  55. package/{esm → es}/flex/style/index.less +80 -76
  56. package/{esm/formList → es/form-list}/index.d.ts +9 -0
  57. package/{esm/formList → es/form-list}/index.js +18 -8
  58. package/{lib/formList → es/form-list}/style/index.less +45 -45
  59. package/es/index.d.ts +26 -0
  60. package/es/index.js +21 -0
  61. package/{lib/overflowList → es/overflow-list}/index.d.ts +4 -1
  62. package/{esm/overflowList → es/overflow-list}/index.js +37 -9
  63. package/{esm/overflowList → es/overflow-list}/style/index.less +9 -9
  64. package/{lib/resizeObserver → es/resize-observer}/index.d.ts +1 -1
  65. package/{esm/resizeObserver → es/resize-observer}/index.js +8 -8
  66. package/{esm → es}/splitter/Panel.d.ts +1 -1
  67. package/{esm → es}/splitter/Panel.js +12 -4
  68. package/{esm → es}/splitter/SplitBar.d.ts +6 -2
  69. package/{esm → es}/splitter/SplitBar.js +82 -80
  70. package/{esm → es}/splitter/Splitter.js +52 -23
  71. package/{esm → es}/splitter/hooks/sizeUtil.js +1 -1
  72. package/es/splitter/hooks/useDragListeners.d.ts +14 -0
  73. package/es/splitter/hooks/useDragListeners.js +107 -0
  74. package/{esm → es}/splitter/hooks/useItems.d.ts +6 -0
  75. package/es/splitter/hooks/useOrientation.d.ts +2 -0
  76. package/es/splitter/hooks/useOrientation.js +6 -0
  77. package/{esm → es}/splitter/hooks/useResizable.d.ts +3 -0
  78. package/{esm → es}/splitter/hooks/useResizable.js +5 -2
  79. package/{esm → es}/splitter/hooks/useResize.d.ts +1 -1
  80. package/{esm → es}/splitter/hooks/useResize.js +10 -3
  81. package/{esm → es}/splitter/hooks/useSizes.js +5 -6
  82. package/{lib → es}/splitter/index.d.ts +2 -1
  83. package/es/splitter/interface.d.ts +45 -0
  84. package/es/splitter/style/index.less +349 -0
  85. package/{esm/statusTag → es/status-tag}/index.js +1 -1
  86. package/{esm/statusTag → es/status-tag}/style/index.less +70 -70
  87. package/{esm/statusTag → es/status-tag}/style/mixin.less +48 -39
  88. package/{esm → es}/style/index.less +1 -1
  89. package/es/style/themes/index.less +2 -0
  90. package/{esm → es}/style/themes/variable.less +5 -5
  91. package/es/table/Column.d.ts +2 -0
  92. package/es/table/Column.js +1 -0
  93. package/es/table/ColumnGroup.d.ts +2 -0
  94. package/es/table/ColumnGroup.js +1 -0
  95. package/es/table/InternalTable.d.ts +43 -0
  96. package/es/table/InternalTable.js +816 -0
  97. package/{lib → es}/table/Table.d.ts +7 -5
  98. package/{esm → es}/table/Table.js +6 -4
  99. package/es/table/components/Body/BodyRow.d.ts +37 -0
  100. package/es/table/components/Body/BodyRow.js +182 -0
  101. package/es/table/components/Body/ExpandedRow.d.ts +15 -0
  102. package/es/table/components/Body/ExpandedRow.js +51 -0
  103. package/es/table/components/Body/MeasureCell.d.ts +8 -0
  104. package/es/table/components/Body/MeasureCell.js +33 -0
  105. package/es/table/components/Body/MeasureRow.d.ts +10 -0
  106. package/es/table/components/Body/MeasureRow.js +54 -0
  107. package/es/table/components/Body/index.d.ts +11 -0
  108. package/es/table/components/Body/index.js +123 -0
  109. package/es/table/components/Cell/index.d.ts +39 -0
  110. package/es/table/components/Cell/index.js +196 -0
  111. package/es/table/components/Cell/useCellRender.d.ts +3 -0
  112. package/es/table/components/Cell/useCellRender.js +69 -0
  113. package/es/table/components/Cell/useHoverState.d.ts +2 -0
  114. package/es/table/components/Cell/useHoverState.js +13 -0
  115. package/es/table/components/ColGroup.d.ts +9 -0
  116. package/es/table/components/ColGroup.js +53 -0
  117. package/es/table/components/ExpandIcon.d.ts +12 -0
  118. package/es/table/components/ExpandIcon.js +27 -0
  119. package/es/table/components/FixedHolder/index.d.ts +27 -0
  120. package/es/table/components/FixedHolder/index.js +186 -0
  121. package/es/table/components/Footer/Cell.d.ts +11 -0
  122. package/es/table/components/Footer/Cell.js +47 -0
  123. package/es/table/components/Footer/Row.d.ts +8 -0
  124. package/es/table/components/Footer/Row.js +10 -0
  125. package/es/table/components/Footer/Summary.d.ts +14 -0
  126. package/es/table/components/Footer/Summary.js +12 -0
  127. package/es/table/components/Footer/SummaryContext.d.ts +11 -0
  128. package/es/table/components/Footer/SummaryContext.js +3 -0
  129. package/es/table/components/Footer/index.d.ts +16 -0
  130. package/es/table/components/Footer/index.js +31 -0
  131. package/es/table/components/Header/Header.d.ts +10 -0
  132. package/es/table/components/Header/Header.js +110 -0
  133. package/es/table/components/Header/HeaderRow.d.ts +19 -0
  134. package/es/table/components/Header/HeaderRow.js +63 -0
  135. package/es/table/components/Panel.d.ts +7 -0
  136. package/es/table/components/Panel.js +11 -0
  137. package/es/table/components/RcTable.d.ts +114 -0
  138. package/es/table/components/RcTable.js +757 -0
  139. package/es/table/components/VirtualTable.d.ts +5 -0
  140. package/{esm/table/RcTable → es/table/components}/VirtualTable.js +4 -1
  141. package/es/table/components/VirtualTableBody/BodyGrid.d.ts +13 -0
  142. package/es/table/components/VirtualTableBody/BodyGrid.js +307 -0
  143. package/es/table/components/VirtualTableBody/BodyLine.d.ts +14 -0
  144. package/es/table/components/VirtualTableBody/BodyLine.js +116 -0
  145. package/es/table/components/VirtualTableBody/VirtualCell.d.ts +26 -0
  146. package/es/table/components/VirtualTableBody/VirtualCell.js +118 -0
  147. package/es/table/components/VirtualTableBody/context.d.ts +13 -0
  148. package/es/table/components/VirtualTableBody/context.js +3 -0
  149. package/es/table/components/VirtualTableBody/index.d.ts +16 -0
  150. package/es/table/components/VirtualTableBody/index.js +102 -0
  151. package/es/table/constant.d.ts +2 -0
  152. package/es/table/constant.js +2 -0
  153. package/es/table/features/columns/Column.d.ts +7 -0
  154. package/es/table/features/columns/Column.js +4 -0
  155. package/es/table/features/columns/ColumnGroup.d.ts +9 -0
  156. package/es/table/features/columns/ColumnGroup.js +4 -0
  157. package/es/table/features/columns/index.d.ts +8 -0
  158. package/es/table/features/columns/index.js +6 -0
  159. package/es/table/features/columns/useColumns.d.ts +31 -0
  160. package/es/table/features/columns/useColumns.js +227 -0
  161. package/es/table/features/columns/useFilledColumns.d.ts +4 -0
  162. package/es/table/features/columns/useFilledColumns.js +34 -0
  163. package/es/table/features/columns/useTitleColumns.d.ts +4 -0
  164. package/es/table/features/columns/useTitleColumns.js +26 -0
  165. package/es/table/features/columns/useWidthColumns.d.ts +5 -0
  166. package/es/table/features/columns/useWidthColumns.js +75 -0
  167. package/es/table/features/editable/BatchEditModal.d.ts +4 -0
  168. package/es/table/features/editable/BatchEditModal.js +786 -0
  169. package/es/table/features/editable/EditableCell.d.ts +42 -0
  170. package/es/table/features/editable/EditableCell.js +294 -0
  171. package/es/table/features/editable/EditableContext.d.ts +33 -0
  172. package/es/table/features/editable/EditableContext.js +20 -0
  173. package/es/table/features/editable/batchEditTypes.d.ts +55 -0
  174. package/es/table/features/editable/batchEditTypes.js +1 -0
  175. package/es/table/features/editable/batchEditUtils.d.ts +44 -0
  176. package/es/table/features/editable/batchEditUtils.js +258 -0
  177. package/es/table/features/editable/builtinEditors.d.ts +32 -0
  178. package/es/table/features/editable/builtinEditors.js +165 -0
  179. package/es/table/features/editable/index.d.ts +11 -0
  180. package/es/table/features/editable/index.js +10 -0
  181. package/es/table/features/editable/useBatchRules.d.ts +17 -0
  182. package/es/table/features/editable/useBatchRules.js +96 -0
  183. package/es/table/features/editable/useEditable.d.ts +51 -0
  184. package/es/table/features/editable/useEditable.js +693 -0
  185. package/es/table/features/expand/expandUtil.d.ts +5 -0
  186. package/es/table/features/expand/expandUtil.js +47 -0
  187. package/es/table/features/expand/index.d.ts +2 -0
  188. package/es/table/features/expand/index.js +2 -0
  189. package/es/table/features/expand/useExpand.d.ts +10 -0
  190. package/es/table/features/expand/useExpand.js +90 -0
  191. package/es/table/features/filter/FilterDropdown.d.ts +31 -0
  192. package/es/table/features/filter/FilterDropdown.js +494 -0
  193. package/es/table/features/filter/FilterSearch.d.ts +12 -0
  194. package/es/table/features/filter/FilterSearch.js +24 -0
  195. package/es/table/features/filter/FilterWrapper.d.ts +8 -0
  196. package/es/table/features/filter/FilterWrapper.js +23 -0
  197. package/es/table/features/filter/index.d.ts +4 -0
  198. package/es/table/features/filter/index.js +4 -0
  199. package/es/table/features/filter/useFilter.d.ts +22 -0
  200. package/es/table/features/filter/useFilter.js +240 -0
  201. package/es/table/features/fixed/fixUtil.d.ts +21 -0
  202. package/es/table/features/fixed/fixUtil.js +69 -0
  203. package/es/table/features/fixed/index.d.ts +4 -0
  204. package/es/table/features/fixed/index.js +4 -0
  205. package/es/table/features/fixed/offsetUtil.d.ts +4 -0
  206. package/es/table/features/fixed/offsetUtil.js +13 -0
  207. package/es/table/features/fixed/useFixedInfo.d.ts +2 -0
  208. package/es/table/features/fixed/useFixedInfo.js +16 -0
  209. package/es/table/features/fixed/useStickyOffsets.d.ts +6 -0
  210. package/es/table/features/fixed/useStickyOffsets.js +29 -0
  211. package/es/table/features/hover/index.d.ts +1 -0
  212. package/es/table/features/hover/index.js +1 -0
  213. package/es/table/features/hover/useHover.d.ts +2 -0
  214. package/es/table/features/hover/useHover.js +22 -0
  215. package/es/table/features/pagination/index.d.ts +1 -0
  216. package/es/table/features/pagination/index.js +1 -0
  217. package/es/table/features/pagination/usePagination.d.ts +5 -0
  218. package/es/table/features/pagination/usePagination.js +89 -0
  219. package/es/table/features/resize/ResizeHandle.d.ts +22 -0
  220. package/es/table/features/resize/ResizeHandle.js +99 -0
  221. package/es/table/features/resize/index.d.ts +5 -0
  222. package/es/table/features/resize/index.js +3 -0
  223. package/es/table/features/resize/transformResizableColumns.d.ts +11 -0
  224. package/es/table/features/resize/transformResizableColumns.js +52 -0
  225. package/es/table/features/resize/useResize.d.ts +52 -0
  226. package/es/table/features/resize/useResize.js +586 -0
  227. package/es/table/features/selection/index.d.ts +1 -0
  228. package/es/table/features/selection/index.js +1 -0
  229. package/es/table/features/selection/useSelection.d.ts +20 -0
  230. package/es/table/features/selection/useSelection.js +579 -0
  231. package/es/table/features/sort/index.d.ts +1 -0
  232. package/es/table/features/sort/index.js +1 -0
  233. package/es/table/features/sort/useSorter.d.ts +21 -0
  234. package/es/table/features/sort/useSorter.js +372 -0
  235. package/es/table/features/sticky/index.d.ts +2 -0
  236. package/es/table/features/sticky/index.js +2 -0
  237. package/es/table/features/sticky/stickyScrollBar.d.ts +12 -0
  238. package/es/table/features/sticky/stickyScrollBar.js +203 -0
  239. package/es/table/features/sticky/useSticky.d.ts +10 -0
  240. package/es/table/features/sticky/useSticky.js +34 -0
  241. package/es/table/features/summary/index.d.ts +1 -0
  242. package/es/table/features/summary/index.js +1 -0
  243. package/es/table/features/virtual/index.d.ts +2 -0
  244. package/es/table/features/virtual/index.js +2 -0
  245. package/es/table/features/virtual/useFlattenRecords.d.ts +19 -0
  246. package/es/table/features/virtual/useFlattenRecords.js +55 -0
  247. package/es/table/features/virtual/useFrame.d.ts +7 -0
  248. package/es/table/features/virtual/useFrame.js +67 -0
  249. package/es/table/immutableHelper.d.ts +9 -0
  250. package/es/table/immutableHelper.js +36 -0
  251. package/es/table/index.d.ts +24 -0
  252. package/es/table/index.js +23 -0
  253. package/es/table/interface.d.ts +438 -0
  254. package/es/table/interface.js +56 -0
  255. package/es/table/shared/context/PerfContext.d.ts +6 -0
  256. package/es/table/shared/context/PerfContext.js +6 -0
  257. package/es/table/shared/context/TableContext.d.ts +51 -0
  258. package/es/table/shared/context/TableContext.js +8 -0
  259. package/es/table/shared/hooks/useLazyKVMap.d.ts +4 -0
  260. package/es/table/shared/hooks/useLazyKVMap.js +30 -0
  261. package/es/table/shared/hooks/useRenderTimes.d.ts +5 -0
  262. package/es/table/shared/hooks/useRenderTimes.js +39 -0
  263. package/es/table/shared/hooks/useRowInfo.d.ts +11 -0
  264. package/es/table/shared/hooks/useRowInfo.js +73 -0
  265. package/es/table/shared/utils/legacyUtil.d.ts +5 -0
  266. package/es/table/shared/utils/legacyUtil.js +30 -0
  267. package/{esm/table → es/table/shared/utils}/util.d.ts +3 -11
  268. package/{esm/table → es/table/shared/utils}/util.js +6 -13
  269. package/es/table/shared/utils/valueUtil.d.ts +8 -0
  270. package/es/table/shared/utils/valueUtil.js +29 -0
  271. package/es/table/style/base.less +164 -0
  272. package/es/table/style/bordered.less +83 -0
  273. package/es/table/style/editable.less +50 -0
  274. package/es/table/style/ellipsis.less +33 -0
  275. package/es/table/style/empty.less +16 -0
  276. package/es/table/style/expand.less +123 -0
  277. package/es/table/style/filter.less +34 -0
  278. package/es/table/style/fixed.less +85 -0
  279. package/es/table/style/index.d.ts +3 -0
  280. package/es/table/style/index.js +3 -0
  281. package/es/table/style/index.less +19 -0
  282. package/es/table/style/pagination.less +29 -0
  283. package/es/table/style/radius.less +64 -0
  284. package/es/table/style/resize.less +78 -0
  285. package/es/table/style/rtl.less +52 -0
  286. package/es/table/style/selection.less +63 -0
  287. package/es/table/style/size.less +54 -0
  288. package/es/table/style/sorter.less +99 -0
  289. package/es/table/style/sticky.less +45 -0
  290. package/es/table/style/summary.less +23 -0
  291. package/es/table/style/variables.less +80 -0
  292. package/es/table/style/virtual.less +95 -0
  293. package/lib/_util/context/createContextSelector.js +120 -0
  294. package/lib/_util/context/immutable.js +92 -0
  295. package/lib/_util/context/index.js +41 -0
  296. package/lib/_util/easings.js +1 -1
  297. package/lib/_util/getScroll.js +6 -6
  298. package/lib/_util/hooks/index.js +82 -5
  299. package/lib/_util/hooks/useBreakpoint.js +85 -0
  300. package/lib/_util/hooks/useCssVar.js +37 -0
  301. package/lib/_util/hooks/useEvent.js +13 -0
  302. package/lib/_util/hooks/useForceUpdate.js +5 -4
  303. package/lib/_util/hooks/useLayoutEffect.js +13 -0
  304. package/lib/_util/hooks/useMultipleSelect.js +43 -0
  305. package/lib/_util/hooks/useOrientation.js +7 -8
  306. package/lib/_util/hooks/useProxyImperativeHandle.js +18 -14
  307. package/lib/_util/hooks/useSyncState.js +19 -9
  308. package/lib/_util/hooks/useTimeoutLock.js +35 -0
  309. package/lib/_util/index.js +101 -1
  310. package/lib/_util/is.js +22 -0
  311. package/lib/_util/rcUtil.js +134 -0
  312. package/lib/_util/scrollTo.js +22 -18
  313. package/lib/_util/scrollbar.js +38 -0
  314. package/lib/_util/validate.js +17 -0
  315. package/lib/_util/warning.js +25 -27
  316. package/lib/block-header/index.js +141 -0
  317. package/{esm/blockHeader → lib/block-header}/style/index.less +167 -143
  318. package/lib/button/index.js +24 -9
  319. package/lib/button/style/index.less +62 -59
  320. package/lib/button/style/mixin.less +40 -39
  321. package/lib/collapsible/index.js +210 -169
  322. package/lib/collapsible/style/index.less +24 -24
  323. package/lib/collapsible-action-items/index.js +83 -0
  324. package/{esm/collapsibleActionItems → lib/collapsible-action-items}/style/index.less +7 -7
  325. package/lib/flex/index.js +43 -34
  326. package/lib/flex/style/index.less +80 -76
  327. package/lib/flex/utils.js +23 -23
  328. package/lib/form-list/index.js +163 -0
  329. package/{esm/formList → lib/form-list}/style/index.less +45 -45
  330. package/lib/index.js +37 -67
  331. package/lib/overflow-list/index.js +203 -0
  332. package/lib/{overflowList → overflow-list}/style/index.less +9 -9
  333. package/lib/resize/index.js +13 -13
  334. package/lib/resize-observer/index.js +182 -0
  335. package/lib/splitter/Panel.js +36 -25
  336. package/lib/splitter/SplitBar.js +151 -134
  337. package/lib/splitter/Splitter.js +141 -89
  338. package/lib/splitter/hooks/sizeUtil.js +50 -33
  339. package/lib/splitter/hooks/useDragListeners.js +114 -0
  340. package/lib/splitter/hooks/useItems.js +27 -20
  341. package/lib/splitter/hooks/useOrientation.js +12 -0
  342. package/lib/splitter/hooks/useResizable.js +32 -30
  343. package/lib/splitter/hooks/useResize.js +76 -45
  344. package/lib/splitter/hooks/useSizes.js +55 -30
  345. package/lib/splitter/index.js +1 -1
  346. package/lib/splitter/style/index.less +349 -312
  347. package/lib/status-tag/index.js +131 -0
  348. package/lib/{statusTag → status-tag}/style/index.less +70 -70
  349. package/lib/{statusTag → status-tag}/style/mixin.less +48 -39
  350. package/lib/style/index.less +1 -1
  351. package/lib/style/themes/index.less +2 -2
  352. package/lib/style/themes/variable.less +5 -5
  353. package/lib/table/Column.js +13 -0
  354. package/lib/table/ColumnGroup.js +13 -0
  355. package/lib/table/InternalTable.js +699 -270
  356. package/lib/table/Table.js +14 -11
  357. package/lib/table/TableMeasureRowContext.js +1 -1
  358. package/lib/table/components/Body/BodyRow.js +192 -0
  359. package/lib/table/components/Body/ExpandedRow.js +61 -0
  360. package/lib/table/components/Body/MeasureCell.js +43 -0
  361. package/lib/table/components/Body/MeasureRow.js +64 -0
  362. package/lib/table/components/Body/index.js +133 -0
  363. package/lib/table/components/Cell/index.js +205 -0
  364. package/lib/table/components/Cell/useCellRender.js +78 -0
  365. package/lib/table/components/Cell/useHoverState.js +20 -0
  366. package/lib/table/components/ColGroup.js +62 -0
  367. package/lib/table/components/ExpandIcon.js +35 -0
  368. package/lib/table/components/FixedHolder/index.js +195 -0
  369. package/lib/table/components/Footer/Cell.js +57 -0
  370. package/lib/table/components/Footer/Row.js +19 -0
  371. package/lib/table/components/Footer/Summary.js +19 -0
  372. package/lib/table/components/Footer/SummaryContext.js +12 -0
  373. package/lib/table/components/Footer/index.js +41 -0
  374. package/lib/table/components/Header/Header.js +120 -0
  375. package/lib/table/components/Header/HeaderRow.js +72 -0
  376. package/lib/table/components/Panel.js +20 -0
  377. package/lib/table/components/RcTable.js +764 -0
  378. package/lib/table/components/VirtualTable.js +18 -0
  379. package/lib/table/components/VirtualTableBody/BodyGrid.js +316 -0
  380. package/lib/table/components/VirtualTableBody/BodyLine.js +125 -0
  381. package/lib/table/components/VirtualTableBody/VirtualCell.js +128 -0
  382. package/lib/table/components/VirtualTableBody/context.js +9 -0
  383. package/lib/table/components/VirtualTableBody/index.js +111 -0
  384. package/lib/table/constant.js +8 -0
  385. package/lib/table/features/columns/Column.js +10 -0
  386. package/lib/table/features/columns/ColumnGroup.js +10 -0
  387. package/lib/table/features/columns/index.js +57 -0
  388. package/lib/table/features/columns/useColumns.js +237 -0
  389. package/lib/table/features/columns/useFilledColumns.js +42 -0
  390. package/lib/table/features/columns/useTitleColumns.js +34 -0
  391. package/lib/table/features/columns/useWidthColumns.js +83 -0
  392. package/lib/table/features/editable/BatchEditModal.js +794 -0
  393. package/lib/table/features/editable/EditableCell.js +303 -0
  394. package/lib/table/features/editable/EditableContext.js +28 -0
  395. package/lib/table/features/editable/batchEditTypes.js +5 -0
  396. package/lib/table/features/editable/batchEditUtils.js +264 -0
  397. package/lib/table/features/editable/builtinEditors.js +174 -0
  398. package/lib/table/features/editable/index.js +75 -0
  399. package/lib/table/features/editable/useBatchRules.js +103 -0
  400. package/lib/table/features/editable/useEditable.js +701 -0
  401. package/lib/table/features/expand/expandUtil.js +57 -0
  402. package/lib/table/features/expand/index.js +32 -0
  403. package/lib/table/features/expand/useExpand.js +99 -0
  404. package/lib/table/features/filter/FilterDropdown.js +504 -0
  405. package/lib/table/features/filter/FilterSearch.js +34 -0
  406. package/lib/table/features/filter/FilterWrapper.js +32 -0
  407. package/lib/table/features/filter/index.js +49 -0
  408. package/lib/table/features/filter/useFilter.js +254 -0
  409. package/lib/table/features/fixed/fixUtil.js +75 -0
  410. package/lib/table/features/fixed/index.js +34 -0
  411. package/lib/table/features/fixed/offsetUtil.js +19 -0
  412. package/lib/table/features/fixed/useFixedInfo.js +26 -0
  413. package/lib/table/features/fixed/useStickyOffsets.js +35 -0
  414. package/lib/table/features/hover/index.js +13 -0
  415. package/lib/table/features/hover/useHover.js +31 -0
  416. package/lib/table/features/pagination/index.js +27 -0
  417. package/lib/table/features/pagination/usePagination.js +96 -0
  418. package/lib/table/features/resize/ResizeHandle.js +109 -0
  419. package/lib/table/features/resize/index.js +27 -0
  420. package/lib/table/features/resize/transformResizableColumns.js +61 -0
  421. package/lib/table/features/resize/useResize.js +595 -0
  422. package/lib/table/features/selection/index.js +39 -0
  423. package/lib/table/features/selection/useSelection.js +588 -0
  424. package/lib/table/features/sort/index.js +21 -0
  425. package/lib/table/features/sort/useSorter.js +381 -0
  426. package/lib/table/features/sticky/index.js +20 -0
  427. package/lib/table/features/sticky/stickyScrollBar.js +212 -0
  428. package/lib/table/features/sticky/useSticky.js +43 -0
  429. package/lib/table/features/summary/index.js +13 -0
  430. package/lib/table/features/virtual/index.js +26 -0
  431. package/lib/table/features/virtual/useFlattenRecords.js +64 -0
  432. package/lib/table/features/virtual/useFrame.js +74 -0
  433. package/lib/table/immutableHelper.js +46 -0
  434. package/lib/table/index.js +118 -3
  435. package/lib/table/interface.js +54 -2
  436. package/lib/table/shared/context/PerfContext.js +15 -0
  437. package/lib/table/shared/context/TableContext.js +13 -0
  438. package/lib/table/shared/hooks/useContainerWidth.js +20 -0
  439. package/lib/table/shared/hooks/useLazyKVMap.js +39 -0
  440. package/lib/table/shared/hooks/useRenderTimes.js +49 -0
  441. package/lib/table/shared/hooks/useRowInfo.js +80 -0
  442. package/lib/table/shared/utils/legacyUtil.js +38 -0
  443. package/lib/table/shared/utils/util.js +34 -0
  444. package/lib/table/shared/utils/valueUtil.js +37 -0
  445. package/lib/table/style/base.less +164 -0
  446. package/lib/table/style/bordered.less +83 -141
  447. package/lib/table/style/editable.less +50 -0
  448. package/lib/table/style/ellipsis.less +33 -0
  449. package/lib/table/style/empty.less +16 -0
  450. package/lib/table/style/expand.less +123 -0
  451. package/lib/table/style/filter.less +34 -0
  452. package/lib/table/style/fixed.less +85 -88
  453. package/lib/table/style/index.js +2 -1
  454. package/lib/table/style/index.less +19 -150
  455. package/lib/table/style/pagination.less +29 -0
  456. package/lib/table/style/radius.less +64 -0
  457. package/lib/table/style/resize.less +78 -0
  458. package/lib/table/style/rtl.less +52 -0
  459. package/lib/table/style/selection.less +63 -90
  460. package/lib/table/style/size.less +54 -0
  461. package/lib/table/style/sorter.less +99 -0
  462. package/lib/table/style/sticky.less +45 -55
  463. package/lib/table/style/summary.less +23 -0
  464. package/lib/table/style/variables.less +80 -0
  465. package/lib/table/style/virtual.less +95 -65
  466. package/package.json +148 -155
  467. package/esm/_util/extendsObject.d.ts +0 -4
  468. package/esm/_util/extendsObject.js +0 -17
  469. package/esm/_util/hooks/index.d.ts +0 -4
  470. package/esm/_util/hooks/index.js +0 -4
  471. package/esm/_util/hooks/useProxyImperativeHandle.d.ts +0 -4
  472. package/esm/_util/index.d.ts +0 -3
  473. package/esm/_util/isNonNullable.d.ts +0 -2
  474. package/esm/_util/isNonNullable.js +0 -4
  475. package/esm/blockHeader/index.d.ts +0 -58
  476. package/esm/flex/index.d.ts +0 -7
  477. package/esm/index.d.ts +0 -17
  478. package/esm/index.js +0 -14
  479. package/esm/overflowList/index.d.ts +0 -40
  480. package/esm/resizeObserver/index.d.ts +0 -45
  481. package/esm/splitter/index.d.ts +0 -8
  482. package/esm/splitter/interface.d.ts +0 -69
  483. package/esm/splitter/style/index.less +0 -312
  484. package/esm/style/mixins/index.less +0 -0
  485. package/esm/style/themes/index.less +0 -2
  486. package/esm/table/InternalTable.d.ts +0 -32
  487. package/esm/table/InternalTable.js +0 -429
  488. package/esm/table/RcTable/VirtualTable.d.ts +0 -2
  489. package/esm/table/RcTable/index.d.ts +0 -2
  490. package/esm/table/RcTable/index.js +0 -9
  491. package/esm/table/Table.d.ts +0 -17
  492. package/esm/table/index.d.ts +0 -7
  493. package/esm/table/index.js +0 -2
  494. package/esm/table/interface.d.ts +0 -196
  495. package/esm/table/interface.js +0 -4
  496. package/esm/table/style/bordered.less +0 -141
  497. package/esm/table/style/fixed.less +0 -88
  498. package/esm/table/style/index.d.ts +0 -2
  499. package/esm/table/style/index.js +0 -2
  500. package/esm/table/style/index.less +0 -150
  501. package/esm/table/style/selection.less +0 -90
  502. package/esm/table/style/sticky.less +0 -55
  503. package/esm/table/style/virtual.less +0 -65
  504. package/lib/_util/easings.d.ts +0 -1
  505. package/lib/_util/extendsObject.d.ts +0 -4
  506. package/lib/_util/extendsObject.js +0 -20
  507. package/lib/_util/gapSize.d.ts +0 -3
  508. package/lib/_util/getScroll.d.ts +0 -3
  509. package/lib/_util/hooks/index.d.ts +0 -4
  510. package/lib/_util/hooks/useForceUpdate.d.ts +0 -2
  511. package/lib/_util/hooks/useOrientation.d.ts +0 -2
  512. package/lib/_util/hooks/useProxyImperativeHandle.d.ts +0 -4
  513. package/lib/_util/hooks/useSyncState.d.ts +0 -3
  514. package/lib/_util/index.d.ts +0 -3
  515. package/lib/_util/isNonNullable.d.ts +0 -2
  516. package/lib/_util/isNonNullable.js +0 -10
  517. package/lib/_util/scrollTo.d.ts +0 -10
  518. package/lib/_util/type.d.ts +0 -52
  519. package/lib/_util/warning.d.ts +0 -31
  520. package/lib/blockHeader/index.js +0 -121
  521. package/lib/blockHeader/style/index.d.ts +0 -2
  522. package/lib/button/index.d.ts +0 -10
  523. package/lib/button/style/index.d.ts +0 -2
  524. package/lib/collapsible/index.d.ts +0 -102
  525. package/lib/collapsible/style/index.d.ts +0 -1
  526. package/lib/collapsibleActionItems/index.d.ts +0 -24
  527. package/lib/collapsibleActionItems/index.js +0 -68
  528. package/lib/collapsibleActionItems/style/index.d.ts +0 -2
  529. package/lib/flex/interface.d.ts +0 -16
  530. package/lib/flex/style/index.d.ts +0 -2
  531. package/lib/flex/utils.d.ts +0 -7
  532. package/lib/formList/index.d.ts +0 -78
  533. package/lib/formList/index.js +0 -130
  534. package/lib/formList/style/index.d.ts +0 -2
  535. package/lib/index.d.ts +0 -17
  536. package/lib/overflowList/index.js +0 -144
  537. package/lib/overflowList/style/index.d.ts +0 -2
  538. package/lib/resize/index.d.ts +0 -9
  539. package/lib/resizeObserver/index.js +0 -137
  540. package/lib/splitter/Panel.d.ts +0 -7
  541. package/lib/splitter/SplitBar.d.ts +0 -24
  542. package/lib/splitter/Splitter.d.ts +0 -5
  543. package/lib/splitter/hooks/sizeUtil.d.ts +0 -3
  544. package/lib/splitter/hooks/useItems.d.ts +0 -14
  545. package/lib/splitter/hooks/useResizable.d.ts +0 -10
  546. package/lib/splitter/hooks/useResize.d.ts +0 -6
  547. package/lib/splitter/hooks/useSizes.d.ts +0 -4
  548. package/lib/splitter/interface.d.ts +0 -69
  549. package/lib/splitter/style/index.d.ts +0 -2
  550. package/lib/statusTag/index.d.ts +0 -29
  551. package/lib/statusTag/index.js +0 -125
  552. package/lib/statusTag/style/index.d.ts +0 -2
  553. package/lib/style/index.d.ts +0 -1
  554. package/lib/style/mixins/index.less +0 -0
  555. package/lib/table/InternalTable.d.ts +0 -32
  556. package/lib/table/RcTable/VirtualTable.d.ts +0 -2
  557. package/lib/table/RcTable/VirtualTable.js +0 -17
  558. package/lib/table/RcTable/index.d.ts +0 -2
  559. package/lib/table/RcTable/index.js +0 -17
  560. package/lib/table/TableMeasureRowContext.d.ts +0 -3
  561. package/lib/table/hooks/useContainerWidth.d.ts +0 -1
  562. package/lib/table/hooks/useContainerWidth.js +0 -20
  563. package/lib/table/index.d.ts +0 -7
  564. package/lib/table/interface.d.ts +0 -196
  565. package/lib/table/style/index.d.ts +0 -2
  566. package/lib/table/util.d.ts +0 -14
  567. package/lib/table/util.js +0 -44
  568. /package/{esm → es}/_util/easings.d.ts +0 -0
  569. /package/{esm → es}/_util/easings.js +0 -0
  570. /package/{esm → es}/_util/gapSize.js +0 -0
  571. /package/{esm → es}/_util/getScroll.d.ts +0 -0
  572. /package/{esm → es}/_util/hooks/useForceUpdate.d.ts +0 -0
  573. /package/{esm → es}/_util/hooks/useForceUpdate.js +0 -0
  574. /package/{esm → es}/_util/hooks/useOrientation.d.ts +0 -0
  575. /package/{esm → es}/_util/hooks/useOrientation.js +0 -0
  576. /package/{esm → es}/_util/hooks/useSyncState.d.ts +0 -0
  577. /package/{esm → es}/_util/hooks/useSyncState.js +0 -0
  578. /package/{esm → es}/_util/scrollTo.d.ts +0 -0
  579. /package/{esm → es}/_util/type.js +0 -0
  580. /package/{esm → es}/_util/warning.d.ts +0 -0
  581. /package/{esm/blockHeader → es/block-header}/style/index.d.ts +0 -0
  582. /package/{esm/blockHeader → es/block-header}/style/index.js +0 -0
  583. /package/{esm → es}/button/style/index.d.ts +0 -0
  584. /package/{esm → es}/button/style/index.js +0 -0
  585. /package/{esm → es}/collapsible/index.d.ts +0 -0
  586. /package/{esm → es}/collapsible/style/index.d.ts +0 -0
  587. /package/{esm → es}/collapsible/style/index.js +0 -0
  588. /package/{esm/collapsibleActionItems → es/collapsible-action-items}/style/index.d.ts +0 -0
  589. /package/{esm/collapsibleActionItems → es/collapsible-action-items}/style/index.js +0 -0
  590. /package/{esm → es}/flex/interface.d.ts +0 -0
  591. /package/{esm → es}/flex/interface.js +0 -0
  592. /package/{esm → es}/flex/style/index.d.ts +0 -0
  593. /package/{esm → es}/flex/style/index.js +0 -0
  594. /package/{esm → es}/flex/utils.d.ts +0 -0
  595. /package/{esm → es}/flex/utils.js +0 -0
  596. /package/{esm/formList → es/form-list}/style/index.d.ts +0 -0
  597. /package/{esm/formList → es/form-list}/style/index.js +0 -0
  598. /package/{esm/overflowList → es/overflow-list}/style/index.d.ts +0 -0
  599. /package/{esm/overflowList → es/overflow-list}/style/index.js +0 -0
  600. /package/{esm → es}/resize/index.d.ts +0 -0
  601. /package/{esm → es}/resize/index.js +0 -0
  602. /package/{esm → es}/splitter/Splitter.d.ts +0 -0
  603. /package/{esm → es}/splitter/hooks/sizeUtil.d.ts +0 -0
  604. /package/{esm → es}/splitter/hooks/useItems.js +0 -0
  605. /package/{esm → es}/splitter/hooks/useSizes.d.ts +0 -0
  606. /package/{esm → es}/splitter/index.js +0 -0
  607. /package/{esm → es}/splitter/interface.js +0 -0
  608. /package/{esm → es}/splitter/style/index.d.ts +0 -0
  609. /package/{esm → es}/splitter/style/index.js +0 -0
  610. /package/{esm/statusTag → es/status-tag}/index.d.ts +0 -0
  611. /package/{esm/statusTag → es/status-tag}/style/index.d.ts +0 -0
  612. /package/{esm/statusTag → es/status-tag}/style/index.js +0 -0
  613. /package/{esm → es}/style/index.d.ts +0 -0
  614. /package/{esm → es}/style/index.js +0 -0
  615. /package/{esm → es}/table/TableMeasureRowContext.d.ts +0 -0
  616. /package/{esm → es}/table/TableMeasureRowContext.js +0 -0
  617. /package/{esm/table → es/table/shared}/hooks/useContainerWidth.d.ts +0 -0
  618. /package/{esm/table → es/table/shared}/hooks/useContainerWidth.js +0 -0
  619. /package/lib/{blockHeader → block-header}/style/index.js +0 -0
  620. /package/lib/{collapsibleActionItems → collapsible-action-items}/style/index.js +0 -0
  621. /package/lib/{formList → form-list}/style/index.js +0 -0
  622. /package/lib/{overflowList → overflow-list}/style/index.js +0 -0
  623. /package/lib/{statusTag → status-tag}/style/index.js +0 -0
@@ -0,0 +1,372 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
5
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
+ import * as React from 'react';
18
+ import CaretDownOutlined from '@ant-design/icons/CaretDownOutlined';
19
+ import CaretUpOutlined from '@ant-design/icons/CaretUpOutlined';
20
+ import { KeyCode } from "../../../_util/rcUtil";
21
+ import { clsx } from 'clsx';
22
+ import { isFunction, isNumber, isPlainObject } from "../../../_util/is";
23
+ import Tooltip from 'antd/lib/tooltip';
24
+ import { getColumnKey, getColumnPos, renderColumnTitle, safeColumnTitle } from "../../shared/utils/util";
25
+ var ASCEND = 'ascend';
26
+ var DESCEND = 'descend';
27
+ var getMultiplePriority = function getMultiplePriority(column) {
28
+ if (isPlainObject(column.sorter) && isNumber(column.sorter.multiple)) {
29
+ return column.sorter.multiple;
30
+ }
31
+ return false;
32
+ };
33
+ var getSortFunction = function getSortFunction(sorter) {
34
+ if (isFunction(sorter)) {
35
+ return sorter;
36
+ }
37
+ if (isPlainObject(sorter) && sorter.compare) {
38
+ return sorter.compare;
39
+ }
40
+ return false;
41
+ };
42
+ var nextSortDirection = function nextSortDirection(sortDirections, current) {
43
+ if (!current) {
44
+ return sortDirections[0];
45
+ }
46
+ return sortDirections[sortDirections.indexOf(current) + 1];
47
+ };
48
+ var collectSortStates = function collectSortStates(columns, init, pos) {
49
+ var sortStates = [];
50
+ var pushState = function pushState(column, columnPos) {
51
+ sortStates.push({
52
+ column: column,
53
+ key: getColumnKey(column, columnPos),
54
+ multiplePriority: getMultiplePriority(column),
55
+ sortOrder: column.sortOrder
56
+ });
57
+ };
58
+ (columns || []).forEach(function (column, index) {
59
+ var columnPos = getColumnPos(index, pos);
60
+ if (column.children) {
61
+ if ('sortOrder' in column) {
62
+ pushState(column, columnPos);
63
+ }
64
+ sortStates = [].concat(_toConsumableArray(sortStates), _toConsumableArray(collectSortStates(column.children, init, columnPos)));
65
+ } else if (column.sorter) {
66
+ if ('sortOrder' in column) {
67
+ pushState(column, columnPos);
68
+ } else if (init && column.defaultSortOrder) {
69
+ sortStates.push({
70
+ column: column,
71
+ key: getColumnKey(column, columnPos),
72
+ multiplePriority: getMultiplePriority(column),
73
+ sortOrder: column.defaultSortOrder
74
+ });
75
+ }
76
+ }
77
+ });
78
+ return sortStates;
79
+ };
80
+ var injectSorter = function injectSorter(prefixCls, columns, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, pos, a11yLocale) {
81
+ var finalColumns = (columns || []).map(function (column, index) {
82
+ var columnPos = getColumnPos(index, pos);
83
+ var newColumn = column;
84
+ if (newColumn.sorter) {
85
+ var sortDirections = newColumn.sortDirections || defaultSortDirections;
86
+ var showSorterTooltip = newColumn.showSorterTooltip === undefined ? tableShowSorterTooltip : newColumn.showSorterTooltip;
87
+ var columnKey = getColumnKey(newColumn, columnPos);
88
+ var sorterState = sorterStates.find(function (_ref) {
89
+ var key = _ref.key;
90
+ return key === columnKey;
91
+ });
92
+ var sortOrder = sorterState ? sorterState.sortOrder : null;
93
+ var nextSortOrder = nextSortDirection(sortDirections, sortOrder);
94
+ var sorter;
95
+ if (column.sortIcon) {
96
+ sorter = column.sortIcon({
97
+ sortOrder: sortOrder
98
+ });
99
+ } else {
100
+ var upNode = sortDirections.includes(ASCEND) && /*#__PURE__*/React.createElement(CaretUpOutlined, {
101
+ className: clsx("".concat(prefixCls, "-column-sorter-up"), {
102
+ active: sortOrder === ASCEND
103
+ })
104
+ });
105
+ var downNode = sortDirections.includes(DESCEND) && /*#__PURE__*/React.createElement(CaretDownOutlined, {
106
+ className: clsx("".concat(prefixCls, "-column-sorter-down"), {
107
+ active: sortOrder === DESCEND
108
+ })
109
+ });
110
+ sorter = /*#__PURE__*/React.createElement("span", {
111
+ className: clsx("".concat(prefixCls, "-column-sorter"), _defineProperty({}, "".concat(prefixCls, "-column-sorter-full"), !!(upNode && downNode)))
112
+ }, /*#__PURE__*/React.createElement("span", {
113
+ className: "".concat(prefixCls, "-column-sorter-inner"),
114
+ "aria-hidden": "true"
115
+ }, upNode, downNode));
116
+ }
117
+ var _ref2 = tableLocale || {},
118
+ cancelSort = _ref2.cancelSort,
119
+ triggerAsc = _ref2.triggerAsc,
120
+ triggerDesc = _ref2.triggerDesc;
121
+ var sortTip = cancelSort;
122
+ if (nextSortOrder === DESCEND) {
123
+ sortTip = triggerDesc;
124
+ } else if (nextSortOrder === ASCEND) {
125
+ sortTip = triggerAsc;
126
+ }
127
+ var tooltipProps = isPlainObject(showSorterTooltip) ? _objectSpread({
128
+ title: sortTip
129
+ }, showSorterTooltip) : {
130
+ title: sortTip
131
+ };
132
+ newColumn = _objectSpread(_objectSpread({}, newColumn), {}, {
133
+ className: clsx(newColumn.className, _defineProperty({}, "".concat(prefixCls, "-column-sort"), sortOrder)),
134
+ title: function title(renderProps) {
135
+ var columnSortersClass = "".concat(prefixCls, "-column-sorters");
136
+ var renderColumnTitleWrapper = /*#__PURE__*/React.createElement("span", {
137
+ className: "".concat(prefixCls, "-column-title")
138
+ }, renderColumnTitle(column.title, renderProps));
139
+ var renderSortTitle = /*#__PURE__*/React.createElement("div", {
140
+ className: columnSortersClass
141
+ }, renderColumnTitleWrapper, sorter);
142
+ if (showSorterTooltip) {
143
+ if (typeof showSorterTooltip !== 'boolean' && (showSorterTooltip === null || showSorterTooltip === void 0 ? void 0 : showSorterTooltip.target) === 'sorter-icon') {
144
+ return /*#__PURE__*/React.createElement("div", {
145
+ className: clsx(columnSortersClass, "".concat(columnSortersClass, "-tooltip-target-sorter"))
146
+ }, renderColumnTitleWrapper, /*#__PURE__*/React.createElement(Tooltip, tooltipProps, sorter));
147
+ }
148
+ return /*#__PURE__*/React.createElement(Tooltip, tooltipProps, renderSortTitle);
149
+ }
150
+ return renderSortTitle;
151
+ },
152
+ onHeaderCell: function onHeaderCell(col) {
153
+ var _column$onHeaderCell;
154
+ var cell = ((_column$onHeaderCell = column.onHeaderCell) === null || _column$onHeaderCell === void 0 ? void 0 : _column$onHeaderCell.call(column, col)) || {};
155
+ var originOnClick = cell.onClick;
156
+ var originOKeyDown = cell.onKeyDown;
157
+ cell.onClick = function (event) {
158
+ triggerSorter({
159
+ column: column,
160
+ key: columnKey,
161
+ sortOrder: nextSortOrder,
162
+ multiplePriority: getMultiplePriority(column)
163
+ });
164
+ originOnClick === null || originOnClick === void 0 || originOnClick(event);
165
+ };
166
+ cell.onKeyDown = function (event) {
167
+ if (event.keyCode === KeyCode.ENTER) {
168
+ triggerSorter({
169
+ column: column,
170
+ key: columnKey,
171
+ sortOrder: nextSortOrder,
172
+ multiplePriority: getMultiplePriority(column)
173
+ });
174
+ originOKeyDown === null || originOKeyDown === void 0 || originOKeyDown(event);
175
+ }
176
+ };
177
+ var renderTitle = safeColumnTitle(column.title, {});
178
+ var displayTitle = renderTitle === null || renderTitle === void 0 ? void 0 : renderTitle.toString();
179
+ if (sortOrder) {
180
+ cell['aria-sort'] = sortOrder === 'ascend' ? 'ascending' : 'descending';
181
+ }
182
+ cell['aria-label'] = displayTitle || '';
183
+ cell.className = clsx(cell.className, "".concat(prefixCls, "-column-has-sorters"));
184
+ cell.tabIndex = 0;
185
+ if (column.ellipsis) {
186
+ cell.title = (renderTitle !== null && renderTitle !== void 0 ? renderTitle : '').toString();
187
+ }
188
+ return cell;
189
+ }
190
+ });
191
+ }
192
+ if ('children' in newColumn) {
193
+ newColumn = _objectSpread(_objectSpread({}, newColumn), {}, {
194
+ children: injectSorter(prefixCls, newColumn.children, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, columnPos, a11yLocale)
195
+ });
196
+ }
197
+ return newColumn;
198
+ });
199
+ return finalColumns;
200
+ };
201
+ var stateToInfo = function stateToInfo(sorterState) {
202
+ var column = sorterState.column,
203
+ sortOrder = sorterState.sortOrder;
204
+ return {
205
+ column: column,
206
+ order: sortOrder,
207
+ field: column.dataIndex,
208
+ columnKey: column.key
209
+ };
210
+ };
211
+ var generateSorterInfo = function generateSorterInfo(sorterStates) {
212
+ var activeSorters = sorterStates.reduce(function (list, sorterState) {
213
+ if (sorterState.sortOrder) {
214
+ list.push(stateToInfo(sorterState));
215
+ }
216
+ return list;
217
+ }, []);
218
+ if (activeSorters.length === 0 && sorterStates.length) {
219
+ var lastIndex = sorterStates.length - 1;
220
+ return _objectSpread(_objectSpread({}, stateToInfo(sorterStates[lastIndex])), {}, {
221
+ column: undefined,
222
+ order: undefined,
223
+ field: undefined,
224
+ columnKey: undefined
225
+ });
226
+ }
227
+ if (activeSorters.length <= 1) {
228
+ return activeSorters[0] || {};
229
+ }
230
+ return activeSorters;
231
+ };
232
+ export var getSortData = function getSortData(data, sortStates, childrenColumnName) {
233
+ var innerSorterStates = sortStates.slice().sort(function (a, b) {
234
+ return b.multiplePriority - a.multiplePriority;
235
+ });
236
+ var cloneData = data.slice();
237
+ var runningSorters = innerSorterStates.filter(function (_ref3) {
238
+ var sorter = _ref3.column.sorter,
239
+ sortOrder = _ref3.sortOrder;
240
+ return getSortFunction(sorter) && sortOrder;
241
+ });
242
+ if (!runningSorters.length) {
243
+ return cloneData;
244
+ }
245
+ return cloneData.sort(function (record1, record2) {
246
+ for (var i = 0; i < runningSorters.length; i += 1) {
247
+ var sorterState = runningSorters[i];
248
+ var sorter = sorterState.column.sorter,
249
+ sortOrder = sorterState.sortOrder;
250
+ var compareFn = getSortFunction(sorter);
251
+ if (compareFn && sortOrder) {
252
+ var compareResult = compareFn(record1, record2, sortOrder);
253
+ if (compareResult !== 0) {
254
+ return sortOrder === ASCEND ? compareResult : -compareResult;
255
+ }
256
+ }
257
+ }
258
+ return 0;
259
+ }).map(function (record) {
260
+ var subRecords = record[childrenColumnName];
261
+ if (subRecords) {
262
+ return _objectSpread(_objectSpread({}, record), {}, _defineProperty({}, childrenColumnName, getSortData(subRecords, sortStates, childrenColumnName)));
263
+ }
264
+ return record;
265
+ });
266
+ };
267
+ var useFilterSorter = function useFilterSorter(props) {
268
+ var prefixCls = props.prefixCls,
269
+ mergedColumns = props.mergedColumns,
270
+ baseColumns = props.baseColumns,
271
+ sortDirections = props.sortDirections,
272
+ tableLocale = props.tableLocale,
273
+ showSorterTooltip = props.showSorterTooltip,
274
+ onSorterChange = props.onSorterChange,
275
+ globalLocale = props.globalLocale;
276
+ var collectColumns = baseColumns !== null && baseColumns !== void 0 ? baseColumns : mergedColumns;
277
+ var _React$useState = React.useState(function () {
278
+ return collectSortStates(collectColumns, true);
279
+ }),
280
+ _React$useState2 = _slicedToArray(_React$useState, 2),
281
+ sortStates = _React$useState2[0],
282
+ setSortStates = _React$useState2[1];
283
+ var getColumnKeys = function getColumnKeys(columns, pos) {
284
+ var newKeys = [];
285
+ columns.forEach(function (item, index) {
286
+ var columnPos = getColumnPos(index, pos);
287
+ newKeys.push(getColumnKey(item, columnPos));
288
+ if (Array.isArray(item.children)) {
289
+ var childKeys = getColumnKeys(item.children, columnPos);
290
+ newKeys.push.apply(newKeys, _toConsumableArray(childKeys));
291
+ }
292
+ });
293
+ return newKeys;
294
+ };
295
+ var mergedSorterStates = React.useMemo(function () {
296
+ var validate = true;
297
+ var collectedStates = collectSortStates(collectColumns, false);
298
+ if (!collectedStates.length) {
299
+ var collectColumnsKeys = getColumnKeys(collectColumns);
300
+ return sortStates.filter(function (_ref4) {
301
+ var key = _ref4.key;
302
+ return collectColumnsKeys.includes(key);
303
+ });
304
+ }
305
+ var validateStates = [];
306
+ function patchStates(state) {
307
+ if (validate) {
308
+ validateStates.push(state);
309
+ } else {
310
+ validateStates.push(_objectSpread(_objectSpread({}, state), {}, {
311
+ sortOrder: null
312
+ }));
313
+ }
314
+ }
315
+ var multipleMode = null;
316
+ collectedStates.forEach(function (state) {
317
+ if (multipleMode === null) {
318
+ patchStates(state);
319
+ if (state.sortOrder) {
320
+ if (state.multiplePriority === false) {
321
+ validate = false;
322
+ } else {
323
+ multipleMode = true;
324
+ }
325
+ }
326
+ } else if (multipleMode && state.multiplePriority !== false) {
327
+ patchStates(state);
328
+ } else {
329
+ validate = false;
330
+ patchStates(state);
331
+ }
332
+ });
333
+ return validateStates;
334
+ }, [collectColumns, sortStates]);
335
+ var columnTitleSorterProps = React.useMemo(function () {
336
+ var _sortColumns$, _sortColumns$2;
337
+ var sortColumns = mergedSorterStates.map(function (_ref5) {
338
+ var column = _ref5.column,
339
+ sortOrder = _ref5.sortOrder;
340
+ return {
341
+ column: column,
342
+ order: sortOrder
343
+ };
344
+ });
345
+ return {
346
+ sortColumns: sortColumns,
347
+ sortColumn: (_sortColumns$ = sortColumns[0]) === null || _sortColumns$ === void 0 ? void 0 : _sortColumns$.column,
348
+ sortOrder: (_sortColumns$2 = sortColumns[0]) === null || _sortColumns$2 === void 0 ? void 0 : _sortColumns$2.order
349
+ };
350
+ }, [mergedSorterStates]);
351
+ var triggerSorter = function triggerSorter(sortState) {
352
+ var newSorterStates;
353
+ if (sortState.multiplePriority === false || !mergedSorterStates.length || mergedSorterStates[0].multiplePriority === false) {
354
+ newSorterStates = [sortState];
355
+ } else {
356
+ newSorterStates = [].concat(_toConsumableArray(mergedSorterStates.filter(function (_ref6) {
357
+ var key = _ref6.key;
358
+ return key !== sortState.key;
359
+ })), [sortState]);
360
+ }
361
+ setSortStates(newSorterStates);
362
+ onSorterChange(generateSorterInfo(newSorterStates), newSorterStates);
363
+ };
364
+ var transformColumns = function transformColumns(innerColumns) {
365
+ return injectSorter(prefixCls, innerColumns, mergedSorterStates, triggerSorter, sortDirections, tableLocale, showSorterTooltip, undefined, globalLocale);
366
+ };
367
+ var getSorters = function getSorters() {
368
+ return generateSorterInfo(mergedSorterStates);
369
+ };
370
+ return [transformColumns, mergedSorterStates, columnTitleSorterProps, getSorters];
371
+ };
372
+ export default useFilterSorter;
@@ -0,0 +1,2 @@
1
+ export { default as stickyScrollBar } from './stickyScrollBar';
2
+ export { default as useSticky } from './useSticky';
@@ -0,0 +1,2 @@
1
+ export { default as stickyScrollBar } from "./stickyScrollBar";
2
+ export { default as useSticky } from "./useSticky";
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ interface StickyScrollBarProps {
3
+ scrollBodyRef: React.RefObject<HTMLDivElement>;
4
+ onScroll: (params: {
5
+ scrollLeft?: number;
6
+ }) => void;
7
+ offsetScroll: number;
8
+ container: HTMLElement | Window;
9
+ direction: string;
10
+ }
11
+ declare const _default: React.ForwardRefExoticComponent<StickyScrollBarProps & React.RefAttributes<unknown>>;
12
+ export default _default;
@@ -0,0 +1,203 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import { useContext } from "../../../_util/context";
14
+ import { clsx } from 'clsx';
15
+ import { getDOM } from 'rc-util/lib/Dom/findDOMNode';
16
+ import getScrollBarSize from 'rc-util/lib/getScrollBarSize';
17
+ import raf from 'rc-util/lib/raf';
18
+ import * as React from 'react';
19
+ import TableContext from "../../shared/context/TableContext";
20
+ import { useLayoutState } from "../virtual/useFrame";
21
+ import { getOffset } from "../fixed/offsetUtil";
22
+ var MOUSEUP_EVENT = 'mouseup';
23
+ var MOUSEMOVE_EVENT = 'mousemove';
24
+ var SCROLL_EVENT = 'scroll';
25
+ var RESIZE_EVENT = 'resize';
26
+ var StickyScrollBar = function StickyScrollBar(props, ref) {
27
+ var _scrollBodyRef$curren, _scrollBodyRef$curren2;
28
+ var scrollBodyRef = props.scrollBodyRef,
29
+ onScroll = props.onScroll,
30
+ offsetScroll = props.offsetScroll,
31
+ container = props.container,
32
+ direction = props.direction;
33
+ var prefixCls = useContext(TableContext, 'prefixCls');
34
+ var bodyScrollWidth = ((_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 ? void 0 : _scrollBodyRef$curren.scrollWidth) || 0;
35
+ var bodyWidth = ((_scrollBodyRef$curren2 = scrollBodyRef.current) === null || _scrollBodyRef$curren2 === void 0 ? void 0 : _scrollBodyRef$curren2.clientWidth) || 0;
36
+ var scrollBarWidth = bodyScrollWidth && bodyWidth * (bodyWidth / bodyScrollWidth);
37
+ var scrollBarRef = React.useRef(null);
38
+ var _useLayoutState = useLayoutState({
39
+ scrollLeft: 0,
40
+ isHiddenScrollBar: true
41
+ }),
42
+ _useLayoutState2 = _slicedToArray(_useLayoutState, 2),
43
+ scrollState = _useLayoutState2[0],
44
+ setScrollState = _useLayoutState2[1];
45
+ var refState = React.useRef({
46
+ delta: 0,
47
+ x: 0
48
+ });
49
+ var _React$useState = React.useState(false),
50
+ _React$useState2 = _slicedToArray(_React$useState, 2),
51
+ isActive = _React$useState2[0],
52
+ setActive = _React$useState2[1];
53
+ var rafRef = React.useRef(null);
54
+ React.useEffect(function () {
55
+ return function () {
56
+ if (rafRef.current) {
57
+ raf.cancel(rafRef.current);
58
+ }
59
+ };
60
+ }, []);
61
+ var onMouseUp = function onMouseUp() {
62
+ setActive(false);
63
+ };
64
+ var onMouseDown = function onMouseDown(event) {
65
+ event.persist();
66
+ refState.current.delta = event.pageX - scrollState.scrollLeft;
67
+ refState.current.x = 0;
68
+ setActive(true);
69
+ event.preventDefault();
70
+ };
71
+ var onMouseMove = function onMouseMove(event) {
72
+ var _window;
73
+ // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons
74
+ var _ref = event || ((_window = window) === null || _window === void 0 ? void 0 : _window.event),
75
+ buttons = _ref.buttons;
76
+ if (!isActive || buttons === 0) {
77
+ // If out body mouse up, we can set isActive false when mouse move
78
+ if (isActive) {
79
+ setActive(false);
80
+ }
81
+ return;
82
+ }
83
+ var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;
84
+ var isRTL = direction === 'rtl';
85
+ // Limit scroll range
86
+ left = Math.max(isRTL ? scrollBarWidth - bodyWidth : 0, Math.min(isRTL ? 0 : bodyWidth - scrollBarWidth, left));
87
+ // Calculate the scroll position and update
88
+ var shouldScroll = !isRTL || Math.abs(left) + Math.abs(scrollBarWidth) < bodyWidth;
89
+ if (shouldScroll) {
90
+ onScroll({
91
+ scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)
92
+ });
93
+ refState.current.x = event.pageX;
94
+ }
95
+ };
96
+ var checkScrollBarVisible = function checkScrollBarVisible() {
97
+ if (rafRef.current) {
98
+ raf.cancel(rafRef.current);
99
+ }
100
+ rafRef.current = raf(function () {
101
+ if (!scrollBodyRef.current) {
102
+ return;
103
+ }
104
+ var tableOffsetTop = getOffset(scrollBodyRef.current).top;
105
+ var tableBottomOffset = tableOffsetTop + scrollBodyRef.current.offsetHeight;
106
+ var currentClientOffset = container === window ? document.documentElement.scrollTop + window.innerHeight : getOffset(container).top + container.clientHeight;
107
+ if (tableBottomOffset - getScrollBarSize() <= currentClientOffset || tableOffsetTop >= currentClientOffset - offsetScroll) {
108
+ setScrollState(function (state) {
109
+ return _objectSpread(_objectSpread({}, state), {}, {
110
+ isHiddenScrollBar: true
111
+ });
112
+ });
113
+ } else {
114
+ setScrollState(function (state) {
115
+ return _objectSpread(_objectSpread({}, state), {}, {
116
+ isHiddenScrollBar: false
117
+ });
118
+ });
119
+ }
120
+ });
121
+ };
122
+ var setScrollLeft = function setScrollLeft(left) {
123
+ setScrollState(function (state) {
124
+ return _objectSpread(_objectSpread({}, state), {}, {
125
+ scrollLeft: left / bodyScrollWidth * bodyWidth || 0
126
+ });
127
+ });
128
+ };
129
+ React.useImperativeHandle(ref, function () {
130
+ return {
131
+ setScrollLeft: setScrollLeft,
132
+ checkScrollBarVisible: checkScrollBarVisible
133
+ };
134
+ });
135
+ React.useEffect(function () {
136
+ document.body.addEventListener(MOUSEUP_EVENT, onMouseUp, false);
137
+ document.body.addEventListener(MOUSEMOVE_EVENT, onMouseMove, false);
138
+ checkScrollBarVisible();
139
+ return function () {
140
+ document.body.removeEventListener(MOUSEUP_EVENT, onMouseUp);
141
+ document.body.removeEventListener(MOUSEMOVE_EVENT, onMouseMove);
142
+ };
143
+ }, [scrollBarWidth, isActive]);
144
+
145
+ // Loop for scroll event check
146
+ React.useEffect(function () {
147
+ if (scrollBodyRef.current) {
148
+ var scrollParents = [];
149
+ var parent = getDOM(scrollBodyRef.current);
150
+ while (parent) {
151
+ scrollParents.push(parent);
152
+ parent = parent.parentElement;
153
+ }
154
+ scrollParents.forEach(function (p) {
155
+ p.addEventListener(SCROLL_EVENT, checkScrollBarVisible, false);
156
+ });
157
+ window.addEventListener(RESIZE_EVENT, checkScrollBarVisible, false);
158
+ window.addEventListener(SCROLL_EVENT, checkScrollBarVisible, false);
159
+ container.addEventListener(SCROLL_EVENT, checkScrollBarVisible, false);
160
+ return function () {
161
+ scrollParents.forEach(function (p) {
162
+ p.removeEventListener(SCROLL_EVENT, checkScrollBarVisible);
163
+ });
164
+ window.removeEventListener(RESIZE_EVENT, checkScrollBarVisible);
165
+ window.removeEventListener(SCROLL_EVENT, checkScrollBarVisible);
166
+ container.removeEventListener(SCROLL_EVENT, checkScrollBarVisible);
167
+ };
168
+ }
169
+ }, [container]);
170
+ React.useEffect(function () {
171
+ if (!scrollState.isHiddenScrollBar) {
172
+ setScrollState(function (state) {
173
+ var bodyNode = scrollBodyRef.current;
174
+ if (!bodyNode) {
175
+ return state;
176
+ }
177
+ return _objectSpread(_objectSpread({}, state), {}, {
178
+ scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth
179
+ });
180
+ });
181
+ }
182
+ }, [scrollState.isHiddenScrollBar]);
183
+ if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {
184
+ return null;
185
+ }
186
+ return /*#__PURE__*/React.createElement("div", {
187
+ style: {
188
+ height: getScrollBarSize(),
189
+ width: bodyWidth,
190
+ bottom: offsetScroll
191
+ },
192
+ className: "".concat(prefixCls, "-sticky-scroll")
193
+ }, /*#__PURE__*/React.createElement("div", {
194
+ onMouseDown: onMouseDown,
195
+ ref: scrollBarRef,
196
+ className: clsx("".concat(prefixCls, "-sticky-scroll-bar"), _defineProperty({}, "".concat(prefixCls, "-sticky-scroll-bar-active"), isActive)),
197
+ style: {
198
+ width: "".concat(scrollBarWidth, "px"),
199
+ transform: "translate3d(".concat(scrollState.scrollLeft, "px, 0, 0)")
200
+ }
201
+ }));
202
+ };
203
+ export default /*#__PURE__*/React.forwardRef(StickyScrollBar);
@@ -0,0 +1,10 @@
1
+ import type { TableSticky } from '../../interface';
2
+ /** Sticky header hooks */
3
+ export default function useSticky(sticky: boolean | TableSticky | undefined, prefixCls: string): {
4
+ isSticky: boolean;
5
+ offsetHeader: number;
6
+ offsetSummary: number;
7
+ offsetScroll: number;
8
+ stickyClassName: string;
9
+ container: Window | HTMLElement;
10
+ };
@@ -0,0 +1,34 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ import * as React from 'react';
3
+ import canUseDom from 'rc-util/lib/Dom/canUseDom';
4
+ // fix ssr render
5
+ var defaultContainer = canUseDom() ? window : null;
6
+
7
+ /** Sticky header hooks */
8
+ export default function useSticky(sticky, prefixCls) {
9
+ var _ref = _typeof(sticky) === 'object' ? sticky : {},
10
+ _ref$offsetHeader = _ref.offsetHeader,
11
+ offsetHeader = _ref$offsetHeader === void 0 ? 0 : _ref$offsetHeader,
12
+ _ref$offsetSummary = _ref.offsetSummary,
13
+ offsetSummary = _ref$offsetSummary === void 0 ? 0 : _ref$offsetSummary,
14
+ _ref$offsetScroll = _ref.offsetScroll,
15
+ offsetScroll = _ref$offsetScroll === void 0 ? 0 : _ref$offsetScroll,
16
+ _ref$getContainer = _ref.getContainer,
17
+ getContainer = _ref$getContainer === void 0 ? function () {
18
+ return defaultContainer;
19
+ } : _ref$getContainer;
20
+ var container = getContainer() || defaultContainer;
21
+ var isSticky = !!sticky;
22
+ return React.useMemo(function () {
23
+ return {
24
+ isSticky: isSticky,
25
+ stickyClassName: isSticky ? "".concat(prefixCls, "-sticky-holder") : '',
26
+ offsetHeader: offsetHeader,
27
+ offsetSummary: offsetSummary,
28
+ offsetScroll: offsetScroll,
29
+ // `container` is only `null` during SSR (no DOM), where sticky
30
+ // rendering never happens; the declared contract stays non-null.
31
+ container: container
32
+ };
33
+ }, [isSticky, offsetScroll, offsetHeader, offsetSummary, prefixCls, container]);
34
+ }
@@ -0,0 +1 @@
1
+ export { default as Summary } from '../../components/Footer/Summary';
@@ -0,0 +1 @@
1
+ export { default as Summary } from "../../components/Footer/Summary";
@@ -0,0 +1,2 @@
1
+ export { type FlattenData, default as useFlattenRecords } from './useFlattenRecords';
2
+ export { type Updater, useLayoutState, useTimeoutLock, } from './useFrame';
@@ -0,0 +1,2 @@
1
+ export { default as useFlattenRecords } from "./useFlattenRecords";
2
+ export { useLayoutState, useTimeoutLock } from "./useFrame";