@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,408 @@
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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ 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."); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ 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; }
7
+ 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; }
8
+ 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; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ 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); }
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ 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."); }
13
+ 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); }
14
+ 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; }
15
+ 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; } }
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
+ import classNames from 'classnames';
18
+ import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
19
+ import { useClassNames } from "../../hooks";
20
+ import Scrollbar from "../components/scrollbar";
21
+ import { AUTO_ALIGNMENT, BACKWARD, FORWARD, HORIZONTAL, RTL, RTL_OFFSET_NAG, RTL_OFFSET_POS_ASC, RTL_OFFSET_POS_DESC } from "../defaults";
22
+ import { useCache } from "../hooks/use-cache";
23
+ import { useWheel } from "../hooks/use-wheel";
24
+ import { getRTLOffsetType, getScrollDir, isHorizontal } from "../utils";
25
+ import { isClient, isNumber, isString } from "../../Util";
26
+ var createList = function createList(_ref) {
27
+ var name = _ref.name,
28
+ getOffset = _ref.getOffset,
29
+ getItemSize = _ref.getItemSize,
30
+ getItemOffset = _ref.getItemOffset,
31
+ getEstimatedTotalSize = _ref.getEstimatedTotalSize,
32
+ getStartIndexForOffset = _ref.getStartIndexForOffset,
33
+ getStopIndexForStartIndex = _ref.getStopIndexForStartIndex,
34
+ initCache = _ref.initCache,
35
+ clearCache = _ref.clearCache,
36
+ validateProps = _ref.validateProps;
37
+ var ListComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
38
+ var total = props.total,
39
+ _props$cache = props.cache,
40
+ cache = _props$cache === void 0 ? 2 : _props$cache,
41
+ _props$data = props.data,
42
+ data = _props$data === void 0 ? [] : _props$data,
43
+ _props$layout = props.layout,
44
+ layout = _props$layout === void 0 ? 'vertical' : _props$layout,
45
+ _props$initScrollOffs = props.initScrollOffset,
46
+ initScrollOffset = _props$initScrollOffs === void 0 ? 0 : _props$initScrollOffs,
47
+ itemSize = props.itemSize,
48
+ _props$direction = props.direction,
49
+ direction = _props$direction === void 0 ? 'ltr' : _props$direction,
50
+ height = props.height,
51
+ width = props.width,
52
+ style = props.style,
53
+ className = props.className,
54
+ _props$containerEleme = props.containerElement,
55
+ Container = _props$containerEleme === void 0 ? 'div' : _props$containerEleme,
56
+ _props$innerElement = props.innerElement,
57
+ Inner = _props$innerElement === void 0 ? 'div' : _props$innerElement,
58
+ _props$innerProps = props.innerProps,
59
+ innerProps = _props$innerProps === void 0 ? {} : _props$innerProps,
60
+ useIsScrolling = props.useIsScrolling,
61
+ _props$perfMode = props.perfMode,
62
+ perfMode = _props$perfMode === void 0 ? true : _props$perfMode,
63
+ _props$scrollbarAlway = props.scrollbarAlwaysOn,
64
+ scrollbarAlwaysOn = _props$scrollbarAlway === void 0 ? false : _props$scrollbarAlway,
65
+ children = props.children;
66
+ validateProps(props);
67
+ var ns = useClassNames('vl');
68
+ var dynamicSizeCache = useRef(initCache(props));
69
+ var getItemStyleCache = useCache();
70
+
71
+ // refs
72
+ var windowRef = useRef(null);
73
+ var innerRef = useRef(null);
74
+ var scrollbarRef = useRef(null);
75
+ var _useState = useState({
76
+ isScrolling: false,
77
+ scrollDir: 'forward',
78
+ scrollOffset: isNumber(initScrollOffset) ? initScrollOffset : 0,
79
+ updateRequested: false,
80
+ isScrollbarDragging: false,
81
+ scrollbarAlwaysOn: scrollbarAlwaysOn
82
+ }),
83
+ _useState2 = _slicedToArray(_useState, 2),
84
+ states = _useState2[0],
85
+ setStates = _useState2[1];
86
+ var itemsToRender = useMemo(function () {
87
+ if (total === 0) {
88
+ return [0, 0, 0, 0];
89
+ }
90
+ var startIndex = getStartIndexForOffset(props, states.scrollOffset, dynamicSizeCache.current);
91
+ var stopIndex = getStopIndexForStartIndex(props, startIndex, states.scrollOffset, dynamicSizeCache.current);
92
+ var cacheBackward = !states.isScrolling || states.scrollDir === BACKWARD ? Math.max(1, cache) : 1;
93
+ var cacheForward = !states.isScrolling || states.scrollDir === FORWARD ? Math.max(1, cache) : 1;
94
+ return [Math.max(0, startIndex - cacheBackward), Math.max(0, Math.min(total - 1, stopIndex + cacheForward)), startIndex, stopIndex];
95
+ }, [total, cache, states.isScrolling, states.scrollDir, states.scrollOffset, props]);
96
+ var estimatedTotalSize = useMemo(function () {
97
+ return getEstimatedTotalSize(props, dynamicSizeCache.current);
98
+ }, [props]);
99
+ var _isHorizontal = useMemo(function () {
100
+ return isHorizontal(layout);
101
+ }, [layout]);
102
+ var windowStyle = useMemo(function () {
103
+ return [_defineProperty(_defineProperty(_defineProperty({
104
+ position: 'relative'
105
+ }, "overflow-".concat(_isHorizontal ? 'x' : 'y'), 'scroll'), "WebkitOverflowScrolling", 'touch'), "willChange", 'transform'), {
106
+ direction: direction,
107
+ height: isNumber(height) ? "".concat(height, "px") : String(height),
108
+ width: isNumber(width) ? "".concat(width, "px") : String(width !== null && width !== void 0 ? width : '')
109
+ }, style !== null && style !== void 0 ? style : {}];
110
+ }, [_isHorizontal, direction, height, width, style]);
111
+ var innerStyle = useMemo(function () {
112
+ var size = estimatedTotalSize;
113
+ var horizontal = _isHorizontal;
114
+ return {
115
+ height: horizontal ? '100%' : "".concat(size, "px"),
116
+ pointerEvents: states.isScrolling ? 'none' : undefined,
117
+ width: horizontal ? "".concat(size, "px") : '100%',
118
+ margin: 0,
119
+ boxSizing: 'border-box'
120
+ };
121
+ }, [estimatedTotalSize, _isHorizontal, states.isScrolling]);
122
+ var clientSize = useMemo(function () {
123
+ return _isHorizontal ? width : height;
124
+ }, [_isHorizontal, width, height]);
125
+ var resetIsScrolling = useCallback(function () {
126
+ setStates(function (prev) {
127
+ return _objectSpread(_objectSpread({}, prev), {}, {
128
+ isScrolling: false
129
+ });
130
+ });
131
+ setTimeout(function () {
132
+ getItemStyleCache(-1, null, null);
133
+ }, 0);
134
+ }, [getItemStyleCache]);
135
+ var scrollTo = useCallback(function (offset) {
136
+ offset = Math.max(offset, 0);
137
+ if (offset === states.scrollOffset) {
138
+ return;
139
+ }
140
+ setStates(function (prev) {
141
+ return _objectSpread(_objectSpread({}, prev), {}, {
142
+ scrollOffset: offset,
143
+ scrollDir: getScrollDir(prev.scrollOffset, offset),
144
+ updateRequested: true
145
+ });
146
+ });
147
+ requestAnimationFrame(function () {
148
+ return resetIsScrolling();
149
+ });
150
+ }, [states.scrollOffset, resetIsScrolling]);
151
+ var scrollToItem = useCallback(function (idx) {
152
+ var alignment = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : AUTO_ALIGNMENT;
153
+ idx = Math.max(0, Math.min(idx, total - 1));
154
+ scrollTo(getOffset(props, idx, alignment, states.scrollOffset, dynamicSizeCache.current));
155
+ }, [total, props, states.scrollOffset]);
156
+ var _useWheel = useWheel({
157
+ atStartEdge: states.scrollOffset <= 0,
158
+ atEndEdge: states.scrollOffset >= estimatedTotalSize - clientSize,
159
+ layout: layout
160
+ }, function (offset) {
161
+ var _scrollbarRef$current, _scrollbarRef$current2;
162
+ (_scrollbarRef$current = scrollbarRef.current) === null || _scrollbarRef$current === void 0 || (_scrollbarRef$current2 = _scrollbarRef$current.onMouseUp) === null || _scrollbarRef$current2 === void 0 || _scrollbarRef$current2.call(_scrollbarRef$current);
163
+ scrollTo(Math.min(states.scrollOffset + offset, estimatedTotalSize - clientSize));
164
+ }),
165
+ onWheel = _useWheel.onWheel;
166
+ var handleWheel = useCallback(function (e) {
167
+ if (!windowRef.current) {
168
+ return;
169
+ }
170
+ onWheel(e);
171
+ }, [onWheel]);
172
+ useEffect(function () {
173
+ var element = windowRef.current;
174
+ if (!element) {
175
+ return;
176
+ }
177
+ element.addEventListener('wheel', handleWheel, {
178
+ passive: false
179
+ });
180
+ return function () {
181
+ element.removeEventListener('wheel', handleWheel);
182
+ };
183
+ }, [handleWheel]);
184
+ var emitEvents = useCallback(function () {
185
+ // In React, we don't have emits, but we can keep this for API compatibility
186
+ if (total > 0) {
187
+ var _itemsToRender = _slicedToArray(itemsToRender, 4),
188
+ cacheStart = _itemsToRender[0],
189
+ cacheEnd = _itemsToRender[1],
190
+ visibleStart = _itemsToRender[2],
191
+ visibleEnd = _itemsToRender[3];
192
+ // Could emit events here if needed
193
+ }
194
+ }, [total, itemsToRender]);
195
+ var scrollVertically = useCallback(function (e) {
196
+ var _e$currentTarget = e.currentTarget,
197
+ clientHeight = _e$currentTarget.clientHeight,
198
+ scrollHeight = _e$currentTarget.scrollHeight,
199
+ scrollTop = _e$currentTarget.scrollTop;
200
+ if (states.scrollOffset === scrollTop) {
201
+ return;
202
+ }
203
+ var scrollOffset = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight));
204
+ setStates(function (prev) {
205
+ return _objectSpread(_objectSpread({}, prev), {}, {
206
+ isScrolling: true,
207
+ scrollDir: getScrollDir(prev.scrollOffset, scrollOffset),
208
+ scrollOffset: scrollOffset,
209
+ updateRequested: false
210
+ });
211
+ });
212
+ requestAnimationFrame(function () {
213
+ return resetIsScrolling();
214
+ });
215
+ }, [states.scrollOffset, resetIsScrolling]);
216
+ var scrollHorizontally = useCallback(function (e) {
217
+ var _e$currentTarget2 = e.currentTarget,
218
+ clientWidth = _e$currentTarget2.clientWidth,
219
+ scrollLeft = _e$currentTarget2.scrollLeft,
220
+ scrollWidth = _e$currentTarget2.scrollWidth;
221
+ if (states.scrollOffset === scrollLeft) {
222
+ return;
223
+ }
224
+ var scrollOffset = scrollLeft;
225
+ if (direction === RTL) {
226
+ switch (getRTLOffsetType()) {
227
+ case RTL_OFFSET_NAG:
228
+ {
229
+ scrollOffset = -scrollLeft;
230
+ break;
231
+ }
232
+ case RTL_OFFSET_POS_DESC:
233
+ {
234
+ scrollOffset = scrollWidth - clientWidth - scrollLeft;
235
+ break;
236
+ }
237
+ }
238
+ }
239
+ scrollOffset = Math.max(0, Math.min(scrollOffset, scrollWidth - clientWidth));
240
+ setStates(function (prev) {
241
+ return _objectSpread(_objectSpread({}, prev), {}, {
242
+ isScrolling: true,
243
+ scrollDir: getScrollDir(prev.scrollOffset, scrollOffset),
244
+ scrollOffset: scrollOffset,
245
+ updateRequested: false
246
+ });
247
+ });
248
+ requestAnimationFrame(function () {
249
+ return resetIsScrolling();
250
+ });
251
+ }, [direction, resetIsScrolling]);
252
+ var onScroll = useCallback(function (e) {
253
+ if (_isHorizontal) {
254
+ scrollHorizontally(e);
255
+ } else {
256
+ scrollVertically(e);
257
+ }
258
+ emitEvents();
259
+ }, [_isHorizontal, scrollHorizontally, scrollVertically, emitEvents]);
260
+ var onScrollbarScroll = useCallback(function (distanceToGo, totalSteps) {
261
+ var offset = (estimatedTotalSize - clientSize) / totalSteps * distanceToGo;
262
+ scrollTo(Math.min(estimatedTotalSize - clientSize, offset));
263
+ }, [estimatedTotalSize, clientSize, scrollTo]);
264
+ var getItemStyle = useCallback(function (idx) {
265
+ var itemStyleCache = getItemStyleCache(clearCache && itemSize, clearCache && layout, clearCache && direction);
266
+ var style;
267
+ if (Object.prototype.hasOwnProperty.call(itemStyleCache, String(idx))) {
268
+ style = itemStyleCache[idx];
269
+ } else {
270
+ var offset = getItemOffset(props, idx, dynamicSizeCache.current);
271
+ var size = getItemSize(props, idx, dynamicSizeCache.current);
272
+ var horizontal = _isHorizontal;
273
+ var isRtl = direction === RTL;
274
+ var offsetHorizontal = horizontal ? offset : 0;
275
+ itemStyleCache[idx] = style = {
276
+ position: 'absolute',
277
+ left: isRtl ? undefined : "".concat(offsetHorizontal, "px"),
278
+ right: isRtl ? "".concat(offsetHorizontal, "px") : undefined,
279
+ top: !horizontal ? "".concat(offset, "px") : 0,
280
+ height: !horizontal ? "".concat(size, "px") : '100%',
281
+ width: horizontal ? "".concat(size, "px") : '100%'
282
+ };
283
+ }
284
+ return style;
285
+ }, [getItemStyleCache, clearCache, itemSize, layout, direction, getItemOffset, getItemSize, props, _isHorizontal]);
286
+ var resetScrollTop = useCallback(function () {
287
+ var window = windowRef.current;
288
+ if (window) {
289
+ window.scrollTop = 0;
290
+ }
291
+ }, []);
292
+
293
+ // Mount effect
294
+ useEffect(function () {
295
+ if (!isClient) {
296
+ return;
297
+ }
298
+ var windowElement = windowRef.current;
299
+ if (isNumber(initScrollOffset) && windowElement) {
300
+ if (_isHorizontal) {
301
+ windowElement.scrollLeft = initScrollOffset;
302
+ } else {
303
+ windowElement.scrollTop = initScrollOffset;
304
+ }
305
+ }
306
+ emitEvents();
307
+ }, []);
308
+
309
+ // Update effect for scroll position sync
310
+ useLayoutEffect(function () {
311
+ var windowElement = windowRef.current;
312
+ if (states.updateRequested && windowElement) {
313
+ if (layout === HORIZONTAL) {
314
+ if (direction === RTL) {
315
+ switch (getRTLOffsetType()) {
316
+ case RTL_OFFSET_NAG:
317
+ {
318
+ windowElement.scrollLeft = -states.scrollOffset;
319
+ break;
320
+ }
321
+ case RTL_OFFSET_POS_ASC:
322
+ {
323
+ windowElement.scrollLeft = states.scrollOffset;
324
+ break;
325
+ }
326
+ default:
327
+ {
328
+ var clientWidth = windowElement.clientWidth,
329
+ scrollWidth = windowElement.scrollWidth;
330
+ windowElement.scrollLeft = scrollWidth - clientWidth - states.scrollOffset;
331
+ break;
332
+ }
333
+ }
334
+ } else {
335
+ windowElement.scrollLeft = states.scrollOffset;
336
+ }
337
+ } else {
338
+ windowElement.scrollTop = states.scrollOffset;
339
+ }
340
+ }
341
+ }, [states.updateRequested, states.scrollOffset, layout, direction]);
342
+
343
+ // Expose methods via ref
344
+ React.useImperativeHandle(ref, function () {
345
+ return {
346
+ windowRef: windowRef,
347
+ innerRef: innerRef,
348
+ getItemStyleCache: getItemStyleCache,
349
+ scrollTo: scrollTo,
350
+ scrollToItem: scrollToItem,
351
+ resetScrollTop: resetScrollTop,
352
+ states: states
353
+ };
354
+ }, [scrollTo, scrollToItem, resetScrollTop, states, getItemStyleCache]);
355
+ var _itemsToRender2 = _slicedToArray(itemsToRender, 2),
356
+ start = _itemsToRender2[0],
357
+ end = _itemsToRender2[1];
358
+ var childrenNodes = useMemo(function () {
359
+ var nodes = [];
360
+ if (total > 0) {
361
+ for (var i = start; i <= end; i++) {
362
+ nodes.push( /*#__PURE__*/React.createElement(React.Fragment, {
363
+ key: i
364
+ }, children === null || children === void 0 ? void 0 : children({
365
+ data: data,
366
+ index: i,
367
+ isScrolling: useIsScrolling ? states.isScrolling : undefined,
368
+ style: getItemStyle(i)
369
+ })));
370
+ }
371
+ }
372
+ return nodes;
373
+ }, [start, end, total, data, useIsScrolling, states.isScrolling, getItemStyle, children]);
374
+ var InnerNode = /*#__PURE__*/React.createElement(Inner, _objectSpread(_objectSpread({}, innerProps), {}, {
375
+ style: innerStyle,
376
+ ref: innerRef
377
+ }), childrenNodes);
378
+ var listContainer = /*#__PURE__*/React.createElement(Container, {
379
+ className: classNames(ns.e('window'), className),
380
+ style: Object.assign.apply(Object, [{}].concat(_toConsumableArray(windowStyle))),
381
+ onScroll: onScroll,
382
+ ref: windowRef,
383
+ key: 0,
384
+ children: !isString(Container) ? {
385
+ default: function _default() {
386
+ return [InnerNode];
387
+ }
388
+ } : [InnerNode]
389
+ });
390
+ var scrollbar = /*#__PURE__*/React.createElement(Scrollbar, {
391
+ ref: scrollbarRef,
392
+ clientSize: clientSize,
393
+ layout: layout,
394
+ onScroll: onScrollbarScroll,
395
+ ratio: clientSize * 100 / estimatedTotalSize,
396
+ scrollFrom: states.scrollOffset / (estimatedTotalSize - clientSize),
397
+ total: total,
398
+ alwaysOn: states.scrollbarAlwaysOn
399
+ });
400
+ return /*#__PURE__*/React.createElement('div', {
401
+ key: 0,
402
+ className: classNames(ns.e('wrapper'), states.scrollbarAlwaysOn ? 'always-on' : '')
403
+ }, [listContainer, scrollbar]);
404
+ });
405
+ ListComponent.displayName = name !== null && name !== void 0 ? name : 'ElVirtualList';
406
+ return ListComponent;
407
+ };
408
+ export default createList;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { VirtualizedGridProps } from '../props';
3
+ type Indices = {
4
+ columnIndex?: number;
5
+ rowIndex?: number;
6
+ };
7
+ declare const DynamicSizeGrid: React.ForwardRefExoticComponent<VirtualizedGridProps & React.RefAttributes<import("../types").GridExposes>>;
8
+ export default DynamicSizeGrid;
9
+ export type ResetAfterIndex = (idx: number, forceUpdate: boolean) => void;
10
+ export type ResetAfterIndices = (indices: Indices, forceUpdate: boolean) => void;
11
+ export type DynamicSizeGridInstance = React.ElementRef<typeof DynamicSizeGrid> & {
12
+ resetAfterColumnIndex: ResetAfterIndex;
13
+ resetAfterRowIndex: ResetAfterIndex;
14
+ resetAfter: ResetAfterIndices;
15
+ };
@@ -0,0 +1,242 @@
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
6
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ import createGrid from "../builders/build-grid";
9
+ import { AUTO_ALIGNMENT, CENTERED_ALIGNMENT, DEFAULT_DYNAMIC_LIST_ITEM_SIZE, END_ALIGNMENT, SMART_ALIGNMENT, START_ALIGNMENT } from "../defaults";
10
+ var max = Math.max,
11
+ min = Math.min,
12
+ floor = Math.floor;
13
+ var SCOPE = 'ElDynamicSizeGrid';
14
+ // generates props access key via type
15
+ var ACCESS_SIZER_KEY_MAP = {
16
+ column: 'columnWidth',
17
+ row: 'rowHeight'
18
+ };
19
+
20
+ // generates cache access key via type
21
+ var ACCESS_LAST_VISITED_KEY_MAP = {
22
+ column: 'lastVisitedColumnIndex',
23
+ row: 'lastVisitedRowIndex'
24
+ };
25
+ var getItemFromCache = function getItemFromCache(props, index, gridCache, type) {
26
+ var _ref = [gridCache[type], props[ACCESS_SIZER_KEY_MAP[type]], gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]]],
27
+ cachedItems = _ref[0],
28
+ sizer = _ref[1],
29
+ lastVisited = _ref[2];
30
+ if (index > lastVisited) {
31
+ var offset = 0;
32
+ if (lastVisited >= 0) {
33
+ var item = cachedItems[lastVisited];
34
+ offset = item.offset + item.size;
35
+ }
36
+ for (var i = lastVisited + 1; i <= index; i++) {
37
+ var size = sizer(i);
38
+ cachedItems[i] = {
39
+ offset: offset,
40
+ size: size
41
+ };
42
+ offset += size;
43
+ }
44
+ gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]] = index;
45
+ }
46
+ return cachedItems[index];
47
+ };
48
+ var bs = function bs(props, gridCache, low, high, offset, type) {
49
+ while (low <= high) {
50
+ var mid = low + floor((high - low) / 2);
51
+ var currentOffset = getItemFromCache(props, mid, gridCache, type).offset;
52
+ if (currentOffset === offset) {
53
+ return mid;
54
+ } else if (currentOffset < offset) {
55
+ low = mid + 1;
56
+ } else {
57
+ high = mid - 1;
58
+ }
59
+ }
60
+ return max(0, low - 1);
61
+ };
62
+ var es = function es(props, gridCache, idx, offset, type) {
63
+ var total = type === 'column' ? props.totalColumn : props.totalRow;
64
+ var exponent = 1;
65
+ while (idx < total && getItemFromCache(props, idx, gridCache, type).offset < offset) {
66
+ idx += exponent;
67
+ exponent *= 2;
68
+ }
69
+ return bs(props, gridCache, floor(idx / 2), min(idx, total - 1), offset, type);
70
+ };
71
+ var findItem = function findItem(props, gridCache, offset, type) {
72
+ var _ref2 = [gridCache[type], gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]]],
73
+ cache = _ref2[0],
74
+ lastVisitedIndex = _ref2[1];
75
+ var lastVisitedItemOffset = lastVisitedIndex > 0 ? cache[lastVisitedIndex].offset : 0;
76
+ if (lastVisitedItemOffset >= offset) {
77
+ return bs(props, gridCache, 0, lastVisitedIndex, offset, type);
78
+ }
79
+ return es(props, gridCache, max(0, lastVisitedIndex), offset, type);
80
+ };
81
+ var getEstimatedTotalHeight = function getEstimatedTotalHeight(_ref3, _ref4) {
82
+ var totalRow = _ref3.totalRow;
83
+ var estimatedRowHeight = _ref4.estimatedRowHeight,
84
+ lastVisitedRowIndex = _ref4.lastVisitedRowIndex,
85
+ row = _ref4.row;
86
+ var sizeOfVisitedRows = 0;
87
+ if (lastVisitedRowIndex >= totalRow) {
88
+ lastVisitedRowIndex = totalRow - 1;
89
+ }
90
+ if (lastVisitedRowIndex >= 0) {
91
+ var item = row[lastVisitedRowIndex];
92
+ sizeOfVisitedRows = item.offset + item.size;
93
+ }
94
+ var unvisitedItems = totalRow - lastVisitedRowIndex - 1;
95
+ var sizeOfUnvisitedItems = unvisitedItems * estimatedRowHeight;
96
+ return sizeOfVisitedRows + sizeOfUnvisitedItems;
97
+ };
98
+ var getEstimatedTotalWidth = function getEstimatedTotalWidth(_ref5, _ref6) {
99
+ var totalColumn = _ref5.totalColumn;
100
+ var column = _ref6.column,
101
+ estimatedColumnWidth = _ref6.estimatedColumnWidth,
102
+ lastVisitedColumnIndex = _ref6.lastVisitedColumnIndex;
103
+ var sizeOfVisitedColumns = 0;
104
+ if (lastVisitedColumnIndex > totalColumn) {
105
+ lastVisitedColumnIndex = totalColumn - 1;
106
+ }
107
+ if (lastVisitedColumnIndex >= 0) {
108
+ var item = column[lastVisitedColumnIndex];
109
+ sizeOfVisitedColumns = item.offset + item.size;
110
+ }
111
+ var unvisitedItems = totalColumn - lastVisitedColumnIndex - 1;
112
+ var sizeOfUnvisitedItems = unvisitedItems * estimatedColumnWidth;
113
+ return sizeOfVisitedColumns + sizeOfUnvisitedItems;
114
+ };
115
+ var ACCESS_ESTIMATED_SIZE_KEY_MAP = {
116
+ column: getEstimatedTotalWidth,
117
+ row: getEstimatedTotalHeight
118
+ };
119
+ var getOffset = function getOffset(props, index, alignment, scrollOffset, cache, type, scrollBarWidth) {
120
+ var _ref7 = [type === 'row' ? props.height : props.width, ACCESS_ESTIMATED_SIZE_KEY_MAP[type]],
121
+ _ref8 = _slicedToArray(_ref7, 2),
122
+ size = _ref8[0],
123
+ estimatedSizeAssociates = _ref8[1];
124
+ var item = getItemFromCache(props, index, cache, type);
125
+ var estimatedSize = estimatedSizeAssociates(props, cache);
126
+ var maxOffset = max(0, min(estimatedSize - size, item.offset));
127
+ var minOffset = max(0, item.offset - size + scrollBarWidth + item.size);
128
+ var finalAlignment = alignment;
129
+ if (alignment === SMART_ALIGNMENT) {
130
+ if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {
131
+ finalAlignment = AUTO_ALIGNMENT;
132
+ } else {
133
+ finalAlignment = CENTERED_ALIGNMENT;
134
+ }
135
+ }
136
+ switch (finalAlignment) {
137
+ case START_ALIGNMENT:
138
+ {
139
+ return maxOffset;
140
+ }
141
+ case END_ALIGNMENT:
142
+ {
143
+ return minOffset;
144
+ }
145
+ case CENTERED_ALIGNMENT:
146
+ {
147
+ return Math.round(minOffset + (maxOffset - minOffset) / 2);
148
+ }
149
+ case AUTO_ALIGNMENT:
150
+ default:
151
+ {
152
+ if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {
153
+ return scrollOffset;
154
+ } else if (minOffset > maxOffset) {
155
+ return minOffset;
156
+ } else if (scrollOffset < minOffset) {
157
+ return minOffset;
158
+ } else {
159
+ return maxOffset;
160
+ }
161
+ }
162
+ }
163
+ };
164
+ var DynamicSizeGrid = createGrid({
165
+ name: 'ElDynamicSizeGrid',
166
+ getColumnPosition: function getColumnPosition(props, idx, cache) {
167
+ var item = getItemFromCache(props, idx, cache, 'column');
168
+ return [item.size, item.offset];
169
+ },
170
+ getRowPosition: function getRowPosition(props, idx, cache) {
171
+ var item = getItemFromCache(props, idx, cache, 'row');
172
+ return [item.size, item.offset];
173
+ },
174
+ getColumnOffset: function getColumnOffset(props, columnIndex, alignment, scrollLeft, cache, scrollBarWidth) {
175
+ return getOffset(props, columnIndex, alignment, scrollLeft, cache, 'column', scrollBarWidth);
176
+ },
177
+ getRowOffset: function getRowOffset(props, rowIndex, alignment, scrollTop, cache, scrollBarWidth) {
178
+ return getOffset(props, rowIndex, alignment, scrollTop, cache, 'row', scrollBarWidth);
179
+ },
180
+ getColumnStartIndexForOffset: function getColumnStartIndexForOffset(props, scrollLeft, cache) {
181
+ return findItem(props, cache, scrollLeft, 'column');
182
+ },
183
+ getColumnStopIndexForStartIndex: function getColumnStopIndexForStartIndex(props, startIndex, scrollLeft, cache) {
184
+ var item = getItemFromCache(props, startIndex, cache, 'column');
185
+ var maxOffset = scrollLeft + props.width;
186
+ var offset = item.offset + item.size;
187
+ var stopIndex = startIndex;
188
+ while (stopIndex < props.totalColumn - 1 && offset < maxOffset) {
189
+ stopIndex++;
190
+ offset += getItemFromCache(props, startIndex, cache, 'column').size;
191
+ }
192
+ return stopIndex;
193
+ },
194
+ getEstimatedTotalHeight: getEstimatedTotalHeight,
195
+ getEstimatedTotalWidth: getEstimatedTotalWidth,
196
+ getRowStartIndexForOffset: function getRowStartIndexForOffset(props, scrollTop, cache) {
197
+ return findItem(props, cache, scrollTop, 'row');
198
+ },
199
+ getRowStopIndexForStartIndex: function getRowStopIndexForStartIndex(props, startIndex, scrollTop, cache) {
200
+ var totalRow = props.totalRow,
201
+ height = props.height;
202
+ var item = getItemFromCache(props, startIndex, cache, 'row');
203
+ var maxOffset = scrollTop + height;
204
+ var offset = item.size + item.offset;
205
+ var stopIndex = startIndex;
206
+ while (stopIndex < totalRow - 1 && offset < maxOffset) {
207
+ stopIndex++;
208
+ offset += getItemFromCache(props, stopIndex, cache, 'row').size;
209
+ }
210
+ return stopIndex;
211
+ },
212
+ injectToInstance: function injectToInstance(cache) {
213
+ // In React, we'll expose these methods via ref
214
+ },
215
+ initCache: function initCache(_ref9) {
216
+ var _ref9$estimatedColumn = _ref9.estimatedColumnWidth,
217
+ estimatedColumnWidth = _ref9$estimatedColumn === void 0 ? DEFAULT_DYNAMIC_LIST_ITEM_SIZE : _ref9$estimatedColumn,
218
+ _ref9$estimatedRowHei = _ref9.estimatedRowHeight,
219
+ estimatedRowHeight = _ref9$estimatedRowHei === void 0 ? DEFAULT_DYNAMIC_LIST_ITEM_SIZE : _ref9$estimatedRowHei;
220
+ var cache = {
221
+ column: {},
222
+ estimatedColumnWidth: estimatedColumnWidth,
223
+ estimatedRowHeight: estimatedRowHeight,
224
+ lastVisitedColumnIndex: -1,
225
+ lastVisitedRowIndex: -1,
226
+ row: {}
227
+ };
228
+ return cache;
229
+ },
230
+ clearCache: false,
231
+ validateProps: function validateProps(_ref10) {
232
+ var columnWidth = _ref10.columnWidth,
233
+ rowHeight = _ref10.rowHeight;
234
+ if (typeof columnWidth !== 'function') {
235
+ throw new Error("[".concat(SCOPE, "] \"columnWidth\" must be passed as function, instead ").concat(_typeof(columnWidth), " was given."));
236
+ }
237
+ if (typeof rowHeight !== 'function') {
238
+ throw new Error("[".concat(SCOPE, "] \"rowHeight\" must be passed as function, instead ").concat(_typeof(rowHeight), " was given."));
239
+ }
240
+ }
241
+ });
242
+ export default DynamicSizeGrid;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { VirtualizedListProps } from '../props';
3
+ declare const DynamicSizeList: React.ForwardRefExoticComponent<VirtualizedListProps & {
4
+ children: (props: any) => React.ReactNode;
5
+ } & React.RefAttributes<import("../types").ListExposes>>;
6
+ export type DynamicSizeListInstance = React.ElementRef<typeof DynamicSizeList> & unknown;
7
+ export default DynamicSizeList;