@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,28 @@
1
+ import * as React from 'react';
2
+ export type Selector<ContextProps, SelectorValue = ContextProps> = (value: ContextProps) => SelectorValue;
3
+ export type Trigger<ContextProps> = (value: ContextProps) => void;
4
+ export type Listeners<ContextProps> = Set<Trigger<ContextProps>>;
5
+ export interface Context<ContextProps> {
6
+ getValue: () => ContextProps;
7
+ listeners: Listeners<ContextProps>;
8
+ }
9
+ export interface ContextSelectorProviderProps<T> {
10
+ value: T;
11
+ children?: React.ReactNode;
12
+ }
13
+ export interface SelectorContext<ContextProps> {
14
+ Context: React.Context<Context<ContextProps>>;
15
+ Provider: React.ComponentType<ContextSelectorProviderProps<ContextProps>>;
16
+ defaultValue?: ContextProps;
17
+ }
18
+ export declare function createContext<ContextProps>(defaultValue?: ContextProps): SelectorContext<ContextProps>;
19
+ /** e.g. useSelect(userContext) => user */
20
+ export declare function useContext<ContextProps>(holder: SelectorContext<ContextProps>): ContextProps;
21
+ /** e.g. useSelect(userContext, user => user.name) => user.name */
22
+ export declare function useContext<ContextProps, SelectorValue>(holder: SelectorContext<ContextProps>, selector: Selector<ContextProps, SelectorValue>): SelectorValue;
23
+ /** e.g. useSelect(userContext, ['name', 'age']) => user { name, age } */
24
+ export declare function useContext<ContextProps, Keys extends keyof ContextProps>(holder: SelectorContext<ContextProps>, selector: Keys[]): {
25
+ [K in Keys]: ContextProps[K];
26
+ };
27
+ /** e.g. useSelect(userContext, 'name') => user.name */
28
+ export declare function useContext<ContextProps, PropName extends keyof ContextProps>(holder: SelectorContext<ContextProps>, selector: PropName): ContextProps[PropName];
@@ -0,0 +1,110 @@
1
+ var _unstable_batchedUpda;
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 _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); }
5
+ 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; }
6
+ 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; } }
7
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ /**
9
+ * Local shim for `@rc-component/context` - context.tsx
10
+ *
11
+ * Based on @rc-component/context source. Replaced `@rc-component/util`
12
+ * imports with `rc-util` subpath imports. The keys-array `useContext`
13
+ * overload was retyped to return a precise `Pick` of the selected keys
14
+ * (instead of `Partial<ContextProps>`) so consumers get non-optional fields.
15
+ */
16
+ import isEqual from 'rc-util/lib/isEqual';
17
+ import useEvent from 'rc-util/lib/hooks/useEvent';
18
+ import useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';
19
+ import * as React from 'react';
20
+ import * as ReactDOM from 'react-dom';
21
+
22
+ // React 19 的生产构建移除了 unstable_batchedUpdates(React 18 起已是 no-op),
23
+ // 直接命名导入会在 React 19 生产环境调用 undefined 而崩溃。
24
+ // 经命名空间属性访问并在缺失时降级为直接调用。
25
+ var batchedUpdates = (_unstable_batchedUpda = ReactDOM.unstable_batchedUpdates) !== null && _unstable_batchedUpda !== void 0 ? _unstable_batchedUpda : function (fn) {
26
+ return fn();
27
+ };
28
+ export function createContext(defaultValue) {
29
+ var Context = /*#__PURE__*/React.createContext(undefined);
30
+ var Provider = function Provider(_ref) {
31
+ var value = _ref.value,
32
+ children = _ref.children;
33
+ var valueRef = React.useRef(value);
34
+ valueRef.current = value;
35
+ var _React$useState = React.useState(function () {
36
+ return {
37
+ getValue: function getValue() {
38
+ return valueRef.current;
39
+ },
40
+ listeners: new Set()
41
+ };
42
+ }),
43
+ _React$useState2 = _slicedToArray(_React$useState, 1),
44
+ context = _React$useState2[0];
45
+ useLayoutEffect(function () {
46
+ batchedUpdates(function () {
47
+ context.listeners.forEach(function (listener) {
48
+ listener(value);
49
+ });
50
+ });
51
+ }, [value]);
52
+ return /*#__PURE__*/React.createElement(Context.Provider, {
53
+ value: context
54
+ }, children);
55
+ };
56
+ return {
57
+ Context: Context,
58
+ Provider: Provider,
59
+ defaultValue: defaultValue
60
+ };
61
+ }
62
+
63
+ /** e.g. useSelect(userContext) => user */
64
+
65
+ /** e.g. useSelect(userContext, user => user.name) => user.name */
66
+
67
+ /** e.g. useSelect(userContext, ['name', 'age']) => user { name, age } */
68
+
69
+ /** e.g. useSelect(userContext, 'name') => user.name */
70
+
71
+ export function useContext(holder, selector) {
72
+ var eventSelector = useEvent(typeof selector === 'function' ? selector : function (ctx) {
73
+ if (selector === undefined) {
74
+ return ctx;
75
+ }
76
+ if (!Array.isArray(selector)) {
77
+ return ctx[selector];
78
+ }
79
+ var obj = {};
80
+ selector.forEach(function (key) {
81
+ obj[key] = ctx[key];
82
+ });
83
+ return obj;
84
+ });
85
+ var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);
86
+ var _ref2 = context || {},
87
+ listeners = _ref2.listeners,
88
+ getValue = _ref2.getValue;
89
+ var valueRef = React.useRef(undefined);
90
+ valueRef.current = eventSelector(context ? getValue() : holder === null || holder === void 0 ? void 0 : holder.defaultValue);
91
+ var _React$useState3 = React.useState({}),
92
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
93
+ forceUpdate = _React$useState4[1];
94
+ useLayoutEffect(function () {
95
+ if (!context) {
96
+ return;
97
+ }
98
+ function trigger(nextValue) {
99
+ var nextSelectorValue = eventSelector(nextValue);
100
+ if (!isEqual(valueRef.current, nextSelectorValue, true)) {
101
+ forceUpdate({});
102
+ }
103
+ }
104
+ listeners.add(trigger);
105
+ return function () {
106
+ listeners.delete(trigger);
107
+ };
108
+ }, [context]);
109
+ return valueRef.current;
110
+ }
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ export type CompareProps<T extends React.ComponentType<any>> = (prevProps: Readonly<React.ComponentProps<T>>, nextProps: Readonly<React.ComponentProps<T>>) => boolean;
3
+ /**
4
+ * Create Immutable pair for `makeImmutable` and `responseImmutable`.
5
+ */
6
+ export default function createImmutable(): {
7
+ makeImmutable: <T extends React.ComponentType<any>>(Component: T, shouldTriggerRender?: CompareProps<T>) => T;
8
+ responseImmutable: <T extends React.ComponentType<any>>(Component: T, propsAreEqual?: CompareProps<T>) => T;
9
+ useImmutableMark: () => number | null;
10
+ };
@@ -0,0 +1,84 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ /**
3
+ * Local shim for `@rc-component/context` - Immutable.tsx
4
+ *
5
+ * Direct copy from @rc-component/context source.
6
+ * Replaced `@rc-component/util` imports with `rc-util` subpath imports.
7
+ */
8
+ import { supportRef } from 'rc-util/lib/ref';
9
+ import * as React from 'react';
10
+ /**
11
+ * Create Immutable pair for `makeImmutable` and `responseImmutable`.
12
+ */
13
+ export default function createImmutable() {
14
+ var ImmutableContext = /*#__PURE__*/React.createContext(null);
15
+
16
+ /**
17
+ * Get render update mark by `makeImmutable` root.
18
+ * Do not deps on the return value as render times
19
+ * but only use for `useMemo` or `useCallback` deps.
20
+ */
21
+ function useImmutableMark() {
22
+ return React.useContext(ImmutableContext);
23
+ }
24
+
25
+ /**
26
+ * Wrapped Component will be marked as Immutable.
27
+ * When Component parent trigger render,
28
+ * it will notice children component (use with `responseImmutable`) node that parent has updated.
29
+ */
30
+ function makeImmutable(Component, shouldTriggerRender) {
31
+ var refAble = supportRef(Component);
32
+ var ImmutableComponent = function ImmutableComponent(props, ref) {
33
+ var refProps = refAble ? {
34
+ ref: ref
35
+ } : {};
36
+ var renderTimesRef = React.useRef(0);
37
+ var prevProps = React.useRef(props);
38
+
39
+ // If parent has the context, we do not wrap it
40
+ var mark = useImmutableMark();
41
+ if (mark !== null) {
42
+ return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));
43
+ }
44
+ if (
45
+ // Always trigger re-render if `shouldTriggerRender` is not provided
46
+ !shouldTriggerRender || shouldTriggerRender(prevProps.current, props)) {
47
+ renderTimesRef.current += 1;
48
+ }
49
+ prevProps.current = props;
50
+ return /*#__PURE__*/React.createElement(ImmutableContext.Provider, {
51
+ value: renderTimesRef.current
52
+ }, /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps)));
53
+ };
54
+ if (process.env.NODE_ENV !== 'production') {
55
+ ImmutableComponent.displayName = "ImmutableRoot(".concat(Component.displayName || Component.name, ")");
56
+ }
57
+ return refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;
58
+ }
59
+
60
+ /**
61
+ * Wrapped Component with `React.memo`.
62
+ * But will rerender when parent with `makeImmutable` rerender.
63
+ */
64
+ function responseImmutable(Component, propsAreEqual) {
65
+ var refAble = supportRef(Component);
66
+ var ImmutableComponent = function ImmutableComponent(props, ref) {
67
+ var refProps = refAble ? {
68
+ ref: ref
69
+ } : {};
70
+ useImmutableMark();
71
+ return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));
72
+ };
73
+ if (process.env.NODE_ENV !== 'production') {
74
+ ImmutableComponent.displayName = "ImmutableResponse(".concat(Component.displayName || Component.name, ")");
75
+ }
76
+ var MemoComponent = refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;
77
+ return /*#__PURE__*/React.memo(MemoComponent, propsAreEqual);
78
+ }
79
+ return {
80
+ makeImmutable: makeImmutable,
81
+ responseImmutable: responseImmutable,
82
+ useImmutableMark: useImmutableMark
83
+ };
84
+ }
@@ -0,0 +1,3 @@
1
+ export * from './createContextSelector';
2
+ export { default as createImmutable } from './immutable';
3
+ export * from './immutable';
@@ -0,0 +1,3 @@
1
+ export * from "./createContextSelector";
2
+ export { default as createImmutable } from "./immutable";
3
+ export * from "./immutable";
@@ -0,0 +1 @@
1
+ export declare function easeInOutCubic(t: number, b: number, c: number, d: number): number;
@@ -0,0 +1,3 @@
1
+ import type { SizeType } from 'antd/lib/config-provider/SizeContext';
2
+ export declare function isPresetSize(size?: SizeType | string | number): size is SizeType;
3
+ export declare function isValidGapNumber(size?: SizeType | string | number): size is number;
@@ -0,0 +1,3 @@
1
+ export declare function isWindow(obj: any): obj is Window;
2
+ declare const getScroll: (target: HTMLElement | Window | Document | null) => number;
3
+ export default getScroll;
@@ -1,4 +1,4 @@
1
- import isNonNullable from "./isNonNullable";
1
+ import { isNonNullable } from "./is";
2
2
  export function isWindow(obj) {
3
3
  return isNonNullable(obj) && obj === obj.window;
4
4
  }
@@ -0,0 +1,11 @@
1
+ export { default as useBreakpoint } from './useBreakpoint';
2
+ export * from './useBreakpoint';
3
+ export { default as useCssVar } from './useCssVar';
4
+ export { default as useEvent } from './useEvent';
5
+ export * from './useForceUpdate';
6
+ export { default as useLayoutEffect } from './useLayoutEffect';
7
+ export * from './useMultipleSelect';
8
+ export * from './useOrientation';
9
+ export * from './useProxyImperativeHandle';
10
+ export * from './useSyncState';
11
+ export * from './useTimeoutLock';
@@ -0,0 +1,11 @@
1
+ export { default as useBreakpoint } from "./useBreakpoint";
2
+ export * from "./useBreakpoint";
3
+ export { default as useCssVar } from "./useCssVar";
4
+ export { default as useEvent } from "./useEvent";
5
+ export * from "./useForceUpdate";
6
+ export { default as useLayoutEffect } from "./useLayoutEffect";
7
+ export * from "./useMultipleSelect";
8
+ export * from "./useOrientation";
9
+ export * from "./useProxyImperativeHandle";
10
+ export * from "./useSyncState";
11
+ export * from "./useTimeoutLock";
@@ -0,0 +1,5 @@
1
+ export declare const responsiveArray: readonly ["xxxl", "xxl", "xl", "lg", "md", "sm", "xs"];
2
+ export type Breakpoint = (typeof responsiveArray)[number];
3
+ export type ScreenMap = Partial<Record<Breakpoint, boolean>>;
4
+ export declare function useBreakpoint(needResponsive?: boolean): ScreenMap;
5
+ export default useBreakpoint;
@@ -0,0 +1,75 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import * as React from 'react';
8
+ export var responsiveArray = ['xxxl', 'xxl', 'xl', 'lg', 'md', 'sm', 'xs'];
9
+ // Simplified responsive observer that always returns all breakpoints as true
10
+ // (We don't depend on antd v5 theme tokens for screen sizes)
11
+ var defaultScreenMap = {
12
+ xxxl: true,
13
+ xxl: true,
14
+ xl: true,
15
+ lg: true,
16
+ md: true,
17
+ sm: true,
18
+ xs: true
19
+ };
20
+ export function useBreakpoint(needResponsive) {
21
+ var _React$useState = React.useState(defaultScreenMap),
22
+ _React$useState2 = _slicedToArray(_React$useState, 2),
23
+ screens = _React$useState2[0],
24
+ setScreens = _React$useState2[1];
25
+ React.useEffect(function () {
26
+ if (!needResponsive) {
27
+ return;
28
+ }
29
+ var mediaQueries = {
30
+ xs: window.matchMedia('(max-width: 575px)'),
31
+ sm: window.matchMedia('(min-width: 576px)'),
32
+ md: window.matchMedia('(min-width: 768px)'),
33
+ lg: window.matchMedia('(min-width: 992px)'),
34
+ xl: window.matchMedia('(min-width: 1200px)'),
35
+ xxl: window.matchMedia('(min-width: 1600px)'),
36
+ xxxl: window.matchMedia('(min-width: 2000px)')
37
+ };
38
+ var update = function update() {
39
+ var newScreens = {};
40
+ Object.keys(mediaQueries).forEach(function (key) {
41
+ newScreens[key] = mediaQueries[key].matches;
42
+ });
43
+ setScreens(newScreens);
44
+ };
45
+ update();
46
+ var mqlList = [];
47
+ var handlerList = [];
48
+ Object.keys(mediaQueries).forEach(function (key) {
49
+ var mql = mediaQueries[key];
50
+ var handler = function handler() {
51
+ return update();
52
+ };
53
+ if (mql.addEventListener) {
54
+ mql.addEventListener('change', handler);
55
+ } else {
56
+ // Legacy browsers use deprecated addListener API
57
+ mql.addListener(handler);
58
+ }
59
+ mqlList.push(mql);
60
+ handlerList.push(handler);
61
+ });
62
+ return function () {
63
+ mqlList.forEach(function (mql, index) {
64
+ var handler = handlerList[index];
65
+ if (mql.removeEventListener) {
66
+ mql.removeEventListener('change', handler);
67
+ } else {
68
+ mql.removeListener(handler);
69
+ }
70
+ });
71
+ };
72
+ }, [needResponsive]);
73
+ return screens;
74
+ }
75
+ export default useBreakpoint;
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare function useCssVar<T extends HTMLElement>(ref: React.RefObject<T | null>, varName: string, fallback?: number): number | undefined;
3
+ export default useCssVar;
@@ -0,0 +1,28 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import * as React from 'react';
8
+ function useCssVar(ref, varName, fallback) {
9
+ var _React$useState = React.useState(fallback),
10
+ _React$useState2 = _slicedToArray(_React$useState, 2),
11
+ value = _React$useState2[0],
12
+ setValue = _React$useState2[1];
13
+ React.useLayoutEffect(function () {
14
+ var el = ref.current;
15
+ if (!el) {
16
+ return;
17
+ }
18
+ var computed = getComputedStyle(el).getPropertyValue(varName).trim();
19
+ if (computed) {
20
+ var num = Number.parseInt(computed, 10);
21
+ if (!Number.isNaN(num)) {
22
+ setValue(num);
23
+ }
24
+ }
25
+ }, [ref, varName, fallback]);
26
+ return value;
27
+ }
28
+ export default useCssVar;
@@ -0,0 +1 @@
1
+ export { default } from 'rc-util/lib/hooks/useEvent';
@@ -0,0 +1 @@
1
+ export { default } from 'rc-util/lib/hooks/useEvent';
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const useForceUpdate: () => [any, React.DispatchWithoutAction];
@@ -0,0 +1 @@
1
+ export { default } from 'rc-util/lib/hooks/useLayoutEffect';
@@ -0,0 +1 @@
1
+ export { default } from 'rc-util/lib/hooks/useLayoutEffect';
@@ -0,0 +1,2 @@
1
+ export type PrevSelectedIndex = null | number;
2
+ export declare const useMultipleSelect: <T, K>(getKey: (item: T, index: number, array: T[]) => K) => readonly [(currentSelectedIndex: number, data: T[], selectedKeys: Set<K>) => K[], import("react").Dispatch<import("react").SetStateAction<PrevSelectedIndex>>];
@@ -0,0 +1,37 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { useCallback, useState } from 'react';
8
+ export var useMultipleSelect = function useMultipleSelect(getKey) {
9
+ var _useState = useState(null),
10
+ _useState2 = _slicedToArray(_useState, 2),
11
+ prevSelectedIndex = _useState2[0],
12
+ setPrevSelectedIndex = _useState2[1];
13
+ var multipleSelect = useCallback(function (currentSelectedIndex, data, selectedKeys) {
14
+ var configPrevSelectedIndex = prevSelectedIndex !== null && prevSelectedIndex !== void 0 ? prevSelectedIndex : currentSelectedIndex;
15
+ var startIndex = Math.min(configPrevSelectedIndex || 0, currentSelectedIndex);
16
+ var endIndex = Math.max(configPrevSelectedIndex || 0, currentSelectedIndex);
17
+ var rangeKeys = data.slice(startIndex, endIndex + 1).map(getKey);
18
+ var shouldSelected = rangeKeys.some(function (rangeKey) {
19
+ return !selectedKeys.has(rangeKey);
20
+ });
21
+ var changedKeys = [];
22
+ rangeKeys.forEach(function (item) {
23
+ if (shouldSelected) {
24
+ if (!selectedKeys.has(item)) {
25
+ changedKeys.push(item);
26
+ }
27
+ selectedKeys.add(item);
28
+ } else {
29
+ selectedKeys.delete(item);
30
+ changedKeys.push(item);
31
+ }
32
+ });
33
+ setPrevSelectedIndex(shouldSelected ? endIndex : null);
34
+ return changedKeys;
35
+ }, [prevSelectedIndex]);
36
+ return [multipleSelect, setPrevSelectedIndex];
37
+ };
@@ -0,0 +1,2 @@
1
+ export type Orientation = 'horizontal' | 'vertical';
2
+ export declare const useOrientation: (orientation?: Orientation, vertical?: boolean, legacyDirection?: Orientation) => [Orientation, boolean];
@@ -0,0 +1,4 @@
1
+ import type { DependencyList, Ref } from 'react';
2
+ export declare const useProxyImperativeHandle: <NativeElementType extends HTMLElement, ReturnRefType extends {
3
+ nativeElement: NativeElementType;
4
+ }>(ref: Ref<any> | undefined, init: () => ReturnRefType, deps?: DependencyList) => void;
@@ -10,14 +10,21 @@ var fillProxy = function fillProxy(element, handler) {
10
10
  });
11
11
  return element;
12
12
  };
13
- export var useProxyImperativeHandle = function useProxyImperativeHandle(ref, init) {
13
+ export var useProxyImperativeHandle = function useProxyImperativeHandle(ref, init, deps) {
14
14
  return useImperativeHandle(ref, function () {
15
15
  var refObj = init();
16
16
  var nativeElement = refObj.nativeElement;
17
+
18
+ // null guard: ref 尚未挂载时(SSR / 首次 render / Strict Mode 二次挂载)
19
+ // 返回 refObj 本身,避免 Proxy(null) 导致 Reflect.get 崩溃
20
+ if (!nativeElement) {
21
+ return refObj;
22
+ }
17
23
  if (typeof Proxy !== 'undefined') {
24
+ var refObjKeys = new Set(Object.keys(refObj));
18
25
  return new Proxy(nativeElement, {
19
26
  get: function get(obj, prop) {
20
- if (refObj[prop]) {
27
+ if (refObjKeys.has(prop)) {
21
28
  return refObj[prop];
22
29
  }
23
30
  return Reflect.get(obj, prop);
@@ -27,5 +34,5 @@ export var useProxyImperativeHandle = function useProxyImperativeHandle(ref, ini
27
34
 
28
35
  // Fallback of IE
29
36
  return fillProxy(nativeElement, refObj);
30
- });
37
+ }, deps);
31
38
  };
@@ -0,0 +1,3 @@
1
+ type UseSyncStateProps<T> = readonly [() => T, (newValue: T) => void];
2
+ export declare const useSyncState: <T>(initialValue: T) => UseSyncStateProps<T>;
3
+ export {};
@@ -0,0 +1 @@
1
+ export declare function useTimeoutLock<State>(defaultState?: State): [(state: State) => void, () => State | null];
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ export function useTimeoutLock(defaultState) {
3
+ var frameRef = React.useRef(defaultState !== null && defaultState !== void 0 ? defaultState : null);
4
+ var timeoutRef = React.useRef(null);
5
+ function cleanUp() {
6
+ if (timeoutRef.current) {
7
+ clearTimeout(timeoutRef.current);
8
+ timeoutRef.current = null;
9
+ }
10
+ }
11
+ function setState(newState) {
12
+ frameRef.current = newState;
13
+ cleanUp();
14
+ timeoutRef.current = setTimeout(function () {
15
+ frameRef.current = null;
16
+ timeoutRef.current = null;
17
+ }, 100);
18
+ }
19
+ function getState() {
20
+ return frameRef.current;
21
+ }
22
+ React.useEffect(function () {
23
+ return cleanUp;
24
+ }, []);
25
+ return [setState, getState];
26
+ }
@@ -0,0 +1,11 @@
1
+ import type { TooltipProps } from 'antd';
2
+ export type LabelTooltipType = TooltipProps | TooltipProps['title'];
3
+ export declare function toTooltipProps(tooltip: LabelTooltipType): TooltipProps | null;
4
+ export * from './getScroll';
5
+ export * from './is';
6
+ export * from './rcUtil';
7
+ export * from './scrollbar';
8
+ export * from './scrollTo';
9
+ export * from './type';
10
+ export * from './validate';
11
+ export * from './warning';
@@ -7,4 +7,12 @@ export function toTooltipProps(tooltip) {
7
7
  return {
8
8
  title: tooltip
9
9
  };
10
- }
10
+ }
11
+ export * from "./getScroll";
12
+ export * from "./is";
13
+ export * from "./rcUtil";
14
+ export * from "./scrollbar";
15
+ export * from "./scrollTo";
16
+ export * from "./type";
17
+ export * from "./validate";
18
+ export * from "./warning";
@@ -0,0 +1,5 @@
1
+ export declare const isNonNullable: <T>(val: T) => val is NonNullable<T>;
2
+ export declare const isNumber: (val: any) => val is number;
3
+ export declare const isString: (val: any) => val is string;
4
+ export declare const isPlainObject: <T extends object = object>(val: any) => val is T;
5
+ export declare const isFunction: (val: any) => val is (...args: any[]) => any;
package/es/_util/is.js ADDED
@@ -0,0 +1,16 @@
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
+ export var isNonNullable = function isNonNullable(val) {
3
+ return val !== undefined && val !== null;
4
+ };
5
+ export var isNumber = function isNumber(val) {
6
+ return typeof val === 'number' && !Number.isNaN(val);
7
+ };
8
+ export var isString = function isString(val) {
9
+ return typeof val === 'string';
10
+ };
11
+ export var isPlainObject = function isPlainObject(val) {
12
+ return val !== null && _typeof(val) === 'object';
13
+ };
14
+ export var isFunction = function isFunction(val) {
15
+ return typeof val === 'function';
16
+ };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Local shim for `@rc-component/util`.
3
+ * Maps all needed functions to `rc-util` subpaths (React 17 compatible).
4
+ */
5
+ export { default as useEvent } from 'rc-util/lib/hooks/useEvent';
6
+ export { default as useLayoutEffect } from 'rc-util/lib/hooks/useLayoutEffect';
7
+ export { default as useMemo } from 'rc-util/lib/hooks/useMemo';
8
+ export { default as useMergedState } from 'rc-util/lib/hooks/useMergedState';
9
+ export { default as useControlledState } from 'rc-util/lib/hooks/useMergedState';
10
+ export { default as isEqual } from 'rc-util/lib/isEqual';
11
+ export { default as KeyCode } from 'rc-util/lib/KeyCode';
12
+ export { default as omit } from 'rc-util/lib/omit';
13
+ export { default as pickAttrs } from 'rc-util/lib/pickAttrs';
14
+ export { default as raf } from 'rc-util/lib/raf';
15
+ export { default as get } from 'rc-util/lib/utils/get';
16
+ export declare function toArray<T>(value: T | T[]): T[];
17
+ export declare function mergeProps<T extends Record<string, any>>(...args: (Partial<T> | undefined)[]): T;