@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
@@ -1,77 +1,81 @@
1
- @import '../../style/themes/index.less';
2
-
3
- @flex-prefix-cls: ~'@{ant-prefix}-flex';
4
-
5
- // 属性与值的映射
6
- @align-items-values: {
7
- stretch: stretch;
8
- flex-start: flex-start;
9
- center: center;
10
- flex-end: flex-end;
11
- baseline: baseline;
12
- };
13
-
14
- @justify-content-values: {
15
- flex-start: flex-start;
16
- center: center;
17
- flex-end: flex-end;
18
- space-between: space-between;
19
- space-around: space-around;
20
- space-evenly: space-evenly;
21
- };
22
-
23
- @flex-wrap-values: {
24
- nowrap: nowrap;
25
- wrap: wrap;
26
- wrap-reverse: wrap-reverse;
27
- };
28
-
29
- .@{flex-prefix-cls} {
30
- display: flex;
31
- margin: 0;
32
- padding: 0;
33
-
34
- // 方向
35
- &-vertical {
36
- flex-direction: column;
37
- }
38
- &-rtl {
39
- direction: rtl;
40
- }
41
- &:empty {
42
- display: none;
43
- }
44
-
45
- // 间距 (Gap)
46
- &-gap-small {
47
- gap: @padding-xs;
48
- }
49
- &-gap-middle {
50
- gap: @padding-md;
51
- }
52
- &-gap-large {
53
- gap: @padding-lg;
54
- }
55
-
56
- // 使用 Loops/Each 抽象重复代码
57
- // flex-wrap
58
- each(@flex-wrap-values, .(@value, @key) {
59
- &-wrap-@{key} {
60
- flex-wrap: @value;
61
- }
62
- });
63
-
64
- // align-items
65
- each(@align-items-values, .(@value, @key) {
66
- &-align-@{key} {
67
- align-items: @value;
68
- }
69
- });
70
-
71
- // justify-content
72
- each(@justify-content-values, .(@value, @key) {
73
- &-justify-@{key} {
74
- justify-content: @value;
75
- }
76
- });
1
+ @import '../../style/themes/index.less';
2
+
3
+ @flex-prefix-cls: ~'@{ant-prefix}-flex';
4
+
5
+ // 属性与值的映射
6
+ @align-items-values: {
7
+ stretch: stretch;
8
+ flex-start: flex-start;
9
+ center: center;
10
+ flex-end: flex-end;
11
+ baseline: baseline;
12
+ };
13
+
14
+ @justify-content-values: {
15
+ flex-start: flex-start;
16
+ center: center;
17
+ flex-end: flex-end;
18
+ space-between: space-between;
19
+ space-around: space-around;
20
+ space-evenly: space-evenly;
21
+ };
22
+
23
+ @flex-wrap-values: {
24
+ nowrap: nowrap;
25
+ wrap: wrap;
26
+ wrap-reverse: wrap-reverse;
27
+ };
28
+
29
+ .@{flex-prefix-cls} {
30
+ display: flex;
31
+ margin: 0;
32
+ padding: 0;
33
+
34
+ // 方向
35
+ &-vertical {
36
+ flex-direction: column;
37
+ }
38
+
39
+ &-rtl {
40
+ direction: rtl;
41
+ }
42
+
43
+ &:empty {
44
+ display: none;
45
+ }
46
+
47
+ // 间距 (Gap)
48
+ &-gap-small {
49
+ gap: @padding-xs;
50
+ }
51
+
52
+ &-gap-middle {
53
+ gap: @padding-md;
54
+ }
55
+
56
+ &-gap-large {
57
+ gap: @padding-lg;
58
+ }
59
+
60
+ // 使用 Loops/Each 抽象重复代码
61
+ // flex-wrap
62
+ each(@flex-wrap-values, .(@value, @key) {
63
+ &-wrap-@{key} {
64
+ flex-wrap: @value;
65
+ }
66
+ });
67
+
68
+ // align-items
69
+ each(@align-items-values, .(@value, @key) {
70
+ &-align-@{key} {
71
+ align-items: @value;
72
+ }
73
+ });
74
+
75
+ // justify-content
76
+ each(@justify-content-values, .(@value, @key) {
77
+ &-justify-@{key} {
78
+ justify-content: @value;
79
+ }
80
+ });
77
81
  }
@@ -0,0 +1,7 @@
1
+ import type React from 'react';
2
+ import type { FlexProps } from './interface';
3
+ export declare const flexWrapValues: React.CSSProperties['flexWrap'][];
4
+ export declare const justifyContentValues: React.CSSProperties['justifyContent'][];
5
+ export declare const alignItemsValues: React.CSSProperties['alignItems'][];
6
+ declare const createFlexClassNames: (prefixCls: string, props: FlexProps) => string;
7
+ export default createFlexClassNames;
@@ -0,0 +1,87 @@
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
3
+ import type { FormListFieldData, TableProps } from 'antd';
4
+ import type { FormItemProps, FormListProps, RuleObject, RuleRender } from 'antd/lib/form';
5
+ import type { ColumnType as TableColumnType } from 'antd/lib/table';
6
+ import './style';
7
+ type NotNullRowSelection = NonNullable<TableProps<any>['rowSelection']>;
8
+ /**
9
+ * Override NamePath parameters type
10
+ */
11
+ type OverrideParameters = (string | number)[];
12
+ type RcFormInstance = Parameters<RuleRender>[0];
13
+ type RawPanelRender = NonNullable<TableProps<any>['footer']>;
14
+ /**
15
+ * Override PanelRender type
16
+ */
17
+ type PanelRenderFunc = (...args: Parameters<FormListProps['children']>) => ReturnType<RawPanelRender>;
18
+ /**
19
+ * Form.Table 组件类型
20
+ */
21
+ /**
22
+ * @deprecated FormList 已废弃,将在后续大版本中移除。
23
+ */
24
+ export interface IFormTableProps
25
+ /**
26
+ * Support all FormListProps except children for which is re-defined in this component
27
+ * and prefixCls for which is not expected to be supported
28
+ */
29
+ extends Pick<FormListProps, 'name' | 'rules' | 'initialValue'>,
30
+ /**
31
+ * Support all TableProps except
32
+ * - re-define columns and re-defined rowSelection
33
+ * - and pagination which is expect to be not supported in Form.Table
34
+ * - and className which is renamed to tableClassName
35
+ * - and rowKey, dataSource for which are defined and not allowed to be modified
36
+ * - and footer, title, summary for which are re-defined to pass form's operation
37
+ */
38
+ Omit<TableProps<any>, 'columns' | 'rowSelection' | 'pagination' | 'className' | 'rowKey' | 'dataSource' | 'footer' | 'title' | 'summary'> {
39
+ /**
40
+ * 表格列的配置描述
41
+ */
42
+ columns?: ColumnType[] | ((...args: Parameters<FormListProps['children']>) => ColumnType[]);
43
+ /**
44
+ * Table 的 className
45
+ */
46
+ tableClassName?: TableProps<any>['className'];
47
+ /**
48
+ * 表格行是否可选择
49
+ */
50
+ rowSelection?: Omit<NotNullRowSelection, 'getCheckboxProps'> & {
51
+ getCheckboxProps?: (field: FormListFieldData) => ReturnType<NonNullable<NotNullRowSelection['getCheckboxProps']>>;
52
+ };
53
+ title?: PanelRenderFunc;
54
+ footer?: PanelRenderFunc;
55
+ summary?: PanelRenderFunc;
56
+ }
57
+ /**
58
+ * @deprecated FormList 已废弃,将在后续大版本中移除。
59
+ */
60
+ export interface ColumnType
61
+ /**
62
+ * Support all FormItemProps, and re-defined `rules` and `dependencies`
63
+ */
64
+ extends Omit<FormItemProps, 'rules' | 'dependencies' | 'prefixCls' | 'children'>,
65
+ /**
66
+ * Support all TableColumnType, and re-defined `render`
67
+ */
68
+ Omit<TableColumnType<FormListFieldData>, 'render'> {
69
+ /**
70
+ * 设置依赖字段, 支持通过回调函数获取当前字段名
71
+ */
72
+ dependencies?: ((namePath: OverrideParameters) => FormItemProps['dependencies']) | FormItemProps['dependencies'];
73
+ /**
74
+ * 校验规则,设置字段的校验逻辑,支持通过回调函数获取当前字段名
75
+ */
76
+ rules?: (RuleObject | ((form: RcFormInstance, namePath: OverrideParameters) => RuleObject))[];
77
+ /**
78
+ * 渲染函数
79
+ * @param formInstance 只有在设置了 `dependencies` 的情况下才有该参数
80
+ */
81
+ render?: (fieldData: FormListFieldData, namePath: OverrideParameters, formInstance?: RcFormInstance) => ReactNode;
82
+ }
83
+ /**
84
+ * @deprecated FormList 已废弃,将在后续大版本中移除。
85
+ */
86
+ export default function InternalTable({ name, rules, initialValue, ...tableProps }: IFormTableProps): React.JSX.Element;
87
+ export {};
@@ -13,22 +13,32 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
13
13
  import React, { useMemo } from 'react';
14
14
  import { Utils } from '@dtinsight/dt-utils';
15
15
  import { Form, Table } from 'antd';
16
- import { globalConfig } from 'antd/es/config-provider';
16
+ import { globalConfig } from 'antd/lib/config-provider';
17
17
  import clsx from 'clsx';
18
18
  import "./style";
19
19
 
20
- /**
21
- * Override NamePath parameters type
20
+ /**
21
+ * Override NamePath parameters type
22
22
  */
23
23
 
24
- /**
25
- * Override PanelRender type
24
+ /**
25
+ * Override PanelRender type
26
26
  */
27
27
 
28
- /**
29
- * Form.Table 组件类型
28
+ /**
29
+ * Form.Table 组件类型
30
+ */
31
+ /**
32
+ * @deprecated FormList 已废弃,将在后续大版本中移除。
33
+ */
34
+
35
+ /**
36
+ * @deprecated FormList 已废弃,将在后续大版本中移除。
30
37
  */
31
38
 
39
+ /**
40
+ * @deprecated FormList 已废弃,将在后续大版本中移除。
41
+ */
32
42
  export default function InternalTable(_ref) {
33
43
  var name = _ref.name,
34
44
  rules = _ref.rules,
@@ -87,7 +97,7 @@ export default function InternalTable(_ref) {
87
97
  return _objectSpread(_objectSpread({}, cols), {}, {
88
98
  title: function title() {
89
99
  return /*#__PURE__*/React.createElement(React.Fragment, null, isRequired && /*#__PURE__*/React.createElement("span", {
90
- className: "dtc-form__table__column--required"
100
+ className: "".concat(prefixCls, "__column--required")
91
101
  }), typeof cols.title === 'function' ? cols.title.apply(cols, arguments) : cols.title);
92
102
  },
93
103
  render: function render(_, fieldData) {
@@ -0,0 +1,2 @@
1
+ import '../../style/index.less';
2
+ import './index.less';
@@ -1,45 +1,45 @@
1
- @import '../../style/themes/index.less';
2
-
3
- @form-list-prefix-cls: ~'@{ant-prefix}-form-list';
4
-
5
- .@{form-list-prefix-cls} {
6
- height: 100%;
7
-
8
- &__column {
9
- &--required {
10
- &::before {
11
- content: "*";
12
- display: inline-block;
13
- margin-inline-end: 4px;
14
- font-size: 14px;
15
- line-height: 1;
16
- color: @error-color;
17
- }
18
-
19
- vertical-align: -0.1em;
20
- }
21
- }
22
-
23
- .ant-table,
24
- .ant-table-container {
25
- height: 100%;
26
- }
27
-
28
- .ant-form-item {
29
- margin-bottom: 0;
30
- }
31
-
32
- table colgroup > col.ant-table-selection-col {
33
- width: 48px;
34
- }
35
-
36
- .ant-table-thead > tr > th.ant-table-selection-column {
37
- padding: 0 16px;
38
- }
39
-
40
- .ant-table-tbody > tr > td.ant-table-selection-column {
41
- padding: 0 16px;
42
- }
43
- }
44
-
45
-
1
+ @import '../../style/themes/index.less';
2
+
3
+ @form-list-prefix-cls: ~'@{ant-prefix}-form-list';
4
+
5
+ .@{form-list-prefix-cls} {
6
+ height: 100%;
7
+
8
+ &__column {
9
+ &--required {
10
+ &::before {
11
+ display: inline-block;
12
+ color: @error-color;
13
+ font-size: 14px;
14
+ line-height: 1;
15
+ content: "*";
16
+ margin-inline-end: 4px;
17
+ }
18
+
19
+ vertical-align: -0.1em;
20
+ }
21
+ }
22
+
23
+ .ant-table,
24
+ .ant-table-container {
25
+ height: 100%;
26
+ }
27
+
28
+ .ant-form-item {
29
+ margin-bottom: 0;
30
+ }
31
+
32
+ table colgroup > col.ant-table-selection-col {
33
+ width: 48px;
34
+ }
35
+
36
+ .ant-table-thead > tr > th.ant-table-selection-column {
37
+ padding: 0 16px;
38
+ }
39
+
40
+ .ant-table-tbody > tr > td.ant-table-selection-column {
41
+ padding: 0 16px;
42
+ }
43
+ }
44
+
45
+
package/es/index.d.ts ADDED
@@ -0,0 +1,26 @@
1
+ export { default as BlockHeader } from './block-header';
2
+ export type { ButtonProps } from './button';
3
+ export { default as Button } from './button';
4
+ export { default as Collapsible } from './collapsible';
5
+ export { default as CollapsibleActionItems } from './collapsible-action-items';
6
+ export { default as Flex } from './flex';
7
+ export type { FlexProps } from './flex/interface';
8
+ /**
9
+ * @deprecated FormList 组件已废弃,将在后续大版本中移除,请尽快迁移到替代方案。
10
+ */
11
+ export { default as FormList } from './form-list';
12
+ /**
13
+ * @deprecated FormList 相关类型已废弃,将在后续大版本中移除。
14
+ */
15
+ export type { ColumnType as FormListColumnType, IFormTableProps } from './form-list';
16
+ export { default as OverflowList } from './overflow-list';
17
+ export { default as Resize } from './resize';
18
+ export { default as Splitter } from './splitter';
19
+ export type { PanelProps, ShowCollapsibleIconMode, SplitterProps } from './splitter';
20
+ export { default as StatusTag } from './status-tag';
21
+ export type { IStatusTagProps, PresetColorType, StatusTagType } from './status-tag';
22
+ export { Table } from './table';
23
+ export { Summary } from './table';
24
+ export { BatchEditModal } from './table';
25
+ export { applyBatchRules } from './table';
26
+ export type { AlignType, CellType, ColumnGroupType, ColumnsType, ColumnType, CustomizeComponent, CustomizeScrollBody, DataIndex, Direction, EditableConfig, EditableValidateResult, ExpandableConfig, ExpandableType, FixedInfo, FixedType, GetComponent, GetComponentProps, GetRowKey, OnCustomizeScroll, PanelRender, Reference, RenderedCell, RenderExpandIcon, RowClassName, ScrollConfig, SizeType, StickyOffsets, ColumnGroupType as TableColumnGroupType, ColumnsType as TableColumnsType, ColumnType as TableColumnType, TableComponents, ExpandableConfig as TableExpandableConfig, TableLayout, TablePaginationConfig, TableProps, Reference as TableReference, TableSticky, TriggerEventHandler, VirtualScrollConfig, } from './table';
package/es/index.js ADDED
@@ -0,0 +1,21 @@
1
+ export { default as BlockHeader } from "./block-header";
2
+ export { default as Button } from "./button";
3
+ export { default as Collapsible } from "./collapsible";
4
+ export { default as CollapsibleActionItems } from "./collapsible-action-items";
5
+ export { default as Flex } from "./flex";
6
+ /**
7
+ * @deprecated FormList 组件已废弃,将在后续大版本中移除,请尽快迁移到替代方案。
8
+ */
9
+ export { default as FormList } from "./form-list";
10
+ /**
11
+ * @deprecated FormList 相关类型已废弃,将在后续大版本中移除。
12
+ */
13
+
14
+ export { default as OverflowList } from "./overflow-list";
15
+ export { default as Resize } from "./resize";
16
+ export { default as Splitter } from "./splitter";
17
+ export { default as StatusTag } from "./status-tag";
18
+ export { Table } from "./table";
19
+ export { Summary } from "./table";
20
+ export { BatchEditModal } from "./table";
21
+ export { applyBatchRules } from "./table";
@@ -0,0 +1,43 @@
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ import React, { Component } from 'react';
3
+ import './style';
4
+ export type OverflowItem<T = Record<string, any>> = T;
5
+ export interface OverflowListProps<T = Record<string, any>> {
6
+ items: OverflowItem<T>[];
7
+ visibleItemRenderer: (item: OverflowItem<T>, index: number) => ReactElement;
8
+ overflowRenderer: (overflowItems: OverflowItem<T>[]) => ReactNode | ReactNode[];
9
+ className?: string;
10
+ style?: React.CSSProperties;
11
+ renderMode?: 'collapse' | 'scroll';
12
+ collapseFrom?: 'start' | 'end';
13
+ minVisibleItems?: number;
14
+ onOverflow?: (overflowItems: OverflowItem<T>[]) => void;
15
+ }
16
+ interface OverflowListState {
17
+ visibleCount: number;
18
+ isMeasuring: boolean;
19
+ }
20
+ declare class OverflowList<T extends object> extends Component<OverflowListProps<T>, OverflowListState> {
21
+ static defaultProps: {
22
+ items: never[];
23
+ collapseFrom: string;
24
+ minVisibleItems: number;
25
+ renderMode: string;
26
+ };
27
+ static displayName: string;
28
+ private containerRef;
29
+ private overflowRef;
30
+ private itemRefs;
31
+ private prefixCls;
32
+ constructor(props: OverflowListProps<T>);
33
+ componentDidMount(): void;
34
+ componentDidUpdate(prevProps: OverflowListProps<T>): void;
35
+ private measureAndAdjust;
36
+ private getOverflowItems;
37
+ private itemKeyCache;
38
+ private nextItemKeyId;
39
+ private getItemKey;
40
+ renderCollapse(): React.JSX.Element;
41
+ render(): React.JSX.Element;
42
+ }
43
+ export default OverflowList;
@@ -1,6 +1,6 @@
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
1
  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
2
  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; }
3
+ 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); }
4
4
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
5
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
6
6
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -15,11 +15,10 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
15
15
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
16
  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); }
17
17
  import React, { Component, createRef } from 'react';
18
- import { globalConfig } from 'antd/es/config-provider';
18
+ import { globalConfig } from 'antd/lib/config-provider';
19
19
  import "./style";
20
20
  import clsx from 'clsx';
21
- import { uniqueId } from 'lodash-es';
22
- import ReactResizeObserver from "../resizeObserver";
21
+ import ReactResizeObserver from "../resize-observer";
23
22
  var OverflowList = /*#__PURE__*/function (_Component) {
24
23
  _inherits(OverflowList, _Component);
25
24
  var _super = _createSuper(OverflowList);
@@ -34,7 +33,16 @@ var OverflowList = /*#__PURE__*/function (_Component) {
34
33
  _defineProperty(_assertThisInitialized(_this), "measureAndAdjust", function () {
35
34
  var _this$overflowRef$cur, _this$overflowRef$cur2;
36
35
  var container = _this.containerRef.current;
37
- if (!container || _this.props.renderMode !== 'collapse') return;
36
+ // collapse 模式(或容器未挂载)无需测量:复位 isMeasuring,
37
+ // 避免 items/renderMode 变更后组件卡在 measuring 态、overflow 指示节点恒渲染
38
+ if (!container || _this.props.renderMode !== 'collapse') {
39
+ if (_this.state.isMeasuring) {
40
+ _this.setState({
41
+ isMeasuring: false
42
+ });
43
+ }
44
+ return;
45
+ }
38
46
  var _this$props = _this.props,
39
47
  items = _this$props.items,
40
48
  minVisibleItems = _this$props.minVisibleItems,
@@ -72,6 +80,21 @@ var OverflowList = /*#__PURE__*/function (_Component) {
72
80
  collapseFrom = _this$props2.collapseFrom;
73
81
  return collapseFrom === 'end' ? items.slice(count) : items.slice(0, items.length - count);
74
82
  });
83
+ // item → key 缓存:同一 item 对象始终映射到同一个 key,保证跨 render key 稳定
84
+ _defineProperty(_assertThisInitialized(_this), "itemKeyCache", new WeakMap());
85
+ _defineProperty(_assertThisInitialized(_this), "nextItemKeyId", 0);
86
+ _defineProperty(_assertThisInitialized(_this), "getItemKey", function (item, index) {
87
+ // WeakMap 只接受对象键:原始类型(string/number 等)item 回退到基于 index 的稳定 key
88
+ if (_typeof(item) !== 'object' || item === null) {
89
+ return "overflow-list-item-index-".concat(index);
90
+ }
91
+ var key = _this.itemKeyCache.get(item);
92
+ if (key === undefined) {
93
+ key = "overflow-list-item-".concat(_this.nextItemKeyId++);
94
+ _this.itemKeyCache.set(item, key);
95
+ }
96
+ return key;
97
+ });
75
98
  _this.prefixCls = globalConfig().getPrefixCls(_this.prefixCls);
76
99
  _this.state = {
77
100
  visibleCount: props.items.length,
@@ -87,8 +110,8 @@ var OverflowList = /*#__PURE__*/function (_Component) {
87
110
  }
88
111
  }
89
112
  }, {
90
- key: "componentUpdate",
91
- value: function componentUpdate(prevProps) {
113
+ key: "componentDidUpdate",
114
+ value: function componentDidUpdate(prevProps) {
92
115
  if (prevProps.items !== this.props.items || prevProps.renderMode !== this.props.renderMode) {
93
116
  this.setState({
94
117
  isMeasuring: true,
@@ -118,15 +141,20 @@ var OverflowList = /*#__PURE__*/function (_Component) {
118
141
  }, style);
119
142
  var renderItems = function renderItems() {
120
143
  return items.map(function (item, i) {
144
+ var _child$key;
121
145
  var isVisible = isMeasuring || (collapseFrom === 'end' ? i < visibleCount : i >= items.length - visibleCount);
122
146
  if (!isVisible) return null;
147
+ var child = visibleItemRenderer(item, i);
148
+ // 优先使用渲染元素自带的 key;否则用 item 对象身份维系的稳定 key,
149
+ // 避免每次 render 生成全新 key 导致 item DOM 全量重挂载
150
+ var key = (_child$key = child.key) !== null && _child$key !== void 0 ? _child$key : _this2.getItemKey(item, i);
123
151
  return /*#__PURE__*/React.createElement("div", {
124
- key: uniqueId('overflow-list-item'),
152
+ key: key,
125
153
  ref: function ref(el) {
126
154
  if (el) _this2.itemRefs.set(i, el);else _this2.itemRefs.delete(i);
127
155
  },
128
156
  className: "".concat(_this2.prefixCls, "-item")
129
- }, visibleItemRenderer(item, i));
157
+ }, child);
130
158
  });
131
159
  };
132
160
  var overflowNode = (hasOverflow || isMeasuring) && /*#__PURE__*/React.createElement("div", {
@@ -0,0 +1,2 @@
1
+ import '../../style/index.less';
2
+ import './index.less';
@@ -1,9 +1,9 @@
1
- @import "../../style/themes/index.less";
2
-
3
- @overflow-list-prefix-cls: ~"@{ant-prefix}-overflow-list";
4
-
5
- .@{overflow-list-prefix-cls} {
6
- display: flex;
7
- flex-wrap: nowrap;
8
- min-width: 0;
9
- }
1
+ @import "../../style/themes/index.less";
2
+
3
+ @overflow-list-prefix-cls: ~"@{ant-prefix}-overflow-list";
4
+
5
+ .@{overflow-list-prefix-cls} {
6
+ display: flex;
7
+ flex-wrap: nowrap;
8
+ min-width: 0;
9
+ }
@@ -0,0 +1,9 @@
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
3
+ export interface ResizeProps {
4
+ observerEle?: HTMLElement | null;
5
+ children?: ReactNode;
6
+ onResize?: () => void;
7
+ }
8
+ declare const Resize: React.FC<ResizeProps>;
9
+ export default Resize;
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ interface BaseProps {
3
+ className?: string;
4
+ style?: React.CSSProperties;
5
+ [key: string]: any;
6
+ }
7
+ export interface ResizeEntry {
8
+ contentRect: DOMRectReadOnly;
9
+ target: Element;
10
+ }
11
+ export interface ReactResizeObserverProps extends BaseProps {
12
+ onResize?: (entries: ResizeEntry[]) => void;
13
+ observeParent?: boolean;
14
+ observerProperty?: ObserverProperty;
15
+ delayTick?: number;
16
+ children: React.ReactElement;
17
+ }
18
+ export declare enum ObserverProperty {
19
+ Width = "width",
20
+ Height = "height",
21
+ All = "all"
22
+ }
23
+ export default class ReactResizeObserver extends React.Component<ReactResizeObserverProps> {
24
+ static defaultProps: {
25
+ onResize: () => void;
26
+ observeParent: boolean;
27
+ observerProperty: ObserverProperty;
28
+ delayTick: number;
29
+ };
30
+ observer: ResizeObserver | null;
31
+ childNode: HTMLElement | null;
32
+ element: Element | null;
33
+ _parentNode: HTMLElement | null;
34
+ formerPropertyValue: Map<Element, number>;
35
+ constructor(props: ReactResizeObserverProps);
36
+ getElement: () => Element | null;
37
+ handleResizeEventTriggered: (entries: ResizeEntry[]) => void;
38
+ observeElement: (force?: boolean) => void;
39
+ mergeRef: (ref: React.Ref<any> | undefined, node: HTMLElement) => void;
40
+ componentDidMount(): void;
41
+ componentDidUpdate(prevProps: ReactResizeObserverProps): void;
42
+ componentWillUnmount(): void;
43
+ render(): React.ReactElement;
44
+ }
45
+ export {};