@qsxy/element-plus-react 1.0.3 → 2.0.0

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 (483) hide show
  1. package/dist/Affix/Affix.d.ts +4 -0
  2. package/dist/Affix/Affix.js +301 -0
  3. package/dist/Affix/index.d.ts +2 -0
  4. package/dist/Affix/index.js +1 -0
  5. package/dist/Affix/typings.d.ts +50 -0
  6. package/dist/Affix/typings.js +1 -0
  7. package/dist/Alert/typings.d.ts +1 -1
  8. package/dist/Anchor/Anchor.d.ts +6 -0
  9. package/dist/Anchor/Anchor.js +258 -0
  10. package/dist/Anchor/AnchorLink.d.ts +4 -0
  11. package/dist/Anchor/AnchorLink.js +77 -0
  12. package/dist/Anchor/element.d.ts +4 -0
  13. package/dist/Anchor/element.js +17 -0
  14. package/dist/Anchor/index.d.ts +3 -0
  15. package/dist/Anchor/index.js +2 -0
  16. package/dist/Anchor/typings.d.ts +101 -0
  17. package/dist/Anchor/typings.js +1 -0
  18. package/dist/Backtop/Backtop.d.ts +7 -0
  19. package/dist/Backtop/Backtop.js +153 -0
  20. package/dist/Backtop/index.d.ts +2 -0
  21. package/dist/Backtop/index.js +1 -0
  22. package/dist/Backtop/typings.d.ts +31 -0
  23. package/dist/Backtop/typings.js +1 -0
  24. package/dist/Button/Button.d.ts +2 -11
  25. package/dist/Button/Button.js +2 -6
  26. package/dist/Button/index.d.ts +1 -1
  27. package/dist/Calendar/Calendar.js +12 -8
  28. package/dist/Calendar/YearRangePanel.js +1 -1
  29. package/dist/Carousel/typings.d.ts +1 -1
  30. package/dist/Cascader/Cascader.d.ts +3 -3
  31. package/dist/Cascader/Cascader.js +238 -166
  32. package/dist/Cascader/CascaderContext.d.ts +9 -3
  33. package/dist/Cascader/CascaderContext.js +3 -1
  34. package/dist/Cascader/CascaderDropdown.d.ts +4 -3
  35. package/dist/Cascader/CascaderDropdown.js +21 -10
  36. package/dist/Cascader/CascaderMenu.d.ts +2 -2
  37. package/dist/Cascader/CascaderMenu.js +56 -14
  38. package/dist/Cascader/CascaderPanel.d.ts +4 -0
  39. package/dist/Cascader/CascaderPanel.js +11 -0
  40. package/dist/Cascader/index.d.ts +4 -1
  41. package/dist/Cascader/index.js +2 -1
  42. package/dist/Cascader/typings.d.ts +45 -31
  43. package/dist/Cascader/useCascader.d.ts +14 -13
  44. package/dist/Cascader/useCascader.js +120 -27
  45. package/dist/CheckboxGroup/CheckboxGroup.d.ts +11 -1
  46. package/dist/CheckboxGroup/CheckboxGroup.js +78 -19
  47. package/dist/Collapse/Collapse.d.ts +3 -3
  48. package/dist/Collapse/Collapse.js +71 -16
  49. package/dist/Collapse/CollapseContext.d.ts +3 -6
  50. package/dist/Collapse/CollapseContext.js +2 -4
  51. package/dist/Collapse/CollapseItem.d.ts +3 -3
  52. package/dist/Collapse/CollapseItem.js +93 -51
  53. package/dist/Collapse/CollapseTransition.js +11 -7
  54. package/dist/Collapse/index.d.ts +1 -1
  55. package/dist/Collapse/typings.d.ts +20 -5
  56. package/dist/ColorPicker/typings.d.ts +1 -1
  57. package/dist/Countdown/Countdown.d.ts +4 -0
  58. package/dist/Countdown/Countdown.js +121 -0
  59. package/dist/Countdown/index.d.ts +2 -0
  60. package/dist/Countdown/index.js +1 -0
  61. package/dist/Countdown/typings.d.ts +52 -0
  62. package/dist/Countdown/typings.js +1 -0
  63. package/dist/Countdown/util.d.ts +14 -0
  64. package/dist/Countdown/util.js +58 -0
  65. package/dist/DatePicker/DatePicker.js +9 -6
  66. package/dist/DatePicker/DateRangePicker.js +7 -6
  67. package/dist/DatePicker/typings.d.ts +0 -13
  68. package/dist/DateTimePicker/DateTimePicker.js +29 -19
  69. package/dist/Dialog/Dialog.d.ts +2 -13
  70. package/dist/Dialog/Dialog.js +139 -149
  71. package/dist/Dialog/DialogBody.js +3 -38
  72. package/dist/Dialog/DialogContext.d.ts +0 -7
  73. package/dist/Dialog/DialogContext.js +1 -5
  74. package/dist/Dialog/DialogHeader.js +2 -2
  75. package/dist/Dialog/typings.d.ts +43 -28
  76. package/dist/Dialog/useDraggable.d.ts +2 -1
  77. package/dist/Dialog/useDraggable.js +34 -9
  78. package/dist/Drawer/Drawer.d.ts +2 -13
  79. package/dist/Drawer/Drawer.js +115 -137
  80. package/dist/Drawer/DrawerBody.js +7 -8
  81. package/dist/Drawer/DrawerFooter.js +7 -7
  82. package/dist/Drawer/DrawerHeader.js +11 -8
  83. package/dist/Drawer/typings.d.ts +22 -6
  84. package/dist/Dropdown/Dropdown.js +5 -3
  85. package/dist/Dropdown/typings.d.ts +2 -1
  86. package/dist/Empty/Empty.js +16 -4
  87. package/dist/Form/Form.d.ts +4 -21
  88. package/dist/Form/Form.js +53 -25
  89. package/dist/Form/FormItem.d.ts +4 -52
  90. package/dist/Form/FormItem.js +633 -650
  91. package/dist/Form/FormItemContext.d.ts +10 -1
  92. package/dist/Form/FormItemContext.js +9 -1
  93. package/dist/Form/FormLabelWrap.d.ts +8 -0
  94. package/dist/Form/FormLabelWrap.js +103 -0
  95. package/dist/Form/{FieldContext.d.ts → InternalFormContext.d.ts} +2 -2
  96. package/dist/Form/{FieldContext.js → InternalFormContext.js} +5 -2
  97. package/dist/Form/List.d.ts +3 -3
  98. package/dist/Form/List.js +4 -4
  99. package/dist/Form/index.d.ts +4 -2
  100. package/dist/Form/index.js +4 -1
  101. package/dist/Form/typings.d.ts +61 -9
  102. package/dist/Form/typings.js +15 -1
  103. package/dist/Form/useForm.js +3 -3
  104. package/dist/Form/useWatch.js +1 -1
  105. package/dist/Input/Input.d.ts +2 -14
  106. package/dist/Input/Input.js +122 -100
  107. package/dist/Input/InputGroup.js +1 -1
  108. package/dist/Input/InputRange.js +7 -11
  109. package/dist/Input/TextArea.d.ts +1 -1
  110. package/dist/Input/TextArea.js +84 -29
  111. package/dist/Input/index.d.ts +1 -0
  112. package/dist/Input/index.js +2 -1
  113. package/dist/Input/typings.d.ts +3 -25
  114. package/dist/InputNumber/InputNumber.js +74 -23
  115. package/dist/InputNumber/typings.d.ts +0 -4
  116. package/dist/Menu/Menu.js +1 -1
  117. package/dist/Menu/typings.d.ts +3 -13
  118. package/dist/Message/index.js +5 -3
  119. package/dist/MessageBox/MessageBox.js +29 -33
  120. package/dist/MessageBox/typings.d.ts +0 -1
  121. package/dist/Notification/typings.d.ts +1 -1
  122. package/dist/PageHeader/PageHeader.d.ts +8 -0
  123. package/dist/PageHeader/PageHeader.js +91 -0
  124. package/dist/PageHeader/index.d.ts +2 -0
  125. package/dist/PageHeader/index.js +1 -0
  126. package/dist/PageHeader/typings.d.ts +34 -0
  127. package/dist/PageHeader/typings.js +1 -0
  128. package/dist/Pagination/typings.d.ts +1 -1
  129. package/dist/Popover/Popover.js +7 -7
  130. package/dist/Popover/typings.d.ts +3 -3
  131. package/dist/Popper/Popper.js +49 -28
  132. package/dist/Popper/popperOptions.js +1 -0
  133. package/dist/Popper/typings.d.ts +2 -0
  134. package/dist/Radio/Radio.d.ts +2 -12
  135. package/dist/Radio/Radio.js +2 -6
  136. package/dist/Radio/RadioButton.d.ts +1 -1
  137. package/dist/Radio/RadioButton.js +4 -4
  138. package/dist/Radio/index.d.ts +1 -0
  139. package/dist/Radio/index.js +2 -1
  140. package/dist/Radio/typings.d.ts +1 -1
  141. package/dist/RadioGroup/RadioGroup.js +44 -16
  142. package/dist/RadioGroup/typings.d.ts +10 -0
  143. package/dist/Segmented/Segmented.d.ts +4 -0
  144. package/dist/Segmented/Segmented.js +208 -0
  145. package/dist/Segmented/index.d.ts +2 -0
  146. package/dist/Segmented/index.js +1 -0
  147. package/dist/Segmented/typings.d.ts +20 -0
  148. package/dist/Segmented/typings.js +5 -0
  149. package/dist/Select/SelectCore.js +52 -9
  150. package/dist/Select/typings.d.ts +13 -8
  151. package/dist/Select/useSelect.d.ts +23 -9
  152. package/dist/Select/useSelect.js +55 -8
  153. package/dist/Skeleton/typings.d.ts +1 -1
  154. package/dist/Slider/Button.d.ts +4 -0
  155. package/dist/Slider/Button.js +96 -0
  156. package/dist/Slider/Marker.d.ts +4 -0
  157. package/dist/Slider/Marker.js +31 -0
  158. package/dist/Slider/Slider.d.ts +4 -0
  159. package/dist/Slider/Slider.js +263 -0
  160. package/dist/Slider/SliderContext.d.ts +3 -0
  161. package/dist/Slider/SliderContext.js +2 -0
  162. package/dist/Slider/hooks/index.d.ts +5 -0
  163. package/dist/Slider/hooks/index.js +5 -0
  164. package/dist/Slider/hooks/useLifecycle.d.ts +5 -0
  165. package/dist/Slider/hooks/useLifecycle.js +50 -0
  166. package/dist/Slider/hooks/useMarks.d.ts +2 -0
  167. package/dist/Slider/hooks/useMarks.js +49 -0
  168. package/dist/Slider/hooks/useSlider.d.ts +38 -0
  169. package/dist/Slider/hooks/useSlider.js +227 -0
  170. package/dist/Slider/hooks/useSliderButton.d.ts +28 -0
  171. package/dist/Slider/hooks/useSliderButton.js +454 -0
  172. package/dist/Slider/hooks/useStops.d.ts +6 -0
  173. package/dist/Slider/hooks/useStops.js +47 -0
  174. package/dist/Slider/hooks/useWatch.d.ts +3 -0
  175. package/dist/Slider/hooks/useWatch.js +119 -0
  176. package/dist/Slider/index.d.ts +2 -0
  177. package/dist/Slider/index.js +1 -0
  178. package/dist/Slider/style/css.d.ts +1 -0
  179. package/dist/Slider/style/css.js +1 -0
  180. package/dist/Slider/style/index.d.ts +1 -0
  181. package/dist/Slider/style/index.js +1 -0
  182. package/dist/Slider/typings.d.ts +122 -0
  183. package/dist/Slider/typings.js +1 -0
  184. package/dist/Space/Space.js +9 -12
  185. package/dist/Space/useSpace.js +2 -1
  186. package/dist/Statistic/Statistic.js +1 -2
  187. package/dist/Steps/Step.d.ts +4 -0
  188. package/dist/Steps/Step.js +247 -0
  189. package/dist/Steps/Steps.d.ts +5 -0
  190. package/dist/Steps/Steps.js +116 -0
  191. package/dist/Steps/index.d.ts +3 -0
  192. package/dist/Steps/index.js +2 -0
  193. package/dist/Steps/typings.d.ts +119 -0
  194. package/dist/Steps/typings.js +1 -0
  195. package/dist/Switch/typings.d.ts +0 -1
  196. package/dist/Table/Table.js +14 -14
  197. package/dist/Table/TableBody.js +4 -4
  198. package/dist/Table/TableCell.js +53 -28
  199. package/dist/Table/TableColumn.d.ts +2 -2
  200. package/dist/Table/TableHeader.js +2 -2
  201. package/dist/Table/TableHeaderCell.js +2 -2
  202. package/dist/Table/hooks/useResize.js +0 -2
  203. package/dist/Table/hooks/useTable.d.ts +1 -1
  204. package/dist/Table/hooks/useTable.js +15 -10
  205. package/dist/Table/typings.d.ts +26 -12
  206. package/dist/Table/util.d.ts +1 -1
  207. package/dist/Table/util.js +8 -65
  208. package/dist/TableV2/index.d.ts +10 -0
  209. package/dist/TableV2/index.js +7 -0
  210. package/dist/TableV2/src/auto-resizer.d.ts +14 -0
  211. package/dist/TableV2/src/auto-resizer.js +1 -0
  212. package/dist/TableV2/src/cell.d.ts +21 -0
  213. package/dist/TableV2/src/cell.js +1 -0
  214. package/dist/TableV2/src/components/auto-resizer.d.ts +4 -0
  215. package/dist/TableV2/src/components/auto-resizer.js +32 -0
  216. package/dist/TableV2/src/components/cell.d.ts +4 -0
  217. package/dist/TableV2/src/components/cell.js +22 -0
  218. package/dist/TableV2/src/components/expand-icon.d.ts +12 -0
  219. package/dist/TableV2/src/components/expand-icon.js +29 -0
  220. package/dist/TableV2/src/components/header-cell.d.ts +4 -0
  221. package/dist/TableV2/src/components/header-cell.js +23 -0
  222. package/dist/TableV2/src/components/header-row.d.ts +17 -0
  223. package/dist/TableV2/src/components/header-row.js +41 -0
  224. package/dist/TableV2/src/components/header.d.ts +20 -0
  225. package/dist/TableV2/src/components/header.js +103 -0
  226. package/dist/TableV2/src/components/index.d.ts +10 -0
  227. package/dist/TableV2/src/components/index.js +7 -0
  228. package/dist/TableV2/src/components/row.d.ts +19 -0
  229. package/dist/TableV2/src/components/row.js +206 -0
  230. package/dist/TableV2/src/components/sort-icon.d.ts +9 -0
  231. package/dist/TableV2/src/components/sort-icon.js +14 -0
  232. package/dist/TableV2/src/composables/index.d.ts +6 -0
  233. package/dist/TableV2/src/composables/index.js +6 -0
  234. package/dist/TableV2/src/composables/use-auto-resize.d.ts +7 -0
  235. package/dist/TableV2/src/composables/use-auto-resize.js +55 -0
  236. package/dist/TableV2/src/composables/use-columns.d.ts +21 -0
  237. package/dist/TableV2/src/composables/use-columns.js +119 -0
  238. package/dist/TableV2/src/composables/use-data.d.ts +15 -0
  239. package/dist/TableV2/src/composables/use-data.js +62 -0
  240. package/dist/TableV2/src/composables/use-row.d.ts +34 -0
  241. package/dist/TableV2/src/composables/use-row.js +191 -0
  242. package/dist/TableV2/src/composables/use-scrollbar.d.ts +25 -0
  243. package/dist/TableV2/src/composables/use-scrollbar.js +117 -0
  244. package/dist/TableV2/src/composables/use-styles.d.ts +23 -0
  245. package/dist/TableV2/src/composables/use-styles.js +90 -0
  246. package/dist/TableV2/src/composables/utils.d.ts +3 -0
  247. package/dist/TableV2/src/composables/utils.js +29 -0
  248. package/dist/TableV2/src/constants.d.ts +18 -0
  249. package/dist/TableV2/src/constants.js +22 -0
  250. package/dist/TableV2/src/grid.d.ts +52 -0
  251. package/dist/TableV2/src/grid.js +1 -0
  252. package/dist/TableV2/src/header-cell.d.ts +13 -0
  253. package/dist/TableV2/src/header-cell.js +1 -0
  254. package/dist/TableV2/src/header-row.d.ts +10 -0
  255. package/dist/TableV2/src/header-row.js +1 -0
  256. package/dist/TableV2/src/header.d.ts +15 -0
  257. package/dist/TableV2/src/header.js +1 -0
  258. package/dist/TableV2/src/private.d.ts +1 -0
  259. package/dist/TableV2/src/private.js +1 -0
  260. package/dist/TableV2/src/renderers/cell.d.ts +14 -0
  261. package/dist/TableV2/src/renderers/cell.js +120 -0
  262. package/dist/TableV2/src/renderers/empty.d.ts +7 -0
  263. package/dist/TableV2/src/renderers/empty.js +11 -0
  264. package/dist/TableV2/src/renderers/footer.d.ts +7 -0
  265. package/dist/TableV2/src/renderers/footer.js +9 -0
  266. package/dist/TableV2/src/renderers/header-cell.d.ts +13 -0
  267. package/dist/TableV2/src/renderers/header-cell.js +92 -0
  268. package/dist/TableV2/src/renderers/header.d.ts +9 -0
  269. package/dist/TableV2/src/renderers/header.js +39 -0
  270. package/dist/TableV2/src/renderers/left-table.d.ts +32 -0
  271. package/dist/TableV2/src/renderers/left-table.js +15 -0
  272. package/dist/TableV2/src/renderers/main-table.d.ts +31 -0
  273. package/dist/TableV2/src/renderers/main-table.js +12 -0
  274. package/dist/TableV2/src/renderers/overlay.d.ts +3 -0
  275. package/dist/TableV2/src/renderers/overlay.js +9 -0
  276. package/dist/TableV2/src/renderers/right-table.d.ts +31 -0
  277. package/dist/TableV2/src/renderers/right-table.js +15 -0
  278. package/dist/TableV2/src/renderers/row.d.ts +11 -0
  279. package/dist/TableV2/src/renderers/row.js +96 -0
  280. package/dist/TableV2/src/row.d.ts +51 -0
  281. package/dist/TableV2/src/row.js +1 -0
  282. package/dist/TableV2/src/table-grid.d.ts +43 -0
  283. package/dist/TableV2/src/table-grid.js +283 -0
  284. package/dist/TableV2/src/table-v2.d.ts +31 -0
  285. package/dist/TableV2/src/table-v2.js +311 -0
  286. package/dist/TableV2/src/table.d.ts +196 -0
  287. package/dist/TableV2/src/table.js +1 -0
  288. package/dist/TableV2/src/tokens.d.ts +11 -0
  289. package/dist/TableV2/src/tokens.js +6 -0
  290. package/dist/TableV2/src/types.d.ts +94 -0
  291. package/dist/TableV2/src/types.js +1 -0
  292. package/dist/TableV2/src/use-table.d.ts +48 -0
  293. package/dist/TableV2/src/use-table.js +197 -0
  294. package/dist/TableV2/src/utils.d.ts +5 -0
  295. package/dist/TableV2/src/utils.js +47 -0
  296. package/dist/Tabs/Tabs.js +1 -1
  297. package/dist/Tabs/typings.d.ts +1 -3
  298. package/dist/Tag/Tag.js +1 -1
  299. package/dist/TimePicker/TimePicker.js +6 -7
  300. package/dist/TimePicker/TimePickerPanel.js +12 -2
  301. package/dist/TimePicker/TimePickerRange.js +19 -8
  302. package/dist/Tooltip/Tooltip.js +31 -8
  303. package/dist/Tooltip/typings.d.ts +4 -0
  304. package/dist/Tour/Content.d.ts +9 -0
  305. package/dist/Tour/Content.js +81 -0
  306. package/dist/Tour/Mask.d.ts +12 -0
  307. package/dist/Tour/Mask.js +100 -0
  308. package/dist/Tour/Step.d.ts +7 -0
  309. package/dist/Tour/Step.js +119 -0
  310. package/dist/Tour/Tour.d.ts +6 -0
  311. package/dist/Tour/Tour.js +237 -0
  312. package/dist/Tour/context.d.ts +4 -0
  313. package/dist/Tour/context.js +9 -0
  314. package/dist/Tour/helper.d.ts +39 -0
  315. package/dist/Tour/helper.js +286 -0
  316. package/dist/Tour/index.d.ts +3 -0
  317. package/dist/Tour/index.js +2 -0
  318. package/dist/Tour/typings.d.ts +318 -0
  319. package/dist/Tour/typings.js +38 -0
  320. package/dist/Transfer/List.js +58 -59
  321. package/dist/Transfer/ListItem.d.ts +2 -2
  322. package/dist/Transfer/Transfer.d.ts +2 -2
  323. package/dist/Transfer/Transfer.js +84 -70
  324. package/dist/Transfer/index.d.ts +1 -1
  325. package/dist/Transfer/operation.js +8 -10
  326. package/dist/Transfer/typings/index.d.ts +49 -38
  327. package/dist/Transfer/typings/list.d.ts +11 -11
  328. package/dist/Transfer/typings/listBody.d.ts +2 -2
  329. package/dist/Transition/Transition.d.ts +1 -0
  330. package/dist/Transition/Transition.js +8 -7
  331. package/dist/Tree/Tree.js +1 -0
  332. package/dist/Tree/model/tree-store.js +4 -4
  333. package/dist/Tree/typings.d.ts +3 -1
  334. package/dist/TreeSelect/typings.d.ts +1 -1
  335. package/dist/TreeSelect/useSelect.d.ts +38 -85
  336. package/dist/TreeSelect/useSelect.js +1 -1
  337. package/dist/TreeSelect/useTree.d.ts +47 -52
  338. package/dist/TreeSelect/useTree.js +2 -2
  339. package/dist/Upload/UploadContent.js +1 -1
  340. package/dist/Upload/typings.d.ts +1 -1
  341. package/dist/Util/PopupManager.js +1 -1
  342. package/dist/Util/aria.d.ts +1 -1
  343. package/dist/Util/base.d.ts +33 -8
  344. package/dist/Util/base.js +44 -16
  345. package/dist/Util/easings.d.ts +1 -0
  346. package/dist/Util/easings.js +8 -0
  347. package/dist/Util/error.d.ts +3 -0
  348. package/dist/Util/error.js +39 -0
  349. package/dist/Util/icons.d.ts +2 -0
  350. package/dist/Util/icons.js +15 -0
  351. package/dist/Util/index.d.ts +6 -2
  352. package/dist/Util/index.js +6 -2
  353. package/dist/Util/position.d.ts +9 -0
  354. package/dist/Util/position.js +53 -0
  355. package/dist/Util/raf.d.ts +4 -0
  356. package/dist/Util/raf.js +10 -0
  357. package/dist/Util/scroll.d.ts +9 -0
  358. package/dist/Util/scroll.js +72 -0
  359. package/dist/Util/throttleByRaf.d.ts +4 -0
  360. package/dist/Util/throttleByRaf.js +21 -0
  361. package/dist/VirtualList/builders/build-grid.d.ts +5 -0
  362. package/dist/VirtualList/builders/build-grid.js +561 -0
  363. package/dist/VirtualList/builders/build-list.d.ts +7 -0
  364. package/dist/VirtualList/builders/build-list.js +408 -0
  365. package/dist/VirtualList/components/dynamic-size-grid.d.ts +15 -0
  366. package/dist/VirtualList/components/dynamic-size-grid.js +242 -0
  367. package/dist/VirtualList/components/dynamic-size-list.d.ts +7 -0
  368. package/dist/VirtualList/components/dynamic-size-list.js +186 -0
  369. package/dist/VirtualList/components/fixed-size-grid.d.ts +4 -0
  370. package/dist/VirtualList/components/fixed-size-grid.js +161 -0
  371. package/dist/VirtualList/components/fixed-size-list.d.ts +7 -0
  372. package/dist/VirtualList/components/fixed-size-list.js +103 -0
  373. package/dist/VirtualList/components/scrollbar.d.ts +5 -0
  374. package/dist/VirtualList/components/scrollbar.js +272 -0
  375. package/dist/VirtualList/defaults.d.ts +26 -0
  376. package/dist/VirtualList/defaults.js +24 -0
  377. package/dist/VirtualList/hooks/use-cache.d.ts +1 -0
  378. package/dist/VirtualList/hooks/use-cache.js +16 -0
  379. package/dist/VirtualList/hooks/use-grid-touch.d.ts +8 -0
  380. package/dist/VirtualList/hooks/use-grid-touch.js +58 -0
  381. package/dist/VirtualList/hooks/use-grid-wheel.d.ts +12 -0
  382. package/dist/VirtualList/hooks/use-grid-wheel.js +48 -0
  383. package/dist/VirtualList/hooks/use-wheel.d.ts +12 -0
  384. package/dist/VirtualList/hooks/use-wheel.js +41 -0
  385. package/dist/VirtualList/index.d.ts +9 -0
  386. package/dist/VirtualList/index.js +6 -0
  387. package/dist/VirtualList/props.d.ts +95 -0
  388. package/dist/VirtualList/props.js +42 -0
  389. package/dist/VirtualList/types.d.ts +151 -0
  390. package/dist/VirtualList/types.js +1 -0
  391. package/dist/VirtualList/utils.d.ts +11 -0
  392. package/dist/VirtualList/utils.js +56 -0
  393. package/dist/Watermark/Watermark.d.ts +4 -0
  394. package/dist/Watermark/Watermark.js +257 -0
  395. package/dist/Watermark/helper.d.ts +50 -0
  396. package/dist/Watermark/helper.js +253 -0
  397. package/dist/Watermark/index.d.ts +2 -0
  398. package/dist/Watermark/index.js +1 -0
  399. package/dist/Watermark/typings.d.ts +93 -0
  400. package/dist/Watermark/typings.js +1 -0
  401. package/dist/hooks/index.d.ts +1 -0
  402. package/dist/hooks/useClassNames.d.ts +1 -0
  403. package/dist/hooks/useClickOutside.js +25 -9
  404. package/dist/hooks/useCommonProps.d.ts +4 -0
  405. package/dist/hooks/useCommonProps.js +12 -3
  406. package/dist/hooks/useLockscreen.d.ts +6 -0
  407. package/dist/hooks/useLockscreen.js +45 -0
  408. package/dist/hooks/useResizeObserver.d.ts +1 -1
  409. package/dist/hooks/useResizeObserver.js +1 -1
  410. package/dist/index.css +1 -1
  411. package/dist/index.d.ts +33 -12
  412. package/dist/index.js +17 -6
  413. package/dist/locale/en.d.ts +4 -1
  414. package/dist/locale/en.js +4 -1
  415. package/dist/locale/zhCn.d.ts +4 -1
  416. package/dist/locale/zhCn.js +4 -1
  417. package/package.json +5 -3
  418. package/theme-chalk/affix.scss +7 -0
  419. package/theme-chalk/alert.scss +115 -115
  420. package/theme-chalk/anchor-link.scss +45 -0
  421. package/theme-chalk/anchor.scss +93 -0
  422. package/theme-chalk/backtop.scss +29 -0
  423. package/theme-chalk/breadcrumb-item.scss +58 -0
  424. package/theme-chalk/breadcrumb.scss +5 -61
  425. package/theme-chalk/cascader-panel.scss +57 -82
  426. package/theme-chalk/cascader.scss +206 -160
  427. package/theme-chalk/checkbox.scss +4 -0
  428. package/theme-chalk/collapse-item.scss +72 -0
  429. package/theme-chalk/collapse.scss +21 -76
  430. package/theme-chalk/common/popup.scss +47 -0
  431. package/theme-chalk/common/var.scss +62 -6
  432. package/theme-chalk/dialog.scss +145 -137
  433. package/theme-chalk/drawer.scss +252 -247
  434. package/theme-chalk/form-item.scss +437 -0
  435. package/theme-chalk/form.scss +23 -361
  436. package/theme-chalk/index.scss +17 -1
  437. package/theme-chalk/input/input.scss +19 -0
  438. package/theme-chalk/input-number.scss +179 -192
  439. package/theme-chalk/message-box.scss +160 -133
  440. package/theme-chalk/message.scss +104 -104
  441. package/theme-chalk/mixins/mixins.scss +148 -151
  442. package/theme-chalk/notification.scss +109 -109
  443. package/theme-chalk/overlay.scss +17 -0
  444. package/theme-chalk/page-header.scss +60 -0
  445. package/theme-chalk/popper.scss +1 -1
  446. package/theme-chalk/radio.scss +3 -3
  447. package/theme-chalk/segmented.scss +186 -0
  448. package/theme-chalk/slider.scss +212 -0
  449. package/theme-chalk/space.scss +20 -20
  450. package/theme-chalk/statistic.scss +35 -35
  451. package/theme-chalk/step.scss +320 -0
  452. package/theme-chalk/steps.scss +22 -0
  453. package/theme-chalk/table-v2.scss +237 -0
  454. package/theme-chalk/table.scss +461 -482
  455. package/theme-chalk/time-range-picker.scss +1 -1
  456. package/theme-chalk/tooltip.scss +2 -2
  457. package/theme-chalk/tour.scss +170 -0
  458. package/theme-chalk/transfer.scss +38 -12
  459. package/theme-chalk/tree-select.scss +41 -41
  460. package/theme-chalk/virtual-list.scss +40 -0
  461. package/theme-chalk/button/_mixins.scss +0 -317
  462. package/theme-chalk/button/button-group.scss +0 -83
  463. package/theme-chalk/button/button.scss +0 -382
  464. package/theme-chalk/button/index.scss +0 -2
  465. package/theme-chalk/button--bak/_mixins.scss +0 -317
  466. package/theme-chalk/button--bak/button-group.scss +0 -83
  467. package/theme-chalk/button--bak/button.scss +0 -382
  468. package/theme-chalk/button--bak/index.scss +0 -2
  469. package/theme-chalk/calendar/date-table.scss--bak +0 -156
  470. package/theme-chalk/input/input.scss--bak +0 -578
  471. package/theme-chalk/input-number.bak +0 -172
  472. package/theme-chalk/link.scss--bak +0 -99
  473. package/theme-chalk/notification.bak +0 -156
  474. package/theme-chalk/popper.scss--bak +0 -86
  475. package/theme-chalk/radio-button.scss--bak +0 -128
  476. package/theme-chalk/select/index.scss--bak +0 -247
  477. package/theme-chalk/switch.scss--bak +0 -273
  478. package/theme-chalk/tag.scss--bak +0 -203
  479. package/theme-chalk/tree/_directory.scss +0 -73
  480. package/theme-chalk/tree/_tree.scss +0 -401
  481. package/theme-chalk/tree/index.scss +0 -2
  482. /package/dist/TreeSelect/{utils.d.ts → Utils.d.ts} +0 -0
  483. /package/dist/TreeSelect/{utils.js → Utils.js} +0 -0
@@ -0,0 +1,311 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ 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; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
5
+ 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); }
6
+ import { useClassNames } from "../../hooks";
7
+ import React, { forwardRef, useImperativeHandle, useMemo } from 'react';
8
+ import { TableV2Context } from "./tokens";
9
+ import { useTable } from "./use-table";
10
+ // renderers
11
+ import Cell from "./renderers/cell";
12
+ import Empty from "./renderers/empty";
13
+ import Footer from "./renderers/footer";
14
+ import Header from "./renderers/header";
15
+ import HeaderCell from "./renderers/header-cell";
16
+ import LeftTable from "./renderers/left-table";
17
+ import MainTable from "./renderers/main-table";
18
+ import Overlay from "./renderers/overlay";
19
+ import RightTable from "./renderers/right-table";
20
+ import Row from "./renderers/row";
21
+ import { mergeDefaultProps } from "../../Util";
22
+ import classNames from 'classnames';
23
+ var COMPONENT_NAME = 'ElTableV2';
24
+ var TableV2 = /*#__PURE__*/forwardRef(function (props, ref) {
25
+ props = mergeDefaultProps({
26
+ cache: 2,
27
+ headerHeight: 50,
28
+ footerHeight: 0,
29
+ rowHeight: 50,
30
+ rowKey: 'id',
31
+ indentSize: 12,
32
+ hScrollbarSize: 6,
33
+ vScrollbarSize: 6,
34
+ sortBy: {},
35
+ sortState: undefined
36
+ }, props);
37
+ var ns = useClassNames('table-v2');
38
+ var _useTable = useTable(props),
39
+ columnsStyles = _useTable.columnsStyles,
40
+ fixedColumnsOnLeft = _useTable.fixedColumnsOnLeft,
41
+ fixedColumnsOnRight = _useTable.fixedColumnsOnRight,
42
+ mainColumns = _useTable.mainColumns,
43
+ mainTableHeight = _useTable.mainTableHeight,
44
+ fixedTableHeight = _useTable.fixedTableHeight,
45
+ leftTableWidth = _useTable.leftTableWidth,
46
+ rightTableWidth = _useTable.rightTableWidth,
47
+ data = _useTable.data,
48
+ depthMap = _useTable.depthMap,
49
+ expandedRowKeys = _useTable.expandedRowKeys,
50
+ hasFixedColumns = _useTable.hasFixedColumns,
51
+ mainTableRef = _useTable.mainTableRef,
52
+ leftTableRef = _useTable.leftTableRef,
53
+ rightTableRef = _useTable.rightTableRef,
54
+ isDynamic = _useTable.isDynamic,
55
+ isResetting = _useTable.isResetting,
56
+ isScrolling = _useTable.isScrolling,
57
+ bodyWidth = _useTable.bodyWidth,
58
+ emptyStyle = _useTable.emptyStyle,
59
+ rootStyle = _useTable.rootStyle,
60
+ footerHeight = _useTable.footerHeight,
61
+ showEmpty = _useTable.showEmpty,
62
+ scrollTo = _useTable.scrollTo,
63
+ scrollToLeft = _useTable.scrollToLeft,
64
+ scrollToTop = _useTable.scrollToTop,
65
+ scrollToRow = _useTable.scrollToRow,
66
+ getRowHeight = _useTable.getRowHeight,
67
+ onColumnSorted = _useTable.onColumnSorted,
68
+ onRowHeightChange = _useTable.onRowHeightChange,
69
+ onRowHovered = _useTable.onRowHovered,
70
+ onRowExpanded = _useTable.onRowExpanded,
71
+ onRowsRendered = _useTable.onRowsRendered,
72
+ onScroll = _useTable.onScroll,
73
+ onVerticalScroll = _useTable.onVerticalScroll;
74
+
75
+ // Expose methods via ref
76
+ useImperativeHandle(ref, function () {
77
+ return {
78
+ scrollTo: scrollTo,
79
+ scrollToLeft: scrollToLeft,
80
+ scrollToTop: scrollToTop,
81
+ scrollToRow: scrollToRow
82
+ };
83
+ }, [scrollTo, scrollToLeft, scrollToTop, scrollToRow]);
84
+
85
+ // Provide context to child components
86
+ var contextValue = useMemo(function () {
87
+ return {
88
+ ns: ns,
89
+ isResetting: isResetting,
90
+ isScrolling: isScrolling
91
+ };
92
+ }, [ns, isResetting, isScrolling]);
93
+ var _props = props,
94
+ cache = _props.cache,
95
+ cellProps = _props.cellProps,
96
+ estimatedRowHeight = _props.estimatedRowHeight,
97
+ expandColumnKey = _props.expandColumnKey,
98
+ fixedData = _props.fixedData,
99
+ headerHeight = _props.headerHeight,
100
+ headerClass = _props.headerClass,
101
+ headerProps = _props.headerProps,
102
+ headerCellProps = _props.headerCellProps,
103
+ sortBy = _props.sortBy,
104
+ sortState = _props.sortState,
105
+ rowHeight = _props.rowHeight,
106
+ rowClass = _props.rowClass,
107
+ rowEventHandlers = _props.rowEventHandlers,
108
+ rowKey = _props.rowKey,
109
+ rowProps = _props.rowProps,
110
+ scrollbarAlwaysOn = _props.scrollbarAlwaysOn,
111
+ indentSize = _props.indentSize,
112
+ iconSize = _props.iconSize,
113
+ useIsScrolling = _props.useIsScrolling,
114
+ vScrollbarSize = _props.vScrollbarSize,
115
+ width = _props.width,
116
+ className = _props.className,
117
+ _rowFormatter = _props.rowFormatter,
118
+ _cellFormatter = _props.cellFormatter,
119
+ _headerFormatter = _props.headerFormatter,
120
+ headerCellFormatter = _props.headerCellFormatter,
121
+ footer = _props.footer,
122
+ empty = _props.empty,
123
+ overlay = _props.overlay;
124
+ var mainTableProps = useMemo(function () {
125
+ return {
126
+ cache: cache,
127
+ className: ns.e('main'),
128
+ columns: mainColumns,
129
+ data: data,
130
+ fixedData: fixedData,
131
+ estimatedRowHeight: estimatedRowHeight,
132
+ bodyWidth: bodyWidth,
133
+ headerHeight: headerHeight,
134
+ headerWidth: bodyWidth,
135
+ height: mainTableHeight,
136
+ mainTableRef: mainTableRef,
137
+ rowKey: rowKey,
138
+ rowHeight: rowHeight,
139
+ scrollbarAlwaysOn: scrollbarAlwaysOn,
140
+ scrollbarStartGap: 2,
141
+ scrollbarEndGap: vScrollbarSize,
142
+ useIsScrolling: useIsScrolling,
143
+ width: width,
144
+ getRowHeight: getRowHeight,
145
+ onRowsRendered: onRowsRendered,
146
+ onScroll: onScroll
147
+ };
148
+ }, [cache, ns, mainColumns, data, fixedData, estimatedRowHeight, bodyWidth, headerHeight, mainTableHeight, mainTableRef, rowKey, rowHeight, scrollbarAlwaysOn, vScrollbarSize, useIsScrolling, width, getRowHeight, onRowsRendered, onScroll]);
149
+ var leftColumnsWidth = leftTableWidth;
150
+ var _fixedTableHeight = fixedTableHeight;
151
+ var leftTableProps = useMemo(function () {
152
+ return {
153
+ cache: cache,
154
+ className: ns.e('left'),
155
+ columns: fixedColumnsOnLeft,
156
+ data: data,
157
+ fixedData: fixedData,
158
+ estimatedRowHeight: estimatedRowHeight,
159
+ leftTableRef: leftTableRef,
160
+ rowHeight: rowHeight,
161
+ bodyWidth: leftColumnsWidth,
162
+ headerWidth: leftColumnsWidth,
163
+ headerHeight: headerHeight,
164
+ height: _fixedTableHeight,
165
+ rowKey: rowKey,
166
+ scrollbarAlwaysOn: scrollbarAlwaysOn,
167
+ scrollbarStartGap: 2,
168
+ scrollbarEndGap: vScrollbarSize,
169
+ useIsScrolling: useIsScrolling,
170
+ width: leftColumnsWidth,
171
+ getRowHeight: getRowHeight,
172
+ onScroll: onVerticalScroll
173
+ };
174
+ }, [cache, ns, fixedColumnsOnLeft, data, fixedData, estimatedRowHeight, leftTableRef, rowHeight, leftColumnsWidth, headerHeight, _fixedTableHeight, rowKey, scrollbarAlwaysOn, vScrollbarSize, useIsScrolling, getRowHeight, onVerticalScroll]);
175
+ var rightColumnsWidth = rightTableWidth;
176
+ var rightTableProps = useMemo(function () {
177
+ return {
178
+ cache: cache,
179
+ className: ns.e('right'),
180
+ columns: fixedColumnsOnRight,
181
+ data: data,
182
+ fixedData: fixedData,
183
+ estimatedRowHeight: estimatedRowHeight,
184
+ rightTableRef: rightTableRef,
185
+ rowHeight: rowHeight,
186
+ bodyWidth: rightColumnsWidth,
187
+ headerWidth: rightColumnsWidth,
188
+ headerHeight: headerHeight,
189
+ height: _fixedTableHeight,
190
+ rowKey: rowKey,
191
+ scrollbarAlwaysOn: scrollbarAlwaysOn,
192
+ scrollbarStartGap: 2,
193
+ scrollbarEndGap: vScrollbarSize,
194
+ width: rightColumnsWidth,
195
+ style: _defineProperty({}, "--".concat(ns.cssVarName('table-scrollbar-size')), "".concat(vScrollbarSize, "px")),
196
+ useIsScrolling: useIsScrolling,
197
+ getRowHeight: getRowHeight,
198
+ onScroll: onVerticalScroll
199
+ };
200
+ }, [cache, ns, fixedColumnsOnRight, data, fixedData, estimatedRowHeight, rightTableRef, rowHeight, rightColumnsWidth, headerHeight, _fixedTableHeight, rowKey, scrollbarAlwaysOn, vScrollbarSize, useIsScrolling, getRowHeight, onVerticalScroll]);
201
+ var tableRowProps = useMemo(function () {
202
+ return {
203
+ ns: ns,
204
+ depthMap: depthMap,
205
+ columnsStyles: columnsStyles,
206
+ expandColumnKey: expandColumnKey,
207
+ expandedRowKeys: expandedRowKeys,
208
+ estimatedRowHeight: estimatedRowHeight,
209
+ hasFixedColumns: hasFixedColumns,
210
+ rowProps: rowProps,
211
+ rowClass: rowClass,
212
+ rowKey: rowKey,
213
+ rowEventHandlers: rowEventHandlers,
214
+ onRowHovered: onRowHovered,
215
+ onRowExpanded: onRowExpanded,
216
+ onRowHeightChange: onRowHeightChange
217
+ };
218
+ }, [ns, depthMap, columnsStyles, expandColumnKey, expandedRowKeys, estimatedRowHeight, hasFixedColumns, rowProps, rowClass, rowKey, rowEventHandlers, onRowHovered, onRowExpanded, onRowHeightChange]);
219
+ var tableCellProps = useMemo(function () {
220
+ return {
221
+ cellProps: cellProps,
222
+ expandColumnKey: expandColumnKey,
223
+ indentSize: indentSize,
224
+ iconSize: iconSize,
225
+ rowKey: rowKey,
226
+ expandedRowKeys: expandedRowKeys,
227
+ ns: ns
228
+ };
229
+ }, [cellProps, expandColumnKey, indentSize, iconSize, rowKey, expandedRowKeys, ns]);
230
+ var tableHeaderProps = useMemo(function () {
231
+ return {
232
+ ns: ns,
233
+ headerClass: headerClass,
234
+ headerProps: headerProps,
235
+ columnsStyles: columnsStyles
236
+ };
237
+ }, [ns, headerClass, headerProps, columnsStyles]);
238
+ var tableHeaderCellProps = useMemo(function () {
239
+ return {
240
+ ns: ns,
241
+ sortBy: sortBy,
242
+ sortState: sortState,
243
+ headerCellProps: headerCellProps,
244
+ onColumnSorted: onColumnSorted
245
+ };
246
+ }, [ns, sortBy, sortState, headerCellProps, onColumnSorted]);
247
+ var rootKls = useMemo(function () {
248
+ return classNames(className, ns.b(), ns.e('root'), ns.is({
249
+ isDynamic: isDynamic
250
+ }));
251
+ }, [className, ns, isDynamic]);
252
+ var footerProps = useMemo(function () {
253
+ return {
254
+ className: ns.e('footer'),
255
+ style: footerHeight
256
+ };
257
+ }, [ns, footerHeight]);
258
+ var formatters = useMemo(function () {
259
+ return {
260
+ rowFormatter: function rowFormatter(params) {
261
+ return /*#__PURE__*/React.createElement(Row, _extends({}, params, tableRowProps, {
262
+ key: "row_".concat(params.rowIndex),
263
+ rowFormatter: _rowFormatter,
264
+ cellFormatter: function cellFormatter(cellParams) {
265
+ return _cellFormatter ? /*#__PURE__*/React.createElement(Cell, _extends({}, cellParams, tableCellProps, {
266
+ key: "row_".concat(params.rowIndex, "_").concat(cellParams.columnIndex),
267
+ style: columnsStyles[cellParams.column.key]
268
+ }), _cellFormatter(cellParams)) : /*#__PURE__*/React.createElement(Cell, _extends({}, cellParams, tableCellProps, {
269
+ key: "row_".concat(params.rowIndex, "_").concat(cellParams.columnIndex),
270
+ style: columnsStyles[cellParams.column.key]
271
+ }));
272
+ }
273
+ }));
274
+ },
275
+ headerFormatter: function headerFormatter(headerParams) {
276
+ return /*#__PURE__*/React.createElement(Header, _extends({}, headerParams, tableHeaderProps, {
277
+ key: "header_".concat(headerParams.headerIndex),
278
+ headerFormatter: _headerFormatter,
279
+ cellFormatter: function cellFormatter(headerCellParams) {
280
+ return headerCellFormatter ? /*#__PURE__*/React.createElement(HeaderCell, _extends({}, headerCellParams, tableHeaderCellProps, {
281
+ key: "headerCell_".concat(headerCellParams.columnIndex),
282
+ style: columnsStyles[headerCellParams.column.key]
283
+ }), headerCellFormatter(headerCellParams)) : /*#__PURE__*/React.createElement(HeaderCell, _extends({}, headerCellParams, tableHeaderCellProps, {
284
+ key: "headerCell_".concat(headerCellParams.columnIndex),
285
+ style: columnsStyles[headerCellParams.column.key]
286
+ }));
287
+ }
288
+ }));
289
+ }
290
+ };
291
+ }, [_cellFormatter, columnsStyles, headerCellFormatter, _headerFormatter, _rowFormatter, tableCellProps, tableHeaderCellProps, tableHeaderProps, tableRowProps]);
292
+ return /*#__PURE__*/React.createElement(TableV2Context.Provider, {
293
+ value: contextValue
294
+ }, /*#__PURE__*/React.createElement("div", {
295
+ className: rootKls,
296
+ style: rootStyle
297
+ }, /*#__PURE__*/React.createElement(MainTable, _extends({
298
+ ref: mainTableRef
299
+ }, mainTableProps, formatters)), /*#__PURE__*/React.createElement(LeftTable, _extends({
300
+ ref: leftTableRef
301
+ }, leftTableProps, formatters)), /*#__PURE__*/React.createElement(RightTable, _extends({
302
+ ref: rightTableRef
303
+ }, rightTableProps, formatters)), footer && /*#__PURE__*/React.createElement(Footer, footerProps, footer), showEmpty && /*#__PURE__*/React.createElement(Empty, {
304
+ className: ns.e('empty'),
305
+ style: emptyStyle
306
+ }, empty), overlay && /*#__PURE__*/React.createElement(Overlay, {
307
+ className: ns.e('overlay')
308
+ }, overlay)));
309
+ });
310
+ TableV2.displayName = COMPONENT_NAME;
311
+ export default TableV2;
@@ -0,0 +1,196 @@
1
+ import { IconSize } from "../../Icon/typings";
2
+ import React, { CSSProperties } from 'react';
3
+ import { GridDefaultSlotParams } from '../../VirtualList';
4
+ import type { SortOrder } from './constants';
5
+ import { TableV2GridProps } from './grid';
6
+ import { RowEventHandlers, RowExpandParams } from './row';
7
+ import type { Column, ColumnCommonParams, KeyType, RowCommonParams, SortState } from './types';
8
+ /**
9
+ * Param types
10
+ */
11
+ export type ColumnSortParams<T> = {
12
+ column: Column<T>;
13
+ key: KeyType;
14
+ order: SortOrder;
15
+ };
16
+ /**
17
+ * Renderer/Getter types
18
+ */
19
+ export type ExtraCellPropGetter<T> = (params: ColumnCommonParams<T> & RowCommonParams & {
20
+ cellData: T;
21
+ rowData: any;
22
+ }) => any;
23
+ export type ExtractHeaderPropGetter<T> = (params: {
24
+ columns: Column<T>[];
25
+ headerIndex: number;
26
+ }) => any;
27
+ export type ExtractHeaderCellPropGetter<T> = (params: ColumnCommonParams<T> & {
28
+ headerIndex: number;
29
+ }) => any;
30
+ export type ExtractRowPropGetter<T> = (params: {
31
+ columns: Column<T>[];
32
+ } & RowCommonParams) => any;
33
+ export type HeaderClassNameGetter<T> = (params: {
34
+ columns: Column<T>[];
35
+ headerIndex: number;
36
+ }) => string;
37
+ export type RowClassNameGetter<T> = (params: {
38
+ columns: Column<T>[];
39
+ } & RowCommonParams) => string;
40
+ /**
41
+ * Handler types
42
+ */
43
+ export type ColumnSortHandler<T> = (params: ColumnSortParams<T>) => void;
44
+ export type ColumnResizeHandler<T> = (column: Column<T>, width: number) => void;
45
+ export type ExpandedRowsChangeHandler = (expandedRowKeys: KeyType[]) => void;
46
+ export type RowsRenderedParams = {
47
+ rowCacheStart: number;
48
+ rowCacheEnd: number;
49
+ rowVisibleStart: number;
50
+ rowVisibleEnd: number;
51
+ };
52
+ export type ScrollParams = {
53
+ xAxisScrollDir?: 'forward' | 'backward';
54
+ scrollLeft?: number;
55
+ yAxisScrollDir?: 'forward' | 'backward';
56
+ scrollTop?: number;
57
+ };
58
+ export type TableV2Props = {
59
+ /** 为了更好的渲染效果预先多加载的行数 */
60
+ cache?: number;
61
+ /** 渲染动态的单元格的预估高度 */
62
+ estimatedRowHeight?: number;
63
+ /** header 部分的自定义 class 名 */
64
+ headerClass?: string | HeaderClassNameGetter<any>;
65
+ /** header 部分的自定义 props 名 */
66
+ headerProps?: object | ExtractHeaderPropGetter<any>;
67
+ /** header cell 部分的自定义 props 名 */
68
+ headerCellProps?: object | ExtractHeaderCellPropGetter<any>;
69
+ /** header 的高度由height设置。 如果传入数组,它会使 header row 等于数组长度 */
70
+ headerHeight?: number | number[];
71
+ /** footer 的高度,当传入值时,这部分将被计算入 table 的高度里 */
72
+ footerHeight?: number;
73
+ /** row wrapper 部分的自定义 class 名 */
74
+ rowClass?: string | RowClassNameGetter<any>;
75
+ /** 每行的 key 值,如果不提供,将使用索引 index 代替 */
76
+ rowKey?: string | symbol | number;
77
+ /** row component 部分的自定义 class 名 */
78
+ rowProps?: object | ExtractRowPropGetter<any>;
79
+ /** 每行的高度, 用于计算表的总高度 */
80
+ rowHeight?: number;
81
+ /** 当每行添加了一系列事件处理器时触发 */
82
+ rowEventHandlers?: RowEventHandlers;
83
+ /** 每个单元格 cell 的自定义 props (除了 header cell 以外) */
84
+ cellProps?: object | ExtraCellPropGetter<any>;
85
+ /** 列 column 的配置数组 */
86
+ columns: Column<any>[];
87
+ /** 要在表中渲染的数据数组 */
88
+ data: any[];
89
+ /** 一个自定义方法从数据源获取数据 */
90
+ dataGetter?: (data: any[]) => any[];
91
+ /** 渲染行在表格主内容上方和 header 下方区域的数据 */
92
+ fixedData?: any[];
93
+ /** 列的 key 来标记哪个行可以被展开 */
94
+ expandColumnKey?: string;
95
+ /** 存放行展开状态的 key 的数组,可以和 v-model 搭配使用 */
96
+ expandedRowKeys?: KeyType[];
97
+ /** 默认展开的行的 key 的数组, 这个数据不是响应式的 */
98
+ defaultExpandedRowKeys?: KeyType[];
99
+ /** 表格的类名称,将应用于表格的全部的三个部分 (左、右、主) */
100
+ className?: string | string[] | object | (() => string | string[] | object);
101
+ /** 单元格宽度是自适应还是固定 */
102
+ fixed?: boolean;
103
+ /** 表格的宽度 */
104
+ width?: number;
105
+ /** 表格的高度 */
106
+ height?: number;
107
+ /** 表格的最大高度 */
108
+ maxHeight?: number;
109
+ /** 树形表的水平缩进 */
110
+ indentSize?: number;
111
+ /** 图标大小 */
112
+ iconSize?: IconSize;
113
+ /** 水平滚动条的大小,防止水平和垂直滚动条重叠。 */
114
+ hScrollbarSize?: number;
115
+ /** 垂直滚动条的大小,防止水平和垂直滚动条重叠。 */
116
+ vScrollbarSize?: number;
117
+ /** 滚动条是否总是显示,不论是否滚动 */
118
+ scrollbarAlwaysOn?: boolean;
119
+ /** 排序方式 */
120
+ sortBy?: SortBy;
121
+ /** 多个排序 */
122
+ sortState?: SortState;
123
+ useIsScrolling?: boolean;
124
+ footer?: React.ReactNode;
125
+ empty?: React.ReactNode;
126
+ overlay?: React.ReactNode;
127
+ headerFormatter?: (props: HeaderSlotProps) => React.ReactNode;
128
+ rowFormatter?: (props: TableGridRowSlotParams) => React.ReactNode[];
129
+ cellFormatter?: (props: CellFormatProps<any>) => React.ReactNode;
130
+ headerCellFormatter?: (props: HeaderCellSlotProps) => React.ReactNode;
131
+ /** 列排序时调用 */
132
+ onColumnSort?: ColumnSortHandler<any>;
133
+ /** 当行被渲染后触发 */
134
+ onRowsRendered?: (params: RowsRenderedParams) => void;
135
+ /** 行展开状态改变时触发 */
136
+ onExpandedRowsChange?: ExpandedRowsChangeHandler;
137
+ /** 到达表格末尾时触发。 回调包含剩余距离,它通常是滚动条高度。*/
138
+ onEndReached?: (remainDistance: number) => void;
139
+ /** 点击箭头图标展开/折叠树节点时触发 */
140
+ onRowExpand?: (params: RowExpandParams) => void;
141
+ /** 表格被用户滚动后触发 */
142
+ onScroll?: (params: ScrollParams) => void;
143
+ };
144
+ export type HeaderSlotProps = {
145
+ cells: React.ReactNode[];
146
+ columns: Column<any>[];
147
+ headerIndex: number;
148
+ };
149
+ export type TableGridRowSlotParams = {
150
+ columns: TableV2GridProps['columns'];
151
+ cells: React.ReactNode[];
152
+ rowData: any;
153
+ } & GridDefaultSlotParams;
154
+ export type RowFormatProps = {
155
+ cells?: React.ReactNode[];
156
+ columns: Column<any>[];
157
+ rowData?: any;
158
+ columnIndex?: number;
159
+ rowIndex?: number;
160
+ data?: any;
161
+ key?: number | string;
162
+ isScrolling?: boolean;
163
+ style?: CSSProperties;
164
+ depth?: number;
165
+ };
166
+ export type CellFormatProps<T> = {
167
+ column: Column<T>;
168
+ columns: Column<T>[];
169
+ columnIndex: number;
170
+ depth: number;
171
+ style: CSSProperties;
172
+ rowData: any;
173
+ rowIndex: number;
174
+ isScrolling: boolean;
175
+ expandIconProps?: {
176
+ rowData: any;
177
+ rowIndex: number;
178
+ onExpand: (expand: boolean) => void;
179
+ } | undefined;
180
+ };
181
+ export type SortBy = {
182
+ key?: KeyType;
183
+ order?: SortOrder;
184
+ };
185
+ export type HeaderCellSlotProps = {
186
+ className: string;
187
+ columns: Column<any>[];
188
+ column: Column<any>;
189
+ columnIndex: number;
190
+ headerIndex: number;
191
+ style: CSSProperties;
192
+ headerCellProps?: any;
193
+ sortBy: SortBy;
194
+ sortState?: SortState | undefined;
195
+ onColumnSorted: (e: MouseEvent) => void;
196
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import { RefObject } from 'react';
2
+ import { UseNamespaceReturn } from '../../hooks/useClassNames';
3
+ export type TableV2Context = {
4
+ isScrolling: boolean;
5
+ isResetting: RefObject<boolean>;
6
+ ns: UseNamespaceReturn;
7
+ scrollLeft?: number;
8
+ };
9
+ export declare const TableV2Context: import("react").Context<TableV2Context>;
10
+ export declare const TableV2GridScrollLeftContext: import("react").Context<number>;
11
+ export declare const TABLE_V2_GRID_INJECTION_KEY: import("react").Context<TableV2Context>;
@@ -0,0 +1,6 @@
1
+ import { createContext } from 'react';
2
+ export var TableV2Context = /*#__PURE__*/createContext(null);
3
+
4
+ // Context for grid scroll left position
5
+ export var TableV2GridScrollLeftContext = /*#__PURE__*/createContext(undefined);
6
+ export var TABLE_V2_GRID_INJECTION_KEY = TableV2Context;
@@ -0,0 +1,94 @@
1
+ import type { ComponentType, CSSProperties, ReactNode } from 'react';
2
+ import type { FixedDir, SortOrder } from './constants';
3
+ export type Alignment = 'left' | 'center' | 'right';
4
+ export type FixedDirection = FixedDir;
5
+ export type KeyType = string | number | symbol;
6
+ /**
7
+ * Param types
8
+ */
9
+ export type CellRendererParams<T> = {
10
+ cellData: T;
11
+ } & RowCommonParams & ColumnCommonParams<T>;
12
+ export type ColumnCommonParams<T> = {
13
+ columns: Column<T>[];
14
+ column: Column<T>;
15
+ columnIndex: number;
16
+ };
17
+ export type HeaderCellRendererParams<T> = {
18
+ headerIndex: number;
19
+ } & ColumnCommonParams<T>;
20
+ export type RowCommonParams = {
21
+ rowData: any;
22
+ rowIndex: number;
23
+ };
24
+ export type ClassNameGetterParams<T> = {
25
+ cellData: T;
26
+ } & RowCommonParams & ColumnCommonParams<T>;
27
+ export type DataGetterParams<T> = {
28
+ columns: Column<T>[];
29
+ column: Column<T>;
30
+ columnIndex: number;
31
+ } & RowCommonParams;
32
+ export type DataGetter<T> = (params: DataGetterParams<T>) => T;
33
+ export type ClassNameGetter<T> = (params: ClassNameGetterParams<T>) => string;
34
+ export type HeaderClassGetter<T> = (params: ColumnCommonParams<T> & {
35
+ headerIndex: number;
36
+ }) => string;
37
+ /**
38
+ * Renderer/Getter types
39
+ */
40
+ export type CellRenderer<T> = (params: CellRendererParams<T>) => ReactNode;
41
+ export type HeaderCellRenderer<T> = (params: HeaderCellRendererParams<T>) => ReactNode;
42
+ export type Column<T = any> = {
43
+ /**
44
+ * Attributes
45
+ */
46
+ align?: Alignment;
47
+ className?: string | ClassNameGetter<T>;
48
+ key?: KeyType;
49
+ dataKey?: KeyType;
50
+ fixed?: true | FixedDirection;
51
+ flexGrow?: CSSProperties['flexGrow'];
52
+ flexShrink?: CSSProperties['flexShrink'];
53
+ title?: string;
54
+ hidden?: boolean;
55
+ headerClass?: HeaderClassGetter<T> | string;
56
+ maxWidth?: number;
57
+ minWidth?: number;
58
+ style?: CSSProperties;
59
+ sortable?: boolean;
60
+ width?: number;
61
+ /**
62
+ * Renderers
63
+ */
64
+ cellRenderer?: CellRenderer<T>;
65
+ headerCellRenderer?: HeaderCellRenderer<T>;
66
+ /**
67
+ * Extendable sections
68
+ */
69
+ [key: string]: any;
70
+ };
71
+ export type Columns<T> = Column<T>[];
72
+ export type AnyColumns = Columns<any>;
73
+ export type SortBy = {
74
+ key: KeyType;
75
+ order: SortOrder;
76
+ };
77
+ export type SortState = {
78
+ [key: KeyType]: SortOrder;
79
+ };
80
+ export type CustomizedCellsType = ReactNode[];
81
+ export type DefaultCellsType = ReactNode[][];
82
+ export type ColumnCellsType = DefaultCellsType | CustomizedCellsType;
83
+ export type TableV2CustomizedHeaderSlotParam<T = any> = {
84
+ cells: ReactNode[];
85
+ columns: Columns<T>;
86
+ headerIndex: number;
87
+ };
88
+ export type SimpleFunctionalComponentProps<T extends object> = {
89
+ className?: string;
90
+ style?: CSSProperties;
91
+ } & T;
92
+ export type SimpleFunctionalComponent<E extends object = {
93
+ [key: string]: any;
94
+ }> = ComponentType<SimpleFunctionalComponentProps<E>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ import { CSSProperties, RefObject } from 'react';
2
+ import { ScrollPos } from './composables';
3
+ import type { TableV2Props } from './table';
4
+ import type { TableGridInstance } from './table-grid';
5
+ import type { AnyColumns, KeyType } from './types';
6
+ interface UseTableReturn {
7
+ columns: AnyColumns;
8
+ containerRef: RefObject<HTMLDivElement>;
9
+ mainTableRef: RefObject<TableGridInstance | null>;
10
+ leftTableRef: RefObject<TableGridInstance | null>;
11
+ rightTableRef: RefObject<TableGridInstance | null>;
12
+ isDynamic: boolean;
13
+ isResetting: RefObject<boolean>;
14
+ isScrolling: boolean;
15
+ hasFixedColumns: number;
16
+ columnsStyles: Record<KeyType, CSSProperties>;
17
+ columnsTotalWidth: number;
18
+ data: any[];
19
+ expandedRowKeys: KeyType[];
20
+ depthMap: Record<KeyType, number>;
21
+ fixedColumnsOnLeft: AnyColumns;
22
+ fixedColumnsOnRight: AnyColumns;
23
+ mainColumns: AnyColumns;
24
+ bodyWidth: number;
25
+ emptyStyle: CSSProperties;
26
+ rootStyle: CSSProperties;
27
+ footerHeight: CSSProperties;
28
+ mainTableHeight: number;
29
+ fixedTableHeight: number;
30
+ leftTableWidth: number;
31
+ rightTableWidth: number;
32
+ showEmpty: boolean;
33
+ getRowHeight: (rowIndex: number) => number;
34
+ onColumnSorted: (e: MouseEvent) => void;
35
+ onRowHovered: any;
36
+ onRowExpanded: any;
37
+ onRowsRendered: any;
38
+ onRowHeightChange: any;
39
+ scrollTo: (params: ScrollPos) => void;
40
+ scrollToLeft: (scrollLeft: number) => void;
41
+ scrollToTop: (scrollTop: number) => void;
42
+ scrollToRow: (row: number, strategy?: string) => void;
43
+ onScroll: (params: ScrollPos) => void;
44
+ onVerticalScroll: ({ scrollTop }: ScrollPos) => void;
45
+ }
46
+ declare function useTable(props: TableV2Props): UseTableReturn;
47
+ export { useTable };
48
+ export type { UseTableReturn };