@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
@@ -1,21 +1,22 @@
1
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
1
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4
- 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."); }
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ 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."); }
5
5
  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); }
6
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
7
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
8
6
  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; }
7
+ 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; } }
8
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  import classNames from 'classnames';
10
- import React, { memo, useCallback, useContext, useMemo, useRef } from 'react';
10
+ import React, { forwardRef, memo, useCallback, useContext, useMemo, useRef, useState } from 'react';
11
11
  import Icon from "../Icon/Icon";
12
12
  import Transition from "../Transition/Transition";
13
13
  import { useClassNames } from "../hooks";
14
14
  import { CollapseContext } from "./CollapseContext";
15
15
  import { afterEnter as _afterEnter, afterLeave as _afterLeave, beforeEnter as _beforeEnter, beforeLeave as _beforeLeave, onEnter as _onEnter, onLeave as _onLeave } from "./CollapseTransition";
16
- var CollapseItem = /*#__PURE__*/memo(function (props) {
16
+ var CollapseItem = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref) {
17
17
  var name = props.name,
18
18
  title = props.title,
19
+ icon = props.icon,
19
20
  disabled = props.disabled,
20
21
  _props$classPrefix = props.classPrefix,
21
22
  classPrefix = _props$classPrefix === void 0 ? 'collapse-item' : _props$classPrefix;
@@ -24,60 +25,101 @@ var CollapseItem = /*#__PURE__*/memo(function (props) {
24
25
  e = _useClassNames.e,
25
26
  is = _useClassNames.is;
26
27
  var _useContext = useContext(CollapseContext),
27
- value = _useContext.value,
28
- setValue = _useContext.setValue,
29
- accordion = _useContext.accordion,
30
- onChange = _useContext.onChange;
28
+ activeNames = _useContext.activeNames,
29
+ handleItemClick = _useContext.handleItemClick;
30
+ var isClick = useRef(false);
31
+ var _useState = useState(false),
32
+ _useState2 = _slicedToArray(_useState, 2),
33
+ focusing = _useState2[0],
34
+ setFocusing = _useState2[1];
31
35
  var containerRef = useRef(null);
32
36
  var active = useMemo(function () {
33
- if (accordion && typeof value === 'string') {
34
- return name === value;
35
- } else {
36
- if (value instanceof Array) {
37
- return value.includes(name);
38
- }
39
- }
40
- return false;
41
- }, [accordion, name, value]);
42
- var handleClick = useCallback(function () {
43
- if (accordion) {
44
- setValue(active ? '' : name);
45
- onChange === null || onChange === void 0 || onChange(active ? '' : name);
46
- } else {
47
- if (value instanceof Array) {
48
- if (active) {
49
- var v = JSON.parse(JSON.stringify(value));
50
- v.splice(v.indexOf(name), 1);
51
- setValue(v);
52
- onChange === null || onChange === void 0 || onChange(v);
53
- } else {
54
- setValue([].concat(_toConsumableArray(value), [name]));
55
- onChange === null || onChange === void 0 || onChange([].concat(_toConsumableArray(value), [name]));
56
- }
37
+ return activeNames.includes(name);
38
+ }, [activeNames, name]);
39
+ var handleFocus = function handleFocus() {
40
+ setTimeout(function () {
41
+ if (!isClick.current) {
42
+ setFocusing(true);
57
43
  } else {
58
- setValue(active ? [] : [name]);
59
- onChange === null || onChange === void 0 || onChange(active ? [] : [name]);
44
+ isClick.current = false;
60
45
  }
46
+ }, 50);
47
+ };
48
+ var handleHeaderClick = useCallback(function (event) {
49
+ if (disabled) {
50
+ return;
51
+ }
52
+ var target = event.target;
53
+ if (target !== null && target !== void 0 && target.closest('input, textarea, select')) {
54
+ return;
55
+ }
56
+ handleItemClick(name);
57
+ isClick.current = true;
58
+ setFocusing(false);
59
+ }, [disabled, handleItemClick, name]);
60
+ var handleEnterClick = function handleEnterClick(event) {
61
+ event.preventDefault();
62
+ if (event.key !== 'Enter' && event.code !== 'Space') {
63
+ return;
64
+ }
65
+ event.stopPropagation();
66
+ var target = event.target;
67
+ if (target !== null && target !== void 0 && target.closest('input, textarea, select')) {
68
+ return;
61
69
  }
62
- }, [accordion, active, name, onChange, setValue, value]);
70
+ handleItemClick(name);
71
+ };
72
+ var getIcon = function getIcon() {
73
+ if (!icon) {
74
+ return /*#__PURE__*/React.createElement(Icon, {
75
+ name: "angle-right",
76
+ className: classNames(e(_templateObject || (_templateObject = _taggedTemplateLiteral(["arrow"]))), is({
77
+ active: active
78
+ }))
79
+ });
80
+ }
81
+ if (typeof icon === 'function') {
82
+ return icon(active);
83
+ }
84
+ return /*#__PURE__*/React.isValidElement(icon) ? icon : /*#__PURE__*/React.createElement(Icon, {
85
+ name: icon,
86
+ className: classNames(e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["arrow"]))), is({
87
+ active: active
88
+ }))
89
+ });
90
+ };
91
+ React.useImperativeHandle(ref, function () {
92
+ return {
93
+ isActive: active
94
+ };
95
+ });
63
96
  return /*#__PURE__*/React.createElement("div", {
64
97
  className: classNames(b(), is({
65
98
  active: active,
66
99
  disabled: disabled
67
100
  }), props.className),
68
101
  style: props.style
69
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
70
- className: e(_templateObject || (_templateObject = _taggedTemplateLiteral(["header"]))),
71
- onClick: handleClick
72
- }, title, /*#__PURE__*/React.createElement(Icon, {
73
- name: "angle-right",
74
- className: classNames(e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["arrow"]))), is({
102
+ }, /*#__PURE__*/React.createElement("div", {
103
+ className: classNames(e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["header"]))), is({
75
104
  active: active
76
- }))
77
- }))), /*#__PURE__*/React.createElement(Transition, {
78
- nodeRef: containerRef,
79
- name: b('menu-collapse', false),
105
+ }), {
106
+ focusing: focusing && !disabled
107
+ }),
108
+ onClick: handleHeaderClick,
109
+ onKeyDown: handleEnterClick,
110
+ tabIndex: 0,
111
+ onFocus: handleFocus,
112
+ onBlur: function onBlur() {
113
+ return setFocusing(false);
114
+ }
115
+ }, /*#__PURE__*/React.createElement("span", {
116
+ className: e(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["title"])))
117
+ }, typeof title === 'function' ? title(active) : title), getIcon()), /*#__PURE__*/React.createElement(Transition, {
118
+ nodeRef: containerRef
119
+ // name={b('menu-collapse', false)}
120
+ ,
80
121
  duration: 300,
122
+ showDuration: 0,
81
123
  visible: active,
82
124
  beforeEnter: function beforeEnter() {
83
125
  return _beforeEnter(containerRef);
@@ -99,13 +141,13 @@ var CollapseItem = /*#__PURE__*/memo(function (props) {
99
141
  }
100
142
  }, /*#__PURE__*/React.createElement("div", {
101
143
  ref: containerRef,
102
- className: classNames(e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["wrap"])))),
144
+ className: classNames(e(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["wrap"])))),
103
145
  style: {
104
146
  display: 'none'
105
147
  }
106
148
  }, /*#__PURE__*/React.createElement("div", {
107
- className: e(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["content"])))
149
+ className: e(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["content"])))
108
150
  }, props.children))));
109
- });
151
+ }));
110
152
  CollapseItem.displayName = 'CollapseItem';
111
153
  export default CollapseItem;
@@ -22,10 +22,12 @@ export var onEnter = function onEnter(node) {
22
22
  };
23
23
  export var afterEnter = function afterEnter(node) {
24
24
  if (node.current) {
25
- var el = node.current;
26
- removeClass(el, 'collapse-transition');
27
- el.style.height = '';
28
- el.style.overflow = el.dataset.oldOverflow;
25
+ setTimeout(function () {
26
+ var el = node.current;
27
+ removeClass(el, 'collapse-transition');
28
+ el.style.height = '';
29
+ el.style.overflow = el.dataset.oldOverflow;
30
+ }, 300);
29
31
  }
30
32
  };
31
33
  export var beforeLeave = function beforeLeave(node) {
@@ -39,13 +41,15 @@ export var beforeLeave = function beforeLeave(node) {
39
41
  el.style.height = "".concat(el.scrollHeight, "px");
40
42
  el.style.overflow = 'hidden';
41
43
  el.style.margin = 0;
44
+ el.style.transitionProperty = 'height';
45
+ setTimeout(function () {
46
+ el.style.height = 0;
47
+ }, 0);
42
48
  }
43
49
  };
44
50
  export var onLeave = function onLeave(node) {
45
51
  if (node.current) {
46
52
  var el = node.current;
47
- el.style.transitionProperty = 'height';
48
- el.style.height = 0;
49
53
  }
50
54
  };
51
55
  export var afterLeave = function afterLeave(node) {
@@ -53,6 +57,6 @@ export var afterLeave = function afterLeave(node) {
53
57
  var el = node.current;
54
58
  el.style.height = '';
55
59
  el.style.overflow = el.dataset.oldOverflow;
56
- el.style.display = '';
60
+ // el.style.display = '';
57
61
  }
58
62
  };
@@ -1,3 +1,3 @@
1
1
  export { default as Collapse } from './Collapse';
2
2
  export { default as CollapseItem } from './CollapseItem';
3
- export type { CollapseItemProps, CollapseProps } from './typings';
3
+ export type { CollapseActiveName, CollapseItemProps, CollapseItemRef, CollapseProps, CollapseRef } from './typings';
@@ -1,20 +1,35 @@
1
1
  import React from 'react';
2
+ import { IconName } from '../Icon';
2
3
  import { BaseProps, NativeProps } from '../types/common';
4
+ export type CollapseActiveName = string | number;
5
+ export type CollapseRef = {
6
+ activeNames: CollapseActiveName | CollapseActiveName[];
7
+ setActiveNames: (activeNames: CollapseActiveName[]) => void;
8
+ };
9
+ export type CollapseItemRef = {
10
+ isActive: boolean;
11
+ };
3
12
  export interface CollapseProps extends BaseProps, NativeProps<'--el-collapse-border-color' | '--el-collapse-header-height' | '--el-collapse-header-bg-color' | '--el-collapse-header-text-color' | '--el-collapse-header-font-size' | '--el-collapse-content-bg-color' | '--el-collapse-content-font-size' | '--el-collapse-content-text-color' | '--el-transition-duration' | '--el-collapse-item-margin'> {
4
13
  /** 当前激活的面板(如果是手风琴模式,绑定值类型需要为string,否则为array) */
5
- defaultActiveName?: string | string[];
14
+ defaultActiveName?: CollapseActiveName | CollapseActiveName[];
6
15
  /** 当前激活的面板(可控模式:如果是手风琴模式,绑定值类型需要为string,否则为array) */
7
- activeName?: string | string[];
16
+ activeName?: CollapseActiveName | CollapseActiveName[];
8
17
  /** 是否手风琴模式 */
9
18
  accordion?: boolean;
19
+ /** 展开图标位置 */
20
+ expandIconPosition?: 'left' | 'right';
21
+ /** 折叠状态更改之前的折叠钩子。 返回 false 或者返回 Promise 且被 reject 则停止切换 */
22
+ beforeCollapse?: (name: CollapseActiveName) => Promise<boolean> | boolean;
10
23
  /** 当前激活面板改变时触发(如果是手风琴模式,参数 activeNames 类型为string,否则为array) */
11
- onChange?: (activeNames: string | string[]) => void;
24
+ onChange?: (activeNames: CollapseActiveName | CollapseActiveName[]) => void;
12
25
  }
13
26
  export interface CollapseItemProps extends BaseProps, NativeProps {
14
27
  /** 唯一标志符 */
15
- name: string;
28
+ name: CollapseActiveName;
16
29
  /** 面板标题 */
17
- title?: string | React.ReactElement;
30
+ title?: string | React.ReactElement | ((isActive: boolean) => React.ReactNode);
31
+ /** 自定义图标 */
32
+ icon?: IconName | React.ReactElement | ((isActive: boolean) => React.ReactNode);
18
33
  /** 是否禁用 */
19
34
  disabled?: boolean;
20
35
  }
@@ -1,6 +1,6 @@
1
1
  import { PopperOptions } from '../Popper';
2
2
  import { AnimationEventProps, BaseProps, NativeProps, TypeAttributes } from '../types/common';
3
- export interface ColorPickerProps extends BaseProps, NativeProps, AnimationEventProps, PopperOptions {
3
+ export interface ColorPickerProps extends BaseProps, NativeProps<'--el-color-picker-alpha-bg-a' | '--el-color-picker-alpha-bg-b'>, AnimationEventProps, PopperOptions {
4
4
  /** 绑定值(可控模式) */
5
5
  value?: string;
6
6
  /** 默认值 */
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { CountdownProps, CountdownRef } from './typings';
3
+ declare const Countdown: React.MemoExoticComponent<React.ForwardRefExoticComponent<CountdownProps & React.RefAttributes<CountdownRef>>>;
4
+ export default Countdown;
@@ -0,0 +1,121 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { useMount, useUnmount } from 'ahooks';
8
+ import React, { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
9
+ import Statistic from "../Statistic/Statistic";
10
+ import { cAF, rAF } from "../Util";
11
+ import { mergeDefaultProps } from "../Util/base";
12
+ import { formatTime, getTime } from "./util";
13
+ var Countdown = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref) {
14
+ props = mergeDefaultProps({
15
+ format: 'HH:mm:ss',
16
+ value: 0,
17
+ valueStyle: undefined
18
+ }, props);
19
+ var _props = props,
20
+ format = _props.format,
21
+ value = _props.value,
22
+ title = _props.title,
23
+ prefix = _props.prefix,
24
+ suffix = _props.suffix,
25
+ valueStyle = _props.valueStyle,
26
+ onChange = _props.onChange,
27
+ onFinish = _props.onFinish,
28
+ className = _props.className,
29
+ style = _props.style,
30
+ children = _props.children;
31
+ var timerRef = useRef(undefined);
32
+ var _useState = useState(0),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ rawValue = _useState2[0],
35
+ setRawValue = _useState2[1];
36
+ var statisticRef = useRef(null);
37
+
38
+ /**
39
+ * @description 计算格式化后的倒计时显示值
40
+ */
41
+ var displayValue = useMemo(function () {
42
+ return formatTime(rawValue, format);
43
+ }, [rawValue, format]);
44
+
45
+ /**
46
+ * @description 自定义格式化函数,传递给 Statistic 组件
47
+ */
48
+ var formatter = useCallback(function (val) {
49
+ return formatTime(Number(val), format);
50
+ }, [format]);
51
+
52
+ /**
53
+ * @description 停止计时器
54
+ */
55
+ var stopTimer = useCallback(function () {
56
+ if (timerRef.current !== undefined) {
57
+ cAF(timerRef.current);
58
+ timerRef.current = undefined;
59
+ }
60
+ }, []);
61
+
62
+ /**
63
+ * @description 启动倒计时计时器
64
+ */
65
+ var startTimer = useCallback(function () {
66
+ var timestamp = getTime(value);
67
+ var frameFunc = function frameFunc() {
68
+ var diff = timestamp - Date.now();
69
+ onChange === null || onChange === void 0 || onChange(diff);
70
+ if (diff <= 0) {
71
+ diff = 0;
72
+ stopTimer();
73
+ onFinish === null || onFinish === void 0 || onFinish();
74
+ } else {
75
+ timerRef.current = rAF(frameFunc);
76
+ }
77
+ setRawValue(diff);
78
+ };
79
+ timerRef.current = rAF(frameFunc);
80
+ }, [value, onChange, onFinish, stopTimer]);
81
+ useMount(function () {
82
+ setRawValue(getTime(value) - Date.now());
83
+ });
84
+ useUnmount(function () {
85
+ stopTimer();
86
+ });
87
+
88
+ /**
89
+ * @description 组件挂载时初始化倒计时并启动计时器
90
+ */
91
+ useEffect(function () {
92
+ stopTimer();
93
+ startTimer();
94
+ }, [value, format]);
95
+
96
+ /**
97
+ * @description 暴露 displayValue 给父组件
98
+ */
99
+ useImperativeHandle(ref, function () {
100
+ return {
101
+ get ref() {
102
+ var _statisticRef$current;
103
+ return (_statisticRef$current = statisticRef.current) === null || _statisticRef$current === void 0 ? void 0 : _statisticRef$current.ref;
104
+ },
105
+ displayValue: displayValue
106
+ };
107
+ });
108
+ return /*#__PURE__*/React.createElement(Statistic, {
109
+ ref: statisticRef,
110
+ value: rawValue,
111
+ title: title,
112
+ prefix: prefix,
113
+ suffix: suffix,
114
+ formatter: formatter,
115
+ valueStyle: valueStyle,
116
+ className: className,
117
+ style: style
118
+ }, children);
119
+ }));
120
+ Countdown.displayName = 'ElCountdown';
121
+ export default Countdown;
@@ -0,0 +1,2 @@
1
+ export { default as Countdown } from './Countdown';
2
+ export type { CountdownProps, CountdownRef } from './typings';
@@ -0,0 +1 @@
1
+ export { default as Countdown } from "./Countdown";
@@ -0,0 +1,52 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import type { CSSProperties, ReactNode, RefObject } from 'react';
3
+ import type { BaseProps, NativeProps } from '../types/common';
4
+ /**
5
+ * @description Countdown 倒计时组件属性
6
+ */
7
+ export interface CountdownProps extends BaseProps, NativeProps {
8
+ /**
9
+ * @description 格式化倒计时显示,支持 Y(年)/M(月)/D(天)/H(时)/m(分)/s(秒)/S(毫秒)
10
+ * @default 'HH:mm:ss'
11
+ */
12
+ format?: string;
13
+ /**
14
+ * @description 设置倒计时的前缀
15
+ */
16
+ prefix?: string | ReactNode;
17
+ /**
18
+ * @description 设置倒计时的后缀
19
+ */
20
+ suffix?: string | ReactNode;
21
+ /**
22
+ * @description 倒计时标题
23
+ */
24
+ title?: string | ReactNode;
25
+ /**
26
+ * @description 目标时间,支持时间戳(毫秒)或 dayjs 等时间对象
27
+ * @default 0
28
+ */
29
+ value?: number | Dayjs;
30
+ /**
31
+ * @description 倒计时数值的样式
32
+ */
33
+ valueStyle?: CSSProperties;
34
+ /**
35
+ * @description 倒计时数值变化时触发
36
+ * @param value - 剩余毫秒数
37
+ */
38
+ onChange?: (value: number) => void;
39
+ /**
40
+ * @description 倒计时结束时触发
41
+ */
42
+ onFinish?: () => void;
43
+ }
44
+ /**
45
+ * @description Countdown 组件暴露的 ref 接口
46
+ */
47
+ export interface CountdownRef {
48
+ /** 倒计时容器 DOM 引用 */
49
+ ref: RefObject<HTMLDivElement>;
50
+ /** 当前格式化后的显示值 */
51
+ displayValue: string | ReactNode;
52
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { Dayjs } from 'dayjs';
2
+ /**
3
+ * @description 将时间值转换为时间戳(毫秒)
4
+ * @param value - 时间值,可以是数字时间戳或 Dayjs 对象
5
+ * @returns 时间戳(毫秒)
6
+ */
7
+ export declare function getTime(value: number | Dayjs): number;
8
+ /**
9
+ * @description 格式化倒计时时间戳为显示字符串
10
+ * @param timestamp - 剩余毫秒数
11
+ * @param format - 格式化模板,支持 Y(年)/M(月)/D(天)/H(时)/m(分)/s(秒)/S(毫秒),用 [] 包裹的文本不会被替换
12
+ * @returns 格式化后的时间字符串
13
+ */
14
+ export declare function formatTime(timestamp: number, format: string): string;
@@ -0,0 +1,58 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { isNumber } from "../Util";
8
+
9
+ /** 时间单位元组:[标识符, 毫秒值] */
10
+ var timeUnits = [['Y', 1000 * 60 * 60 * 24 * 365],
11
+ // years
12
+ ['M', 1000 * 60 * 60 * 24 * 30],
13
+ // months
14
+ ['D', 1000 * 60 * 60 * 24],
15
+ // days
16
+ ['H', 1000 * 60 * 60],
17
+ // hours
18
+ ['m', 1000 * 60],
19
+ // minutes
20
+ ['s', 1000],
21
+ // seconds
22
+ ['S', 1] // million seconds
23
+ ];
24
+
25
+ /**
26
+ * @description 将时间值转换为时间戳(毫秒)
27
+ * @param value - 时间值,可以是数字时间戳或 Dayjs 对象
28
+ * @returns 时间戳(毫秒)
29
+ */
30
+ export function getTime(value) {
31
+ return isNumber(value) ? new Date(value).getTime() : value.valueOf();
32
+ }
33
+
34
+ /**
35
+ * @description 格式化倒计时时间戳为显示字符串
36
+ * @param timestamp - 剩余毫秒数
37
+ * @param format - 格式化模板,支持 Y(年)/M(月)/D(天)/H(时)/m(分)/s(秒)/S(毫秒),用 [] 包裹的文本不会被替换
38
+ * @returns 格式化后的时间字符串
39
+ */
40
+ export function formatTime(timestamp, format) {
41
+ var timeLeft = timestamp;
42
+ var escapeRegex = /\[([^\]]*)]/g;
43
+ var replacedText = timeUnits.reduce(function (current, _ref) {
44
+ var _ref2 = _slicedToArray(_ref, 2),
45
+ name = _ref2[0],
46
+ unit = _ref2[1];
47
+ var replaceRegex = new RegExp("".concat(name, "+(?![^\\[\\]]*\\])"), 'g');
48
+ if (replaceRegex.test(current)) {
49
+ var value = Math.floor(timeLeft / unit);
50
+ timeLeft -= value * unit;
51
+ return current.replace(replaceRegex, function (match) {
52
+ return String(value).padStart(match.length, '0');
53
+ });
54
+ }
55
+ return current;
56
+ }, format);
57
+ return replacedText.replace(escapeRegex, '$1');
58
+ }
@@ -1,5 +1,5 @@
1
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
- var _excluded = ["name", "readonly", "clearable", "required", "valueFormat", "plain", "onClick", "prepend", "append", "error", "warning", "shortcuts", "onChange", "formatter", "type", "isoWeek"];
2
+ var _excluded = ["name", "readonly", "clearable", "required", "valueFormat", "plain", "onClick", "prepend", "append", "shortcuts", "onChange", "formatter", "type", "isoWeek"];
3
3
  var _this = this;
4
4
  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); }
5
5
  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; }
@@ -50,8 +50,6 @@ var DatePicker = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref
50
50
  onClick = _props.onClick,
51
51
  prepend = _props.prepend,
52
52
  append = _props.append,
53
- error = _props.error,
54
- warning = _props.warning,
55
53
  shortcuts = _props.shortcuts,
56
54
  onChange = _props.onChange,
57
55
  formatter = _props.formatter,
@@ -248,8 +246,6 @@ var DatePicker = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref
248
246
  },
249
247
  className: classNames(_defineProperty(_defineProperty({}, "".concat(namespace, "-date"), readonly), 'is-focus', visible)),
250
248
  style: props.style,
251
- error: error,
252
- warning: warning,
253
249
  prepend: prepend,
254
250
  append: append,
255
251
  plain: plain,
@@ -264,9 +260,16 @@ var DatePicker = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref
264
260
  onDestroy: function onDestroy() {
265
261
  return setVisible(false);
266
262
  },
263
+ popperClass: "is-pure",
267
264
  transitionAppear: true,
268
265
  unmountOnExit: true
269
- }, animationInputProps, popperProps), /*#__PURE__*/React.createElement(CalendarContext.Provider, {
266
+ }, animationInputProps, {
267
+ onEnter: function onEnter() {
268
+ var _props$onEnter, _props2, _popperInstRef$curren;
269
+ (_props$onEnter = (_props2 = props).onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(_props2);
270
+ (_popperInstRef$curren = popperInstRef.current) === null || _popperInstRef$curren === void 0 || _popperInstRef$curren.update();
271
+ }
272
+ }, popperProps), /*#__PURE__*/React.createElement(CalendarContext.Provider, {
270
273
  value: {
271
274
  value: dateProp,
272
275
  valueRange: valueRange,
@@ -48,8 +48,6 @@ var DateRangePicker = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props
48
48
  prepend = _props.prepend,
49
49
  append = _props.append,
50
50
  onChange = _props.onChange,
51
- error = _props.error,
52
- warning = _props.warning,
53
51
  formatter = _props.formatter;
54
52
  var _useControlled = useControlled(props.value, props.defaultValue),
55
53
  _useControlled2 = _slicedToArray(_useControlled, 2),
@@ -232,9 +230,7 @@ var DateRangePicker = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props
232
230
  return /*#__PURE__*/React.createElement("div", {
233
231
  className: classNames(b('date-editor', 'date-editor--daterange', false), b(_templateObject || (_templateObject = _taggedTemplateLiteral(["editor"]))), be('input', 'wrapper', false), be('tooltip', 'trigger', false), _defineProperty({}, bm('editor', size), size), is({
234
232
  focus: visible,
235
- disabled: disabled,
236
- error: error,
237
- warning: warning
233
+ disabled: disabled
238
234
  })),
239
235
  ref: referenceElement,
240
236
  onClick: onActive,
@@ -275,7 +271,7 @@ var DateRangePicker = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props
275
271
  event.stopPropagation();
276
272
  }
277
273
  }));
278
- }, [b, be, bm, size, is, visible, disabled, error, warning, onActive, append, prepend, props.style, props.readOnly, props.rangeSeparator, onMouseEnter, onMouseLeave, e, name, startPlaceholder, formatValue, endPlaceholder, clearable, ebm, onClear]);
274
+ }, [b, be, bm, size, is, visible, disabled, onActive, append, prepend, props.style, props.readOnly, props.rangeSeparator, onMouseEnter, onMouseLeave, e, name, startPlaceholder, formatValue, endPlaceholder, clearable, ebm, onClear]);
279
275
  return /*#__PURE__*/React.createElement(React.Fragment, null, append || prepend ? /*#__PURE__*/React.createElement(InputGroup, {
280
276
  prepend: prepend,
281
277
  append: append,
@@ -289,6 +285,11 @@ var DateRangePicker = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props
289
285
  onDestroy: function onDestroy() {
290
286
  return setVisible(false);
291
287
  },
288
+ onEnter: function onEnter() {
289
+ var _props$onEnter, _props2, _popperInstRef$curren;
290
+ (_props$onEnter = (_props2 = props).onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(_props2);
291
+ (_popperInstRef$curren = popperInstRef.current) === null || _popperInstRef$curren === void 0 || _popperInstRef$curren.update();
292
+ },
292
293
  transitionAppear: true,
293
294
  unmountOnExit: true
294
295
  }, /*#__PURE__*/React.createElement(CalendarContext.Provider, {