@dtjoy/dt-design 1.1.2 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/README.md +161 -141
  2. package/dist/dt-design.min.css +1 -0
  3. package/dist/dt-design.min.js +1 -0
  4. package/es/_util/context/createContextSelector.d.ts +28 -0
  5. package/es/_util/context/createContextSelector.js +110 -0
  6. package/es/_util/context/immutable.d.ts +10 -0
  7. package/es/_util/context/immutable.js +84 -0
  8. package/es/_util/context/index.d.ts +3 -0
  9. package/es/_util/context/index.js +3 -0
  10. package/es/_util/easings.d.ts +1 -0
  11. package/es/_util/gapSize.d.ts +3 -0
  12. package/es/_util/getScroll.d.ts +3 -0
  13. package/{esm → es}/_util/getScroll.js +1 -1
  14. package/es/_util/hooks/index.d.ts +11 -0
  15. package/es/_util/hooks/index.js +11 -0
  16. package/es/_util/hooks/useBreakpoint.d.ts +5 -0
  17. package/es/_util/hooks/useBreakpoint.js +75 -0
  18. package/es/_util/hooks/useCssVar.d.ts +3 -0
  19. package/es/_util/hooks/useCssVar.js +28 -0
  20. package/es/_util/hooks/useEvent.d.ts +1 -0
  21. package/es/_util/hooks/useEvent.js +1 -0
  22. package/es/_util/hooks/useForceUpdate.d.ts +2 -0
  23. package/es/_util/hooks/useLayoutEffect.d.ts +1 -0
  24. package/es/_util/hooks/useLayoutEffect.js +1 -0
  25. package/es/_util/hooks/useMultipleSelect.d.ts +2 -0
  26. package/es/_util/hooks/useMultipleSelect.js +37 -0
  27. package/es/_util/hooks/useOrientation.d.ts +2 -0
  28. package/es/_util/hooks/useProxyImperativeHandle.d.ts +4 -0
  29. package/{esm → es}/_util/hooks/useProxyImperativeHandle.js +10 -3
  30. package/es/_util/hooks/useSyncState.d.ts +3 -0
  31. package/es/_util/hooks/useTimeoutLock.d.ts +1 -0
  32. package/es/_util/hooks/useTimeoutLock.js +26 -0
  33. package/es/_util/index.d.ts +11 -0
  34. package/{esm → es}/_util/index.js +9 -1
  35. package/es/_util/is.d.ts +5 -0
  36. package/es/_util/is.js +16 -0
  37. package/es/_util/rcUtil.d.ts +17 -0
  38. package/es/_util/rcUtil.js +58 -0
  39. package/es/_util/scrollTo.d.ts +10 -0
  40. package/{esm → es}/_util/scrollTo.js +1 -1
  41. package/es/_util/scrollbar.d.ts +1 -0
  42. package/es/_util/scrollbar.js +32 -0
  43. package/es/_util/type.d.ts +53 -0
  44. package/es/_util/validate.d.ts +2 -0
  45. package/es/_util/validate.js +10 -0
  46. package/es/_util/warning.d.ts +31 -0
  47. package/{esm → es}/_util/warning.js +5 -6
  48. package/es/block-header/index.d.ts +58 -0
  49. package/{esm/blockHeader → es/block-header}/index.js +1 -1
  50. package/es/block-header/style/index.d.ts +2 -0
  51. package/{lib/blockHeader → es/block-header}/style/index.less +167 -143
  52. package/es/button/index.d.ts +10 -0
  53. package/{esm → es}/button/index.js +16 -4
  54. package/es/button/style/index.d.ts +2 -0
  55. package/{esm → es}/button/style/index.less +62 -59
  56. package/{esm → es}/button/style/mixin.less +40 -39
  57. package/es/collapsible/index.d.ts +102 -0
  58. package/{esm → es}/collapsible/index.js +3 -2
  59. package/es/collapsible/style/index.d.ts +1 -0
  60. package/{esm → es}/collapsible/style/index.less +24 -24
  61. package/es/collapsible-action-items/index.d.ts +24 -0
  62. package/{esm/collapsibleActionItems → es/collapsible-action-items}/index.js +21 -19
  63. package/es/collapsible-action-items/style/index.d.ts +2 -0
  64. package/{lib/collapsibleActionItems → es/collapsible-action-items}/style/index.less +7 -7
  65. package/es/flex/index.d.ts +7 -0
  66. package/{esm → es}/flex/index.js +3 -3
  67. package/es/flex/interface.d.ts +16 -0
  68. package/es/flex/style/index.d.ts +2 -0
  69. package/{esm → es}/flex/style/index.less +80 -76
  70. package/es/flex/utils.d.ts +7 -0
  71. package/es/form-list/index.d.ts +87 -0
  72. package/{esm/formList → es/form-list}/index.js +18 -8
  73. package/es/form-list/style/index.d.ts +2 -0
  74. package/{esm/formList → es/form-list}/style/index.less +45 -45
  75. package/es/index.d.ts +26 -0
  76. package/es/index.js +21 -0
  77. package/es/overflow-list/index.d.ts +43 -0
  78. package/{esm/overflowList → es/overflow-list}/index.js +37 -9
  79. package/es/overflow-list/style/index.d.ts +2 -0
  80. package/{esm/overflowList → es/overflow-list}/style/index.less +9 -9
  81. package/es/resize/index.d.ts +9 -0
  82. package/es/resize-observer/index.d.ts +45 -0
  83. package/{esm/resizeObserver → es/resize-observer}/index.js +8 -8
  84. package/es/splitter/Panel.d.ts +7 -0
  85. package/{esm → es}/splitter/Panel.js +12 -4
  86. package/es/splitter/SplitBar.d.ts +28 -0
  87. package/{esm → es}/splitter/SplitBar.js +82 -80
  88. package/es/splitter/Splitter.d.ts +5 -0
  89. package/{esm → es}/splitter/Splitter.js +52 -23
  90. package/es/splitter/hooks/sizeUtil.d.ts +3 -0
  91. package/{esm → es}/splitter/hooks/sizeUtil.js +1 -1
  92. package/es/splitter/hooks/useDragListeners.d.ts +14 -0
  93. package/es/splitter/hooks/useDragListeners.js +107 -0
  94. package/es/splitter/hooks/useItems.d.ts +20 -0
  95. package/es/splitter/hooks/useOrientation.d.ts +2 -0
  96. package/es/splitter/hooks/useOrientation.js +6 -0
  97. package/es/splitter/hooks/useResizable.d.ts +13 -0
  98. package/{esm → es}/splitter/hooks/useResizable.js +5 -2
  99. package/es/splitter/hooks/useResize.d.ts +6 -0
  100. package/{esm → es}/splitter/hooks/useResize.js +10 -3
  101. package/es/splitter/hooks/useSizes.d.ts +4 -0
  102. package/{esm → es}/splitter/hooks/useSizes.js +5 -6
  103. package/es/splitter/index.d.ts +9 -0
  104. package/es/splitter/interface.d.ts +45 -0
  105. package/es/splitter/style/index.d.ts +2 -0
  106. package/es/splitter/style/index.less +349 -0
  107. package/es/status-tag/index.d.ts +29 -0
  108. package/{esm/statusTag → es/status-tag}/index.js +1 -1
  109. package/es/status-tag/style/index.d.ts +2 -0
  110. package/{lib/statusTag → es/status-tag}/style/index.less +70 -70
  111. package/{esm/statusTag → es/status-tag}/style/mixin.less +48 -39
  112. package/es/style/index.d.ts +1 -0
  113. package/{esm → es}/style/index.less +1 -1
  114. package/es/style/themes/index.less +2 -0
  115. package/{esm → es}/style/themes/variable.less +5 -5
  116. package/es/table/Column.d.ts +2 -0
  117. package/es/table/Column.js +1 -0
  118. package/es/table/ColumnGroup.d.ts +2 -0
  119. package/es/table/ColumnGroup.js +1 -0
  120. package/es/table/InternalTable.d.ts +43 -0
  121. package/es/table/InternalTable.js +816 -0
  122. package/es/table/Table.d.ts +19 -0
  123. package/es/table/Table.js +30 -0
  124. package/es/table/TableMeasureRowContext.d.ts +3 -0
  125. package/es/table/TableMeasureRowContext.js +3 -0
  126. package/es/table/components/Body/BodyRow.d.ts +37 -0
  127. package/es/table/components/Body/BodyRow.js +182 -0
  128. package/es/table/components/Body/ExpandedRow.d.ts +15 -0
  129. package/es/table/components/Body/ExpandedRow.js +51 -0
  130. package/es/table/components/Body/MeasureCell.d.ts +8 -0
  131. package/es/table/components/Body/MeasureCell.js +33 -0
  132. package/es/table/components/Body/MeasureRow.d.ts +10 -0
  133. package/es/table/components/Body/MeasureRow.js +54 -0
  134. package/es/table/components/Body/index.d.ts +11 -0
  135. package/es/table/components/Body/index.js +123 -0
  136. package/es/table/components/Cell/index.d.ts +39 -0
  137. package/es/table/components/Cell/index.js +196 -0
  138. package/es/table/components/Cell/useCellRender.d.ts +3 -0
  139. package/es/table/components/Cell/useCellRender.js +69 -0
  140. package/es/table/components/Cell/useHoverState.d.ts +2 -0
  141. package/es/table/components/Cell/useHoverState.js +13 -0
  142. package/es/table/components/ColGroup.d.ts +9 -0
  143. package/es/table/components/ColGroup.js +53 -0
  144. package/es/table/components/ExpandIcon.d.ts +12 -0
  145. package/es/table/components/ExpandIcon.js +27 -0
  146. package/es/table/components/FixedHolder/index.d.ts +27 -0
  147. package/es/table/components/FixedHolder/index.js +186 -0
  148. package/es/table/components/Footer/Cell.d.ts +11 -0
  149. package/es/table/components/Footer/Cell.js +47 -0
  150. package/es/table/components/Footer/Row.d.ts +8 -0
  151. package/es/table/components/Footer/Row.js +10 -0
  152. package/es/table/components/Footer/Summary.d.ts +14 -0
  153. package/es/table/components/Footer/Summary.js +12 -0
  154. package/es/table/components/Footer/SummaryContext.d.ts +11 -0
  155. package/es/table/components/Footer/SummaryContext.js +3 -0
  156. package/es/table/components/Footer/index.d.ts +16 -0
  157. package/es/table/components/Footer/index.js +31 -0
  158. package/es/table/components/Header/Header.d.ts +10 -0
  159. package/es/table/components/Header/Header.js +110 -0
  160. package/es/table/components/Header/HeaderRow.d.ts +19 -0
  161. package/es/table/components/Header/HeaderRow.js +63 -0
  162. package/es/table/components/Panel.d.ts +7 -0
  163. package/es/table/components/Panel.js +11 -0
  164. package/es/table/components/RcTable.d.ts +114 -0
  165. package/es/table/components/RcTable.js +757 -0
  166. package/es/table/components/VirtualTable.d.ts +5 -0
  167. package/es/table/components/VirtualTable.js +12 -0
  168. package/es/table/components/VirtualTableBody/BodyGrid.d.ts +13 -0
  169. package/es/table/components/VirtualTableBody/BodyGrid.js +307 -0
  170. package/es/table/components/VirtualTableBody/BodyLine.d.ts +14 -0
  171. package/es/table/components/VirtualTableBody/BodyLine.js +116 -0
  172. package/es/table/components/VirtualTableBody/VirtualCell.d.ts +26 -0
  173. package/es/table/components/VirtualTableBody/VirtualCell.js +118 -0
  174. package/es/table/components/VirtualTableBody/context.d.ts +13 -0
  175. package/es/table/components/VirtualTableBody/context.js +3 -0
  176. package/es/table/components/VirtualTableBody/index.d.ts +16 -0
  177. package/es/table/components/VirtualTableBody/index.js +102 -0
  178. package/es/table/constant.d.ts +2 -0
  179. package/es/table/constant.js +2 -0
  180. package/es/table/features/columns/Column.d.ts +7 -0
  181. package/es/table/features/columns/Column.js +4 -0
  182. package/es/table/features/columns/ColumnGroup.d.ts +9 -0
  183. package/es/table/features/columns/ColumnGroup.js +4 -0
  184. package/es/table/features/columns/index.d.ts +8 -0
  185. package/es/table/features/columns/index.js +6 -0
  186. package/es/table/features/columns/useColumns.d.ts +31 -0
  187. package/es/table/features/columns/useColumns.js +227 -0
  188. package/es/table/features/columns/useFilledColumns.d.ts +4 -0
  189. package/es/table/features/columns/useFilledColumns.js +34 -0
  190. package/es/table/features/columns/useTitleColumns.d.ts +4 -0
  191. package/es/table/features/columns/useTitleColumns.js +26 -0
  192. package/es/table/features/columns/useWidthColumns.d.ts +5 -0
  193. package/es/table/features/columns/useWidthColumns.js +75 -0
  194. package/es/table/features/editable/BatchEditModal.d.ts +4 -0
  195. package/es/table/features/editable/BatchEditModal.js +786 -0
  196. package/es/table/features/editable/EditableCell.d.ts +42 -0
  197. package/es/table/features/editable/EditableCell.js +294 -0
  198. package/es/table/features/editable/EditableContext.d.ts +33 -0
  199. package/es/table/features/editable/EditableContext.js +20 -0
  200. package/es/table/features/editable/batchEditTypes.d.ts +55 -0
  201. package/es/table/features/editable/batchEditTypes.js +1 -0
  202. package/es/table/features/editable/batchEditUtils.d.ts +44 -0
  203. package/es/table/features/editable/batchEditUtils.js +258 -0
  204. package/es/table/features/editable/builtinEditors.d.ts +32 -0
  205. package/es/table/features/editable/builtinEditors.js +165 -0
  206. package/es/table/features/editable/index.d.ts +11 -0
  207. package/es/table/features/editable/index.js +10 -0
  208. package/es/table/features/editable/useBatchRules.d.ts +17 -0
  209. package/es/table/features/editable/useBatchRules.js +96 -0
  210. package/es/table/features/editable/useEditable.d.ts +51 -0
  211. package/es/table/features/editable/useEditable.js +693 -0
  212. package/es/table/features/expand/expandUtil.d.ts +5 -0
  213. package/es/table/features/expand/expandUtil.js +47 -0
  214. package/es/table/features/expand/index.d.ts +2 -0
  215. package/es/table/features/expand/index.js +2 -0
  216. package/es/table/features/expand/useExpand.d.ts +10 -0
  217. package/es/table/features/expand/useExpand.js +90 -0
  218. package/es/table/features/filter/FilterDropdown.d.ts +31 -0
  219. package/es/table/features/filter/FilterDropdown.js +494 -0
  220. package/es/table/features/filter/FilterSearch.d.ts +12 -0
  221. package/es/table/features/filter/FilterSearch.js +24 -0
  222. package/es/table/features/filter/FilterWrapper.d.ts +8 -0
  223. package/es/table/features/filter/FilterWrapper.js +23 -0
  224. package/es/table/features/filter/index.d.ts +4 -0
  225. package/es/table/features/filter/index.js +4 -0
  226. package/es/table/features/filter/useFilter.d.ts +22 -0
  227. package/es/table/features/filter/useFilter.js +240 -0
  228. package/es/table/features/fixed/fixUtil.d.ts +21 -0
  229. package/es/table/features/fixed/fixUtil.js +69 -0
  230. package/es/table/features/fixed/index.d.ts +4 -0
  231. package/es/table/features/fixed/index.js +4 -0
  232. package/es/table/features/fixed/offsetUtil.d.ts +4 -0
  233. package/es/table/features/fixed/offsetUtil.js +13 -0
  234. package/es/table/features/fixed/useFixedInfo.d.ts +2 -0
  235. package/es/table/features/fixed/useFixedInfo.js +16 -0
  236. package/es/table/features/fixed/useStickyOffsets.d.ts +6 -0
  237. package/es/table/features/fixed/useStickyOffsets.js +29 -0
  238. package/es/table/features/hover/index.d.ts +1 -0
  239. package/es/table/features/hover/index.js +1 -0
  240. package/es/table/features/hover/useHover.d.ts +2 -0
  241. package/es/table/features/hover/useHover.js +22 -0
  242. package/es/table/features/pagination/index.d.ts +1 -0
  243. package/es/table/features/pagination/index.js +1 -0
  244. package/es/table/features/pagination/usePagination.d.ts +5 -0
  245. package/es/table/features/pagination/usePagination.js +89 -0
  246. package/es/table/features/resize/ResizeHandle.d.ts +22 -0
  247. package/es/table/features/resize/ResizeHandle.js +99 -0
  248. package/es/table/features/resize/index.d.ts +5 -0
  249. package/es/table/features/resize/index.js +3 -0
  250. package/es/table/features/resize/transformResizableColumns.d.ts +11 -0
  251. package/es/table/features/resize/transformResizableColumns.js +52 -0
  252. package/es/table/features/resize/useResize.d.ts +52 -0
  253. package/es/table/features/resize/useResize.js +586 -0
  254. package/es/table/features/selection/index.d.ts +1 -0
  255. package/es/table/features/selection/index.js +1 -0
  256. package/es/table/features/selection/useSelection.d.ts +20 -0
  257. package/es/table/features/selection/useSelection.js +579 -0
  258. package/es/table/features/sort/index.d.ts +1 -0
  259. package/es/table/features/sort/index.js +1 -0
  260. package/es/table/features/sort/useSorter.d.ts +21 -0
  261. package/es/table/features/sort/useSorter.js +372 -0
  262. package/es/table/features/sticky/index.d.ts +2 -0
  263. package/es/table/features/sticky/index.js +2 -0
  264. package/es/table/features/sticky/stickyScrollBar.d.ts +12 -0
  265. package/es/table/features/sticky/stickyScrollBar.js +203 -0
  266. package/es/table/features/sticky/useSticky.d.ts +10 -0
  267. package/es/table/features/sticky/useSticky.js +34 -0
  268. package/es/table/features/summary/index.d.ts +1 -0
  269. package/es/table/features/summary/index.js +1 -0
  270. package/es/table/features/virtual/index.d.ts +2 -0
  271. package/es/table/features/virtual/index.js +2 -0
  272. package/es/table/features/virtual/useFlattenRecords.d.ts +19 -0
  273. package/es/table/features/virtual/useFlattenRecords.js +55 -0
  274. package/es/table/features/virtual/useFrame.d.ts +7 -0
  275. package/es/table/features/virtual/useFrame.js +67 -0
  276. package/es/table/immutableHelper.d.ts +9 -0
  277. package/es/table/immutableHelper.js +36 -0
  278. package/es/table/index.d.ts +24 -0
  279. package/es/table/index.js +23 -0
  280. package/es/table/interface.d.ts +438 -0
  281. package/es/table/interface.js +56 -0
  282. package/es/table/shared/context/PerfContext.d.ts +6 -0
  283. package/es/table/shared/context/PerfContext.js +6 -0
  284. package/es/table/shared/context/TableContext.d.ts +51 -0
  285. package/es/table/shared/context/TableContext.js +8 -0
  286. package/es/table/shared/hooks/useContainerWidth.d.ts +1 -0
  287. package/es/table/shared/hooks/useContainerWidth.js +14 -0
  288. package/es/table/shared/hooks/useLazyKVMap.d.ts +4 -0
  289. package/es/table/shared/hooks/useLazyKVMap.js +30 -0
  290. package/es/table/shared/hooks/useRenderTimes.d.ts +5 -0
  291. package/es/table/shared/hooks/useRenderTimes.js +39 -0
  292. package/es/table/shared/hooks/useRowInfo.d.ts +11 -0
  293. package/es/table/shared/hooks/useRowInfo.js +73 -0
  294. package/es/table/shared/utils/legacyUtil.d.ts +5 -0
  295. package/es/table/shared/utils/legacyUtil.js +30 -0
  296. package/es/table/shared/utils/util.d.ts +6 -0
  297. package/es/table/shared/utils/util.js +26 -0
  298. package/es/table/shared/utils/valueUtil.d.ts +8 -0
  299. package/es/table/shared/utils/valueUtil.js +29 -0
  300. package/es/table/style/base.less +164 -0
  301. package/es/table/style/bordered.less +83 -0
  302. package/es/table/style/editable.less +50 -0
  303. package/es/table/style/ellipsis.less +33 -0
  304. package/es/table/style/empty.less +16 -0
  305. package/es/table/style/expand.less +123 -0
  306. package/es/table/style/filter.less +34 -0
  307. package/es/table/style/fixed.less +85 -0
  308. package/es/table/style/index.d.ts +3 -0
  309. package/es/table/style/index.js +3 -0
  310. package/es/table/style/index.less +19 -0
  311. package/es/table/style/pagination.less +29 -0
  312. package/es/table/style/radius.less +64 -0
  313. package/es/table/style/resize.less +78 -0
  314. package/es/table/style/rtl.less +52 -0
  315. package/es/table/style/selection.less +63 -0
  316. package/es/table/style/size.less +54 -0
  317. package/es/table/style/sorter.less +99 -0
  318. package/es/table/style/sticky.less +45 -0
  319. package/es/table/style/summary.less +23 -0
  320. package/es/table/style/variables.less +80 -0
  321. package/es/table/style/virtual.less +95 -0
  322. package/lib/_util/context/createContextSelector.js +120 -0
  323. package/lib/_util/context/immutable.js +92 -0
  324. package/lib/_util/context/index.js +41 -0
  325. package/lib/_util/easings.js +1 -1
  326. package/lib/_util/getScroll.js +6 -6
  327. package/lib/_util/hooks/index.js +82 -5
  328. package/lib/_util/hooks/useBreakpoint.js +85 -0
  329. package/lib/_util/hooks/useCssVar.js +37 -0
  330. package/lib/_util/hooks/useEvent.js +13 -0
  331. package/lib/_util/hooks/useForceUpdate.js +5 -4
  332. package/lib/_util/hooks/useLayoutEffect.js +13 -0
  333. package/lib/_util/hooks/useMultipleSelect.js +43 -0
  334. package/lib/_util/hooks/useOrientation.js +7 -8
  335. package/lib/_util/hooks/useProxyImperativeHandle.js +18 -14
  336. package/lib/_util/hooks/useSyncState.js +19 -9
  337. package/lib/_util/hooks/useTimeoutLock.js +35 -0
  338. package/lib/_util/index.js +101 -1
  339. package/lib/_util/is.js +22 -0
  340. package/lib/_util/rcUtil.js +134 -0
  341. package/lib/_util/scrollTo.js +22 -18
  342. package/lib/_util/scrollbar.js +38 -0
  343. package/lib/_util/validate.js +17 -0
  344. package/lib/_util/warning.js +25 -27
  345. package/lib/block-header/index.js +141 -0
  346. package/{esm/blockHeader → lib/block-header}/style/index.less +167 -143
  347. package/lib/button/index.js +24 -9
  348. package/lib/button/style/index.less +62 -59
  349. package/lib/button/style/mixin.less +40 -39
  350. package/lib/collapsible/index.js +210 -169
  351. package/lib/collapsible/style/index.less +24 -24
  352. package/lib/collapsible-action-items/index.js +83 -0
  353. package/{esm/collapsibleActionItems → lib/collapsible-action-items}/style/index.less +7 -7
  354. package/lib/flex/index.js +43 -34
  355. package/lib/flex/style/index.less +80 -76
  356. package/lib/flex/utils.js +23 -23
  357. package/lib/form-list/index.js +163 -0
  358. package/lib/{formList → form-list}/style/index.less +45 -45
  359. package/lib/index.js +41 -63
  360. package/lib/overflow-list/index.js +203 -0
  361. package/lib/{overflowList → overflow-list}/style/index.less +9 -9
  362. package/lib/resize/index.js +13 -13
  363. package/lib/resize-observer/index.js +182 -0
  364. package/lib/splitter/Panel.js +36 -25
  365. package/lib/splitter/SplitBar.js +151 -134
  366. package/lib/splitter/Splitter.js +141 -89
  367. package/lib/splitter/hooks/sizeUtil.js +50 -33
  368. package/lib/splitter/hooks/useDragListeners.js +114 -0
  369. package/lib/splitter/hooks/useItems.js +27 -20
  370. package/lib/splitter/hooks/useOrientation.js +12 -0
  371. package/lib/splitter/hooks/useResizable.js +32 -30
  372. package/lib/splitter/hooks/useResize.js +76 -45
  373. package/lib/splitter/hooks/useSizes.js +55 -30
  374. package/lib/splitter/index.js +1 -1
  375. package/lib/splitter/style/index.less +349 -312
  376. package/lib/status-tag/index.js +131 -0
  377. package/{esm/statusTag → lib/status-tag}/style/index.less +70 -70
  378. package/lib/{statusTag → status-tag}/style/mixin.less +48 -39
  379. package/lib/style/index.less +1 -1
  380. package/lib/style/themes/index.less +2 -2
  381. package/lib/style/themes/variable.less +5 -5
  382. package/lib/table/Column.js +13 -0
  383. package/lib/table/ColumnGroup.js +13 -0
  384. package/lib/table/InternalTable.js +824 -0
  385. package/lib/table/Table.js +40 -0
  386. package/lib/table/TableMeasureRowContext.js +10 -0
  387. package/lib/table/components/Body/BodyRow.js +192 -0
  388. package/lib/table/components/Body/ExpandedRow.js +61 -0
  389. package/lib/table/components/Body/MeasureCell.js +43 -0
  390. package/lib/table/components/Body/MeasureRow.js +64 -0
  391. package/lib/table/components/Body/index.js +133 -0
  392. package/lib/table/components/Cell/index.js +205 -0
  393. package/lib/table/components/Cell/useCellRender.js +78 -0
  394. package/lib/table/components/Cell/useHoverState.js +20 -0
  395. package/lib/table/components/ColGroup.js +62 -0
  396. package/lib/table/components/ExpandIcon.js +35 -0
  397. package/lib/table/components/FixedHolder/index.js +195 -0
  398. package/lib/table/components/Footer/Cell.js +57 -0
  399. package/lib/table/components/Footer/Row.js +19 -0
  400. package/lib/table/components/Footer/Summary.js +19 -0
  401. package/lib/table/components/Footer/SummaryContext.js +12 -0
  402. package/lib/table/components/Footer/index.js +41 -0
  403. package/lib/table/components/Header/Header.js +120 -0
  404. package/lib/table/components/Header/HeaderRow.js +72 -0
  405. package/lib/table/components/Panel.js +20 -0
  406. package/lib/table/components/RcTable.js +764 -0
  407. package/lib/table/components/VirtualTable.js +18 -0
  408. package/lib/table/components/VirtualTableBody/BodyGrid.js +316 -0
  409. package/lib/table/components/VirtualTableBody/BodyLine.js +125 -0
  410. package/lib/table/components/VirtualTableBody/VirtualCell.js +128 -0
  411. package/lib/table/components/VirtualTableBody/context.js +9 -0
  412. package/lib/table/components/VirtualTableBody/index.js +111 -0
  413. package/lib/table/constant.js +8 -0
  414. package/lib/table/features/columns/Column.js +10 -0
  415. package/lib/table/features/columns/ColumnGroup.js +10 -0
  416. package/lib/table/features/columns/index.js +57 -0
  417. package/lib/table/features/columns/useColumns.js +237 -0
  418. package/lib/table/features/columns/useFilledColumns.js +42 -0
  419. package/lib/table/features/columns/useTitleColumns.js +34 -0
  420. package/lib/table/features/columns/useWidthColumns.js +83 -0
  421. package/lib/table/features/editable/BatchEditModal.js +794 -0
  422. package/lib/table/features/editable/EditableCell.js +303 -0
  423. package/lib/table/features/editable/EditableContext.js +28 -0
  424. package/lib/table/features/editable/batchEditTypes.js +5 -0
  425. package/lib/table/features/editable/batchEditUtils.js +264 -0
  426. package/lib/table/features/editable/builtinEditors.js +174 -0
  427. package/lib/table/features/editable/index.js +75 -0
  428. package/lib/table/features/editable/useBatchRules.js +103 -0
  429. package/lib/table/features/editable/useEditable.js +701 -0
  430. package/lib/table/features/expand/expandUtil.js +57 -0
  431. package/lib/table/features/expand/index.js +32 -0
  432. package/lib/table/features/expand/useExpand.js +99 -0
  433. package/lib/table/features/filter/FilterDropdown.js +504 -0
  434. package/lib/table/features/filter/FilterSearch.js +34 -0
  435. package/lib/table/features/filter/FilterWrapper.js +32 -0
  436. package/lib/table/features/filter/index.js +49 -0
  437. package/lib/table/features/filter/useFilter.js +254 -0
  438. package/lib/table/features/fixed/fixUtil.js +75 -0
  439. package/lib/table/features/fixed/index.js +34 -0
  440. package/lib/table/features/fixed/offsetUtil.js +19 -0
  441. package/lib/table/features/fixed/useFixedInfo.js +26 -0
  442. package/lib/table/features/fixed/useStickyOffsets.js +35 -0
  443. package/lib/table/features/hover/index.js +13 -0
  444. package/lib/table/features/hover/useHover.js +31 -0
  445. package/lib/table/features/pagination/index.js +27 -0
  446. package/lib/table/features/pagination/usePagination.js +96 -0
  447. package/lib/table/features/resize/ResizeHandle.js +109 -0
  448. package/lib/table/features/resize/index.js +27 -0
  449. package/lib/table/features/resize/transformResizableColumns.js +61 -0
  450. package/lib/table/features/resize/useResize.js +595 -0
  451. package/lib/table/features/selection/index.js +39 -0
  452. package/lib/table/features/selection/useSelection.js +588 -0
  453. package/lib/table/features/sort/index.js +21 -0
  454. package/lib/table/features/sort/useSorter.js +381 -0
  455. package/lib/table/features/sticky/index.js +20 -0
  456. package/lib/table/features/sticky/stickyScrollBar.js +212 -0
  457. package/lib/table/features/sticky/useSticky.js +43 -0
  458. package/lib/table/features/summary/index.js +13 -0
  459. package/lib/table/features/virtual/index.js +26 -0
  460. package/lib/table/features/virtual/useFlattenRecords.js +64 -0
  461. package/lib/table/features/virtual/useFrame.js +74 -0
  462. package/lib/table/immutableHelper.js +46 -0
  463. package/lib/table/index.js +124 -0
  464. package/lib/table/interface.js +60 -0
  465. package/lib/table/shared/context/PerfContext.js +15 -0
  466. package/lib/table/shared/context/TableContext.js +13 -0
  467. package/lib/table/shared/hooks/useContainerWidth.js +20 -0
  468. package/lib/table/shared/hooks/useLazyKVMap.js +39 -0
  469. package/lib/table/shared/hooks/useRenderTimes.js +49 -0
  470. package/lib/table/shared/hooks/useRowInfo.js +80 -0
  471. package/lib/table/shared/utils/legacyUtil.js +38 -0
  472. package/lib/table/shared/utils/util.js +34 -0
  473. package/lib/table/shared/utils/valueUtil.js +37 -0
  474. package/lib/table/style/base.less +164 -0
  475. package/lib/table/style/bordered.less +83 -0
  476. package/lib/table/style/editable.less +50 -0
  477. package/lib/table/style/ellipsis.less +33 -0
  478. package/lib/table/style/empty.less +16 -0
  479. package/lib/table/style/expand.less +123 -0
  480. package/lib/table/style/filter.less +34 -0
  481. package/lib/table/style/fixed.less +85 -0
  482. package/lib/table/style/index.js +5 -0
  483. package/lib/table/style/index.less +19 -0
  484. package/lib/table/style/pagination.less +29 -0
  485. package/lib/table/style/radius.less +64 -0
  486. package/lib/table/style/resize.less +78 -0
  487. package/lib/table/style/rtl.less +52 -0
  488. package/lib/table/style/selection.less +63 -0
  489. package/lib/table/style/size.less +54 -0
  490. package/lib/table/style/sorter.less +99 -0
  491. package/lib/table/style/sticky.less +45 -0
  492. package/lib/table/style/summary.less +23 -0
  493. package/lib/table/style/variables.less +80 -0
  494. package/lib/table/style/virtual.less +95 -0
  495. package/package.json +147 -152
  496. package/esm/_util/extendsObject.js +0 -17
  497. package/esm/_util/hooks/index.js +0 -4
  498. package/esm/_util/isNonNullable.js +0 -4
  499. package/esm/index.js +0 -22
  500. package/esm/splitter/style/index.less +0 -312
  501. package/esm/style/mixins/index.less +0 -0
  502. package/esm/style/themes/index.less +0 -2
  503. package/lib/_util/extendsObject.js +0 -20
  504. package/lib/_util/isNonNullable.js +0 -10
  505. package/lib/blockHeader/index.js +0 -121
  506. package/lib/collapsibleActionItems/index.js +0 -68
  507. package/lib/formList/index.js +0 -130
  508. package/lib/overflowList/index.js +0 -144
  509. package/lib/resizeObserver/index.js +0 -137
  510. package/lib/statusTag/index.js +0 -125
  511. package/lib/style/mixins/index.less +0 -0
  512. /package/{esm → es}/_util/easings.js +0 -0
  513. /package/{esm → es}/_util/gapSize.js +0 -0
  514. /package/{esm → es}/_util/hooks/useForceUpdate.js +0 -0
  515. /package/{esm → es}/_util/hooks/useOrientation.js +0 -0
  516. /package/{esm → es}/_util/hooks/useSyncState.js +0 -0
  517. /package/{esm → es}/_util/type.js +0 -0
  518. /package/{esm/blockHeader → es/block-header}/style/index.js +0 -0
  519. /package/{esm → es}/button/style/index.js +0 -0
  520. /package/{esm → es}/collapsible/style/index.js +0 -0
  521. /package/{esm/collapsibleActionItems → es/collapsible-action-items}/style/index.js +0 -0
  522. /package/{esm → es}/flex/interface.js +0 -0
  523. /package/{esm → es}/flex/style/index.js +0 -0
  524. /package/{esm → es}/flex/utils.js +0 -0
  525. /package/{esm/formList → es/form-list}/style/index.js +0 -0
  526. /package/{esm/overflowList → es/overflow-list}/style/index.js +0 -0
  527. /package/{esm → es}/resize/index.js +0 -0
  528. /package/{esm → es}/splitter/hooks/useItems.js +0 -0
  529. /package/{esm → es}/splitter/index.js +0 -0
  530. /package/{esm → es}/splitter/interface.js +0 -0
  531. /package/{esm → es}/splitter/style/index.js +0 -0
  532. /package/{esm/statusTag → es/status-tag}/style/index.js +0 -0
  533. /package/{esm → es}/style/index.js +0 -0
  534. /package/lib/{blockHeader → block-header}/style/index.js +0 -0
  535. /package/lib/{collapsibleActionItems → collapsible-action-items}/style/index.js +0 -0
  536. /package/lib/{formList → form-list}/style/index.js +0 -0
  537. /package/lib/{overflowList → overflow-list}/style/index.js +0 -0
  538. /package/lib/{statusTag → status-tag}/style/index.js +0 -0
@@ -0,0 +1,381 @@
1
+ "use strict";
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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getSortData = exports.default = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _CaretDownOutlined = _interopRequireDefault(require("@ant-design/icons/CaretDownOutlined"));
10
+ var _CaretUpOutlined = _interopRequireDefault(require("@ant-design/icons/CaretUpOutlined"));
11
+ var _rcUtil = require("../../../_util/rcUtil");
12
+ var _clsx3 = require("clsx");
13
+ var _is = require("../../../_util/is");
14
+ var _tooltip = _interopRequireDefault(require("antd/lib/tooltip"));
15
+ var _util = require("../../shared/utils/util");
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ 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); }
18
+ 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; }
19
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
+ 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."); }
21
+ 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; } }
22
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
+ 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; }
24
+ 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; }
25
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
27
+ 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); }
28
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
29
+ 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."); }
30
+ 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); }
31
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
32
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
33
+ 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; }
34
+ var ASCEND = 'ascend';
35
+ var DESCEND = 'descend';
36
+ var getMultiplePriority = function getMultiplePriority(column) {
37
+ if ((0, _is.isPlainObject)(column.sorter) && (0, _is.isNumber)(column.sorter.multiple)) {
38
+ return column.sorter.multiple;
39
+ }
40
+ return false;
41
+ };
42
+ var getSortFunction = function getSortFunction(sorter) {
43
+ if ((0, _is.isFunction)(sorter)) {
44
+ return sorter;
45
+ }
46
+ if ((0, _is.isPlainObject)(sorter) && sorter.compare) {
47
+ return sorter.compare;
48
+ }
49
+ return false;
50
+ };
51
+ var nextSortDirection = function nextSortDirection(sortDirections, current) {
52
+ if (!current) {
53
+ return sortDirections[0];
54
+ }
55
+ return sortDirections[sortDirections.indexOf(current) + 1];
56
+ };
57
+ var collectSortStates = function collectSortStates(columns, init, pos) {
58
+ var sortStates = [];
59
+ var pushState = function pushState(column, columnPos) {
60
+ sortStates.push({
61
+ column: column,
62
+ key: (0, _util.getColumnKey)(column, columnPos),
63
+ multiplePriority: getMultiplePriority(column),
64
+ sortOrder: column.sortOrder
65
+ });
66
+ };
67
+ (columns || []).forEach(function (column, index) {
68
+ var columnPos = (0, _util.getColumnPos)(index, pos);
69
+ if (column.children) {
70
+ if ('sortOrder' in column) {
71
+ pushState(column, columnPos);
72
+ }
73
+ sortStates = [].concat(_toConsumableArray(sortStates), _toConsumableArray(collectSortStates(column.children, init, columnPos)));
74
+ } else if (column.sorter) {
75
+ if ('sortOrder' in column) {
76
+ pushState(column, columnPos);
77
+ } else if (init && column.defaultSortOrder) {
78
+ sortStates.push({
79
+ column: column,
80
+ key: (0, _util.getColumnKey)(column, columnPos),
81
+ multiplePriority: getMultiplePriority(column),
82
+ sortOrder: column.defaultSortOrder
83
+ });
84
+ }
85
+ }
86
+ });
87
+ return sortStates;
88
+ };
89
+ var injectSorter = function injectSorter(prefixCls, columns, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, pos, a11yLocale) {
90
+ var finalColumns = (columns || []).map(function (column, index) {
91
+ var columnPos = (0, _util.getColumnPos)(index, pos);
92
+ var newColumn = column;
93
+ if (newColumn.sorter) {
94
+ var sortDirections = newColumn.sortDirections || defaultSortDirections;
95
+ var showSorterTooltip = newColumn.showSorterTooltip === undefined ? tableShowSorterTooltip : newColumn.showSorterTooltip;
96
+ var columnKey = (0, _util.getColumnKey)(newColumn, columnPos);
97
+ var sorterState = sorterStates.find(function (_ref) {
98
+ var key = _ref.key;
99
+ return key === columnKey;
100
+ });
101
+ var sortOrder = sorterState ? sorterState.sortOrder : null;
102
+ var nextSortOrder = nextSortDirection(sortDirections, sortOrder);
103
+ var sorter;
104
+ if (column.sortIcon) {
105
+ sorter = column.sortIcon({
106
+ sortOrder: sortOrder
107
+ });
108
+ } else {
109
+ var upNode = sortDirections.includes(ASCEND) && /*#__PURE__*/React.createElement(_CaretUpOutlined.default, {
110
+ className: (0, _clsx3.clsx)("".concat(prefixCls, "-column-sorter-up"), {
111
+ active: sortOrder === ASCEND
112
+ })
113
+ });
114
+ var downNode = sortDirections.includes(DESCEND) && /*#__PURE__*/React.createElement(_CaretDownOutlined.default, {
115
+ className: (0, _clsx3.clsx)("".concat(prefixCls, "-column-sorter-down"), {
116
+ active: sortOrder === DESCEND
117
+ })
118
+ });
119
+ sorter = /*#__PURE__*/React.createElement("span", {
120
+ className: (0, _clsx3.clsx)("".concat(prefixCls, "-column-sorter"), _defineProperty({}, "".concat(prefixCls, "-column-sorter-full"), !!(upNode && downNode)))
121
+ }, /*#__PURE__*/React.createElement("span", {
122
+ className: "".concat(prefixCls, "-column-sorter-inner"),
123
+ "aria-hidden": "true"
124
+ }, upNode, downNode));
125
+ }
126
+ var _ref2 = tableLocale || {},
127
+ cancelSort = _ref2.cancelSort,
128
+ triggerAsc = _ref2.triggerAsc,
129
+ triggerDesc = _ref2.triggerDesc;
130
+ var sortTip = cancelSort;
131
+ if (nextSortOrder === DESCEND) {
132
+ sortTip = triggerDesc;
133
+ } else if (nextSortOrder === ASCEND) {
134
+ sortTip = triggerAsc;
135
+ }
136
+ var tooltipProps = (0, _is.isPlainObject)(showSorterTooltip) ? _objectSpread({
137
+ title: sortTip
138
+ }, showSorterTooltip) : {
139
+ title: sortTip
140
+ };
141
+ newColumn = _objectSpread(_objectSpread({}, newColumn), {}, {
142
+ className: (0, _clsx3.clsx)(newColumn.className, _defineProperty({}, "".concat(prefixCls, "-column-sort"), sortOrder)),
143
+ title: function title(renderProps) {
144
+ var columnSortersClass = "".concat(prefixCls, "-column-sorters");
145
+ var renderColumnTitleWrapper = /*#__PURE__*/React.createElement("span", {
146
+ className: "".concat(prefixCls, "-column-title")
147
+ }, (0, _util.renderColumnTitle)(column.title, renderProps));
148
+ var renderSortTitle = /*#__PURE__*/React.createElement("div", {
149
+ className: columnSortersClass
150
+ }, renderColumnTitleWrapper, sorter);
151
+ if (showSorterTooltip) {
152
+ if (typeof showSorterTooltip !== 'boolean' && (showSorterTooltip === null || showSorterTooltip === void 0 ? void 0 : showSorterTooltip.target) === 'sorter-icon') {
153
+ return /*#__PURE__*/React.createElement("div", {
154
+ className: (0, _clsx3.clsx)(columnSortersClass, "".concat(columnSortersClass, "-tooltip-target-sorter"))
155
+ }, renderColumnTitleWrapper, /*#__PURE__*/React.createElement(_tooltip.default, tooltipProps, sorter));
156
+ }
157
+ return /*#__PURE__*/React.createElement(_tooltip.default, tooltipProps, renderSortTitle);
158
+ }
159
+ return renderSortTitle;
160
+ },
161
+ onHeaderCell: function onHeaderCell(col) {
162
+ var _column$onHeaderCell;
163
+ var cell = ((_column$onHeaderCell = column.onHeaderCell) === null || _column$onHeaderCell === void 0 ? void 0 : _column$onHeaderCell.call(column, col)) || {};
164
+ var originOnClick = cell.onClick;
165
+ var originOKeyDown = cell.onKeyDown;
166
+ cell.onClick = function (event) {
167
+ triggerSorter({
168
+ column: column,
169
+ key: columnKey,
170
+ sortOrder: nextSortOrder,
171
+ multiplePriority: getMultiplePriority(column)
172
+ });
173
+ originOnClick === null || originOnClick === void 0 || originOnClick(event);
174
+ };
175
+ cell.onKeyDown = function (event) {
176
+ if (event.keyCode === _rcUtil.KeyCode.ENTER) {
177
+ triggerSorter({
178
+ column: column,
179
+ key: columnKey,
180
+ sortOrder: nextSortOrder,
181
+ multiplePriority: getMultiplePriority(column)
182
+ });
183
+ originOKeyDown === null || originOKeyDown === void 0 || originOKeyDown(event);
184
+ }
185
+ };
186
+ var renderTitle = (0, _util.safeColumnTitle)(column.title, {});
187
+ var displayTitle = renderTitle === null || renderTitle === void 0 ? void 0 : renderTitle.toString();
188
+ if (sortOrder) {
189
+ cell['aria-sort'] = sortOrder === 'ascend' ? 'ascending' : 'descending';
190
+ }
191
+ cell['aria-label'] = displayTitle || '';
192
+ cell.className = (0, _clsx3.clsx)(cell.className, "".concat(prefixCls, "-column-has-sorters"));
193
+ cell.tabIndex = 0;
194
+ if (column.ellipsis) {
195
+ cell.title = (renderTitle !== null && renderTitle !== void 0 ? renderTitle : '').toString();
196
+ }
197
+ return cell;
198
+ }
199
+ });
200
+ }
201
+ if ('children' in newColumn) {
202
+ newColumn = _objectSpread(_objectSpread({}, newColumn), {}, {
203
+ children: injectSorter(prefixCls, newColumn.children, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, columnPos, a11yLocale)
204
+ });
205
+ }
206
+ return newColumn;
207
+ });
208
+ return finalColumns;
209
+ };
210
+ var stateToInfo = function stateToInfo(sorterState) {
211
+ var column = sorterState.column,
212
+ sortOrder = sorterState.sortOrder;
213
+ return {
214
+ column: column,
215
+ order: sortOrder,
216
+ field: column.dataIndex,
217
+ columnKey: column.key
218
+ };
219
+ };
220
+ var generateSorterInfo = function generateSorterInfo(sorterStates) {
221
+ var activeSorters = sorterStates.reduce(function (list, sorterState) {
222
+ if (sorterState.sortOrder) {
223
+ list.push(stateToInfo(sorterState));
224
+ }
225
+ return list;
226
+ }, []);
227
+ if (activeSorters.length === 0 && sorterStates.length) {
228
+ var lastIndex = sorterStates.length - 1;
229
+ return _objectSpread(_objectSpread({}, stateToInfo(sorterStates[lastIndex])), {}, {
230
+ column: undefined,
231
+ order: undefined,
232
+ field: undefined,
233
+ columnKey: undefined
234
+ });
235
+ }
236
+ if (activeSorters.length <= 1) {
237
+ return activeSorters[0] || {};
238
+ }
239
+ return activeSorters;
240
+ };
241
+ var getSortData = exports.getSortData = function getSortData(data, sortStates, childrenColumnName) {
242
+ var innerSorterStates = sortStates.slice().sort(function (a, b) {
243
+ return b.multiplePriority - a.multiplePriority;
244
+ });
245
+ var cloneData = data.slice();
246
+ var runningSorters = innerSorterStates.filter(function (_ref3) {
247
+ var sorter = _ref3.column.sorter,
248
+ sortOrder = _ref3.sortOrder;
249
+ return getSortFunction(sorter) && sortOrder;
250
+ });
251
+ if (!runningSorters.length) {
252
+ return cloneData;
253
+ }
254
+ return cloneData.sort(function (record1, record2) {
255
+ for (var i = 0; i < runningSorters.length; i += 1) {
256
+ var sorterState = runningSorters[i];
257
+ var sorter = sorterState.column.sorter,
258
+ sortOrder = sorterState.sortOrder;
259
+ var compareFn = getSortFunction(sorter);
260
+ if (compareFn && sortOrder) {
261
+ var compareResult = compareFn(record1, record2, sortOrder);
262
+ if (compareResult !== 0) {
263
+ return sortOrder === ASCEND ? compareResult : -compareResult;
264
+ }
265
+ }
266
+ }
267
+ return 0;
268
+ }).map(function (record) {
269
+ var subRecords = record[childrenColumnName];
270
+ if (subRecords) {
271
+ return _objectSpread(_objectSpread({}, record), {}, _defineProperty({}, childrenColumnName, getSortData(subRecords, sortStates, childrenColumnName)));
272
+ }
273
+ return record;
274
+ });
275
+ };
276
+ var useFilterSorter = function useFilterSorter(props) {
277
+ var prefixCls = props.prefixCls,
278
+ mergedColumns = props.mergedColumns,
279
+ baseColumns = props.baseColumns,
280
+ sortDirections = props.sortDirections,
281
+ tableLocale = props.tableLocale,
282
+ showSorterTooltip = props.showSorterTooltip,
283
+ onSorterChange = props.onSorterChange,
284
+ globalLocale = props.globalLocale;
285
+ var collectColumns = baseColumns !== null && baseColumns !== void 0 ? baseColumns : mergedColumns;
286
+ var _React$useState = React.useState(function () {
287
+ return collectSortStates(collectColumns, true);
288
+ }),
289
+ _React$useState2 = _slicedToArray(_React$useState, 2),
290
+ sortStates = _React$useState2[0],
291
+ setSortStates = _React$useState2[1];
292
+ var getColumnKeys = function getColumnKeys(columns, pos) {
293
+ var newKeys = [];
294
+ columns.forEach(function (item, index) {
295
+ var columnPos = (0, _util.getColumnPos)(index, pos);
296
+ newKeys.push((0, _util.getColumnKey)(item, columnPos));
297
+ if (Array.isArray(item.children)) {
298
+ var childKeys = getColumnKeys(item.children, columnPos);
299
+ newKeys.push.apply(newKeys, _toConsumableArray(childKeys));
300
+ }
301
+ });
302
+ return newKeys;
303
+ };
304
+ var mergedSorterStates = React.useMemo(function () {
305
+ var validate = true;
306
+ var collectedStates = collectSortStates(collectColumns, false);
307
+ if (!collectedStates.length) {
308
+ var collectColumnsKeys = getColumnKeys(collectColumns);
309
+ return sortStates.filter(function (_ref4) {
310
+ var key = _ref4.key;
311
+ return collectColumnsKeys.includes(key);
312
+ });
313
+ }
314
+ var validateStates = [];
315
+ function patchStates(state) {
316
+ if (validate) {
317
+ validateStates.push(state);
318
+ } else {
319
+ validateStates.push(_objectSpread(_objectSpread({}, state), {}, {
320
+ sortOrder: null
321
+ }));
322
+ }
323
+ }
324
+ var multipleMode = null;
325
+ collectedStates.forEach(function (state) {
326
+ if (multipleMode === null) {
327
+ patchStates(state);
328
+ if (state.sortOrder) {
329
+ if (state.multiplePriority === false) {
330
+ validate = false;
331
+ } else {
332
+ multipleMode = true;
333
+ }
334
+ }
335
+ } else if (multipleMode && state.multiplePriority !== false) {
336
+ patchStates(state);
337
+ } else {
338
+ validate = false;
339
+ patchStates(state);
340
+ }
341
+ });
342
+ return validateStates;
343
+ }, [collectColumns, sortStates]);
344
+ var columnTitleSorterProps = React.useMemo(function () {
345
+ var _sortColumns$, _sortColumns$2;
346
+ var sortColumns = mergedSorterStates.map(function (_ref5) {
347
+ var column = _ref5.column,
348
+ sortOrder = _ref5.sortOrder;
349
+ return {
350
+ column: column,
351
+ order: sortOrder
352
+ };
353
+ });
354
+ return {
355
+ sortColumns: sortColumns,
356
+ sortColumn: (_sortColumns$ = sortColumns[0]) === null || _sortColumns$ === void 0 ? void 0 : _sortColumns$.column,
357
+ sortOrder: (_sortColumns$2 = sortColumns[0]) === null || _sortColumns$2 === void 0 ? void 0 : _sortColumns$2.order
358
+ };
359
+ }, [mergedSorterStates]);
360
+ var triggerSorter = function triggerSorter(sortState) {
361
+ var newSorterStates;
362
+ if (sortState.multiplePriority === false || !mergedSorterStates.length || mergedSorterStates[0].multiplePriority === false) {
363
+ newSorterStates = [sortState];
364
+ } else {
365
+ newSorterStates = [].concat(_toConsumableArray(mergedSorterStates.filter(function (_ref6) {
366
+ var key = _ref6.key;
367
+ return key !== sortState.key;
368
+ })), [sortState]);
369
+ }
370
+ setSortStates(newSorterStates);
371
+ onSorterChange(generateSorterInfo(newSorterStates), newSorterStates);
372
+ };
373
+ var transformColumns = function transformColumns(innerColumns) {
374
+ return injectSorter(prefixCls, innerColumns, mergedSorterStates, triggerSorter, sortDirections, tableLocale, showSorterTooltip, undefined, globalLocale);
375
+ };
376
+ var getSorters = function getSorters() {
377
+ return generateSorterInfo(mergedSorterStates);
378
+ };
379
+ return [transformColumns, mergedSorterStates, columnTitleSorterProps, getSorters];
380
+ };
381
+ var _default = exports.default = useFilterSorter;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "stickyScrollBar", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _stickyScrollBar.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useSticky", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _useSticky.default;
16
+ }
17
+ });
18
+ var _stickyScrollBar = _interopRequireDefault(require("./stickyScrollBar"));
19
+ var _useSticky = _interopRequireDefault(require("./useSticky"));
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,212 @@
1
+ "use strict";
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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _context = require("../../../_util/context");
9
+ var _clsx2 = require("clsx");
10
+ var _findDOMNode = require("rc-util/lib/Dom/findDOMNode");
11
+ var _getScrollBarSize = _interopRequireDefault(require("rc-util/lib/getScrollBarSize"));
12
+ var _raf = _interopRequireDefault(require("rc-util/lib/raf"));
13
+ var React = _interopRequireWildcard(require("react"));
14
+ var _TableContext = _interopRequireDefault(require("../../shared/context/TableContext"));
15
+ var _useFrame = require("../virtual/useFrame");
16
+ var _offsetUtil = require("../fixed/offsetUtil");
17
+ 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); }
18
+ 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; }
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ 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; }
21
+ 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; }
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
24
+ 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); }
25
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
26
+ 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."); }
27
+ 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); }
28
+ 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; }
29
+ 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; } }
30
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
+ var MOUSEUP_EVENT = 'mouseup';
32
+ var MOUSEMOVE_EVENT = 'mousemove';
33
+ var SCROLL_EVENT = 'scroll';
34
+ var RESIZE_EVENT = 'resize';
35
+ var StickyScrollBar = function StickyScrollBar(props, ref) {
36
+ var _scrollBodyRef$curren, _scrollBodyRef$curren2;
37
+ var scrollBodyRef = props.scrollBodyRef,
38
+ onScroll = props.onScroll,
39
+ offsetScroll = props.offsetScroll,
40
+ container = props.container,
41
+ direction = props.direction;
42
+ var prefixCls = (0, _context.useContext)(_TableContext.default, 'prefixCls');
43
+ var bodyScrollWidth = ((_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 ? void 0 : _scrollBodyRef$curren.scrollWidth) || 0;
44
+ var bodyWidth = ((_scrollBodyRef$curren2 = scrollBodyRef.current) === null || _scrollBodyRef$curren2 === void 0 ? void 0 : _scrollBodyRef$curren2.clientWidth) || 0;
45
+ var scrollBarWidth = bodyScrollWidth && bodyWidth * (bodyWidth / bodyScrollWidth);
46
+ var scrollBarRef = React.useRef(null);
47
+ var _useLayoutState = (0, _useFrame.useLayoutState)({
48
+ scrollLeft: 0,
49
+ isHiddenScrollBar: true
50
+ }),
51
+ _useLayoutState2 = _slicedToArray(_useLayoutState, 2),
52
+ scrollState = _useLayoutState2[0],
53
+ setScrollState = _useLayoutState2[1];
54
+ var refState = React.useRef({
55
+ delta: 0,
56
+ x: 0
57
+ });
58
+ var _React$useState = React.useState(false),
59
+ _React$useState2 = _slicedToArray(_React$useState, 2),
60
+ isActive = _React$useState2[0],
61
+ setActive = _React$useState2[1];
62
+ var rafRef = React.useRef(null);
63
+ React.useEffect(function () {
64
+ return function () {
65
+ if (rafRef.current) {
66
+ _raf.default.cancel(rafRef.current);
67
+ }
68
+ };
69
+ }, []);
70
+ var onMouseUp = function onMouseUp() {
71
+ setActive(false);
72
+ };
73
+ var onMouseDown = function onMouseDown(event) {
74
+ event.persist();
75
+ refState.current.delta = event.pageX - scrollState.scrollLeft;
76
+ refState.current.x = 0;
77
+ setActive(true);
78
+ event.preventDefault();
79
+ };
80
+ var onMouseMove = function onMouseMove(event) {
81
+ var _window;
82
+ // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons
83
+ var _ref = event || ((_window = window) === null || _window === void 0 ? void 0 : _window.event),
84
+ buttons = _ref.buttons;
85
+ if (!isActive || buttons === 0) {
86
+ // If out body mouse up, we can set isActive false when mouse move
87
+ if (isActive) {
88
+ setActive(false);
89
+ }
90
+ return;
91
+ }
92
+ var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;
93
+ var isRTL = direction === 'rtl';
94
+ // Limit scroll range
95
+ left = Math.max(isRTL ? scrollBarWidth - bodyWidth : 0, Math.min(isRTL ? 0 : bodyWidth - scrollBarWidth, left));
96
+ // Calculate the scroll position and update
97
+ var shouldScroll = !isRTL || Math.abs(left) + Math.abs(scrollBarWidth) < bodyWidth;
98
+ if (shouldScroll) {
99
+ onScroll({
100
+ scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)
101
+ });
102
+ refState.current.x = event.pageX;
103
+ }
104
+ };
105
+ var checkScrollBarVisible = function checkScrollBarVisible() {
106
+ if (rafRef.current) {
107
+ _raf.default.cancel(rafRef.current);
108
+ }
109
+ rafRef.current = (0, _raf.default)(function () {
110
+ if (!scrollBodyRef.current) {
111
+ return;
112
+ }
113
+ var tableOffsetTop = (0, _offsetUtil.getOffset)(scrollBodyRef.current).top;
114
+ var tableBottomOffset = tableOffsetTop + scrollBodyRef.current.offsetHeight;
115
+ var currentClientOffset = container === window ? document.documentElement.scrollTop + window.innerHeight : (0, _offsetUtil.getOffset)(container).top + container.clientHeight;
116
+ if (tableBottomOffset - (0, _getScrollBarSize.default)() <= currentClientOffset || tableOffsetTop >= currentClientOffset - offsetScroll) {
117
+ setScrollState(function (state) {
118
+ return _objectSpread(_objectSpread({}, state), {}, {
119
+ isHiddenScrollBar: true
120
+ });
121
+ });
122
+ } else {
123
+ setScrollState(function (state) {
124
+ return _objectSpread(_objectSpread({}, state), {}, {
125
+ isHiddenScrollBar: false
126
+ });
127
+ });
128
+ }
129
+ });
130
+ };
131
+ var setScrollLeft = function setScrollLeft(left) {
132
+ setScrollState(function (state) {
133
+ return _objectSpread(_objectSpread({}, state), {}, {
134
+ scrollLeft: left / bodyScrollWidth * bodyWidth || 0
135
+ });
136
+ });
137
+ };
138
+ React.useImperativeHandle(ref, function () {
139
+ return {
140
+ setScrollLeft: setScrollLeft,
141
+ checkScrollBarVisible: checkScrollBarVisible
142
+ };
143
+ });
144
+ React.useEffect(function () {
145
+ document.body.addEventListener(MOUSEUP_EVENT, onMouseUp, false);
146
+ document.body.addEventListener(MOUSEMOVE_EVENT, onMouseMove, false);
147
+ checkScrollBarVisible();
148
+ return function () {
149
+ document.body.removeEventListener(MOUSEUP_EVENT, onMouseUp);
150
+ document.body.removeEventListener(MOUSEMOVE_EVENT, onMouseMove);
151
+ };
152
+ }, [scrollBarWidth, isActive]);
153
+
154
+ // Loop for scroll event check
155
+ React.useEffect(function () {
156
+ if (scrollBodyRef.current) {
157
+ var scrollParents = [];
158
+ var parent = (0, _findDOMNode.getDOM)(scrollBodyRef.current);
159
+ while (parent) {
160
+ scrollParents.push(parent);
161
+ parent = parent.parentElement;
162
+ }
163
+ scrollParents.forEach(function (p) {
164
+ p.addEventListener(SCROLL_EVENT, checkScrollBarVisible, false);
165
+ });
166
+ window.addEventListener(RESIZE_EVENT, checkScrollBarVisible, false);
167
+ window.addEventListener(SCROLL_EVENT, checkScrollBarVisible, false);
168
+ container.addEventListener(SCROLL_EVENT, checkScrollBarVisible, false);
169
+ return function () {
170
+ scrollParents.forEach(function (p) {
171
+ p.removeEventListener(SCROLL_EVENT, checkScrollBarVisible);
172
+ });
173
+ window.removeEventListener(RESIZE_EVENT, checkScrollBarVisible);
174
+ window.removeEventListener(SCROLL_EVENT, checkScrollBarVisible);
175
+ container.removeEventListener(SCROLL_EVENT, checkScrollBarVisible);
176
+ };
177
+ }
178
+ }, [container]);
179
+ React.useEffect(function () {
180
+ if (!scrollState.isHiddenScrollBar) {
181
+ setScrollState(function (state) {
182
+ var bodyNode = scrollBodyRef.current;
183
+ if (!bodyNode) {
184
+ return state;
185
+ }
186
+ return _objectSpread(_objectSpread({}, state), {}, {
187
+ scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth
188
+ });
189
+ });
190
+ }
191
+ }, [scrollState.isHiddenScrollBar]);
192
+ if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {
193
+ return null;
194
+ }
195
+ return /*#__PURE__*/React.createElement("div", {
196
+ style: {
197
+ height: (0, _getScrollBarSize.default)(),
198
+ width: bodyWidth,
199
+ bottom: offsetScroll
200
+ },
201
+ className: "".concat(prefixCls, "-sticky-scroll")
202
+ }, /*#__PURE__*/React.createElement("div", {
203
+ onMouseDown: onMouseDown,
204
+ ref: scrollBarRef,
205
+ className: (0, _clsx2.clsx)("".concat(prefixCls, "-sticky-scroll-bar"), _defineProperty({}, "".concat(prefixCls, "-sticky-scroll-bar-active"), isActive)),
206
+ style: {
207
+ width: "".concat(scrollBarWidth, "px"),
208
+ transform: "translate3d(".concat(scrollState.scrollLeft, "px, 0, 0)")
209
+ }
210
+ }));
211
+ };
212
+ var _default = exports.default = /*#__PURE__*/React.forwardRef(StickyScrollBar);
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useSticky;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _canUseDom = _interopRequireDefault(require("rc-util/lib/Dom/canUseDom"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 _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); }
13
+ // fix ssr render
14
+ var defaultContainer = (0, _canUseDom.default)() ? window : null;
15
+
16
+ /** Sticky header hooks */
17
+ function useSticky(sticky, prefixCls) {
18
+ var _ref = _typeof(sticky) === 'object' ? sticky : {},
19
+ _ref$offsetHeader = _ref.offsetHeader,
20
+ offsetHeader = _ref$offsetHeader === void 0 ? 0 : _ref$offsetHeader,
21
+ _ref$offsetSummary = _ref.offsetSummary,
22
+ offsetSummary = _ref$offsetSummary === void 0 ? 0 : _ref$offsetSummary,
23
+ _ref$offsetScroll = _ref.offsetScroll,
24
+ offsetScroll = _ref$offsetScroll === void 0 ? 0 : _ref$offsetScroll,
25
+ _ref$getContainer = _ref.getContainer,
26
+ getContainer = _ref$getContainer === void 0 ? function () {
27
+ return defaultContainer;
28
+ } : _ref$getContainer;
29
+ var container = getContainer() || defaultContainer;
30
+ var isSticky = !!sticky;
31
+ return React.useMemo(function () {
32
+ return {
33
+ isSticky: isSticky,
34
+ stickyClassName: isSticky ? "".concat(prefixCls, "-sticky-holder") : '',
35
+ offsetHeader: offsetHeader,
36
+ offsetSummary: offsetSummary,
37
+ offsetScroll: offsetScroll,
38
+ // `container` is only `null` during SSR (no DOM), where sticky
39
+ // rendering never happens; the declared contract stays non-null.
40
+ container: container
41
+ };
42
+ }, [isSticky, offsetScroll, offsetHeader, offsetSummary, prefixCls, container]);
43
+ }