@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,12 +1,13 @@
1
1
  "use strict";
2
2
 
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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = useResizable;
7
8
  var React = _interopRequireWildcard(require("react"));
8
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
11
  function getShowCollapsibleIcon(prev, next) {
11
12
  if (prev.collapsible && next.collapsible) {
12
13
  if (prev.showCollapsibleIcon === true || next.showCollapsibleIcon === true) {
@@ -26,44 +27,43 @@ function getShowCollapsibleIcon(prev, next) {
26
27
  return false;
27
28
  }
28
29
  function useResizable(items, pxSizes, isRTL) {
29
- return React.useMemo(() => {
30
- const resizeInfos = [];
31
- for (let i = 0; i < items.length - 1; i += 1) {
32
- const prevItem = items[i];
33
- const nextItem = items[i + 1];
34
- const prevSize = pxSizes[i];
35
- const nextSize = pxSizes[i + 1];
36
- const {
37
- resizable: prevResizable = true,
38
- min: prevMin,
39
- collapsible: prevCollapsible
40
- } = prevItem;
41
- const {
42
- resizable: nextResizable = true,
43
- min: nextMin,
44
- collapsible: nextCollapsible
45
- } = nextItem;
46
- const mergedResizable =
30
+ return React.useMemo(function () {
31
+ var resizeInfos = [];
32
+ for (var i = 0; i < items.length - 1; i += 1) {
33
+ var _prevCollapsible$icon, _prevCollapsible$icon2, _nextCollapsible$icon, _nextCollapsible$icon2;
34
+ var prevItem = items[i];
35
+ var nextItem = items[i + 1];
36
+ var prevSize = pxSizes[i];
37
+ var nextSize = pxSizes[i + 1];
38
+ var _prevItem$resizable = prevItem.resizable,
39
+ prevResizable = _prevItem$resizable === void 0 ? true : _prevItem$resizable,
40
+ prevMin = prevItem.min,
41
+ prevCollapsible = prevItem.collapsible;
42
+ var _nextItem$resizable = nextItem.resizable,
43
+ nextResizable = _nextItem$resizable === void 0 ? true : _nextItem$resizable,
44
+ nextMin = nextItem.min,
45
+ nextCollapsible = nextItem.collapsible;
46
+ var mergedResizable =
47
47
  // Both need to be resizable
48
48
  prevResizable && nextResizable && (
49
49
  // Prev is not collapsed and limit min size
50
50
  prevSize !== 0 || !prevMin) && (
51
51
  // Next is not collapsed and limit min size
52
52
  nextSize !== 0 || !nextMin);
53
- const prevEndCollapsible = !!prevCollapsible.end && prevSize > 0;
54
- const nextStartExpandable = !!nextCollapsible.start && nextSize === 0 && prevSize > 0;
55
- const startCollapsible = prevEndCollapsible || nextStartExpandable;
56
- const nextStartCollapsible = !!nextCollapsible.start && nextSize > 0;
57
- const prevEndExpandable = !!prevCollapsible.end && prevSize === 0 && nextSize > 0;
58
- const endCollapsible = nextStartCollapsible || prevEndExpandable;
59
- const showStartCollapsibleIcon = getShowCollapsibleIcon({
53
+ var prevEndCollapsible = !!prevCollapsible.end && prevSize > 0;
54
+ var nextStartExpandable = !!nextCollapsible.start && nextSize === 0 && prevSize > 0;
55
+ var startCollapsible = prevEndCollapsible || nextStartExpandable;
56
+ var nextStartCollapsible = !!nextCollapsible.start && nextSize > 0;
57
+ var prevEndExpandable = !!prevCollapsible.end && prevSize === 0 && nextSize > 0;
58
+ var endCollapsible = nextStartCollapsible || prevEndExpandable;
59
+ var showStartCollapsibleIcon = getShowCollapsibleIcon({
60
60
  collapsible: prevEndCollapsible,
61
61
  showCollapsibleIcon: prevCollapsible.showCollapsibleIcon
62
62
  }, {
63
63
  collapsible: nextStartExpandable,
64
64
  showCollapsibleIcon: nextCollapsible.showCollapsibleIcon
65
65
  });
66
- const showEndCollapsibleIcon = getShowCollapsibleIcon({
66
+ var showEndCollapsibleIcon = getShowCollapsibleIcon({
67
67
  collapsible: nextStartCollapsible,
68
68
  showCollapsibleIcon: nextCollapsible.showCollapsibleIcon
69
69
  }, {
@@ -75,9 +75,11 @@ function useResizable(items, pxSizes, isRTL) {
75
75
  startCollapsible: !!(isRTL ? endCollapsible : startCollapsible),
76
76
  endCollapsible: !!(isRTL ? startCollapsible : endCollapsible),
77
77
  showStartCollapsibleIcon: isRTL ? showEndCollapsibleIcon : showStartCollapsibleIcon,
78
- showEndCollapsibleIcon: isRTL ? showStartCollapsibleIcon : showEndCollapsibleIcon
78
+ showEndCollapsibleIcon: isRTL ? showStartCollapsibleIcon : showEndCollapsibleIcon,
79
+ startIcon: isRTL ? (_prevCollapsible$icon = prevCollapsible.icon) === null || _prevCollapsible$icon === void 0 ? void 0 : _prevCollapsible$icon.start : (_prevCollapsible$icon2 = prevCollapsible.icon) === null || _prevCollapsible$icon2 === void 0 ? void 0 : _prevCollapsible$icon2.end,
80
+ endIcon: isRTL ? (_nextCollapsible$icon = nextCollapsible.icon) === null || _nextCollapsible$icon === void 0 ? void 0 : _nextCollapsible$icon.end : (_nextCollapsible$icon2 = nextCollapsible.icon) === null || _nextCollapsible$icon2 === void 0 ? void 0 : _nextCollapsible$icon2.start
79
81
  };
80
82
  }
81
83
  return resizeInfos;
82
- }, [pxSizes, items]);
84
+ }, [pxSizes, items, isRTL]);
83
85
  }
@@ -1,49 +1,80 @@
1
1
  "use strict";
2
2
 
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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = useResize;
7
8
  var React = _interopRequireWildcard(require("react"));
8
9
  var _useSizes = require("./useSizes");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+ 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."); }
18
+ 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); }
19
+ 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; }
20
+ 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; } }
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
22
  /**
12
23
  * Handle user drag resize logic.
13
24
  */
14
25
  function useResize(items, resizableInfos, percentSizes, containerSize, updateSizes, isRTL) {
15
- const limitSizes = items.map(item => [item.min, item.max]);
16
- const mergedContainerSize = containerSize || 0;
17
- const ptg2px = ptg => ptg * mergedContainerSize;
26
+ var limitSizes = items.map(function (item) {
27
+ return [item.min, item.max];
28
+ });
29
+ var mergedContainerSize = containerSize || 0;
30
+ var ptg2px = function ptg2px(ptg) {
31
+ return ptg * mergedContainerSize;
32
+ };
18
33
 
19
34
  // ======================== Resize ========================
20
35
  function getLimitSize(str, defaultLimit) {
21
36
  if (typeof str === 'string') {
22
37
  return ptg2px((0, _useSizes.getPtg)(str));
23
38
  }
24
- return str ?? defaultLimit;
39
+ return str !== null && str !== void 0 ? str : defaultLimit;
25
40
  }
26
41
 
27
42
  // Real px sizes
28
- const [cacheSizes, setCacheSizes] = React.useState([]);
29
- const cacheCollapsedSize = React.useRef([]);
43
+ var _React$useState = React.useState([]),
44
+ _React$useState2 = _slicedToArray(_React$useState, 2),
45
+ cacheSizes = _React$useState2[0],
46
+ setCacheSizes = _React$useState2[1];
47
+ var cacheCollapsedSize = React.useRef([]);
30
48
 
31
49
  /**
32
50
  * When start drag, check the direct is `start` or `end`.
33
51
  * This will handle when 2 splitter bar are in the same position.
34
52
  */
35
- const [movingIndex, setMovingIndex] = React.useState(null);
36
- const getPxSizes = () => percentSizes.map(ptg2px);
37
- const onOffsetStart = index => {
53
+ var _React$useState3 = React.useState(null),
54
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
55
+ movingIndex = _React$useState4[0],
56
+ setMovingIndex = _React$useState4[1];
57
+ var getPxSizes = function getPxSizes() {
58
+ return percentSizes.map(ptg2px);
59
+ };
60
+ var onOffsetStart = function onOffsetStart(index) {
38
61
  setCacheSizes(getPxSizes());
39
62
  setMovingIndex({
40
- index,
63
+ index: index,
41
64
  confirmed: false
42
65
  });
43
66
  };
44
- const onOffsetUpdate = (index, offset) => {
67
+ var onOffsetUpdate = function onOffsetUpdate(index, offset) {
68
+ var _ref, _confirmedIndex;
45
69
  // First time trigger move index update is not sync in the state
46
- let confirmedIndex = null;
70
+ var confirmedIndex = null;
71
+
72
+ // Drag offsets are cumulative from the drag start, so compute on the
73
+ // drag-start baseline (`cacheSizes`). Keyboard resize fires start/update
74
+ // synchronously and the seeded state is not committed yet (`movingIndex`
75
+ // is still null), so compute on the current sizes instead of an empty
76
+ // baseline which would produce NaN sizes.
77
+ var numSizes = movingIndex ? _toConsumableArray(cacheSizes) : getPxSizes();
47
78
 
48
79
  // We need to know what the real index is.
49
80
  if ((!movingIndex || !movingIndex.confirmed) && offset !== 0) {
@@ -51,12 +82,12 @@ function useResize(items, resizableInfos, percentSizes, containerSize, updateSiz
51
82
  if (offset > 0) {
52
83
  confirmedIndex = index;
53
84
  setMovingIndex({
54
- index,
85
+ index: index,
55
86
  confirmed: true
56
87
  });
57
88
  } else {
58
- for (let i = index; i >= 0; i -= 1) {
59
- if (cacheSizes[i] > 0 && resizableInfos[i].resizable) {
89
+ for (var i = index; i >= 0; i -= 1) {
90
+ if (numSizes[i] > 0 && resizableInfos[i].resizable) {
60
91
  confirmedIndex = i;
61
92
  setMovingIndex({
62
93
  index: i,
@@ -67,16 +98,15 @@ function useResize(items, resizableInfos, percentSizes, containerSize, updateSiz
67
98
  }
68
99
  }
69
100
  }
70
- const mergedIndex = confirmedIndex ?? movingIndex?.index ?? index;
71
- const numSizes = [...cacheSizes];
72
- const nextIndex = mergedIndex + 1;
101
+ var mergedIndex = (_ref = (_confirmedIndex = confirmedIndex) !== null && _confirmedIndex !== void 0 ? _confirmedIndex : movingIndex === null || movingIndex === void 0 ? void 0 : movingIndex.index) !== null && _ref !== void 0 ? _ref : index;
102
+ var nextIndex = mergedIndex + 1;
73
103
 
74
104
  // Get boundary
75
- const startMinSize = getLimitSize(limitSizes[mergedIndex][0], 0);
76
- const endMinSize = getLimitSize(limitSizes[nextIndex][0], 0);
77
- const startMaxSize = getLimitSize(limitSizes[mergedIndex][1], mergedContainerSize);
78
- const endMaxSize = getLimitSize(limitSizes[nextIndex][1], mergedContainerSize);
79
- let mergedOffset = offset;
105
+ var startMinSize = getLimitSize(limitSizes[mergedIndex][0], 0);
106
+ var endMinSize = getLimitSize(limitSizes[nextIndex][0], 0);
107
+ var startMaxSize = getLimitSize(limitSizes[mergedIndex][1], mergedContainerSize);
108
+ var endMaxSize = getLimitSize(limitSizes[nextIndex][1], mergedContainerSize);
109
+ var mergedOffset = offset;
80
110
 
81
111
  // Align with the boundary
82
112
  if (numSizes[mergedIndex] + mergedOffset < startMinSize) {
@@ -98,35 +128,36 @@ function useResize(items, resizableInfos, percentSizes, containerSize, updateSiz
98
128
  updateSizes(numSizes);
99
129
  return numSizes;
100
130
  };
101
- const onOffsetEnd = () => {
131
+ var onOffsetEnd = function onOffsetEnd(nextSizes) {
102
132
  setMovingIndex(null);
133
+ return nextSizes;
103
134
  };
104
135
 
105
136
  // ======================= Collapse =======================
106
- const onCollapse = (index, type) => {
107
- const currentSizes = getPxSizes();
108
- const adjustedType = isRTL ? type === 'start' ? 'end' : 'start' : type;
109
- const currentIndex = adjustedType === 'start' ? index : index + 1;
110
- const targetIndex = adjustedType === 'start' ? index + 1 : index;
111
- const currentSize = currentSizes[currentIndex];
112
- const targetSize = currentSizes[targetIndex];
137
+ var onCollapse = function onCollapse(index, type) {
138
+ var currentSizes = getPxSizes();
139
+ var adjustedType = isRTL ? type === 'start' ? 'end' : 'start' : type;
140
+ var currentIndex = adjustedType === 'start' ? index : index + 1;
141
+ var targetIndex = adjustedType === 'start' ? index + 1 : index;
142
+ var currentSize = currentSizes[currentIndex];
143
+ var targetSize = currentSizes[targetIndex];
113
144
  if (currentSize !== 0 && targetSize !== 0) {
114
145
  // Collapse directly
115
146
  currentSizes[currentIndex] = 0;
116
147
  currentSizes[targetIndex] += currentSize;
117
148
  cacheCollapsedSize.current[index] = currentSize;
118
149
  } else {
119
- const totalSize = currentSize + targetSize;
120
- const currentSizeMin = getLimitSize(limitSizes[currentIndex][0], 0);
121
- const currentSizeMax = getLimitSize(limitSizes[currentIndex][1], mergedContainerSize);
122
- const targetSizeMin = getLimitSize(limitSizes[targetIndex][0], 0);
123
- const targetSizeMax = getLimitSize(limitSizes[targetIndex][1], mergedContainerSize);
124
- const limitStart = Math.max(currentSizeMin, totalSize - targetSizeMax);
125
- const limitEnd = Math.min(currentSizeMax, totalSize - targetSizeMin);
126
- const halfOffset = targetSizeMin || (limitEnd - limitStart) / 2;
127
- const targetCacheCollapsedSize = cacheCollapsedSize.current[index];
128
- const currentCacheCollapsedSize = totalSize - targetCacheCollapsedSize;
129
- const shouldUseCache = targetCacheCollapsedSize && targetCacheCollapsedSize <= targetSizeMax && targetCacheCollapsedSize >= targetSizeMin && currentCacheCollapsedSize <= currentSizeMax && currentCacheCollapsedSize >= currentSizeMin;
150
+ var totalSize = currentSize + targetSize;
151
+ var currentSizeMin = getLimitSize(limitSizes[currentIndex][0], 0);
152
+ var currentSizeMax = getLimitSize(limitSizes[currentIndex][1], mergedContainerSize);
153
+ var targetSizeMin = getLimitSize(limitSizes[targetIndex][0], 0);
154
+ var targetSizeMax = getLimitSize(limitSizes[targetIndex][1], mergedContainerSize);
155
+ var limitStart = Math.max(currentSizeMin, totalSize - targetSizeMax);
156
+ var limitEnd = Math.min(currentSizeMax, totalSize - targetSizeMin);
157
+ var halfOffset = targetSizeMin || (limitEnd - limitStart) / 2;
158
+ var targetCacheCollapsedSize = cacheCollapsedSize.current[index];
159
+ var currentCacheCollapsedSize = totalSize - targetCacheCollapsedSize;
160
+ var shouldUseCache = targetCacheCollapsedSize && targetCacheCollapsedSize <= targetSizeMax && targetCacheCollapsedSize >= targetSizeMin && currentCacheCollapsedSize <= currentSizeMax && currentCacheCollapsedSize >= currentSizeMin;
130
161
  if (shouldUseCache) {
131
162
  currentSizes[targetIndex] = targetCacheCollapsedSize;
132
163
  currentSizes[currentIndex] = currentCacheCollapsedSize;
@@ -138,5 +169,5 @@ function useResize(items, resizableInfos, percentSizes, containerSize, updateSiz
138
169
  updateSizes(currentSizes);
139
170
  return currentSizes;
140
171
  };
141
- return [onOffsetStart, onOffsetUpdate, onOffsetEnd, onCollapse, movingIndex?.index];
172
+ return [onOffsetStart, onOffsetUpdate, onOffsetEnd, onCollapse, movingIndex === null || movingIndex === void 0 ? void 0 : movingIndex.index];
142
173
  }
@@ -6,8 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = useSizes;
7
7
  exports.getPtg = getPtg;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _is = require("../../_util/is");
9
10
  var _sizeUtil = require("./sizeUtil");
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
+ 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."); }
14
+ 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); }
15
+ 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; }
16
+ 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; } }
17
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
18
  function getPtg(str) {
12
19
  return Number(str.slice(0, -1)) / 100;
13
20
  }
@@ -15,38 +22,52 @@ function isPtg(itemSize) {
15
22
  return typeof itemSize === 'string' && itemSize.endsWith('%');
16
23
  }
17
24
  function useSizes(items, containerSize) {
18
- const propSizes = items.map(item => item.size);
19
- const itemsCount = items.length;
20
- const mergedContainerSize = containerSize || 0;
21
- const ptg2px = ptg => ptg * mergedContainerSize;
22
- const [innerSizes, setInnerSizes] = _react.default.useState(() => items.map(item => item.defaultSize));
23
- const sizes = _react.default.useMemo(() => {
24
- const mergedSizes = [];
25
- for (let i = 0; i < itemsCount; i += 1) {
26
- mergedSizes[i] = propSizes[i] ?? innerSizes[i];
27
- }
28
- return mergedSizes;
25
+ var propSizes = items.map(function (item) {
26
+ return item.size;
27
+ });
28
+ var itemsCount = items.length;
29
+ var mergedContainerSize = containerSize || 0;
30
+ var ptg2px = function ptg2px(ptg) {
31
+ return ptg * mergedContainerSize;
32
+ };
33
+ var _React$useState = _react.default.useState(function () {
34
+ return items.map(function (item) {
35
+ return item.defaultSize;
36
+ });
37
+ }),
38
+ _React$useState2 = _slicedToArray(_React$useState, 2),
39
+ innerSizes = _React$useState2[0],
40
+ setInnerSizes = _React$useState2[1];
41
+ var sizes = _react.default.useMemo(function () {
42
+ // If any panel has a controlled `size`, use only prop sizes.
43
+ // Undefined panels will be auto-filled by autoPtgSizes.
44
+ // Otherwise, use innerSizes for fully uncontrolled mode.
45
+ return propSizes.some(_is.isNonNullable) ? propSizes : innerSizes;
29
46
  }, [itemsCount, innerSizes, propSizes]);
30
- const postPercentMinSizes = _react.default.useMemo(() => items.map(item => {
31
- if (isPtg(item.min)) {
32
- return getPtg(item.min);
33
- }
34
- return (item.min || 0) / mergedContainerSize;
35
- }), [items, mergedContainerSize]);
36
- const postPercentMaxSizes = _react.default.useMemo(() => items.map(item => {
37
- if (isPtg(item.max)) {
38
- return getPtg(item.max);
39
- }
40
- return (item.max || mergedContainerSize) / mergedContainerSize;
41
- }), [items, mergedContainerSize]);
42
- const postPercentSizes = _react.default.useMemo(() => {
43
- const ptgList = [];
44
- for (let i = 0; i < itemsCount; i += 1) {
45
- const itemSize = sizes[i];
47
+ var postPercentMinSizes = _react.default.useMemo(function () {
48
+ return items.map(function (item) {
49
+ if (isPtg(item.min)) {
50
+ return getPtg(item.min);
51
+ }
52
+ return (item.min || 0) / mergedContainerSize;
53
+ });
54
+ }, [items, mergedContainerSize]);
55
+ var postPercentMaxSizes = _react.default.useMemo(function () {
56
+ return items.map(function (item) {
57
+ if (isPtg(item.max)) {
58
+ return getPtg(item.max);
59
+ }
60
+ return (item.max || mergedContainerSize) / mergedContainerSize;
61
+ });
62
+ }, [items, mergedContainerSize]);
63
+ var postPercentSizes = _react.default.useMemo(function () {
64
+ var ptgList = [];
65
+ for (var i = 0; i < itemsCount; i += 1) {
66
+ var itemSize = sizes[i];
46
67
  if (isPtg(itemSize)) {
47
68
  ptgList[i] = getPtg(itemSize);
48
69
  } else if (itemSize || itemSize === 0) {
49
- const num = Number(itemSize);
70
+ var num = Number(itemSize);
50
71
  if (!Number.isNaN(num)) {
51
72
  ptgList[i] = num / mergedContainerSize;
52
73
  }
@@ -56,7 +77,11 @@ function useSizes(items, containerSize) {
56
77
  }
57
78
  return (0, _sizeUtil.autoPtgSizes)(ptgList, postPercentMinSizes, postPercentMaxSizes);
58
79
  }, [itemsCount, sizes, mergedContainerSize, postPercentMinSizes, postPercentMaxSizes]);
59
- const postPxSizes = _react.default.useMemo(() => postPercentSizes.map(ptg2px), [postPercentSizes, mergedContainerSize]);
60
- const panelSizes = _react.default.useMemo(() => containerSize ? postPxSizes : sizes, [postPxSizes, sizes, containerSize]);
80
+ var postPxSizes = _react.default.useMemo(function () {
81
+ return postPercentSizes.map(ptg2px);
82
+ }, [postPercentSizes, mergedContainerSize]);
83
+ var panelSizes = _react.default.useMemo(function () {
84
+ return containerSize ? postPxSizes : sizes;
85
+ }, [postPxSizes, sizes, containerSize]);
61
86
  return [panelSizes, postPxSizes, postPercentSizes, postPercentMinSizes, postPercentMaxSizes, setInnerSizes];
62
87
  }
@@ -7,6 +7,6 @@ exports.default = void 0;
7
7
  var _Panel = _interopRequireDefault(require("./Panel"));
8
8
  var _Splitter = _interopRequireDefault(require("./Splitter"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- const Splitter = _Splitter.default;
10
+ var Splitter = _Splitter.default;
11
11
  Splitter.Panel = _Panel.default;
12
12
  var _default = exports.default = Splitter;