@qsxy/element-plus-react 1.0.2 → 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 (636) 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/Alert.d.ts +7 -0
  8. package/dist/Alert/Alert.js +98 -0
  9. package/dist/Alert/index.d.ts +2 -0
  10. package/dist/Alert/index.js +1 -0
  11. package/dist/Alert/typings.d.ts +45 -0
  12. package/dist/Alert/typings.js +1 -0
  13. package/dist/Anchor/Anchor.d.ts +6 -0
  14. package/dist/Anchor/Anchor.js +258 -0
  15. package/dist/Anchor/AnchorLink.d.ts +4 -0
  16. package/dist/Anchor/AnchorLink.js +77 -0
  17. package/dist/Anchor/element.d.ts +4 -0
  18. package/dist/Anchor/element.js +17 -0
  19. package/dist/Anchor/index.d.ts +3 -0
  20. package/dist/Anchor/index.js +2 -0
  21. package/dist/Anchor/typings.d.ts +101 -0
  22. package/dist/Anchor/typings.js +1 -0
  23. package/dist/Backtop/Backtop.d.ts +7 -0
  24. package/dist/Backtop/Backtop.js +153 -0
  25. package/dist/Backtop/index.d.ts +2 -0
  26. package/dist/Backtop/index.js +1 -0
  27. package/dist/Backtop/typings.d.ts +31 -0
  28. package/dist/Backtop/typings.js +1 -0
  29. package/dist/Button/Button.d.ts +2 -11
  30. package/dist/Button/Button.js +2 -6
  31. package/dist/Button/index.d.ts +1 -1
  32. package/dist/Calendar/Calendar.js +12 -8
  33. package/dist/Calendar/YearRangePanel.js +1 -1
  34. package/dist/Card/Card.js +5 -3
  35. package/dist/Carousel/typings.d.ts +1 -1
  36. package/dist/Cascader/Cascader.d.ts +3 -3
  37. package/dist/Cascader/Cascader.js +238 -166
  38. package/dist/Cascader/CascaderContext.d.ts +9 -3
  39. package/dist/Cascader/CascaderContext.js +3 -1
  40. package/dist/Cascader/CascaderDropdown.d.ts +4 -3
  41. package/dist/Cascader/CascaderDropdown.js +21 -10
  42. package/dist/Cascader/CascaderMenu.d.ts +2 -2
  43. package/dist/Cascader/CascaderMenu.js +56 -14
  44. package/dist/Cascader/CascaderPanel.d.ts +4 -0
  45. package/dist/Cascader/CascaderPanel.js +11 -0
  46. package/dist/Cascader/index.d.ts +4 -1
  47. package/dist/Cascader/index.js +2 -1
  48. package/dist/Cascader/typings.d.ts +45 -31
  49. package/dist/Cascader/useCascader.d.ts +14 -27
  50. package/dist/Cascader/useCascader.js +153 -59
  51. package/dist/Checkbox/Checkbox.js +3 -2
  52. package/dist/CheckboxGroup/CheckboxGroup.d.ts +11 -1
  53. package/dist/CheckboxGroup/CheckboxGroup.js +78 -19
  54. package/dist/Collapse/Collapse.d.ts +3 -3
  55. package/dist/Collapse/Collapse.js +71 -16
  56. package/dist/Collapse/CollapseContext.d.ts +3 -6
  57. package/dist/Collapse/CollapseContext.js +2 -4
  58. package/dist/Collapse/CollapseItem.d.ts +3 -3
  59. package/dist/Collapse/CollapseItem.js +93 -51
  60. package/dist/Collapse/CollapseTransition.js +11 -7
  61. package/dist/Collapse/index.d.ts +1 -1
  62. package/dist/Collapse/typings.d.ts +20 -5
  63. package/dist/ColorPicker/typings.d.ts +1 -1
  64. package/dist/ConfigProvider/ConfigProvider.js +2 -24
  65. package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
  66. package/dist/ConfigProvider/typings.d.ts +1 -1
  67. package/dist/Container/Main.d.ts +1 -1
  68. package/dist/Container/typings.d.ts +1 -1
  69. package/dist/Countdown/Countdown.d.ts +4 -0
  70. package/dist/Countdown/Countdown.js +121 -0
  71. package/dist/Countdown/index.d.ts +2 -0
  72. package/dist/Countdown/index.js +1 -0
  73. package/dist/Countdown/typings.d.ts +52 -0
  74. package/dist/Countdown/typings.js +1 -0
  75. package/dist/Countdown/util.d.ts +14 -0
  76. package/dist/Countdown/util.js +58 -0
  77. package/dist/DatePicker/DatePicker.js +9 -6
  78. package/dist/DatePicker/DateRangePicker.js +7 -6
  79. package/dist/DatePicker/typings.d.ts +0 -13
  80. package/dist/DateTimePicker/DateTimePicker.js +29 -19
  81. package/dist/Dialog/Dialog.d.ts +2 -13
  82. package/dist/Dialog/Dialog.js +143 -160
  83. package/dist/Dialog/DialogBody.js +3 -38
  84. package/dist/Dialog/DialogContext.d.ts +0 -7
  85. package/dist/Dialog/DialogContext.js +1 -5
  86. package/dist/Dialog/DialogHeader.js +2 -2
  87. package/dist/Dialog/typings.d.ts +43 -28
  88. package/dist/Dialog/useDraggable.d.ts +2 -1
  89. package/dist/Dialog/useDraggable.js +34 -9
  90. package/dist/Drawer/Drawer.d.ts +2 -13
  91. package/dist/Drawer/Drawer.js +115 -137
  92. package/dist/Drawer/DrawerBody.js +7 -8
  93. package/dist/Drawer/DrawerFooter.js +7 -7
  94. package/dist/Drawer/DrawerHeader.js +11 -8
  95. package/dist/Drawer/typings.d.ts +22 -6
  96. package/dist/Dropdown/Dropdown.js +5 -3
  97. package/dist/Dropdown/typings.d.ts +2 -1
  98. package/dist/Empty/Empty.js +16 -4
  99. package/dist/Form/Form.d.ts +4 -21
  100. package/dist/Form/Form.js +53 -25
  101. package/dist/Form/FormItem.d.ts +4 -52
  102. package/dist/Form/FormItem.js +633 -650
  103. package/dist/Form/FormItemContext.d.ts +10 -1
  104. package/dist/Form/FormItemContext.js +9 -1
  105. package/dist/Form/FormLabelWrap.d.ts +8 -0
  106. package/dist/Form/FormLabelWrap.js +103 -0
  107. package/dist/Form/{FieldContext.d.ts → InternalFormContext.d.ts} +2 -2
  108. package/dist/Form/{FieldContext.js → InternalFormContext.js} +5 -2
  109. package/dist/Form/List.d.ts +3 -3
  110. package/dist/Form/List.js +4 -4
  111. package/dist/Form/index.d.ts +4 -2
  112. package/dist/Form/index.js +4 -1
  113. package/dist/Form/typings.d.ts +61 -9
  114. package/dist/Form/typings.js +15 -1
  115. package/dist/Form/useForm.js +3 -3
  116. package/dist/Form/useWatch.js +1 -1
  117. package/dist/Input/Input.d.ts +2 -14
  118. package/dist/Input/Input.js +187 -140
  119. package/dist/Input/InputGroup.js +1 -1
  120. package/dist/Input/InputRange.js +7 -11
  121. package/dist/Input/TextArea.d.ts +1 -1
  122. package/dist/Input/TextArea.js +85 -30
  123. package/dist/Input/index.d.ts +1 -0
  124. package/dist/Input/index.js +2 -1
  125. package/dist/Input/typings.d.ts +38 -19
  126. package/dist/Input/utils.d.ts +1 -0
  127. package/dist/Input/utils.js +5 -1
  128. package/dist/InputNumber/InputNumber.js +408 -147
  129. package/dist/InputNumber/typings.d.ts +15 -5
  130. package/dist/Loading/Loading.js +5 -2
  131. package/dist/Menu/Menu.js +26 -2
  132. package/dist/Menu/MenuItem.js +4 -2
  133. package/dist/Menu/SubMenu.js +2 -2
  134. package/dist/Menu/SubMenuCollapseTransition.js +14 -9
  135. package/dist/Menu/typings.d.ts +5 -14
  136. package/dist/Message/Message.js +51 -23
  137. package/dist/Message/index.js +13 -13
  138. package/dist/Message/typings.d.ts +8 -5
  139. package/dist/MessageBox/MessageBox.js +75 -57
  140. package/dist/MessageBox/index.d.ts +2 -1
  141. package/dist/MessageBox/index.js +4 -2
  142. package/dist/MessageBox/typings.d.ts +3 -1
  143. package/dist/Notification/Notification.js +26 -19
  144. package/dist/Notification/typings.d.ts +1 -1
  145. package/dist/PageHeader/PageHeader.d.ts +8 -0
  146. package/dist/PageHeader/PageHeader.js +91 -0
  147. package/dist/PageHeader/index.d.ts +2 -0
  148. package/dist/PageHeader/index.js +1 -0
  149. package/dist/PageHeader/typings.d.ts +34 -0
  150. package/dist/PageHeader/typings.js +1 -0
  151. package/dist/Pagination/typings.d.ts +1 -1
  152. package/dist/Popover/Popover.js +7 -7
  153. package/dist/Popover/typings.d.ts +3 -3
  154. package/dist/Popper/Popper.js +49 -28
  155. package/dist/Popper/popperOptions.js +1 -0
  156. package/dist/Popper/typings.d.ts +2 -0
  157. package/dist/Radio/Radio.d.ts +2 -12
  158. package/dist/Radio/Radio.js +2 -6
  159. package/dist/Radio/RadioButton.d.ts +1 -1
  160. package/dist/Radio/RadioButton.js +4 -4
  161. package/dist/Radio/index.d.ts +1 -0
  162. package/dist/Radio/index.js +2 -1
  163. package/dist/Radio/typings.d.ts +1 -1
  164. package/dist/RadioGroup/RadioGroup.js +44 -16
  165. package/dist/RadioGroup/typings.d.ts +10 -0
  166. package/dist/Segmented/Segmented.d.ts +4 -0
  167. package/dist/Segmented/Segmented.js +208 -0
  168. package/dist/Segmented/index.d.ts +2 -0
  169. package/dist/Segmented/index.js +1 -0
  170. package/dist/Segmented/typings.d.ts +20 -0
  171. package/dist/Segmented/typings.js +5 -0
  172. package/dist/Select/SelectContext.d.ts +2 -1
  173. package/dist/Select/SelectContext.js +2 -1
  174. package/dist/Select/SelectCore.js +64 -15
  175. package/dist/Select/SelectDropdown.js +23 -15
  176. package/dist/Select/index.d.ts +1 -1
  177. package/dist/Select/typings.d.ts +26 -17
  178. package/dist/Select/useSelect.d.ts +35 -18
  179. package/dist/Select/useSelect.js +88 -33
  180. package/dist/Skeleton/typings.d.ts +1 -1
  181. package/dist/Slider/Button.d.ts +4 -0
  182. package/dist/Slider/Button.js +96 -0
  183. package/dist/Slider/Marker.d.ts +4 -0
  184. package/dist/Slider/Marker.js +31 -0
  185. package/dist/Slider/Slider.d.ts +4 -0
  186. package/dist/Slider/Slider.js +263 -0
  187. package/dist/Slider/SliderContext.d.ts +3 -0
  188. package/dist/Slider/SliderContext.js +2 -0
  189. package/dist/Slider/hooks/index.d.ts +5 -0
  190. package/dist/Slider/hooks/index.js +5 -0
  191. package/dist/Slider/hooks/useLifecycle.d.ts +5 -0
  192. package/dist/Slider/hooks/useLifecycle.js +50 -0
  193. package/dist/Slider/hooks/useMarks.d.ts +2 -0
  194. package/dist/Slider/hooks/useMarks.js +49 -0
  195. package/dist/Slider/hooks/useSlider.d.ts +38 -0
  196. package/dist/Slider/hooks/useSlider.js +227 -0
  197. package/dist/Slider/hooks/useSliderButton.d.ts +28 -0
  198. package/dist/Slider/hooks/useSliderButton.js +454 -0
  199. package/dist/Slider/hooks/useStops.d.ts +6 -0
  200. package/dist/Slider/hooks/useStops.js +47 -0
  201. package/dist/Slider/hooks/useWatch.d.ts +3 -0
  202. package/dist/Slider/hooks/useWatch.js +119 -0
  203. package/dist/Slider/index.d.ts +2 -0
  204. package/dist/Slider/index.js +1 -0
  205. package/dist/Slider/style/css.d.ts +1 -0
  206. package/dist/Slider/style/css.js +1 -0
  207. package/dist/Slider/style/index.d.ts +1 -0
  208. package/dist/Slider/style/index.js +1 -0
  209. package/dist/Slider/typings.d.ts +122 -0
  210. package/dist/Slider/typings.js +1 -0
  211. package/dist/Space/Space.d.ts +4 -0
  212. package/dist/Space/Space.js +125 -0
  213. package/dist/Space/SpaceItem.d.ts +7 -0
  214. package/dist/Space/SpaceItem.js +14 -0
  215. package/dist/Space/index.d.ts +3 -0
  216. package/dist/Space/index.js +2 -0
  217. package/dist/Space/typings.d.ts +26 -0
  218. package/dist/Space/typings.js +1 -0
  219. package/dist/Space/useSpace.d.ts +7 -0
  220. package/dist/Space/useSpace.js +105 -0
  221. package/dist/Statistic/Statistic.d.ts +4 -0
  222. package/dist/Statistic/Statistic.js +91 -0
  223. package/dist/Statistic/index.d.ts +2 -0
  224. package/dist/Statistic/index.js +1 -0
  225. package/dist/Statistic/typings.d.ts +28 -0
  226. package/dist/Statistic/typings.js +1 -0
  227. package/dist/Steps/Step.d.ts +4 -0
  228. package/dist/Steps/Step.js +247 -0
  229. package/dist/Steps/Steps.d.ts +5 -0
  230. package/dist/Steps/Steps.js +116 -0
  231. package/dist/Steps/index.d.ts +3 -0
  232. package/dist/Steps/index.js +2 -0
  233. package/dist/Steps/typings.d.ts +119 -0
  234. package/dist/Steps/typings.js +1 -0
  235. package/dist/Switch/Switch.js +2 -2
  236. package/dist/Switch/typings.d.ts +0 -1
  237. package/dist/Table/Table.js +17 -14
  238. package/dist/Table/TableBody.js +4 -4
  239. package/dist/Table/TableCell.js +53 -28
  240. package/dist/Table/TableColumn.d.ts +2 -2
  241. package/dist/Table/TableHeader.js +2 -2
  242. package/dist/Table/TableHeaderCell.js +2 -2
  243. package/dist/Table/hooks/useResize.js +0 -2
  244. package/dist/Table/hooks/useTable.d.ts +1 -1
  245. package/dist/Table/hooks/useTable.js +15 -10
  246. package/dist/Table/typings.d.ts +28 -12
  247. package/dist/Table/util.d.ts +1 -1
  248. package/dist/Table/util.js +8 -65
  249. package/dist/TableV2/index.d.ts +10 -0
  250. package/dist/TableV2/index.js +7 -0
  251. package/dist/TableV2/src/auto-resizer.d.ts +14 -0
  252. package/dist/TableV2/src/auto-resizer.js +1 -0
  253. package/dist/TableV2/src/cell.d.ts +21 -0
  254. package/dist/TableV2/src/cell.js +1 -0
  255. package/dist/TableV2/src/components/auto-resizer.d.ts +4 -0
  256. package/dist/TableV2/src/components/auto-resizer.js +32 -0
  257. package/dist/TableV2/src/components/cell.d.ts +4 -0
  258. package/dist/TableV2/src/components/cell.js +22 -0
  259. package/dist/TableV2/src/components/expand-icon.d.ts +12 -0
  260. package/dist/TableV2/src/components/expand-icon.js +29 -0
  261. package/dist/TableV2/src/components/header-cell.d.ts +4 -0
  262. package/dist/TableV2/src/components/header-cell.js +23 -0
  263. package/dist/TableV2/src/components/header-row.d.ts +17 -0
  264. package/dist/TableV2/src/components/header-row.js +41 -0
  265. package/dist/TableV2/src/components/header.d.ts +20 -0
  266. package/dist/TableV2/src/components/header.js +103 -0
  267. package/dist/TableV2/src/components/index.d.ts +10 -0
  268. package/dist/TableV2/src/components/index.js +7 -0
  269. package/dist/TableV2/src/components/row.d.ts +19 -0
  270. package/dist/TableV2/src/components/row.js +206 -0
  271. package/dist/TableV2/src/components/sort-icon.d.ts +9 -0
  272. package/dist/TableV2/src/components/sort-icon.js +14 -0
  273. package/dist/TableV2/src/composables/index.d.ts +6 -0
  274. package/dist/TableV2/src/composables/index.js +6 -0
  275. package/dist/TableV2/src/composables/use-auto-resize.d.ts +7 -0
  276. package/dist/TableV2/src/composables/use-auto-resize.js +55 -0
  277. package/dist/TableV2/src/composables/use-columns.d.ts +21 -0
  278. package/dist/TableV2/src/composables/use-columns.js +119 -0
  279. package/dist/TableV2/src/composables/use-data.d.ts +15 -0
  280. package/dist/TableV2/src/composables/use-data.js +62 -0
  281. package/dist/TableV2/src/composables/use-row.d.ts +34 -0
  282. package/dist/TableV2/src/composables/use-row.js +191 -0
  283. package/dist/TableV2/src/composables/use-scrollbar.d.ts +25 -0
  284. package/dist/TableV2/src/composables/use-scrollbar.js +117 -0
  285. package/dist/TableV2/src/composables/use-styles.d.ts +23 -0
  286. package/dist/TableV2/src/composables/use-styles.js +90 -0
  287. package/dist/TableV2/src/composables/utils.d.ts +3 -0
  288. package/dist/TableV2/src/composables/utils.js +29 -0
  289. package/dist/TableV2/src/constants.d.ts +18 -0
  290. package/dist/{Tree/Indent.js → TableV2/src/constants.js} +18 -21
  291. package/dist/TableV2/src/grid.d.ts +52 -0
  292. package/dist/TableV2/src/grid.js +1 -0
  293. package/dist/TableV2/src/header-cell.d.ts +13 -0
  294. package/dist/TableV2/src/header-cell.js +1 -0
  295. package/dist/TableV2/src/header-row.d.ts +10 -0
  296. package/dist/TableV2/src/header-row.js +1 -0
  297. package/dist/TableV2/src/header.d.ts +15 -0
  298. package/dist/TableV2/src/header.js +1 -0
  299. package/dist/TableV2/src/private.d.ts +1 -0
  300. package/dist/TableV2/src/private.js +1 -0
  301. package/dist/TableV2/src/renderers/cell.d.ts +14 -0
  302. package/dist/TableV2/src/renderers/cell.js +120 -0
  303. package/dist/TableV2/src/renderers/empty.d.ts +7 -0
  304. package/dist/TableV2/src/renderers/empty.js +11 -0
  305. package/dist/TableV2/src/renderers/footer.d.ts +7 -0
  306. package/dist/TableV2/src/renderers/footer.js +9 -0
  307. package/dist/TableV2/src/renderers/header-cell.d.ts +13 -0
  308. package/dist/TableV2/src/renderers/header-cell.js +92 -0
  309. package/dist/TableV2/src/renderers/header.d.ts +9 -0
  310. package/dist/TableV2/src/renderers/header.js +39 -0
  311. package/dist/TableV2/src/renderers/left-table.d.ts +32 -0
  312. package/dist/TableV2/src/renderers/left-table.js +15 -0
  313. package/dist/TableV2/src/renderers/main-table.d.ts +31 -0
  314. package/dist/TableV2/src/renderers/main-table.js +12 -0
  315. package/dist/TableV2/src/renderers/overlay.d.ts +3 -0
  316. package/dist/TableV2/src/renderers/overlay.js +9 -0
  317. package/dist/TableV2/src/renderers/right-table.d.ts +31 -0
  318. package/dist/TableV2/src/renderers/right-table.js +15 -0
  319. package/dist/TableV2/src/renderers/row.d.ts +11 -0
  320. package/dist/TableV2/src/renderers/row.js +96 -0
  321. package/dist/TableV2/src/row.d.ts +51 -0
  322. package/dist/TableV2/src/row.js +1 -0
  323. package/dist/TableV2/src/table-grid.d.ts +43 -0
  324. package/dist/TableV2/src/table-grid.js +283 -0
  325. package/dist/TableV2/src/table-v2.d.ts +31 -0
  326. package/dist/TableV2/src/table-v2.js +311 -0
  327. package/dist/TableV2/src/table.d.ts +196 -0
  328. package/dist/TableV2/src/table.js +1 -0
  329. package/dist/TableV2/src/tokens.d.ts +11 -0
  330. package/dist/TableV2/src/tokens.js +6 -0
  331. package/dist/TableV2/src/types.d.ts +94 -0
  332. package/dist/TableV2/src/types.js +1 -0
  333. package/dist/TableV2/src/use-table.d.ts +48 -0
  334. package/dist/TableV2/src/use-table.js +197 -0
  335. package/dist/TableV2/src/utils.d.ts +5 -0
  336. package/dist/TableV2/src/utils.js +47 -0
  337. package/dist/Tabs/Tabs.js +1 -1
  338. package/dist/Tabs/typings.d.ts +1 -3
  339. package/dist/Tag/Tag.js +1 -1
  340. package/dist/Tag/typings.d.ts +1 -1
  341. package/dist/Text/Text.d.ts +4 -0
  342. package/dist/Text/Text.js +84 -0
  343. package/dist/Text/index.d.ts +2 -0
  344. package/dist/Text/index.js +1 -0
  345. package/dist/Text/typings.d.ts +15 -0
  346. package/dist/Text/typings.js +1 -0
  347. package/dist/TimePicker/TimePicker.js +6 -7
  348. package/dist/TimePicker/TimePickerPanel.js +12 -2
  349. package/dist/TimePicker/TimePickerRange.js +19 -8
  350. package/dist/Tooltip/Tooltip.js +31 -8
  351. package/dist/Tooltip/typings.d.ts +4 -0
  352. package/dist/Tour/Content.d.ts +9 -0
  353. package/dist/Tour/Content.js +81 -0
  354. package/dist/Tour/Mask.d.ts +12 -0
  355. package/dist/Tour/Mask.js +100 -0
  356. package/dist/Tour/Step.d.ts +7 -0
  357. package/dist/Tour/Step.js +119 -0
  358. package/dist/Tour/Tour.d.ts +6 -0
  359. package/dist/Tour/Tour.js +237 -0
  360. package/dist/Tour/context.d.ts +4 -0
  361. package/dist/Tour/context.js +9 -0
  362. package/dist/Tour/helper.d.ts +39 -0
  363. package/dist/Tour/helper.js +286 -0
  364. package/dist/Tour/index.d.ts +3 -0
  365. package/dist/Tour/index.js +2 -0
  366. package/dist/Tour/typings.d.ts +318 -0
  367. package/dist/Tour/typings.js +38 -0
  368. package/dist/Transfer/List.js +58 -59
  369. package/dist/Transfer/ListItem.d.ts +2 -2
  370. package/dist/Transfer/Transfer.d.ts +2 -2
  371. package/dist/Transfer/Transfer.js +84 -70
  372. package/dist/Transfer/index.d.ts +1 -1
  373. package/dist/Transfer/operation.js +8 -10
  374. package/dist/Transfer/typings/index.d.ts +49 -38
  375. package/dist/Transfer/typings/list.d.ts +11 -11
  376. package/dist/Transfer/typings/listBody.d.ts +2 -2
  377. package/dist/Transition/Transition.d.ts +1 -0
  378. package/dist/Transition/Transition.js +8 -7
  379. package/dist/Tree/CollapseTransition.d.ts +7 -0
  380. package/dist/Tree/CollapseTransition.js +60 -0
  381. package/dist/Tree/Tree.d.ts +3 -140
  382. package/dist/Tree/Tree.js +351 -77
  383. package/dist/Tree/TreeContext.d.ts +9 -0
  384. package/dist/Tree/TreeContext.js +14 -0
  385. package/dist/Tree/TreeNode.d.ts +5 -3
  386. package/dist/Tree/TreeNode.js +321 -331
  387. package/dist/Tree/TreeNodeContent.d.ts +9 -0
  388. package/dist/Tree/TreeNodeContent.js +22 -0
  389. package/dist/Tree/index.d.ts +3 -8
  390. package/dist/Tree/index.js +1 -4
  391. package/dist/Tree/model/node.d.ts +62 -0
  392. package/dist/Tree/model/node.js +601 -0
  393. package/dist/Tree/model/tree-store.d.ts +52 -0
  394. package/dist/Tree/model/tree-store.js +510 -0
  395. package/dist/Tree/model/useDragNode.d.ts +30 -0
  396. package/dist/Tree/model/useDragNode.js +293 -0
  397. package/dist/Tree/model/useKeydown.d.ts +0 -0
  398. package/dist/Tree/model/useKeydown.js +104 -0
  399. package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
  400. package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
  401. package/dist/Tree/model/util.d.ts +7 -0
  402. package/dist/Tree/model/util.js +24 -0
  403. package/dist/Tree/typings.d.ts +227 -114
  404. package/dist/TreeSelect/TreeSelect.d.ts +2 -10
  405. package/dist/TreeSelect/TreeSelect.js +90 -566
  406. package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
  407. package/dist/TreeSelect/TreeSelectOption.js +62 -0
  408. package/dist/TreeSelect/Utils.d.ts +10 -3
  409. package/dist/TreeSelect/Utils.js +37 -19
  410. package/dist/TreeSelect/cacheOptions.d.ts +9 -0
  411. package/dist/TreeSelect/cacheOptions.js +22 -0
  412. package/dist/TreeSelect/index.d.ts +0 -1
  413. package/dist/TreeSelect/typings.d.ts +11 -63
  414. package/dist/TreeSelect/useSelect.d.ts +78 -0
  415. package/dist/TreeSelect/useSelect.js +104 -0
  416. package/dist/TreeSelect/useTree.d.ts +125 -0
  417. package/dist/TreeSelect/useTree.js +285 -0
  418. package/dist/Upload/UploadContent.js +3 -1
  419. package/dist/Upload/ajax.js +3 -0
  420. package/dist/Upload/typings.d.ts +5 -1
  421. package/dist/Util/PopupManager.js +1 -1
  422. package/dist/Util/aria.d.ts +1 -1
  423. package/dist/Util/aria.js +12 -12
  424. package/dist/Util/base.d.ts +36 -6
  425. package/dist/Util/base.js +180 -13
  426. package/dist/Util/easings.d.ts +1 -0
  427. package/dist/Util/easings.js +8 -0
  428. package/dist/Util/error.d.ts +3 -0
  429. package/dist/Util/error.js +39 -0
  430. package/dist/Util/icons.d.ts +2 -0
  431. package/dist/Util/icons.js +15 -0
  432. package/dist/Util/index.d.ts +6 -2
  433. package/dist/Util/index.js +6 -2
  434. package/dist/Util/position.d.ts +9 -0
  435. package/dist/Util/position.js +53 -0
  436. package/dist/Util/raf.d.ts +4 -0
  437. package/dist/Util/raf.js +10 -0
  438. package/dist/Util/scroll.d.ts +9 -0
  439. package/dist/Util/scroll.js +72 -0
  440. package/dist/Util/throttleByRaf.d.ts +4 -0
  441. package/dist/Util/throttleByRaf.js +21 -0
  442. package/dist/VirtualList/builders/build-grid.d.ts +5 -0
  443. package/dist/VirtualList/builders/build-grid.js +561 -0
  444. package/dist/VirtualList/builders/build-list.d.ts +7 -0
  445. package/dist/VirtualList/builders/build-list.js +408 -0
  446. package/dist/VirtualList/components/dynamic-size-grid.d.ts +15 -0
  447. package/dist/VirtualList/components/dynamic-size-grid.js +242 -0
  448. package/dist/VirtualList/components/dynamic-size-list.d.ts +7 -0
  449. package/dist/VirtualList/components/dynamic-size-list.js +186 -0
  450. package/dist/VirtualList/components/fixed-size-grid.d.ts +4 -0
  451. package/dist/VirtualList/components/fixed-size-grid.js +161 -0
  452. package/dist/VirtualList/components/fixed-size-list.d.ts +7 -0
  453. package/dist/VirtualList/components/fixed-size-list.js +103 -0
  454. package/dist/VirtualList/components/scrollbar.d.ts +5 -0
  455. package/dist/VirtualList/components/scrollbar.js +272 -0
  456. package/dist/VirtualList/defaults.d.ts +26 -0
  457. package/dist/VirtualList/defaults.js +24 -0
  458. package/dist/VirtualList/hooks/use-cache.d.ts +1 -0
  459. package/dist/VirtualList/hooks/use-cache.js +16 -0
  460. package/dist/VirtualList/hooks/use-grid-touch.d.ts +8 -0
  461. package/dist/VirtualList/hooks/use-grid-touch.js +58 -0
  462. package/dist/VirtualList/hooks/use-grid-wheel.d.ts +12 -0
  463. package/dist/VirtualList/hooks/use-grid-wheel.js +48 -0
  464. package/dist/VirtualList/hooks/use-wheel.d.ts +12 -0
  465. package/dist/VirtualList/hooks/use-wheel.js +41 -0
  466. package/dist/VirtualList/index.d.ts +9 -0
  467. package/dist/VirtualList/index.js +6 -0
  468. package/dist/VirtualList/props.d.ts +95 -0
  469. package/dist/VirtualList/props.js +42 -0
  470. package/dist/VirtualList/types.d.ts +151 -0
  471. package/dist/VirtualList/types.js +1 -0
  472. package/dist/VirtualList/utils.d.ts +11 -0
  473. package/dist/VirtualList/utils.js +56 -0
  474. package/dist/Watermark/Watermark.d.ts +4 -0
  475. package/dist/Watermark/Watermark.js +257 -0
  476. package/dist/Watermark/helper.d.ts +50 -0
  477. package/dist/Watermark/helper.js +253 -0
  478. package/dist/Watermark/index.d.ts +2 -0
  479. package/dist/Watermark/index.js +1 -0
  480. package/dist/Watermark/typings.d.ts +93 -0
  481. package/dist/Watermark/typings.js +1 -0
  482. package/dist/config/Constants.d.ts +3 -0
  483. package/dist/config/Constants.js +8 -0
  484. package/dist/hooks/index.d.ts +2 -0
  485. package/dist/hooks/index.js +1 -0
  486. package/dist/hooks/popperPropsUtils.js +1 -1
  487. package/dist/hooks/treePropsUtils.d.ts +3 -3
  488. package/dist/hooks/treePropsUtils.js +2 -2
  489. package/dist/hooks/useClassNames.d.ts +1 -0
  490. package/dist/hooks/useClickOutside.js +25 -9
  491. package/dist/hooks/useCommonProps.d.ts +4 -0
  492. package/dist/hooks/useCommonProps.js +12 -3
  493. package/dist/hooks/useConfigProvider.d.ts +27 -0
  494. package/dist/hooks/useConfigProvider.js +78 -0
  495. package/dist/hooks/useLockscreen.d.ts +6 -0
  496. package/dist/hooks/useLockscreen.js +45 -0
  497. package/dist/hooks/useResizeObserver.d.ts +1 -1
  498. package/dist/hooks/useResizeObserver.js +7 -7
  499. package/dist/index.css +1 -1
  500. package/dist/index.d.ts +50 -22
  501. package/dist/index.js +27 -10
  502. package/dist/locale/en.d.ts +4 -1
  503. package/dist/locale/en.js +4 -1
  504. package/dist/locale/zhCn.d.ts +4 -1
  505. package/dist/locale/zhCn.js +4 -1
  506. package/package.json +5 -3
  507. package/theme-chalk/affix.scss +7 -0
  508. package/theme-chalk/alert.scss +115 -0
  509. package/theme-chalk/anchor-link.scss +45 -0
  510. package/theme-chalk/anchor.scss +93 -0
  511. package/theme-chalk/aside.scss +8 -8
  512. package/theme-chalk/backtop.scss +29 -0
  513. package/theme-chalk/breadcrumb-item.scss +58 -0
  514. package/theme-chalk/breadcrumb.scss +5 -61
  515. package/theme-chalk/button-group.scss +80 -80
  516. package/theme-chalk/button.scss +304 -304
  517. package/theme-chalk/calendar/date-table.scss +164 -164
  518. package/theme-chalk/cascader-panel.scss +57 -82
  519. package/theme-chalk/cascader.scss +206 -160
  520. package/theme-chalk/checkbox.scss +38 -0
  521. package/theme-chalk/collapse-item.scss +72 -0
  522. package/theme-chalk/collapse.scss +21 -76
  523. package/theme-chalk/color/index.scss +20 -20
  524. package/theme-chalk/common/popup.scss +47 -0
  525. package/theme-chalk/common/transition.scss +142 -142
  526. package/theme-chalk/common/var.scss +62 -6
  527. package/theme-chalk/container.scss +14 -14
  528. package/theme-chalk/dark/css-vars.scss +39 -39
  529. package/theme-chalk/dark/var.scss +225 -225
  530. package/theme-chalk/date-picker.scss +12 -12
  531. package/theme-chalk/dialog.scss +145 -137
  532. package/theme-chalk/drawer.scss +252 -246
  533. package/theme-chalk/footer.scss +12 -12
  534. package/theme-chalk/form-item.scss +437 -0
  535. package/theme-chalk/form.scss +23 -361
  536. package/theme-chalk/header.scss +12 -12
  537. package/theme-chalk/index.scss +21 -1
  538. package/theme-chalk/input/input-range.scss +2 -1
  539. package/theme-chalk/input/input.scss +458 -424
  540. package/theme-chalk/input-number.scss +82 -75
  541. package/theme-chalk/link.scss +87 -87
  542. package/theme-chalk/main.scss +14 -14
  543. package/theme-chalk/menu.scss +353 -353
  544. package/theme-chalk/message-box.scss +160 -133
  545. package/theme-chalk/message.scss +54 -128
  546. package/theme-chalk/mixins/_button.scss +224 -224
  547. package/theme-chalk/mixins/_col.scss +33 -33
  548. package/theme-chalk/mixins/_var.scss +67 -67
  549. package/theme-chalk/mixins/config.scss +5 -5
  550. package/theme-chalk/mixins/function.scss +99 -99
  551. package/theme-chalk/mixins/mixins.scss +237 -240
  552. package/theme-chalk/mixins/utils.scss +39 -39
  553. package/theme-chalk/notification.scss +96 -143
  554. package/theme-chalk/overlay.scss +17 -0
  555. package/theme-chalk/page-header.scss +60 -0
  556. package/theme-chalk/popper.scss +104 -104
  557. package/theme-chalk/radio-button.scss +169 -169
  558. package/theme-chalk/radio.scss +3 -3
  559. package/theme-chalk/segmented.scss +186 -0
  560. package/theme-chalk/select/index.scss +278 -272
  561. package/theme-chalk/slider.scss +212 -0
  562. package/theme-chalk/space.scss +20 -0
  563. package/theme-chalk/statistic.scss +35 -0
  564. package/theme-chalk/step.scss +320 -0
  565. package/theme-chalk/steps.scss +22 -0
  566. package/theme-chalk/switch.scss +300 -300
  567. package/theme-chalk/table-v2.scss +237 -0
  568. package/theme-chalk/table.scss +461 -482
  569. package/theme-chalk/tag.scss +181 -181
  570. package/theme-chalk/text.scss +48 -0
  571. package/theme-chalk/time-range-picker.scss +1 -1
  572. package/theme-chalk/tooltip.scss +2 -2
  573. package/theme-chalk/tour.scss +170 -0
  574. package/theme-chalk/transfer.scss +38 -12
  575. package/theme-chalk/transition.scss +34 -4
  576. package/theme-chalk/tree-select.scss +35 -19
  577. package/theme-chalk/tree.scss +136 -0
  578. package/theme-chalk/var.scss +83 -83
  579. package/theme-chalk/virtual-list.scss +40 -0
  580. package/dist/Input/Input.1.d.ts +0 -16
  581. package/dist/Input/Input.1.js +0 -376
  582. package/dist/Tree/DirectoryTree.d.ts +0 -15
  583. package/dist/Tree/DirectoryTree.js +0 -183
  584. package/dist/Tree/DropIndicator.d.ts +0 -8
  585. package/dist/Tree/DropIndicator.js +0 -34
  586. package/dist/Tree/Indent.d.ts +0 -9
  587. package/dist/Tree/MotionTreeNode.d.ts +0 -14
  588. package/dist/Tree/MotionTreeNode.js +0 -125
  589. package/dist/Tree/NodeList.d.ts +0 -50
  590. package/dist/Tree/NodeList.js +0 -301
  591. package/dist/Tree/RCTree.d.ts +0 -248
  592. package/dist/Tree/RCTree.js +0 -1216
  593. package/dist/Tree/contextTypes.d.ts +0 -69
  594. package/dist/Tree/contextTypes.js +0 -9
  595. package/dist/Tree/typings.tsx--bak +0 -245
  596. package/dist/Tree/useUnmount.d.ts +0 -5
  597. package/dist/Tree/useUnmount.js +0 -34
  598. package/dist/Tree/util.d.ts +0 -51
  599. package/dist/Tree/util.js +0 -303
  600. package/dist/Tree/utils/conductUtil.d.ts +0 -17
  601. package/dist/Tree/utils/conductUtil.js +0 -209
  602. package/dist/Tree/utils/dictUtil.d.ts +0 -13
  603. package/dist/Tree/utils/dictUtil.js +0 -75
  604. package/dist/Tree/utils/diffUtil.d.ts +0 -7
  605. package/dist/Tree/utils/diffUtil.js +0 -48
  606. package/dist/Tree/utils/dropIndicator.d.ts +0 -11
  607. package/dist/Tree/utils/dropIndicator.js +0 -36
  608. package/dist/Tree/utils/iconUtil.d.ts +0 -5
  609. package/dist/Tree/utils/iconUtil.js +0 -62
  610. package/dist/Tree/utils/keyUtil.d.ts +0 -2
  611. package/dist/Tree/utils/keyUtil.js +0 -3
  612. package/dist/Tree/utils/motion.d.ts +0 -10
  613. package/dist/Tree/utils/motion.js +0 -54
  614. package/dist/Tree/utils/pickAttrs.d.ts +0 -11
  615. package/dist/Tree/utils/pickAttrs.js +0 -51
  616. package/dist/Tree/utils/treeUtil.d.ts +0 -86
  617. package/dist/Tree/utils/treeUtil.js +0 -364
  618. package/theme-chalk/button/_mixins.scss +0 -317
  619. package/theme-chalk/button/button-group.scss +0 -83
  620. package/theme-chalk/button/button.scss +0 -382
  621. package/theme-chalk/button/index.scss +0 -2
  622. package/theme-chalk/button--bak/_mixins.scss +0 -317
  623. package/theme-chalk/button--bak/button-group.scss +0 -83
  624. package/theme-chalk/button--bak/button.scss +0 -382
  625. package/theme-chalk/button--bak/index.scss +0 -2
  626. package/theme-chalk/calendar/date-table.scss--bak +0 -156
  627. package/theme-chalk/input/input.scss--bak +0 -578
  628. package/theme-chalk/link.scss--bak +0 -99
  629. package/theme-chalk/popper.scss--bak +0 -86
  630. package/theme-chalk/radio-button.scss--bak +0 -128
  631. package/theme-chalk/select/index.scss--bak +0 -247
  632. package/theme-chalk/switch.scss--bak +0 -273
  633. package/theme-chalk/tag.scss--bak +0 -203
  634. package/theme-chalk/tree/_directory.scss +0 -73
  635. package/theme-chalk/tree/_tree.scss +0 -401
  636. package/theme-chalk/tree/index.scss +0 -2
@@ -1,3 +1,7 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ 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 _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
1
5
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
6
  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
7
  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,33 +9,84 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
5
9
  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
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
11
  import classNames from 'classnames';
8
- import React, { memo } from 'react';
12
+ import castArray from 'lodash/castArray';
13
+ import React, { forwardRef, memo, useCallback } from 'react';
9
14
  import { useClassNames, useControlled } from "../hooks";
15
+ import { debugWarn, isBoolean, isPromise, mergeDefaultProps, throwError } from "../Util";
10
16
  import { CollapseContext } from "./CollapseContext";
11
- var Collapse = /*#__PURE__*/memo(function (props) {
12
- var defaultActiveName = props.defaultActiveName,
13
- activeName = props.activeName,
14
- accordion = props.accordion,
15
- onChange = props.onChange,
16
- _props$classPrefix = props.classPrefix,
17
+ var Collapse = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref) {
18
+ props = mergeDefaultProps({
19
+ expandIconPosition: 'right'
20
+ }, props);
21
+ var _props = props,
22
+ accordion = _props.accordion,
23
+ expandIconPosition = _props.expandIconPosition,
24
+ onChange = _props.onChange,
25
+ beforeCollapse = _props.beforeCollapse,
26
+ _props$classPrefix = _props.classPrefix,
17
27
  classPrefix = _props$classPrefix === void 0 ? 'collapse' : _props$classPrefix;
18
28
  var _useClassNames = useClassNames(classPrefix),
19
29
  b = _useClassNames.b;
20
- var _useControlled = useControlled(activeName, defaultActiveName),
30
+ var _useControlled = useControlled(props.activeName ? castArray(props.activeName) : undefined, props.defaultActiveName ? castArray(props.defaultActiveName) : []),
21
31
  _useControlled2 = _slicedToArray(_useControlled, 2),
22
- value = _useControlled2[0],
23
- setValue = _useControlled2[1];
32
+ activeName = _useControlled2[0],
33
+ setActiveName = _useControlled2[1];
34
+ var setActiveNames = useCallback(function (activeNames) {
35
+ setActiveName(activeNames);
36
+ var _value = accordion ? activeNames[0] : activeNames;
37
+ onChange === null || onChange === void 0 || onChange(_value);
38
+ }, [setActiveName, accordion, onChange]);
39
+ var handleChange = useCallback(function (name) {
40
+ if (accordion) {
41
+ setActiveNames([activeName[0] === name ? '' : name]);
42
+ } else {
43
+ var _activeNames = _toConsumableArray(activeName);
44
+ var index = _activeNames.indexOf(name);
45
+ if (index > -1) {
46
+ _activeNames.splice(index, 1);
47
+ } else {
48
+ _activeNames.push(name);
49
+ }
50
+ setActiveNames(_activeNames);
51
+ }
52
+ }, [activeName, setActiveNames, accordion]);
53
+ var handleItemClick = function handleItemClick(name) {
54
+ if (!beforeCollapse) {
55
+ handleChange(name);
56
+ return;
57
+ }
58
+ var shouldChange = beforeCollapse(name);
59
+ var isPromiseOrBool = [isPromise(shouldChange), isBoolean(shouldChange)].includes(true);
60
+ if (!isPromiseOrBool) {
61
+ throwError('ElCollapse', 'beforeCollapse must return type `Promise<boolean>` or `boolean`');
62
+ }
63
+ if (isPromise(shouldChange)) {
64
+ shouldChange.then(function (result) {
65
+ if (result !== false) {
66
+ handleChange(name);
67
+ }
68
+ }).catch(function (e) {
69
+ debugWarn('ElCollapse', "some error occurred: ".concat(e));
70
+ });
71
+ } else if (shouldChange) {
72
+ handleChange(name);
73
+ }
74
+ };
75
+ React.useImperativeHandle(ref, function () {
76
+ return {
77
+ activeNames: activeName,
78
+ setActiveNames: setActiveNames
79
+ };
80
+ });
24
81
  return /*#__PURE__*/React.createElement("div", {
25
- className: classNames(b(), props.className),
82
+ className: classNames(b(), b("icon-position-".concat(expandIconPosition)), props.className),
26
83
  style: props.style
27
84
  }, /*#__PURE__*/React.createElement(CollapseContext.Provider, {
28
85
  value: {
29
- value: value,
30
- setValue: setValue,
31
- accordion: accordion,
32
- onChange: onChange
86
+ activeNames: activeName,
87
+ handleItemClick: handleItemClick
33
88
  }
34
89
  }, props.children));
35
- });
90
+ }));
36
91
  Collapse.displayName = 'ElCollapse';
37
92
  export default Collapse;
@@ -1,13 +1,10 @@
1
1
  /// <reference types="react" />
2
- import { CollapseProps } from './typings';
2
+ import { CollapseActiveName } from './typings';
3
3
  interface CollapseContextProps {
4
4
  /** 当前激活的面板(可控模式:如果是手风琴模式,绑定值类型需要为string,否则为array) */
5
- value: CollapseProps['activeName'];
6
- setValue: (value: CollapseProps['activeName']) => void;
7
- /** 是否手风琴模式 */
8
- accordion: boolean;
5
+ activeNames: CollapseActiveName[];
9
6
  /** 当前激活面板改变时触发(如果是手风琴模式,参数 activeNames 类型为string,否则为array) */
10
- onChange: (activeNames: string | string[]) => void;
7
+ handleItemClick: (name: CollapseActiveName) => void;
11
8
  }
12
9
  export declare const CollapseContext: import("react").Context<CollapseContextProps>;
13
10
  export {};
@@ -1,7 +1,5 @@
1
1
  import { createContext } from 'react';
2
2
  export var CollapseContext = /*#__PURE__*/createContext({
3
- value: null,
4
- setValue: null,
5
- accordion: false,
6
- onChange: null
3
+ activeNames: [],
4
+ handleItemClick: null
7
5
  });
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
2
- import { CollapseItemProps } from './typings';
3
- declare const CollapseItem: FC<CollapseItemProps>;
1
+ import React from 'react';
2
+ import { CollapseItemProps, CollapseItemRef } from './typings';
3
+ declare const CollapseItem: React.MemoExoticComponent<React.ForwardRefExoticComponent<CollapseItemProps & React.RefAttributes<CollapseItemRef>>>;
4
4
  export default CollapseItem;
@@ -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
  /** 默认值 */
@@ -7,8 +7,8 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
7
7
  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); }
8
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
- import React, { useEffect } from 'react';
11
- import { isEmpty, mergeDefaultProps } from "../Util";
10
+ import React from 'react';
11
+ import { mergeDefaultProps } from "../Util";
12
12
  import ConfigProviderContext from "./ConfigProviderContext";
13
13
  var ConfigProvider = function ConfigProvider(props) {
14
14
  props = mergeDefaultProps({
@@ -38,28 +38,6 @@ var ConfigProvider = function ConfigProvider(props) {
38
38
  children = _props.children,
39
39
  locale = _props.locale,
40
40
  values = _objectWithoutProperties(_props, _excluded);
41
- useEffect(function () {
42
- // const configs = localStorage.getItem('__el__config__provider__');
43
- // let msgConfig = null;
44
- // if (isEmpty(configs) || JSON.parse(configs).length === 0) {
45
- // msgConfig = [props.message];
46
- // localStorage.setItem('__el__config__provider__', JSON.stringify([props.message]));
47
- // } else {
48
- // msgConfig = [...JSON.parse(configs), props.message];
49
- // localStorage.setItem('__el__config__provider__', JSON.stringify(msgConfig));
50
- // }
51
-
52
- var msgConfig = localStorage.getItem('__el__message__config__provider__');
53
- if (isEmpty(msgConfig) || Object.keys(JSON.parse(msgConfig)).length === 0) {
54
- localStorage.setItem('__el__message__config__provider__', JSON.stringify(props.message));
55
- } else {
56
- localStorage.setItem('__el__message__config__provider__', JSON.stringify(mergeDefaultProps(JSON.parse(msgConfig), props.message)));
57
- }
58
-
59
- // return () => {
60
- // localStorage.removeItem('__el__message_config__provider');
61
- // };
62
- });
63
41
  return /*#__PURE__*/React.createElement(ConfigProviderContext.Provider, {
64
42
  value: _objectSpread(_objectSpread({}, values), {}, {
65
43
  locale: locale === 'zh-cn' ? 'zh-CN' : locale
@@ -2,7 +2,7 @@ import { createContext, useContext } from 'react';
2
2
  var ConfigProviderContext = /*#__PURE__*/createContext({
3
3
  // message: { max: Infinity },
4
4
  inputNumber: {
5
- controlsPositionRight: false
5
+ controlsPosition: ''
6
6
  },
7
7
  locale: 'en',
8
8
  popper: {}
@@ -39,7 +39,7 @@ export interface ConfigProviderProps extends BaseProps {
39
39
  /** 对数字输入框进行配置 */
40
40
  inputNumber?: {
41
41
  /** 控制按钮位置 */
42
- controlsPositionRight?: boolean;
42
+ controlsPosition?: '' | 'right';
43
43
  max?: number;
44
44
  min?: number;
45
45
  };
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const Main: React.ForwardRefExoticComponent<import("..").BaseProps<import("../types/common").ComponentChildren> & import("..").NativeProps & React.RefAttributes<HTMLDivElement>>;
2
+ declare const Main: React.ForwardRefExoticComponent<import("..").BaseProps<import("../types/common").ComponentChildren> & import("..").NativeProps<"--el-main-padding"> & React.RefAttributes<HTMLDivElement>>;
3
3
  export default Main;
@@ -20,7 +20,7 @@ export type HeaderProps = BaseProps & NativeProps<'--el-header-padding' | '--el-
20
20
  */
21
21
  height?: string | number;
22
22
  };
23
- export type MainProps = BaseProps & NativeProps;
23
+ export type MainProps = BaseProps & NativeProps<'--el-main-padding'>;
24
24
  export type FooterProps = BaseProps & NativeProps<'--el-footer-padding' | '--el-footer-height'> & {
25
25
  /**
26
26
  * 底栏高度
@@ -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";