@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,4 +1,4 @@
1
- var _excluded = ["children", "className", "style"];
1
+ var _excluded = ["children", "className", "style", "onResize", "observeParent", "observerProperty", "delayTick"];
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -21,7 +21,6 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
21
21
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
22
22
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
23
23
  import React from 'react';
24
- import { findDOMNode } from 'react-dom';
25
24
  export var ObserverProperty = /*#__PURE__*/function (ObserverProperty) {
26
25
  ObserverProperty["Width"] = "width";
27
26
  ObserverProperty["Height"] = "height";
@@ -41,13 +40,10 @@ var ReactResizeObserver = /*#__PURE__*/function (_React$Component) {
41
40
  _defineProperty(_assertThisInitialized(_this), "_parentNode", null);
42
41
  _defineProperty(_assertThisInitialized(_this), "formerPropertyValue", new Map());
43
42
  _defineProperty(_assertThisInitialized(_this), "getElement", function () {
44
- try {
45
- // eslint-disable-next-line react-dom/no-find-dom-node
46
- return findDOMNode(_this.childNode || _assertThisInitialized(_this));
47
- // eslint-disable-next-line unused-imports/no-unused-vars
48
- } catch (_error) {
49
- return null;
43
+ if (_this.childNode) {
44
+ return _this.childNode;
50
45
  }
46
+ return null;
51
47
  });
52
48
  _defineProperty(_assertThisInitialized(_this), "handleResizeEventTriggered", function (entries) {
53
49
  var _this$props = _this.props,
@@ -153,6 +149,10 @@ var ReactResizeObserver = /*#__PURE__*/function (_React$Component) {
153
149
  children = _this$props2.children,
154
150
  className = _this$props2.className,
155
151
  style = _this$props2.style,
152
+ onResize = _this$props2.onResize,
153
+ observeParent = _this$props2.observeParent,
154
+ observerProperty = _this$props2.observerProperty,
155
+ delayTick = _this$props2.delayTick,
156
156
  rest = _objectWithoutProperties(_this$props2, _excluded);
157
157
  var child = React.Children.only(children);
158
158
  var childRef = child.ref;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { InternalPanelProps, PanelProps } from './interface';
3
+ export declare const InternalPanel: React.ForwardRefExoticComponent<InternalPanelProps & {
4
+ children?: React.ReactNode | undefined;
5
+ } & React.RefAttributes<HTMLDivElement>>;
6
+ declare const Panel: React.FC<React.PropsWithChildren<PanelProps>>;
7
+ export default Panel;
@@ -13,26 +13,34 @@ export var InternalPanel = /*#__PURE__*/forwardRef(function (props, ref) {
13
13
  children = props.children,
14
14
  size = props.size,
15
15
  _props$style = props.style,
16
- style = _props$style === void 0 ? {} : _props$style;
16
+ style = _props$style === void 0 ? {} : _props$style,
17
+ id = props.id,
18
+ destroyOnHidden = props.destroyOnHidden,
19
+ supportMotion = props.supportMotion;
17
20
  var _useContext = useContext(ConfigContext),
18
21
  getPrefixCls = _useContext.getPrefixCls;
19
22
  var prefixCls = getPrefixCls('splitter', customizePrefixCls);
20
- var panelClassName = clsx("".concat(prefixCls, "-panel"), _defineProperty({}, "".concat(prefixCls, "-panel-hidden"), size === 0), className);
23
+ var panelClassName = clsx("".concat(prefixCls, "-panel"), _defineProperty(_defineProperty({}, "".concat(prefixCls, "-panel-hidden"), size === 0), "".concat(prefixCls, "-panel-motion"), supportMotion), className);
21
24
  var hasSize = size !== undefined;
25
+ var shouldRender = !destroyOnHidden || size !== 0;
22
26
  return /*#__PURE__*/React.createElement("div", {
23
27
  ref: ref,
28
+ id: id,
24
29
  className: panelClassName,
25
30
  style: _objectSpread(_objectSpread({}, style), {}, {
26
31
  // Use auto when start from ssr
27
32
  flexBasis: hasSize ? size : 'auto',
28
33
  flexGrow: hasSize ? 0 : 1
29
34
  })
30
- }, children);
35
+ }, shouldRender ? children : null);
31
36
  });
32
37
  if (process.env.NODE_ENV !== 'production') {
33
- InternalPanel.displayName = 'Panel';
38
+ InternalPanel.displayName = 'Splitter.Panel';
34
39
  }
35
40
  var Panel = function Panel() {
36
41
  return null;
37
42
  };
43
+ if (process.env.NODE_ENV !== 'production') {
44
+ Panel.displayName = 'Splitter.Panel';
45
+ }
38
46
  export default Panel;
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ export type ShowCollapsibleIconMode = boolean | 'auto';
3
+ export interface SplitBarProps {
4
+ index: number;
5
+ active: boolean;
6
+ prefixCls: string;
7
+ resizable: boolean;
8
+ startCollapsible: boolean;
9
+ endCollapsible: boolean;
10
+ showStartCollapsibleIcon: ShowCollapsibleIconMode;
11
+ showEndCollapsibleIcon: ShowCollapsibleIconMode;
12
+ draggerIcon?: React.ReactNode;
13
+ startIcon?: React.ReactNode;
14
+ endIcon?: React.ReactNode;
15
+ onOffsetStart: (index: number) => void;
16
+ onOffsetUpdate: (index: number, offsetX: number, offsetY: number, lazyEnd?: boolean) => number[];
17
+ onOffsetEnd: (nextSizes?: number[], lazyEnd?: boolean) => void;
18
+ onCollapse: (index: number, type: 'start' | 'end') => void;
19
+ vertical: boolean;
20
+ ariaNow: number;
21
+ ariaMin: number;
22
+ ariaMax: number;
23
+ ariaControls: string;
24
+ lazy?: boolean;
25
+ containerSize: number;
26
+ }
27
+ declare const SplitBar: React.FC<SplitBarProps>;
28
+ export default SplitBar;
@@ -12,7 +12,7 @@ import React, { useState } from 'react';
12
12
  import { DownOutlined, LeftOutlined, RightOutlined, UpOutlined } from '@ant-design/icons';
13
13
  import clsx from 'clsx';
14
14
  import useEvent from 'rc-util/lib/hooks/useEvent';
15
- import useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';
15
+ import useDragListeners from "./hooks/useDragListeners";
16
16
  function getValidNumber(num) {
17
17
  return typeof num === 'number' && !Number.isNaN(num) && Number.isFinite(num) ? Math.round(num) : 0;
18
18
  }
@@ -24,9 +24,13 @@ var SplitBar = function SplitBar(props) {
24
24
  ariaNow = props.ariaNow,
25
25
  ariaMin = props.ariaMin,
26
26
  ariaMax = props.ariaMax,
27
+ ariaControls = props.ariaControls,
27
28
  resizable = props.resizable,
28
29
  startCollapsible = props.startCollapsible,
29
30
  endCollapsible = props.endCollapsible,
31
+ draggerIcon = props.draggerIcon,
32
+ startIcon = props.startIcon,
33
+ endIcon = props.endIcon,
30
34
  onOffsetStart = props.onOffsetStart,
31
35
  onOffsetUpdate = props.onOffsetUpdate,
32
36
  onOffsetEnd = props.onOffsetEnd,
@@ -46,19 +50,61 @@ var SplitBar = function SplitBar(props) {
46
50
  setConstrainedOffset = _useState4[1];
47
51
  var constrainedOffsetX = vertical ? 0 : constrainedOffset;
48
52
  var constrainedOffsetY = vertical ? constrainedOffset : 0;
53
+ var STEP = 10;
49
54
  var onMouseDown = function onMouseDown(e) {
50
55
  if (resizable && e.currentTarget) {
56
+ e.preventDefault();
51
57
  setStartPos([e.pageX, e.pageY]);
52
58
  onOffsetStart(index);
53
59
  }
54
60
  };
55
61
  var onTouchStart = function onTouchStart(e) {
56
62
  if (resizable && e.touches.length === 1) {
63
+ e.preventDefault();
57
64
  var touch = e.touches[0];
58
65
  setStartPos([touch.pageX, touch.pageY]);
59
66
  onOffsetStart(index);
60
67
  }
61
68
  };
69
+ var onKeyDown = function onKeyDown(e) {
70
+ if (!resizable) {
71
+ return;
72
+ }
73
+ var isHorizontal = !vertical;
74
+ var offsetX = 0;
75
+ var offsetY = 0;
76
+ switch (e.key) {
77
+ case 'ArrowLeft':
78
+ offsetX = isHorizontal ? -STEP : 0;
79
+ break;
80
+ case 'ArrowRight':
81
+ offsetX = isHorizontal ? STEP : 0;
82
+ break;
83
+ case 'ArrowUp':
84
+ offsetY = isHorizontal ? 0 : -STEP;
85
+ break;
86
+ case 'ArrowDown':
87
+ offsetY = isHorizontal ? 0 : STEP;
88
+ break;
89
+ case 'Home':
90
+ offsetX = isHorizontal ? -containerSize : 0;
91
+ offsetY = isHorizontal ? 0 : -containerSize;
92
+ break;
93
+ case 'End':
94
+ offsetX = isHorizontal ? containerSize : 0;
95
+ offsetY = isHorizontal ? 0 : containerSize;
96
+ break;
97
+ default:
98
+ return;
99
+ }
100
+ e.preventDefault();
101
+ // Each key press is a complete start -> update -> end resize lifecycle:
102
+ // seed from the current sizes, apply the offset, then reset the moving
103
+ // state so the resize mask never lingers after a key press.
104
+ onOffsetStart(index);
105
+ var nextSizes = onOffsetUpdate(index, offsetX, offsetY);
106
+ onOffsetEnd(nextSizes);
107
+ };
62
108
  var getConstrainedOffset = function getConstrainedOffset(rawOffset) {
63
109
  var currentPos = containerSize * ariaNow / 100;
64
110
  var newPos = currentPos + rawOffset;
@@ -72,9 +118,9 @@ var SplitBar = function SplitBar(props) {
72
118
  setConstrainedOffset(constrainedOffsetValue);
73
119
  });
74
120
  var handleLazyEnd = useEvent(function () {
75
- onOffsetUpdate(index, constrainedOffsetX, constrainedOffsetY, true);
121
+ var nextSizes = onOffsetUpdate(index, constrainedOffsetX, constrainedOffsetY, true);
76
122
  setConstrainedOffset(0);
77
- onOffsetEnd(true);
123
+ onOffsetEnd(nextSizes, true);
78
124
  });
79
125
  var getVisibilityClass = function getVisibilityClass(mode) {
80
126
  switch (mode) {
@@ -86,101 +132,57 @@ var SplitBar = function SplitBar(props) {
86
132
  return "".concat(splitBarPrefixCls, "-collapse-bar-hover-only");
87
133
  }
88
134
  };
89
- useLayoutEffect(function () {
90
- if (!startPos) {
91
- return;
92
- }
93
- var onMouseMove = function onMouseMove(e) {
94
- var pageX = e.pageX,
95
- pageY = e.pageY;
96
- var offsetX = pageX - startPos[0];
97
- var offsetY = pageY - startPos[1];
98
- if (lazy) {
99
- handleLazyMove(offsetX, offsetY);
100
- } else {
101
- onOffsetUpdate(index, offsetX, offsetY);
102
- }
103
- };
104
- var onMouseUp = function onMouseUp() {
105
- if (lazy) {
106
- handleLazyEnd();
107
- } else {
108
- onOffsetEnd();
109
- }
110
- setStartPos(null);
111
- };
112
- var handleTouchMove = function handleTouchMove(e) {
113
- if (e.touches.length === 1) {
114
- var touch = e.touches[0];
115
- var _offsetX = touch.pageX - startPos[0];
116
- var _offsetY = touch.pageY - startPos[1];
117
- if (lazy) {
118
- handleLazyMove(_offsetX, _offsetY);
119
- } else {
120
- onOffsetUpdate(index, _offsetX, _offsetY);
121
- }
122
- }
123
- };
124
- var handleTouchEnd = function handleTouchEnd() {
125
- if (lazy) {
126
- handleLazyEnd();
127
- } else {
128
- onOffsetEnd();
129
- }
130
- setStartPos(null);
131
- };
132
- var eventHandlerMap = {
133
- mousemove: onMouseMove,
134
- mouseup: onMouseUp,
135
- touchmove: handleTouchMove,
136
- touchend: handleTouchEnd
137
- };
138
- for (var _i = 0, _Object$entries = Object.entries(eventHandlerMap); _i < _Object$entries.length; _i++) {
139
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
140
- event = _Object$entries$_i[0],
141
- handler = _Object$entries$_i[1];
142
- // eslint-disable-next-line react-web-api/no-leaked-event-listener
143
- window.addEventListener(event, handler);
144
- }
145
- return function () {
146
- for (var _i2 = 0, _Object$entries2 = Object.entries(eventHandlerMap); _i2 < _Object$entries2.length; _i2++) {
147
- var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
148
- _event = _Object$entries2$_i[0],
149
- _handler = _Object$entries2$_i[1];
150
- window.removeEventListener(_event, _handler);
151
- }
152
- };
153
- }, [startPos, index, lazy]);
135
+ useDragListeners({
136
+ startPos: startPos,
137
+ vertical: vertical,
138
+ lazy: lazy,
139
+ onOffsetUpdate: onOffsetUpdate,
140
+ onOffsetEnd: onOffsetEnd,
141
+ handleLazyMove: handleLazyMove,
142
+ handleLazyEnd: handleLazyEnd,
143
+ setStartPos: setStartPos,
144
+ index: index
145
+ });
154
146
  var transformStyle = _defineProperty({}, "--".concat(splitBarPrefixCls, "-preview-offset"), "".concat(constrainedOffset, "px"));
155
- var StartIcon = vertical ? UpOutlined : LeftOutlined;
156
- var EndIcon = vertical ? DownOutlined : RightOutlined;
147
+ var startIconNode = startIcon || (vertical ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null));
148
+ var endIconNode = endIcon || (vertical ? /*#__PURE__*/React.createElement(DownOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null));
149
+ var startIconCustomized = startIcon !== undefined;
150
+ var endIconCustomized = endIcon !== undefined;
157
151
  return /*#__PURE__*/React.createElement("div", {
158
152
  className: splitBarPrefixCls,
159
- role: "separator",
153
+ role: "separator"
154
+ // Splitter bar is keyboard-focusable for ARIA slider/splitter interaction
155
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
156
+ ,
157
+ tabIndex: resizable ? 0 : -1,
160
158
  "aria-valuenow": getValidNumber(ariaNow),
161
159
  "aria-valuemin": getValidNumber(ariaMin),
162
- "aria-valuemax": getValidNumber(ariaMax)
160
+ "aria-valuemax": getValidNumber(ariaMax),
161
+ "aria-controls": ariaControls,
162
+ onKeyDown: onKeyDown
163
163
  }, lazy && /*#__PURE__*/React.createElement("div", {
164
164
  className: clsx("".concat(splitBarPrefixCls, "-preview"), _defineProperty({}, "".concat(splitBarPrefixCls, "-preview-active"), !!constrainedOffset)),
165
165
  style: transformStyle
166
166
  }), /*#__PURE__*/React.createElement("div", {
167
- className: clsx("".concat(splitBarPrefixCls, "-dragger"), _defineProperty(_defineProperty({}, "".concat(splitBarPrefixCls, "-dragger-disabled"), !resizable), "".concat(splitBarPrefixCls, "-dragger-active"), active)),
167
+ className: clsx("".concat(splitBarPrefixCls, "-dragger"), _defineProperty(_defineProperty(_defineProperty({}, "".concat(splitBarPrefixCls, "-dragger-disabled"), !resizable), "".concat(splitBarPrefixCls, "-dragger-active"), active), "".concat(splitBarPrefixCls, "-dragger-customize"), draggerIcon !== undefined)),
168
168
  onMouseDown: onMouseDown,
169
169
  onTouchStart: onTouchStart
170
- }), startCollapsible && /*#__PURE__*/React.createElement("div", {
171
- className: clsx("".concat(splitBarPrefixCls, "-collapse-bar"), "".concat(splitBarPrefixCls, "-collapse-bar-start"), getVisibilityClass(showStartCollapsibleIcon)),
170
+ }, draggerIcon !== undefined && /*#__PURE__*/React.createElement("div", {
171
+ className: clsx("".concat(splitBarPrefixCls, "-dragger-icon"))
172
+ }, draggerIcon)), startCollapsible && /*#__PURE__*/React.createElement("div", {
173
+ className: clsx("".concat(splitBarPrefixCls, "-collapse-bar"), "".concat(splitBarPrefixCls, "-collapse-bar-start"), _defineProperty({}, "".concat(splitBarPrefixCls, "-collapse-bar-customize"), startIconCustomized), getVisibilityClass(showStartCollapsibleIcon)),
172
174
  onClick: function onClick() {
173
175
  return onCollapse(index, 'start');
174
176
  }
175
- }, /*#__PURE__*/React.createElement(StartIcon, {
177
+ }, /*#__PURE__*/React.createElement("span", {
176
178
  className: clsx("".concat(splitBarPrefixCls, "-collapse-icon"), "".concat(splitBarPrefixCls, "-collapse-start"))
177
- })), endCollapsible && /*#__PURE__*/React.createElement("div", {
178
- className: clsx("".concat(splitBarPrefixCls, "-collapse-bar"), "".concat(splitBarPrefixCls, "-collapse-bar-end"), getVisibilityClass(showEndCollapsibleIcon)),
179
+ }, startIconNode)), endCollapsible && /*#__PURE__*/React.createElement("div", {
180
+ className: clsx("".concat(splitBarPrefixCls, "-collapse-bar"), "".concat(splitBarPrefixCls, "-collapse-bar-end"), _defineProperty({}, "".concat(splitBarPrefixCls, "-collapse-bar-customize"), endIconCustomized), getVisibilityClass(showEndCollapsibleIcon)),
179
181
  onClick: function onClick() {
180
182
  return onCollapse(index, 'end');
181
183
  }
182
- }, /*#__PURE__*/React.createElement(EndIcon, {
184
+ }, /*#__PURE__*/React.createElement("span", {
183
185
  className: clsx("".concat(splitBarPrefixCls, "-collapse-icon"), "".concat(splitBarPrefixCls, "-collapse-end"))
184
- })));
186
+ }, endIconNode)));
185
187
  };
186
188
  export default SplitBar;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { SplitterProps } from './interface';
3
+ import './style/index.less';
4
+ declare const Splitter: React.FC<React.PropsWithChildren<SplitterProps>>;
5
+ export default Splitter;
@@ -11,12 +11,13 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
11
11
  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; }
12
12
  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; } }
13
13
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
- import React, { useContext, useState } from 'react';
15
- import { ConfigContext } from 'antd/es/config-provider';
14
+ import React, { useContext, useMemo, useState } from 'react';
15
+ import { ConfigContext } from 'antd/lib/config-provider';
16
16
  import ResizeObserver from 'rc-resize-observer';
17
- import useEvent from 'rc-util/es/hooks/useEvent';
18
- import warning from 'rc-util/es/warning';
17
+ import useEvent from 'rc-util/lib/hooks/useEvent';
18
+ import warning from 'rc-util/lib/warning';
19
19
  import useItems from "./hooks/useItems";
20
+ import useOrientation from "./hooks/useOrientation";
20
21
  import useResizable from "./hooks/useResizable";
21
22
  import useResize from "./hooks/useResize";
22
23
  import useSizes from "./hooks/useSizes";
@@ -24,24 +25,30 @@ import { InternalPanel } from "./Panel";
24
25
  import SplitBar from "./SplitBar";
25
26
  import "./style/index.less";
26
27
  import clsx from 'clsx';
27
- import { uniqueId } from 'lodash-es';
28
28
  var Splitter = function Splitter(props) {
29
29
  var customizePrefixCls = props.prefixCls,
30
30
  className = props.className,
31
31
  style = props.style,
32
- _props$layout = props.layout,
33
- layout = _props$layout === void 0 ? 'horizontal' : _props$layout,
32
+ layout = props.layout,
33
+ orientation = props.orientation,
34
+ vertical = props.vertical,
34
35
  children = props.children,
35
36
  rootClassName = props.rootClassName,
36
37
  onResizeStart = props.onResizeStart,
37
38
  onResize = props.onResize,
38
39
  onResizeEnd = props.onResizeEnd,
39
- lazy = props.lazy;
40
+ lazy = props.lazy,
41
+ destroyOnHidden = props.destroyOnHidden,
42
+ draggerIcon = props.draggerIcon,
43
+ motion = props.motion;
40
44
  var _useContext = useContext(ConfigContext),
41
45
  getPrefixCls = _useContext.getPrefixCls,
42
46
  direction = _useContext.direction;
43
47
  var prefixCls = getPrefixCls('splitter', customizePrefixCls);
44
- var isVertical = layout === 'vertical';
48
+ var _useOrientation = useOrientation(orientation, vertical, layout),
49
+ _useOrientation2 = _slicedToArray(_useOrientation, 2),
50
+ mergedOrientation = _useOrientation2[0],
51
+ isVertical = _useOrientation2[1];
45
52
  var isRTL = direction === 'rtl';
46
53
  var reverse = !isVertical && isRTL;
47
54
  var items = useItems(children);
@@ -88,6 +95,12 @@ var Splitter = function Splitter(props) {
88
95
  onOffsetEnd = _useResize2[2],
89
96
  onCollapse = _useResize2[3],
90
97
  movingIndex = _useResize2[4];
98
+ var supportMotion = React.useMemo(function () {
99
+ return (motion || items.some(function (item) {
100
+ var _item$collapsible;
101
+ return (_item$collapsible = item.collapsible) === null || _item$collapsible === void 0 ? void 0 : _item$collapsible.motion;
102
+ })) && movingIndex === undefined;
103
+ }, [items, motion, movingIndex]);
91
104
  var onInternalResizeStart = useEvent(function (index) {
92
105
  onOffsetStart(index);
93
106
  onResizeStart === null || onResizeStart === void 0 || onResizeStart(itemPxSizes);
@@ -99,13 +112,21 @@ var Splitter = function Splitter(props) {
99
112
  } else {
100
113
  onResize === null || onResize === void 0 || onResize(nextSizes);
101
114
  }
115
+ return nextSizes;
102
116
  });
103
- var onInternalResizeEnd = useEvent(function (lazyEnd) {
104
- onOffsetEnd();
117
+ var onInternalResizeEnd = useEvent(function (nextSizes, lazyEnd) {
118
+ onOffsetEnd(nextSizes);
105
119
  if (!lazyEnd) {
106
- onResizeEnd === null || onResizeEnd === void 0 || onResizeEnd(itemPxSizes);
120
+ onResizeEnd === null || onResizeEnd === void 0 || onResizeEnd(nextSizes !== null && nextSizes !== void 0 ? nextSizes : itemPxSizes);
107
121
  }
108
122
  });
123
+ var onInternalOffsetUpdate = useEvent(function (index, offsetX, offsetY, lazyEnd) {
124
+ var offset = isVertical ? offsetY : offsetX;
125
+ if (reverse) {
126
+ offset = -offset;
127
+ }
128
+ return onInternalResizeUpdate(index, offset, lazyEnd);
129
+ });
109
130
  var onInternalCollapse = useEvent(function (index, type) {
110
131
  var _props$onCollapse;
111
132
  var nextSizes = onCollapse(index, type);
@@ -116,7 +137,7 @@ var Splitter = function Splitter(props) {
116
137
  });
117
138
  (_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 || _props$onCollapse.call(props, collapsed, nextSizes);
118
139
  });
119
- var containerClassName = clsx(prefixCls, className, "".concat(prefixCls, "-").concat(layout), _defineProperty({}, "".concat(prefixCls, "-rtl"), isRTL), rootClassName);
140
+ var containerClassName = clsx(prefixCls, className, "".concat(prefixCls, "-").concat(mergedOrientation), _defineProperty({}, "".concat(prefixCls, "-rtl"), isRTL), rootClassName);
120
141
  var maskCls = "".concat(prefixCls, "-mask");
121
142
  var stackSizes = React.useMemo(function () {
122
143
  var mergedSizes = [];
@@ -128,6 +149,11 @@ var Splitter = function Splitter(props) {
128
149
  }
129
150
  return mergedSizes;
130
151
  }, [itemPtgSizes, items.length]);
152
+ var panelIds = useMemo(function () {
153
+ return items.map(function (item, idx) {
154
+ return item.id || "".concat(prefixCls, "-panel-").concat(idx);
155
+ });
156
+ }, [items, prefixCls]);
131
157
  var mergedStyle = _objectSpread({}, style);
132
158
  return /*#__PURE__*/React.createElement(ResizeObserver, {
133
159
  onResize: onContainerResize
@@ -135,9 +161,13 @@ var Splitter = function Splitter(props) {
135
161
  style: mergedStyle,
136
162
  className: containerClassName
137
163
  }, items.map(function (item, idx) {
164
+ var _item$destroyOnHidden;
138
165
  var panel = /*#__PURE__*/React.createElement(InternalPanel, _extends({}, item, {
166
+ id: panelIds[idx],
139
167
  prefixCls: prefixCls,
140
- size: panelSizes[idx]
168
+ size: panelSizes[idx],
169
+ destroyOnHidden: (_item$destroyOnHidden = item.destroyOnHidden) !== null && _item$destroyOnHidden !== void 0 ? _item$destroyOnHidden : destroyOnHidden,
170
+ supportMotion: supportMotion
141
171
  }));
142
172
  var splitBar = null;
143
173
  var resizableInfo = resizableInfos[idx];
@@ -146,6 +176,7 @@ var Splitter = function Splitter(props) {
146
176
  var ariaMinEnd = (stackSizes[idx + 1] || 100) - itemPtgMaxSizes[idx + 1];
147
177
  var ariaMaxStart = (stackSizes[idx - 1] || 0) + itemPtgMaxSizes[idx];
148
178
  var ariaMaxEnd = (stackSizes[idx + 1] || 100) - itemPtgMinSizes[idx + 1];
179
+ var ariaControls = [panelIds[idx], panelIds[idx + 1]].filter(Boolean).join(' ');
149
180
  splitBar = /*#__PURE__*/React.createElement(SplitBar, {
150
181
  lazy: lazy,
151
182
  index: idx,
@@ -153,32 +184,30 @@ var Splitter = function Splitter(props) {
153
184
  prefixCls: prefixCls,
154
185
  vertical: isVertical,
155
186
  resizable: resizableInfo.resizable,
187
+ draggerIcon: draggerIcon,
188
+ startIcon: resizableInfo.startIcon,
189
+ endIcon: resizableInfo.endIcon,
156
190
  ariaNow: stackSizes[idx] * 100,
157
191
  ariaMin: Math.max(ariaMinStart, ariaMinEnd) * 100,
158
192
  ariaMax: Math.min(ariaMaxStart, ariaMaxEnd) * 100,
193
+ ariaControls: ariaControls,
159
194
  startCollapsible: resizableInfo.startCollapsible,
160
195
  endCollapsible: resizableInfo.endCollapsible,
161
196
  showStartCollapsibleIcon: resizableInfo.showStartCollapsibleIcon,
162
197
  showEndCollapsibleIcon: resizableInfo.showEndCollapsibleIcon,
163
198
  onOffsetStart: onInternalResizeStart,
164
- onOffsetUpdate: function onOffsetUpdate(index, offsetX, offsetY, lazyEnd) {
165
- var offset = isVertical ? offsetY : offsetX;
166
- if (reverse) {
167
- offset = -offset;
168
- }
169
- onInternalResizeUpdate(index, offset, lazyEnd);
170
- },
199
+ onOffsetUpdate: onInternalOffsetUpdate,
171
200
  onOffsetEnd: onInternalResizeEnd,
172
201
  onCollapse: onInternalCollapse,
173
202
  containerSize: containerSize || 0
174
203
  });
175
204
  }
176
205
  return /*#__PURE__*/React.createElement(React.Fragment, {
177
- key: "split-panel-".concat(uniqueId())
206
+ key: panelIds[idx] || "split-panel-".concat(idx)
178
207
  }, panel, splitBar);
179
208
  }), typeof movingIndex === 'number' && /*#__PURE__*/React.createElement("div", {
180
209
  "aria-hidden": true,
181
- className: clsx(maskCls, "".concat(maskCls, "-").concat(layout))
210
+ className: clsx(maskCls, "".concat(maskCls, "-").concat(mergedOrientation))
182
211
  })));
183
212
  };
184
213
  if (process.env.NODE_ENV !== 'production') {
@@ -0,0 +1,3 @@
1
+ type SizeUnit = number | undefined;
2
+ export declare function autoPtgSizes(ptgSizes: SizeUnit[], minPtgSizes: SizeUnit[], maxPtgSizes: SizeUnit[]): number[];
3
+ export {};
@@ -51,7 +51,7 @@ export function autoPtgSizes(ptgSizes, minPtgSizes, maxPtgSizes) {
51
51
  limitMin = Math.max(limitMin, min);
52
52
  limitMax = Math.min(limitMax, max);
53
53
  }
54
- if (sumMin > 1 && sumMax < 1) {
54
+ if (sumMin > 1 || sumMax < 1) {
55
55
  var _avg = 1 / undefinedCount;
56
56
  return ptgSizes.map(function (size) {
57
57
  return size === undefined ? _avg : size;
@@ -0,0 +1,14 @@
1
+ type StartPos = readonly [number, number];
2
+ export interface UseDragListenersOptions {
3
+ startPos: StartPos | null;
4
+ vertical: boolean;
5
+ lazy?: boolean;
6
+ onOffsetUpdate: (index: number, offsetX: number, offsetY: number, lazyEnd?: boolean) => void;
7
+ onOffsetEnd: (nextSizes?: number[], lazyEnd?: boolean) => void;
8
+ handleLazyMove: (offsetX: number, offsetY: number) => void;
9
+ handleLazyEnd: () => void;
10
+ setStartPos: (pos: StartPos | null) => void;
11
+ index: number;
12
+ }
13
+ export default function useDragListeners(options: UseDragListenersOptions): void;
14
+ export {};