@dtjoy/dt-design 1.1.2 → 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 (538) hide show
  1. package/README.md +161 -141
  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/es/_util/easings.d.ts +1 -0
  11. package/es/_util/gapSize.d.ts +3 -0
  12. package/es/_util/getScroll.d.ts +3 -0
  13. package/{esm → es}/_util/getScroll.js +1 -1
  14. package/es/_util/hooks/index.d.ts +11 -0
  15. package/es/_util/hooks/index.js +11 -0
  16. package/es/_util/hooks/useBreakpoint.d.ts +5 -0
  17. package/es/_util/hooks/useBreakpoint.js +75 -0
  18. package/es/_util/hooks/useCssVar.d.ts +3 -0
  19. package/es/_util/hooks/useCssVar.js +28 -0
  20. package/es/_util/hooks/useEvent.d.ts +1 -0
  21. package/es/_util/hooks/useEvent.js +1 -0
  22. package/es/_util/hooks/useForceUpdate.d.ts +2 -0
  23. package/es/_util/hooks/useLayoutEffect.d.ts +1 -0
  24. package/es/_util/hooks/useLayoutEffect.js +1 -0
  25. package/es/_util/hooks/useMultipleSelect.d.ts +2 -0
  26. package/es/_util/hooks/useMultipleSelect.js +37 -0
  27. package/es/_util/hooks/useOrientation.d.ts +2 -0
  28. package/es/_util/hooks/useProxyImperativeHandle.d.ts +4 -0
  29. package/{esm → es}/_util/hooks/useProxyImperativeHandle.js +10 -3
  30. package/es/_util/hooks/useSyncState.d.ts +3 -0
  31. package/es/_util/hooks/useTimeoutLock.d.ts +1 -0
  32. package/es/_util/hooks/useTimeoutLock.js +26 -0
  33. package/es/_util/index.d.ts +11 -0
  34. package/{esm → es}/_util/index.js +9 -1
  35. package/es/_util/is.d.ts +5 -0
  36. package/es/_util/is.js +16 -0
  37. package/es/_util/rcUtil.d.ts +17 -0
  38. package/es/_util/rcUtil.js +58 -0
  39. package/es/_util/scrollTo.d.ts +10 -0
  40. package/{esm → es}/_util/scrollTo.js +1 -1
  41. package/es/_util/scrollbar.d.ts +1 -0
  42. package/es/_util/scrollbar.js +32 -0
  43. package/es/_util/type.d.ts +53 -0
  44. package/es/_util/validate.d.ts +2 -0
  45. package/es/_util/validate.js +10 -0
  46. package/es/_util/warning.d.ts +31 -0
  47. package/{esm → es}/_util/warning.js +5 -6
  48. package/es/block-header/index.d.ts +58 -0
  49. package/{esm/blockHeader → es/block-header}/index.js +1 -1
  50. package/es/block-header/style/index.d.ts +2 -0
  51. package/{lib/blockHeader → es/block-header}/style/index.less +167 -143
  52. package/es/button/index.d.ts +10 -0
  53. package/{esm → es}/button/index.js +16 -4
  54. package/es/button/style/index.d.ts +2 -0
  55. package/{esm → es}/button/style/index.less +62 -59
  56. package/{esm → es}/button/style/mixin.less +40 -39
  57. package/es/collapsible/index.d.ts +102 -0
  58. package/{esm → es}/collapsible/index.js +3 -2
  59. package/es/collapsible/style/index.d.ts +1 -0
  60. package/{esm → es}/collapsible/style/index.less +24 -24
  61. package/es/collapsible-action-items/index.d.ts +24 -0
  62. package/{esm/collapsibleActionItems → es/collapsible-action-items}/index.js +21 -19
  63. package/es/collapsible-action-items/style/index.d.ts +2 -0
  64. package/{lib/collapsibleActionItems → es/collapsible-action-items}/style/index.less +7 -7
  65. package/es/flex/index.d.ts +7 -0
  66. package/{esm → es}/flex/index.js +3 -3
  67. package/es/flex/interface.d.ts +16 -0
  68. package/es/flex/style/index.d.ts +2 -0
  69. package/{esm → es}/flex/style/index.less +80 -76
  70. package/es/flex/utils.d.ts +7 -0
  71. package/es/form-list/index.d.ts +87 -0
  72. package/{esm/formList → es/form-list}/index.js +18 -8
  73. package/es/form-list/style/index.d.ts +2 -0
  74. package/{esm/formList → es/form-list}/style/index.less +45 -45
  75. package/es/index.d.ts +26 -0
  76. package/es/index.js +21 -0
  77. package/es/overflow-list/index.d.ts +43 -0
  78. package/{esm/overflowList → es/overflow-list}/index.js +37 -9
  79. package/es/overflow-list/style/index.d.ts +2 -0
  80. package/{esm/overflowList → es/overflow-list}/style/index.less +9 -9
  81. package/es/resize/index.d.ts +9 -0
  82. package/es/resize-observer/index.d.ts +45 -0
  83. package/{esm/resizeObserver → es/resize-observer}/index.js +8 -8
  84. package/es/splitter/Panel.d.ts +7 -0
  85. package/{esm → es}/splitter/Panel.js +12 -4
  86. package/es/splitter/SplitBar.d.ts +28 -0
  87. package/{esm → es}/splitter/SplitBar.js +82 -80
  88. package/es/splitter/Splitter.d.ts +5 -0
  89. package/{esm → es}/splitter/Splitter.js +52 -23
  90. package/es/splitter/hooks/sizeUtil.d.ts +3 -0
  91. package/{esm → es}/splitter/hooks/sizeUtil.js +1 -1
  92. package/es/splitter/hooks/useDragListeners.d.ts +14 -0
  93. package/es/splitter/hooks/useDragListeners.js +107 -0
  94. package/es/splitter/hooks/useItems.d.ts +20 -0
  95. package/es/splitter/hooks/useOrientation.d.ts +2 -0
  96. package/es/splitter/hooks/useOrientation.js +6 -0
  97. package/es/splitter/hooks/useResizable.d.ts +13 -0
  98. package/{esm → es}/splitter/hooks/useResizable.js +5 -2
  99. package/es/splitter/hooks/useResize.d.ts +6 -0
  100. package/{esm → es}/splitter/hooks/useResize.js +10 -3
  101. package/es/splitter/hooks/useSizes.d.ts +4 -0
  102. package/{esm → es}/splitter/hooks/useSizes.js +5 -6
  103. package/es/splitter/index.d.ts +9 -0
  104. package/es/splitter/interface.d.ts +45 -0
  105. package/es/splitter/style/index.d.ts +2 -0
  106. package/es/splitter/style/index.less +349 -0
  107. package/es/status-tag/index.d.ts +29 -0
  108. package/{esm/statusTag → es/status-tag}/index.js +1 -1
  109. package/es/status-tag/style/index.d.ts +2 -0
  110. package/{lib/statusTag → es/status-tag}/style/index.less +70 -70
  111. package/{esm/statusTag → es/status-tag}/style/mixin.less +48 -39
  112. package/es/style/index.d.ts +1 -0
  113. package/{esm → es}/style/index.less +1 -1
  114. package/es/style/themes/index.less +2 -0
  115. package/{esm → es}/style/themes/variable.less +5 -5
  116. package/es/table/Column.d.ts +2 -0
  117. package/es/table/Column.js +1 -0
  118. package/es/table/ColumnGroup.d.ts +2 -0
  119. package/es/table/ColumnGroup.js +1 -0
  120. package/es/table/InternalTable.d.ts +43 -0
  121. package/es/table/InternalTable.js +816 -0
  122. package/es/table/Table.d.ts +19 -0
  123. package/es/table/Table.js +30 -0
  124. package/es/table/TableMeasureRowContext.d.ts +3 -0
  125. package/es/table/TableMeasureRowContext.js +3 -0
  126. package/es/table/components/Body/BodyRow.d.ts +37 -0
  127. package/es/table/components/Body/BodyRow.js +182 -0
  128. package/es/table/components/Body/ExpandedRow.d.ts +15 -0
  129. package/es/table/components/Body/ExpandedRow.js +51 -0
  130. package/es/table/components/Body/MeasureCell.d.ts +8 -0
  131. package/es/table/components/Body/MeasureCell.js +33 -0
  132. package/es/table/components/Body/MeasureRow.d.ts +10 -0
  133. package/es/table/components/Body/MeasureRow.js +54 -0
  134. package/es/table/components/Body/index.d.ts +11 -0
  135. package/es/table/components/Body/index.js +123 -0
  136. package/es/table/components/Cell/index.d.ts +39 -0
  137. package/es/table/components/Cell/index.js +196 -0
  138. package/es/table/components/Cell/useCellRender.d.ts +3 -0
  139. package/es/table/components/Cell/useCellRender.js +69 -0
  140. package/es/table/components/Cell/useHoverState.d.ts +2 -0
  141. package/es/table/components/Cell/useHoverState.js +13 -0
  142. package/es/table/components/ColGroup.d.ts +9 -0
  143. package/es/table/components/ColGroup.js +53 -0
  144. package/es/table/components/ExpandIcon.d.ts +12 -0
  145. package/es/table/components/ExpandIcon.js +27 -0
  146. package/es/table/components/FixedHolder/index.d.ts +27 -0
  147. package/es/table/components/FixedHolder/index.js +186 -0
  148. package/es/table/components/Footer/Cell.d.ts +11 -0
  149. package/es/table/components/Footer/Cell.js +47 -0
  150. package/es/table/components/Footer/Row.d.ts +8 -0
  151. package/es/table/components/Footer/Row.js +10 -0
  152. package/es/table/components/Footer/Summary.d.ts +14 -0
  153. package/es/table/components/Footer/Summary.js +12 -0
  154. package/es/table/components/Footer/SummaryContext.d.ts +11 -0
  155. package/es/table/components/Footer/SummaryContext.js +3 -0
  156. package/es/table/components/Footer/index.d.ts +16 -0
  157. package/es/table/components/Footer/index.js +31 -0
  158. package/es/table/components/Header/Header.d.ts +10 -0
  159. package/es/table/components/Header/Header.js +110 -0
  160. package/es/table/components/Header/HeaderRow.d.ts +19 -0
  161. package/es/table/components/Header/HeaderRow.js +63 -0
  162. package/es/table/components/Panel.d.ts +7 -0
  163. package/es/table/components/Panel.js +11 -0
  164. package/es/table/components/RcTable.d.ts +114 -0
  165. package/es/table/components/RcTable.js +757 -0
  166. package/es/table/components/VirtualTable.d.ts +5 -0
  167. package/es/table/components/VirtualTable.js +12 -0
  168. package/es/table/components/VirtualTableBody/BodyGrid.d.ts +13 -0
  169. package/es/table/components/VirtualTableBody/BodyGrid.js +307 -0
  170. package/es/table/components/VirtualTableBody/BodyLine.d.ts +14 -0
  171. package/es/table/components/VirtualTableBody/BodyLine.js +116 -0
  172. package/es/table/components/VirtualTableBody/VirtualCell.d.ts +26 -0
  173. package/es/table/components/VirtualTableBody/VirtualCell.js +118 -0
  174. package/es/table/components/VirtualTableBody/context.d.ts +13 -0
  175. package/es/table/components/VirtualTableBody/context.js +3 -0
  176. package/es/table/components/VirtualTableBody/index.d.ts +16 -0
  177. package/es/table/components/VirtualTableBody/index.js +102 -0
  178. package/es/table/constant.d.ts +2 -0
  179. package/es/table/constant.js +2 -0
  180. package/es/table/features/columns/Column.d.ts +7 -0
  181. package/es/table/features/columns/Column.js +4 -0
  182. package/es/table/features/columns/ColumnGroup.d.ts +9 -0
  183. package/es/table/features/columns/ColumnGroup.js +4 -0
  184. package/es/table/features/columns/index.d.ts +8 -0
  185. package/es/table/features/columns/index.js +6 -0
  186. package/es/table/features/columns/useColumns.d.ts +31 -0
  187. package/es/table/features/columns/useColumns.js +227 -0
  188. package/es/table/features/columns/useFilledColumns.d.ts +4 -0
  189. package/es/table/features/columns/useFilledColumns.js +34 -0
  190. package/es/table/features/columns/useTitleColumns.d.ts +4 -0
  191. package/es/table/features/columns/useTitleColumns.js +26 -0
  192. package/es/table/features/columns/useWidthColumns.d.ts +5 -0
  193. package/es/table/features/columns/useWidthColumns.js +75 -0
  194. package/es/table/features/editable/BatchEditModal.d.ts +4 -0
  195. package/es/table/features/editable/BatchEditModal.js +786 -0
  196. package/es/table/features/editable/EditableCell.d.ts +42 -0
  197. package/es/table/features/editable/EditableCell.js +294 -0
  198. package/es/table/features/editable/EditableContext.d.ts +33 -0
  199. package/es/table/features/editable/EditableContext.js +20 -0
  200. package/es/table/features/editable/batchEditTypes.d.ts +55 -0
  201. package/es/table/features/editable/batchEditTypes.js +1 -0
  202. package/es/table/features/editable/batchEditUtils.d.ts +44 -0
  203. package/es/table/features/editable/batchEditUtils.js +258 -0
  204. package/es/table/features/editable/builtinEditors.d.ts +32 -0
  205. package/es/table/features/editable/builtinEditors.js +165 -0
  206. package/es/table/features/editable/index.d.ts +11 -0
  207. package/es/table/features/editable/index.js +10 -0
  208. package/es/table/features/editable/useBatchRules.d.ts +17 -0
  209. package/es/table/features/editable/useBatchRules.js +96 -0
  210. package/es/table/features/editable/useEditable.d.ts +51 -0
  211. package/es/table/features/editable/useEditable.js +693 -0
  212. package/es/table/features/expand/expandUtil.d.ts +5 -0
  213. package/es/table/features/expand/expandUtil.js +47 -0
  214. package/es/table/features/expand/index.d.ts +2 -0
  215. package/es/table/features/expand/index.js +2 -0
  216. package/es/table/features/expand/useExpand.d.ts +10 -0
  217. package/es/table/features/expand/useExpand.js +90 -0
  218. package/es/table/features/filter/FilterDropdown.d.ts +31 -0
  219. package/es/table/features/filter/FilterDropdown.js +494 -0
  220. package/es/table/features/filter/FilterSearch.d.ts +12 -0
  221. package/es/table/features/filter/FilterSearch.js +24 -0
  222. package/es/table/features/filter/FilterWrapper.d.ts +8 -0
  223. package/es/table/features/filter/FilterWrapper.js +23 -0
  224. package/es/table/features/filter/index.d.ts +4 -0
  225. package/es/table/features/filter/index.js +4 -0
  226. package/es/table/features/filter/useFilter.d.ts +22 -0
  227. package/es/table/features/filter/useFilter.js +240 -0
  228. package/es/table/features/fixed/fixUtil.d.ts +21 -0
  229. package/es/table/features/fixed/fixUtil.js +69 -0
  230. package/es/table/features/fixed/index.d.ts +4 -0
  231. package/es/table/features/fixed/index.js +4 -0
  232. package/es/table/features/fixed/offsetUtil.d.ts +4 -0
  233. package/es/table/features/fixed/offsetUtil.js +13 -0
  234. package/es/table/features/fixed/useFixedInfo.d.ts +2 -0
  235. package/es/table/features/fixed/useFixedInfo.js +16 -0
  236. package/es/table/features/fixed/useStickyOffsets.d.ts +6 -0
  237. package/es/table/features/fixed/useStickyOffsets.js +29 -0
  238. package/es/table/features/hover/index.d.ts +1 -0
  239. package/es/table/features/hover/index.js +1 -0
  240. package/es/table/features/hover/useHover.d.ts +2 -0
  241. package/es/table/features/hover/useHover.js +22 -0
  242. package/es/table/features/pagination/index.d.ts +1 -0
  243. package/es/table/features/pagination/index.js +1 -0
  244. package/es/table/features/pagination/usePagination.d.ts +5 -0
  245. package/es/table/features/pagination/usePagination.js +89 -0
  246. package/es/table/features/resize/ResizeHandle.d.ts +22 -0
  247. package/es/table/features/resize/ResizeHandle.js +99 -0
  248. package/es/table/features/resize/index.d.ts +5 -0
  249. package/es/table/features/resize/index.js +3 -0
  250. package/es/table/features/resize/transformResizableColumns.d.ts +11 -0
  251. package/es/table/features/resize/transformResizableColumns.js +52 -0
  252. package/es/table/features/resize/useResize.d.ts +52 -0
  253. package/es/table/features/resize/useResize.js +586 -0
  254. package/es/table/features/selection/index.d.ts +1 -0
  255. package/es/table/features/selection/index.js +1 -0
  256. package/es/table/features/selection/useSelection.d.ts +20 -0
  257. package/es/table/features/selection/useSelection.js +579 -0
  258. package/es/table/features/sort/index.d.ts +1 -0
  259. package/es/table/features/sort/index.js +1 -0
  260. package/es/table/features/sort/useSorter.d.ts +21 -0
  261. package/es/table/features/sort/useSorter.js +372 -0
  262. package/es/table/features/sticky/index.d.ts +2 -0
  263. package/es/table/features/sticky/index.js +2 -0
  264. package/es/table/features/sticky/stickyScrollBar.d.ts +12 -0
  265. package/es/table/features/sticky/stickyScrollBar.js +203 -0
  266. package/es/table/features/sticky/useSticky.d.ts +10 -0
  267. package/es/table/features/sticky/useSticky.js +34 -0
  268. package/es/table/features/summary/index.d.ts +1 -0
  269. package/es/table/features/summary/index.js +1 -0
  270. package/es/table/features/virtual/index.d.ts +2 -0
  271. package/es/table/features/virtual/index.js +2 -0
  272. package/es/table/features/virtual/useFlattenRecords.d.ts +19 -0
  273. package/es/table/features/virtual/useFlattenRecords.js +55 -0
  274. package/es/table/features/virtual/useFrame.d.ts +7 -0
  275. package/es/table/features/virtual/useFrame.js +67 -0
  276. package/es/table/immutableHelper.d.ts +9 -0
  277. package/es/table/immutableHelper.js +36 -0
  278. package/es/table/index.d.ts +24 -0
  279. package/es/table/index.js +23 -0
  280. package/es/table/interface.d.ts +438 -0
  281. package/es/table/interface.js +56 -0
  282. package/es/table/shared/context/PerfContext.d.ts +6 -0
  283. package/es/table/shared/context/PerfContext.js +6 -0
  284. package/es/table/shared/context/TableContext.d.ts +51 -0
  285. package/es/table/shared/context/TableContext.js +8 -0
  286. package/es/table/shared/hooks/useContainerWidth.d.ts +1 -0
  287. package/es/table/shared/hooks/useContainerWidth.js +14 -0
  288. package/es/table/shared/hooks/useLazyKVMap.d.ts +4 -0
  289. package/es/table/shared/hooks/useLazyKVMap.js +30 -0
  290. package/es/table/shared/hooks/useRenderTimes.d.ts +5 -0
  291. package/es/table/shared/hooks/useRenderTimes.js +39 -0
  292. package/es/table/shared/hooks/useRowInfo.d.ts +11 -0
  293. package/es/table/shared/hooks/useRowInfo.js +73 -0
  294. package/es/table/shared/utils/legacyUtil.d.ts +5 -0
  295. package/es/table/shared/utils/legacyUtil.js +30 -0
  296. package/es/table/shared/utils/util.d.ts +6 -0
  297. package/es/table/shared/utils/util.js +26 -0
  298. package/es/table/shared/utils/valueUtil.d.ts +8 -0
  299. package/es/table/shared/utils/valueUtil.js +29 -0
  300. package/es/table/style/base.less +164 -0
  301. package/es/table/style/bordered.less +83 -0
  302. package/es/table/style/editable.less +50 -0
  303. package/es/table/style/ellipsis.less +33 -0
  304. package/es/table/style/empty.less +16 -0
  305. package/es/table/style/expand.less +123 -0
  306. package/es/table/style/filter.less +34 -0
  307. package/es/table/style/fixed.less +85 -0
  308. package/es/table/style/index.d.ts +3 -0
  309. package/es/table/style/index.js +3 -0
  310. package/es/table/style/index.less +19 -0
  311. package/es/table/style/pagination.less +29 -0
  312. package/es/table/style/radius.less +64 -0
  313. package/es/table/style/resize.less +78 -0
  314. package/es/table/style/rtl.less +52 -0
  315. package/es/table/style/selection.less +63 -0
  316. package/es/table/style/size.less +54 -0
  317. package/es/table/style/sorter.less +99 -0
  318. package/es/table/style/sticky.less +45 -0
  319. package/es/table/style/summary.less +23 -0
  320. package/es/table/style/variables.less +80 -0
  321. package/es/table/style/virtual.less +95 -0
  322. package/lib/_util/context/createContextSelector.js +120 -0
  323. package/lib/_util/context/immutable.js +92 -0
  324. package/lib/_util/context/index.js +41 -0
  325. package/lib/_util/easings.js +1 -1
  326. package/lib/_util/getScroll.js +6 -6
  327. package/lib/_util/hooks/index.js +82 -5
  328. package/lib/_util/hooks/useBreakpoint.js +85 -0
  329. package/lib/_util/hooks/useCssVar.js +37 -0
  330. package/lib/_util/hooks/useEvent.js +13 -0
  331. package/lib/_util/hooks/useForceUpdate.js +5 -4
  332. package/lib/_util/hooks/useLayoutEffect.js +13 -0
  333. package/lib/_util/hooks/useMultipleSelect.js +43 -0
  334. package/lib/_util/hooks/useOrientation.js +7 -8
  335. package/lib/_util/hooks/useProxyImperativeHandle.js +18 -14
  336. package/lib/_util/hooks/useSyncState.js +19 -9
  337. package/lib/_util/hooks/useTimeoutLock.js +35 -0
  338. package/lib/_util/index.js +101 -1
  339. package/lib/_util/is.js +22 -0
  340. package/lib/_util/rcUtil.js +134 -0
  341. package/lib/_util/scrollTo.js +22 -18
  342. package/lib/_util/scrollbar.js +38 -0
  343. package/lib/_util/validate.js +17 -0
  344. package/lib/_util/warning.js +25 -27
  345. package/lib/block-header/index.js +141 -0
  346. package/{esm/blockHeader → lib/block-header}/style/index.less +167 -143
  347. package/lib/button/index.js +24 -9
  348. package/lib/button/style/index.less +62 -59
  349. package/lib/button/style/mixin.less +40 -39
  350. package/lib/collapsible/index.js +210 -169
  351. package/lib/collapsible/style/index.less +24 -24
  352. package/lib/collapsible-action-items/index.js +83 -0
  353. package/{esm/collapsibleActionItems → lib/collapsible-action-items}/style/index.less +7 -7
  354. package/lib/flex/index.js +43 -34
  355. package/lib/flex/style/index.less +80 -76
  356. package/lib/flex/utils.js +23 -23
  357. package/lib/form-list/index.js +163 -0
  358. package/lib/{formList → form-list}/style/index.less +45 -45
  359. package/lib/index.js +41 -63
  360. package/lib/overflow-list/index.js +203 -0
  361. package/lib/{overflowList → overflow-list}/style/index.less +9 -9
  362. package/lib/resize/index.js +13 -13
  363. package/lib/resize-observer/index.js +182 -0
  364. package/lib/splitter/Panel.js +36 -25
  365. package/lib/splitter/SplitBar.js +151 -134
  366. package/lib/splitter/Splitter.js +141 -89
  367. package/lib/splitter/hooks/sizeUtil.js +50 -33
  368. package/lib/splitter/hooks/useDragListeners.js +114 -0
  369. package/lib/splitter/hooks/useItems.js +27 -20
  370. package/lib/splitter/hooks/useOrientation.js +12 -0
  371. package/lib/splitter/hooks/useResizable.js +32 -30
  372. package/lib/splitter/hooks/useResize.js +76 -45
  373. package/lib/splitter/hooks/useSizes.js +55 -30
  374. package/lib/splitter/index.js +1 -1
  375. package/lib/splitter/style/index.less +349 -312
  376. package/lib/status-tag/index.js +131 -0
  377. package/{esm/statusTag → lib/status-tag}/style/index.less +70 -70
  378. package/lib/{statusTag → status-tag}/style/mixin.less +48 -39
  379. package/lib/style/index.less +1 -1
  380. package/lib/style/themes/index.less +2 -2
  381. package/lib/style/themes/variable.less +5 -5
  382. package/lib/table/Column.js +13 -0
  383. package/lib/table/ColumnGroup.js +13 -0
  384. package/lib/table/InternalTable.js +824 -0
  385. package/lib/table/Table.js +40 -0
  386. package/lib/table/TableMeasureRowContext.js +10 -0
  387. package/lib/table/components/Body/BodyRow.js +192 -0
  388. package/lib/table/components/Body/ExpandedRow.js +61 -0
  389. package/lib/table/components/Body/MeasureCell.js +43 -0
  390. package/lib/table/components/Body/MeasureRow.js +64 -0
  391. package/lib/table/components/Body/index.js +133 -0
  392. package/lib/table/components/Cell/index.js +205 -0
  393. package/lib/table/components/Cell/useCellRender.js +78 -0
  394. package/lib/table/components/Cell/useHoverState.js +20 -0
  395. package/lib/table/components/ColGroup.js +62 -0
  396. package/lib/table/components/ExpandIcon.js +35 -0
  397. package/lib/table/components/FixedHolder/index.js +195 -0
  398. package/lib/table/components/Footer/Cell.js +57 -0
  399. package/lib/table/components/Footer/Row.js +19 -0
  400. package/lib/table/components/Footer/Summary.js +19 -0
  401. package/lib/table/components/Footer/SummaryContext.js +12 -0
  402. package/lib/table/components/Footer/index.js +41 -0
  403. package/lib/table/components/Header/Header.js +120 -0
  404. package/lib/table/components/Header/HeaderRow.js +72 -0
  405. package/lib/table/components/Panel.js +20 -0
  406. package/lib/table/components/RcTable.js +764 -0
  407. package/lib/table/components/VirtualTable.js +18 -0
  408. package/lib/table/components/VirtualTableBody/BodyGrid.js +316 -0
  409. package/lib/table/components/VirtualTableBody/BodyLine.js +125 -0
  410. package/lib/table/components/VirtualTableBody/VirtualCell.js +128 -0
  411. package/lib/table/components/VirtualTableBody/context.js +9 -0
  412. package/lib/table/components/VirtualTableBody/index.js +111 -0
  413. package/lib/table/constant.js +8 -0
  414. package/lib/table/features/columns/Column.js +10 -0
  415. package/lib/table/features/columns/ColumnGroup.js +10 -0
  416. package/lib/table/features/columns/index.js +57 -0
  417. package/lib/table/features/columns/useColumns.js +237 -0
  418. package/lib/table/features/columns/useFilledColumns.js +42 -0
  419. package/lib/table/features/columns/useTitleColumns.js +34 -0
  420. package/lib/table/features/columns/useWidthColumns.js +83 -0
  421. package/lib/table/features/editable/BatchEditModal.js +794 -0
  422. package/lib/table/features/editable/EditableCell.js +303 -0
  423. package/lib/table/features/editable/EditableContext.js +28 -0
  424. package/lib/table/features/editable/batchEditTypes.js +5 -0
  425. package/lib/table/features/editable/batchEditUtils.js +264 -0
  426. package/lib/table/features/editable/builtinEditors.js +174 -0
  427. package/lib/table/features/editable/index.js +75 -0
  428. package/lib/table/features/editable/useBatchRules.js +103 -0
  429. package/lib/table/features/editable/useEditable.js +701 -0
  430. package/lib/table/features/expand/expandUtil.js +57 -0
  431. package/lib/table/features/expand/index.js +32 -0
  432. package/lib/table/features/expand/useExpand.js +99 -0
  433. package/lib/table/features/filter/FilterDropdown.js +504 -0
  434. package/lib/table/features/filter/FilterSearch.js +34 -0
  435. package/lib/table/features/filter/FilterWrapper.js +32 -0
  436. package/lib/table/features/filter/index.js +49 -0
  437. package/lib/table/features/filter/useFilter.js +254 -0
  438. package/lib/table/features/fixed/fixUtil.js +75 -0
  439. package/lib/table/features/fixed/index.js +34 -0
  440. package/lib/table/features/fixed/offsetUtil.js +19 -0
  441. package/lib/table/features/fixed/useFixedInfo.js +26 -0
  442. package/lib/table/features/fixed/useStickyOffsets.js +35 -0
  443. package/lib/table/features/hover/index.js +13 -0
  444. package/lib/table/features/hover/useHover.js +31 -0
  445. package/lib/table/features/pagination/index.js +27 -0
  446. package/lib/table/features/pagination/usePagination.js +96 -0
  447. package/lib/table/features/resize/ResizeHandle.js +109 -0
  448. package/lib/table/features/resize/index.js +27 -0
  449. package/lib/table/features/resize/transformResizableColumns.js +61 -0
  450. package/lib/table/features/resize/useResize.js +595 -0
  451. package/lib/table/features/selection/index.js +39 -0
  452. package/lib/table/features/selection/useSelection.js +588 -0
  453. package/lib/table/features/sort/index.js +21 -0
  454. package/lib/table/features/sort/useSorter.js +381 -0
  455. package/lib/table/features/sticky/index.js +20 -0
  456. package/lib/table/features/sticky/stickyScrollBar.js +212 -0
  457. package/lib/table/features/sticky/useSticky.js +43 -0
  458. package/lib/table/features/summary/index.js +13 -0
  459. package/lib/table/features/virtual/index.js +26 -0
  460. package/lib/table/features/virtual/useFlattenRecords.js +64 -0
  461. package/lib/table/features/virtual/useFrame.js +74 -0
  462. package/lib/table/immutableHelper.js +46 -0
  463. package/lib/table/index.js +124 -0
  464. package/lib/table/interface.js +60 -0
  465. package/lib/table/shared/context/PerfContext.js +15 -0
  466. package/lib/table/shared/context/TableContext.js +13 -0
  467. package/lib/table/shared/hooks/useContainerWidth.js +20 -0
  468. package/lib/table/shared/hooks/useLazyKVMap.js +39 -0
  469. package/lib/table/shared/hooks/useRenderTimes.js +49 -0
  470. package/lib/table/shared/hooks/useRowInfo.js +80 -0
  471. package/lib/table/shared/utils/legacyUtil.js +38 -0
  472. package/lib/table/shared/utils/util.js +34 -0
  473. package/lib/table/shared/utils/valueUtil.js +37 -0
  474. package/lib/table/style/base.less +164 -0
  475. package/lib/table/style/bordered.less +83 -0
  476. package/lib/table/style/editable.less +50 -0
  477. package/lib/table/style/ellipsis.less +33 -0
  478. package/lib/table/style/empty.less +16 -0
  479. package/lib/table/style/expand.less +123 -0
  480. package/lib/table/style/filter.less +34 -0
  481. package/lib/table/style/fixed.less +85 -0
  482. package/lib/table/style/index.js +5 -0
  483. package/lib/table/style/index.less +19 -0
  484. package/lib/table/style/pagination.less +29 -0
  485. package/lib/table/style/radius.less +64 -0
  486. package/lib/table/style/resize.less +78 -0
  487. package/lib/table/style/rtl.less +52 -0
  488. package/lib/table/style/selection.less +63 -0
  489. package/lib/table/style/size.less +54 -0
  490. package/lib/table/style/sorter.less +99 -0
  491. package/lib/table/style/sticky.less +45 -0
  492. package/lib/table/style/summary.less +23 -0
  493. package/lib/table/style/variables.less +80 -0
  494. package/lib/table/style/virtual.less +95 -0
  495. package/package.json +147 -152
  496. package/esm/_util/extendsObject.js +0 -17
  497. package/esm/_util/hooks/index.js +0 -4
  498. package/esm/_util/isNonNullable.js +0 -4
  499. package/esm/index.js +0 -22
  500. package/esm/splitter/style/index.less +0 -312
  501. package/esm/style/mixins/index.less +0 -0
  502. package/esm/style/themes/index.less +0 -2
  503. package/lib/_util/extendsObject.js +0 -20
  504. package/lib/_util/isNonNullable.js +0 -10
  505. package/lib/blockHeader/index.js +0 -121
  506. package/lib/collapsibleActionItems/index.js +0 -68
  507. package/lib/formList/index.js +0 -130
  508. package/lib/overflowList/index.js +0 -144
  509. package/lib/resizeObserver/index.js +0 -137
  510. package/lib/statusTag/index.js +0 -125
  511. package/lib/style/mixins/index.less +0 -0
  512. /package/{esm → es}/_util/easings.js +0 -0
  513. /package/{esm → es}/_util/gapSize.js +0 -0
  514. /package/{esm → es}/_util/hooks/useForceUpdate.js +0 -0
  515. /package/{esm → es}/_util/hooks/useOrientation.js +0 -0
  516. /package/{esm → es}/_util/hooks/useSyncState.js +0 -0
  517. /package/{esm → es}/_util/type.js +0 -0
  518. /package/{esm/blockHeader → es/block-header}/style/index.js +0 -0
  519. /package/{esm → es}/button/style/index.js +0 -0
  520. /package/{esm → es}/collapsible/style/index.js +0 -0
  521. /package/{esm/collapsibleActionItems → es/collapsible-action-items}/style/index.js +0 -0
  522. /package/{esm → es}/flex/interface.js +0 -0
  523. /package/{esm → es}/flex/style/index.js +0 -0
  524. /package/{esm → es}/flex/utils.js +0 -0
  525. /package/{esm/formList → es/form-list}/style/index.js +0 -0
  526. /package/{esm/overflowList → es/overflow-list}/style/index.js +0 -0
  527. /package/{esm → es}/resize/index.js +0 -0
  528. /package/{esm → es}/splitter/hooks/useItems.js +0 -0
  529. /package/{esm → es}/splitter/index.js +0 -0
  530. /package/{esm → es}/splitter/interface.js +0 -0
  531. /package/{esm → es}/splitter/style/index.js +0 -0
  532. /package/{esm/statusTag → es/status-tag}/style/index.js +0 -0
  533. /package/{esm → es}/style/index.js +0 -0
  534. /package/lib/{blockHeader → block-header}/style/index.js +0 -0
  535. /package/lib/{collapsibleActionItems → collapsible-action-items}/style/index.js +0 -0
  536. /package/lib/{formList → form-list}/style/index.js +0 -0
  537. /package/lib/{overflowList → overflow-list}/style/index.js +0 -0
  538. /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";