@qsxy/element-plus-react 1.0.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/dist/Affix/Affix.d.ts +4 -0
  2. package/dist/Affix/Affix.js +301 -0
  3. package/dist/Affix/index.d.ts +2 -0
  4. package/dist/Affix/index.js +1 -0
  5. package/dist/Affix/typings.d.ts +50 -0
  6. package/dist/Affix/typings.js +1 -0
  7. package/dist/Alert/typings.d.ts +1 -1
  8. package/dist/Anchor/Anchor.d.ts +6 -0
  9. package/dist/Anchor/Anchor.js +258 -0
  10. package/dist/Anchor/AnchorLink.d.ts +4 -0
  11. package/dist/Anchor/AnchorLink.js +77 -0
  12. package/dist/Anchor/element.d.ts +4 -0
  13. package/dist/Anchor/element.js +17 -0
  14. package/dist/Anchor/index.d.ts +3 -0
  15. package/dist/Anchor/index.js +2 -0
  16. package/dist/Anchor/typings.d.ts +101 -0
  17. package/dist/Anchor/typings.js +1 -0
  18. package/dist/Backtop/Backtop.d.ts +7 -0
  19. package/dist/Backtop/Backtop.js +153 -0
  20. package/dist/Backtop/index.d.ts +2 -0
  21. package/dist/Backtop/index.js +1 -0
  22. package/dist/Backtop/typings.d.ts +31 -0
  23. package/dist/Backtop/typings.js +1 -0
  24. package/dist/Button/Button.d.ts +2 -11
  25. package/dist/Button/Button.js +2 -6
  26. package/dist/Button/index.d.ts +1 -1
  27. package/dist/Calendar/Calendar.js +12 -8
  28. package/dist/Calendar/YearRangePanel.js +1 -1
  29. package/dist/Carousel/typings.d.ts +1 -1
  30. package/dist/Cascader/Cascader.d.ts +3 -3
  31. package/dist/Cascader/Cascader.js +238 -166
  32. package/dist/Cascader/CascaderContext.d.ts +9 -3
  33. package/dist/Cascader/CascaderContext.js +3 -1
  34. package/dist/Cascader/CascaderDropdown.d.ts +4 -3
  35. package/dist/Cascader/CascaderDropdown.js +21 -10
  36. package/dist/Cascader/CascaderMenu.d.ts +2 -2
  37. package/dist/Cascader/CascaderMenu.js +56 -14
  38. package/dist/Cascader/CascaderPanel.d.ts +4 -0
  39. package/dist/Cascader/CascaderPanel.js +11 -0
  40. package/dist/Cascader/index.d.ts +4 -1
  41. package/dist/Cascader/index.js +2 -1
  42. package/dist/Cascader/typings.d.ts +45 -31
  43. package/dist/Cascader/useCascader.d.ts +14 -13
  44. package/dist/Cascader/useCascader.js +120 -27
  45. package/dist/CheckboxGroup/CheckboxGroup.d.ts +11 -1
  46. package/dist/CheckboxGroup/CheckboxGroup.js +78 -19
  47. package/dist/Collapse/Collapse.d.ts +3 -3
  48. package/dist/Collapse/Collapse.js +71 -16
  49. package/dist/Collapse/CollapseContext.d.ts +3 -6
  50. package/dist/Collapse/CollapseContext.js +2 -4
  51. package/dist/Collapse/CollapseItem.d.ts +3 -3
  52. package/dist/Collapse/CollapseItem.js +93 -51
  53. package/dist/Collapse/CollapseTransition.js +11 -7
  54. package/dist/Collapse/index.d.ts +1 -1
  55. package/dist/Collapse/typings.d.ts +20 -5
  56. package/dist/ColorPicker/typings.d.ts +1 -1
  57. package/dist/Countdown/Countdown.d.ts +4 -0
  58. package/dist/Countdown/Countdown.js +121 -0
  59. package/dist/Countdown/index.d.ts +2 -0
  60. package/dist/Countdown/index.js +1 -0
  61. package/dist/Countdown/typings.d.ts +52 -0
  62. package/dist/Countdown/typings.js +1 -0
  63. package/dist/Countdown/util.d.ts +14 -0
  64. package/dist/Countdown/util.js +58 -0
  65. package/dist/DatePicker/DatePicker.js +9 -6
  66. package/dist/DatePicker/DateRangePicker.js +7 -6
  67. package/dist/DatePicker/typings.d.ts +0 -13
  68. package/dist/DateTimePicker/DateTimePicker.js +29 -19
  69. package/dist/Dialog/Dialog.d.ts +2 -13
  70. package/dist/Dialog/Dialog.js +139 -149
  71. package/dist/Dialog/DialogBody.js +3 -38
  72. package/dist/Dialog/DialogContext.d.ts +0 -7
  73. package/dist/Dialog/DialogContext.js +1 -5
  74. package/dist/Dialog/DialogHeader.js +2 -2
  75. package/dist/Dialog/typings.d.ts +43 -28
  76. package/dist/Dialog/useDraggable.d.ts +2 -1
  77. package/dist/Dialog/useDraggable.js +34 -9
  78. package/dist/Drawer/Drawer.d.ts +2 -13
  79. package/dist/Drawer/Drawer.js +115 -137
  80. package/dist/Drawer/DrawerBody.js +7 -8
  81. package/dist/Drawer/DrawerFooter.js +7 -7
  82. package/dist/Drawer/DrawerHeader.js +11 -8
  83. package/dist/Drawer/typings.d.ts +22 -6
  84. package/dist/Dropdown/Dropdown.js +5 -3
  85. package/dist/Dropdown/typings.d.ts +2 -1
  86. package/dist/Empty/Empty.js +16 -4
  87. package/dist/Form/Form.d.ts +4 -21
  88. package/dist/Form/Form.js +53 -25
  89. package/dist/Form/FormItem.d.ts +4 -52
  90. package/dist/Form/FormItem.js +633 -650
  91. package/dist/Form/FormItemContext.d.ts +10 -1
  92. package/dist/Form/FormItemContext.js +9 -1
  93. package/dist/Form/FormLabelWrap.d.ts +8 -0
  94. package/dist/Form/FormLabelWrap.js +103 -0
  95. package/dist/Form/{FieldContext.d.ts → InternalFormContext.d.ts} +2 -2
  96. package/dist/Form/{FieldContext.js → InternalFormContext.js} +5 -2
  97. package/dist/Form/List.d.ts +3 -3
  98. package/dist/Form/List.js +4 -4
  99. package/dist/Form/index.d.ts +4 -2
  100. package/dist/Form/index.js +4 -1
  101. package/dist/Form/typings.d.ts +61 -9
  102. package/dist/Form/typings.js +15 -1
  103. package/dist/Form/useForm.js +3 -3
  104. package/dist/Form/useWatch.js +1 -1
  105. package/dist/Input/Input.d.ts +2 -14
  106. package/dist/Input/Input.js +122 -100
  107. package/dist/Input/InputGroup.js +1 -1
  108. package/dist/Input/InputRange.js +7 -11
  109. package/dist/Input/TextArea.d.ts +1 -1
  110. package/dist/Input/TextArea.js +84 -29
  111. package/dist/Input/index.d.ts +1 -0
  112. package/dist/Input/index.js +2 -1
  113. package/dist/Input/typings.d.ts +3 -25
  114. package/dist/InputNumber/InputNumber.js +74 -23
  115. package/dist/InputNumber/typings.d.ts +0 -4
  116. package/dist/Menu/Menu.js +1 -1
  117. package/dist/Menu/typings.d.ts +3 -13
  118. package/dist/Message/index.js +5 -3
  119. package/dist/MessageBox/MessageBox.js +29 -33
  120. package/dist/MessageBox/typings.d.ts +0 -1
  121. package/dist/Notification/typings.d.ts +1 -1
  122. package/dist/PageHeader/PageHeader.d.ts +8 -0
  123. package/dist/PageHeader/PageHeader.js +91 -0
  124. package/dist/PageHeader/index.d.ts +2 -0
  125. package/dist/PageHeader/index.js +1 -0
  126. package/dist/PageHeader/typings.d.ts +34 -0
  127. package/dist/PageHeader/typings.js +1 -0
  128. package/dist/Pagination/typings.d.ts +1 -1
  129. package/dist/Popover/Popover.js +7 -7
  130. package/dist/Popover/typings.d.ts +3 -3
  131. package/dist/Popper/Popper.js +49 -28
  132. package/dist/Popper/popperOptions.js +1 -0
  133. package/dist/Popper/typings.d.ts +2 -0
  134. package/dist/Radio/Radio.d.ts +2 -12
  135. package/dist/Radio/Radio.js +2 -6
  136. package/dist/Radio/RadioButton.d.ts +1 -1
  137. package/dist/Radio/RadioButton.js +4 -4
  138. package/dist/Radio/index.d.ts +1 -0
  139. package/dist/Radio/index.js +2 -1
  140. package/dist/Radio/typings.d.ts +1 -1
  141. package/dist/RadioGroup/RadioGroup.js +44 -16
  142. package/dist/RadioGroup/typings.d.ts +10 -0
  143. package/dist/Segmented/Segmented.d.ts +4 -0
  144. package/dist/Segmented/Segmented.js +208 -0
  145. package/dist/Segmented/index.d.ts +2 -0
  146. package/dist/Segmented/index.js +1 -0
  147. package/dist/Segmented/typings.d.ts +20 -0
  148. package/dist/Segmented/typings.js +5 -0
  149. package/dist/Select/SelectCore.js +52 -9
  150. package/dist/Select/typings.d.ts +13 -8
  151. package/dist/Select/useSelect.d.ts +23 -9
  152. package/dist/Select/useSelect.js +55 -8
  153. package/dist/Skeleton/typings.d.ts +1 -1
  154. package/dist/Slider/Button.d.ts +4 -0
  155. package/dist/Slider/Button.js +96 -0
  156. package/dist/Slider/Marker.d.ts +4 -0
  157. package/dist/Slider/Marker.js +31 -0
  158. package/dist/Slider/Slider.d.ts +4 -0
  159. package/dist/Slider/Slider.js +263 -0
  160. package/dist/Slider/SliderContext.d.ts +3 -0
  161. package/dist/Slider/SliderContext.js +2 -0
  162. package/dist/Slider/hooks/index.d.ts +5 -0
  163. package/dist/Slider/hooks/index.js +5 -0
  164. package/dist/Slider/hooks/useLifecycle.d.ts +5 -0
  165. package/dist/Slider/hooks/useLifecycle.js +50 -0
  166. package/dist/Slider/hooks/useMarks.d.ts +2 -0
  167. package/dist/Slider/hooks/useMarks.js +49 -0
  168. package/dist/Slider/hooks/useSlider.d.ts +38 -0
  169. package/dist/Slider/hooks/useSlider.js +227 -0
  170. package/dist/Slider/hooks/useSliderButton.d.ts +28 -0
  171. package/dist/Slider/hooks/useSliderButton.js +454 -0
  172. package/dist/Slider/hooks/useStops.d.ts +6 -0
  173. package/dist/Slider/hooks/useStops.js +47 -0
  174. package/dist/Slider/hooks/useWatch.d.ts +3 -0
  175. package/dist/Slider/hooks/useWatch.js +119 -0
  176. package/dist/Slider/index.d.ts +2 -0
  177. package/dist/Slider/index.js +1 -0
  178. package/dist/Slider/style/css.d.ts +1 -0
  179. package/dist/Slider/style/css.js +1 -0
  180. package/dist/Slider/style/index.d.ts +1 -0
  181. package/dist/Slider/style/index.js +1 -0
  182. package/dist/Slider/typings.d.ts +122 -0
  183. package/dist/Slider/typings.js +1 -0
  184. package/dist/Space/Space.js +9 -12
  185. package/dist/Space/useSpace.js +2 -1
  186. package/dist/Statistic/Statistic.js +1 -2
  187. package/dist/Steps/Step.d.ts +4 -0
  188. package/dist/Steps/Step.js +247 -0
  189. package/dist/Steps/Steps.d.ts +5 -0
  190. package/dist/Steps/Steps.js +116 -0
  191. package/dist/Steps/index.d.ts +3 -0
  192. package/dist/Steps/index.js +2 -0
  193. package/dist/Steps/typings.d.ts +119 -0
  194. package/dist/Steps/typings.js +1 -0
  195. package/dist/Switch/typings.d.ts +0 -1
  196. package/dist/Table/Table.js +14 -14
  197. package/dist/Table/TableBody.js +4 -4
  198. package/dist/Table/TableCell.js +53 -28
  199. package/dist/Table/TableColumn.d.ts +2 -2
  200. package/dist/Table/TableHeader.js +2 -2
  201. package/dist/Table/TableHeaderCell.js +2 -2
  202. package/dist/Table/hooks/useResize.js +0 -2
  203. package/dist/Table/hooks/useTable.d.ts +1 -1
  204. package/dist/Table/hooks/useTable.js +15 -10
  205. package/dist/Table/typings.d.ts +26 -12
  206. package/dist/Table/util.d.ts +1 -1
  207. package/dist/Table/util.js +8 -65
  208. package/dist/TableV2/index.d.ts +10 -0
  209. package/dist/TableV2/index.js +7 -0
  210. package/dist/TableV2/src/auto-resizer.d.ts +14 -0
  211. package/dist/TableV2/src/auto-resizer.js +1 -0
  212. package/dist/TableV2/src/cell.d.ts +21 -0
  213. package/dist/TableV2/src/cell.js +1 -0
  214. package/dist/TableV2/src/components/auto-resizer.d.ts +4 -0
  215. package/dist/TableV2/src/components/auto-resizer.js +32 -0
  216. package/dist/TableV2/src/components/cell.d.ts +4 -0
  217. package/dist/TableV2/src/components/cell.js +22 -0
  218. package/dist/TableV2/src/components/expand-icon.d.ts +12 -0
  219. package/dist/TableV2/src/components/expand-icon.js +29 -0
  220. package/dist/TableV2/src/components/header-cell.d.ts +4 -0
  221. package/dist/TableV2/src/components/header-cell.js +23 -0
  222. package/dist/TableV2/src/components/header-row.d.ts +17 -0
  223. package/dist/TableV2/src/components/header-row.js +41 -0
  224. package/dist/TableV2/src/components/header.d.ts +20 -0
  225. package/dist/TableV2/src/components/header.js +103 -0
  226. package/dist/TableV2/src/components/index.d.ts +10 -0
  227. package/dist/TableV2/src/components/index.js +7 -0
  228. package/dist/TableV2/src/components/row.d.ts +19 -0
  229. package/dist/TableV2/src/components/row.js +206 -0
  230. package/dist/TableV2/src/components/sort-icon.d.ts +9 -0
  231. package/dist/TableV2/src/components/sort-icon.js +14 -0
  232. package/dist/TableV2/src/composables/index.d.ts +6 -0
  233. package/dist/TableV2/src/composables/index.js +6 -0
  234. package/dist/TableV2/src/composables/use-auto-resize.d.ts +7 -0
  235. package/dist/TableV2/src/composables/use-auto-resize.js +55 -0
  236. package/dist/TableV2/src/composables/use-columns.d.ts +21 -0
  237. package/dist/TableV2/src/composables/use-columns.js +119 -0
  238. package/dist/TableV2/src/composables/use-data.d.ts +15 -0
  239. package/dist/TableV2/src/composables/use-data.js +62 -0
  240. package/dist/TableV2/src/composables/use-row.d.ts +34 -0
  241. package/dist/TableV2/src/composables/use-row.js +191 -0
  242. package/dist/TableV2/src/composables/use-scrollbar.d.ts +25 -0
  243. package/dist/TableV2/src/composables/use-scrollbar.js +117 -0
  244. package/dist/TableV2/src/composables/use-styles.d.ts +23 -0
  245. package/dist/TableV2/src/composables/use-styles.js +90 -0
  246. package/dist/TableV2/src/composables/utils.d.ts +3 -0
  247. package/dist/TableV2/src/composables/utils.js +29 -0
  248. package/dist/TableV2/src/constants.d.ts +18 -0
  249. package/dist/TableV2/src/constants.js +22 -0
  250. package/dist/TableV2/src/grid.d.ts +52 -0
  251. package/dist/TableV2/src/grid.js +1 -0
  252. package/dist/TableV2/src/header-cell.d.ts +13 -0
  253. package/dist/TableV2/src/header-cell.js +1 -0
  254. package/dist/TableV2/src/header-row.d.ts +10 -0
  255. package/dist/TableV2/src/header-row.js +1 -0
  256. package/dist/TableV2/src/header.d.ts +15 -0
  257. package/dist/TableV2/src/header.js +1 -0
  258. package/dist/TableV2/src/private.d.ts +1 -0
  259. package/dist/TableV2/src/private.js +1 -0
  260. package/dist/TableV2/src/renderers/cell.d.ts +14 -0
  261. package/dist/TableV2/src/renderers/cell.js +120 -0
  262. package/dist/TableV2/src/renderers/empty.d.ts +7 -0
  263. package/dist/TableV2/src/renderers/empty.js +11 -0
  264. package/dist/TableV2/src/renderers/footer.d.ts +7 -0
  265. package/dist/TableV2/src/renderers/footer.js +9 -0
  266. package/dist/TableV2/src/renderers/header-cell.d.ts +13 -0
  267. package/dist/TableV2/src/renderers/header-cell.js +92 -0
  268. package/dist/TableV2/src/renderers/header.d.ts +9 -0
  269. package/dist/TableV2/src/renderers/header.js +39 -0
  270. package/dist/TableV2/src/renderers/left-table.d.ts +32 -0
  271. package/dist/TableV2/src/renderers/left-table.js +15 -0
  272. package/dist/TableV2/src/renderers/main-table.d.ts +31 -0
  273. package/dist/TableV2/src/renderers/main-table.js +12 -0
  274. package/dist/TableV2/src/renderers/overlay.d.ts +3 -0
  275. package/dist/TableV2/src/renderers/overlay.js +9 -0
  276. package/dist/TableV2/src/renderers/right-table.d.ts +31 -0
  277. package/dist/TableV2/src/renderers/right-table.js +15 -0
  278. package/dist/TableV2/src/renderers/row.d.ts +11 -0
  279. package/dist/TableV2/src/renderers/row.js +96 -0
  280. package/dist/TableV2/src/row.d.ts +51 -0
  281. package/dist/TableV2/src/row.js +1 -0
  282. package/dist/TableV2/src/table-grid.d.ts +43 -0
  283. package/dist/TableV2/src/table-grid.js +283 -0
  284. package/dist/TableV2/src/table-v2.d.ts +31 -0
  285. package/dist/TableV2/src/table-v2.js +311 -0
  286. package/dist/TableV2/src/table.d.ts +196 -0
  287. package/dist/TableV2/src/table.js +1 -0
  288. package/dist/TableV2/src/tokens.d.ts +11 -0
  289. package/dist/TableV2/src/tokens.js +6 -0
  290. package/dist/TableV2/src/types.d.ts +94 -0
  291. package/dist/TableV2/src/types.js +1 -0
  292. package/dist/TableV2/src/use-table.d.ts +48 -0
  293. package/dist/TableV2/src/use-table.js +197 -0
  294. package/dist/TableV2/src/utils.d.ts +5 -0
  295. package/dist/TableV2/src/utils.js +47 -0
  296. package/dist/Tabs/Tabs.js +1 -1
  297. package/dist/Tabs/typings.d.ts +1 -3
  298. package/dist/Tag/Tag.js +1 -1
  299. package/dist/TimePicker/TimePicker.js +6 -7
  300. package/dist/TimePicker/TimePickerPanel.js +12 -2
  301. package/dist/TimePicker/TimePickerRange.js +19 -8
  302. package/dist/Tooltip/Tooltip.js +31 -8
  303. package/dist/Tooltip/typings.d.ts +4 -0
  304. package/dist/Tour/Content.d.ts +9 -0
  305. package/dist/Tour/Content.js +81 -0
  306. package/dist/Tour/Mask.d.ts +12 -0
  307. package/dist/Tour/Mask.js +100 -0
  308. package/dist/Tour/Step.d.ts +7 -0
  309. package/dist/Tour/Step.js +119 -0
  310. package/dist/Tour/Tour.d.ts +6 -0
  311. package/dist/Tour/Tour.js +237 -0
  312. package/dist/Tour/context.d.ts +4 -0
  313. package/dist/Tour/context.js +9 -0
  314. package/dist/Tour/helper.d.ts +39 -0
  315. package/dist/Tour/helper.js +286 -0
  316. package/dist/Tour/index.d.ts +3 -0
  317. package/dist/Tour/index.js +2 -0
  318. package/dist/Tour/typings.d.ts +318 -0
  319. package/dist/Tour/typings.js +38 -0
  320. package/dist/Transfer/List.js +58 -59
  321. package/dist/Transfer/ListItem.d.ts +2 -2
  322. package/dist/Transfer/Transfer.d.ts +2 -2
  323. package/dist/Transfer/Transfer.js +84 -70
  324. package/dist/Transfer/index.d.ts +1 -1
  325. package/dist/Transfer/operation.js +8 -10
  326. package/dist/Transfer/typings/index.d.ts +49 -38
  327. package/dist/Transfer/typings/list.d.ts +11 -11
  328. package/dist/Transfer/typings/listBody.d.ts +2 -2
  329. package/dist/Transition/Transition.d.ts +1 -0
  330. package/dist/Transition/Transition.js +8 -7
  331. package/dist/Tree/Tree.js +1 -0
  332. package/dist/Tree/model/tree-store.js +4 -4
  333. package/dist/Tree/typings.d.ts +3 -1
  334. package/dist/TreeSelect/typings.d.ts +1 -1
  335. package/dist/TreeSelect/useSelect.d.ts +38 -85
  336. package/dist/TreeSelect/useSelect.js +1 -1
  337. package/dist/TreeSelect/useTree.d.ts +47 -52
  338. package/dist/TreeSelect/useTree.js +2 -2
  339. package/dist/Upload/UploadContent.js +1 -1
  340. package/dist/Upload/typings.d.ts +1 -1
  341. package/dist/Util/PopupManager.js +1 -1
  342. package/dist/Util/aria.d.ts +1 -1
  343. package/dist/Util/base.d.ts +33 -8
  344. package/dist/Util/base.js +44 -16
  345. package/dist/Util/easings.d.ts +1 -0
  346. package/dist/Util/easings.js +8 -0
  347. package/dist/Util/error.d.ts +3 -0
  348. package/dist/Util/error.js +39 -0
  349. package/dist/Util/icons.d.ts +2 -0
  350. package/dist/Util/icons.js +15 -0
  351. package/dist/Util/index.d.ts +6 -2
  352. package/dist/Util/index.js +6 -2
  353. package/dist/Util/position.d.ts +9 -0
  354. package/dist/Util/position.js +53 -0
  355. package/dist/Util/raf.d.ts +4 -0
  356. package/dist/Util/raf.js +10 -0
  357. package/dist/Util/scroll.d.ts +9 -0
  358. package/dist/Util/scroll.js +72 -0
  359. package/dist/Util/throttleByRaf.d.ts +4 -0
  360. package/dist/Util/throttleByRaf.js +21 -0
  361. package/dist/VirtualList/builders/build-grid.d.ts +5 -0
  362. package/dist/VirtualList/builders/build-grid.js +561 -0
  363. package/dist/VirtualList/builders/build-list.d.ts +7 -0
  364. package/dist/VirtualList/builders/build-list.js +408 -0
  365. package/dist/VirtualList/components/dynamic-size-grid.d.ts +15 -0
  366. package/dist/VirtualList/components/dynamic-size-grid.js +242 -0
  367. package/dist/VirtualList/components/dynamic-size-list.d.ts +7 -0
  368. package/dist/VirtualList/components/dynamic-size-list.js +186 -0
  369. package/dist/VirtualList/components/fixed-size-grid.d.ts +4 -0
  370. package/dist/VirtualList/components/fixed-size-grid.js +161 -0
  371. package/dist/VirtualList/components/fixed-size-list.d.ts +7 -0
  372. package/dist/VirtualList/components/fixed-size-list.js +103 -0
  373. package/dist/VirtualList/components/scrollbar.d.ts +5 -0
  374. package/dist/VirtualList/components/scrollbar.js +272 -0
  375. package/dist/VirtualList/defaults.d.ts +26 -0
  376. package/dist/VirtualList/defaults.js +24 -0
  377. package/dist/VirtualList/hooks/use-cache.d.ts +1 -0
  378. package/dist/VirtualList/hooks/use-cache.js +16 -0
  379. package/dist/VirtualList/hooks/use-grid-touch.d.ts +8 -0
  380. package/dist/VirtualList/hooks/use-grid-touch.js +58 -0
  381. package/dist/VirtualList/hooks/use-grid-wheel.d.ts +12 -0
  382. package/dist/VirtualList/hooks/use-grid-wheel.js +48 -0
  383. package/dist/VirtualList/hooks/use-wheel.d.ts +12 -0
  384. package/dist/VirtualList/hooks/use-wheel.js +41 -0
  385. package/dist/VirtualList/index.d.ts +9 -0
  386. package/dist/VirtualList/index.js +6 -0
  387. package/dist/VirtualList/props.d.ts +95 -0
  388. package/dist/VirtualList/props.js +42 -0
  389. package/dist/VirtualList/types.d.ts +151 -0
  390. package/dist/VirtualList/types.js +1 -0
  391. package/dist/VirtualList/utils.d.ts +11 -0
  392. package/dist/VirtualList/utils.js +56 -0
  393. package/dist/Watermark/Watermark.d.ts +4 -0
  394. package/dist/Watermark/Watermark.js +257 -0
  395. package/dist/Watermark/helper.d.ts +50 -0
  396. package/dist/Watermark/helper.js +253 -0
  397. package/dist/Watermark/index.d.ts +2 -0
  398. package/dist/Watermark/index.js +1 -0
  399. package/dist/Watermark/typings.d.ts +93 -0
  400. package/dist/Watermark/typings.js +1 -0
  401. package/dist/hooks/index.d.ts +1 -0
  402. package/dist/hooks/useClassNames.d.ts +1 -0
  403. package/dist/hooks/useClickOutside.js +25 -9
  404. package/dist/hooks/useCommonProps.d.ts +4 -0
  405. package/dist/hooks/useCommonProps.js +12 -3
  406. package/dist/hooks/useLockscreen.d.ts +6 -0
  407. package/dist/hooks/useLockscreen.js +45 -0
  408. package/dist/hooks/useResizeObserver.d.ts +1 -1
  409. package/dist/hooks/useResizeObserver.js +1 -1
  410. package/dist/index.css +1 -1
  411. package/dist/index.d.ts +33 -12
  412. package/dist/index.js +17 -6
  413. package/dist/locale/en.d.ts +4 -1
  414. package/dist/locale/en.js +4 -1
  415. package/dist/locale/zhCn.d.ts +4 -1
  416. package/dist/locale/zhCn.js +4 -1
  417. package/package.json +5 -3
  418. package/theme-chalk/affix.scss +7 -0
  419. package/theme-chalk/alert.scss +115 -115
  420. package/theme-chalk/anchor-link.scss +45 -0
  421. package/theme-chalk/anchor.scss +93 -0
  422. package/theme-chalk/backtop.scss +29 -0
  423. package/theme-chalk/breadcrumb-item.scss +58 -0
  424. package/theme-chalk/breadcrumb.scss +5 -61
  425. package/theme-chalk/cascader-panel.scss +57 -82
  426. package/theme-chalk/cascader.scss +206 -160
  427. package/theme-chalk/checkbox.scss +4 -0
  428. package/theme-chalk/collapse-item.scss +72 -0
  429. package/theme-chalk/collapse.scss +21 -76
  430. package/theme-chalk/common/popup.scss +47 -0
  431. package/theme-chalk/common/var.scss +62 -6
  432. package/theme-chalk/dialog.scss +145 -137
  433. package/theme-chalk/drawer.scss +252 -247
  434. package/theme-chalk/form-item.scss +437 -0
  435. package/theme-chalk/form.scss +23 -361
  436. package/theme-chalk/index.scss +17 -1
  437. package/theme-chalk/input/input.scss +19 -0
  438. package/theme-chalk/input-number.scss +179 -192
  439. package/theme-chalk/message-box.scss +160 -133
  440. package/theme-chalk/message.scss +104 -104
  441. package/theme-chalk/mixins/mixins.scss +148 -151
  442. package/theme-chalk/notification.scss +109 -109
  443. package/theme-chalk/overlay.scss +17 -0
  444. package/theme-chalk/page-header.scss +60 -0
  445. package/theme-chalk/popper.scss +1 -1
  446. package/theme-chalk/radio.scss +3 -3
  447. package/theme-chalk/segmented.scss +186 -0
  448. package/theme-chalk/slider.scss +212 -0
  449. package/theme-chalk/space.scss +20 -20
  450. package/theme-chalk/statistic.scss +35 -35
  451. package/theme-chalk/step.scss +320 -0
  452. package/theme-chalk/steps.scss +22 -0
  453. package/theme-chalk/table-v2.scss +237 -0
  454. package/theme-chalk/table.scss +461 -482
  455. package/theme-chalk/time-range-picker.scss +1 -1
  456. package/theme-chalk/tooltip.scss +2 -2
  457. package/theme-chalk/tour.scss +170 -0
  458. package/theme-chalk/transfer.scss +38 -12
  459. package/theme-chalk/tree-select.scss +41 -41
  460. package/theme-chalk/virtual-list.scss +40 -0
  461. package/theme-chalk/button/_mixins.scss +0 -317
  462. package/theme-chalk/button/button-group.scss +0 -83
  463. package/theme-chalk/button/button.scss +0 -382
  464. package/theme-chalk/button/index.scss +0 -2
  465. package/theme-chalk/button--bak/_mixins.scss +0 -317
  466. package/theme-chalk/button--bak/button-group.scss +0 -83
  467. package/theme-chalk/button--bak/button.scss +0 -382
  468. package/theme-chalk/button--bak/index.scss +0 -2
  469. package/theme-chalk/calendar/date-table.scss--bak +0 -156
  470. package/theme-chalk/input/input.scss--bak +0 -578
  471. package/theme-chalk/input-number.bak +0 -172
  472. package/theme-chalk/link.scss--bak +0 -99
  473. package/theme-chalk/notification.bak +0 -156
  474. package/theme-chalk/popper.scss--bak +0 -86
  475. package/theme-chalk/radio-button.scss--bak +0 -128
  476. package/theme-chalk/select/index.scss--bak +0 -247
  477. package/theme-chalk/switch.scss--bak +0 -273
  478. package/theme-chalk/tag.scss--bak +0 -203
  479. package/theme-chalk/tree/_directory.scss +0 -73
  480. package/theme-chalk/tree/_tree.scss +0 -401
  481. package/theme-chalk/tree/index.scss +0 -2
  482. /package/dist/TreeSelect/{utils.d.ts → Utils.d.ts} +0 -0
  483. /package/dist/TreeSelect/{utils.js → Utils.js} +0 -0
@@ -0,0 +1,208 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ 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); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ 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."); }
9
+ 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); }
10
+ 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; }
11
+ 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; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import classNames from 'classnames';
14
+ import isObject from 'lodash/isObject';
15
+ import React, { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
16
+ import { useClassNames, useControlled, useDisabled, useSize } from "../hooks";
17
+ import { useResizeObserver } from "../hooks/useResizeObserver";
18
+ import { defaultProps as defaultAliasProps } from "./typings";
19
+ var Segmented = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref) {
20
+ var _props$direction = props.direction,
21
+ direction = _props$direction === void 0 ? 'horizontal' : _props$direction,
22
+ size = props.size,
23
+ disabled = props.disabled,
24
+ options = props.options,
25
+ block = props.block,
26
+ id = props.id,
27
+ nameProp = props.name,
28
+ ariaLabel = props.ariaLabel,
29
+ onChange = props.onChange,
30
+ className = props.className,
31
+ style = props.style,
32
+ children = props.children;
33
+ var ns = useClassNames('segmented');
34
+ var segmentedSize = useSize(size);
35
+ var _disabled = useDisabled(disabled);
36
+ var segmentedRef = useRef(null);
37
+ var _useState = useState({
38
+ isInit: false,
39
+ width: 0,
40
+ height: 0,
41
+ translateX: 0,
42
+ translateY: 0,
43
+ focusVisible: false
44
+ }),
45
+ _useState2 = _slicedToArray(_useState, 2),
46
+ indicator = _useState2[0],
47
+ setIndicator = _useState2[1];
48
+ var _useControlled = useControlled(props.value, props.defaultValue),
49
+ _useControlled2 = _slicedToArray(_useControlled, 2),
50
+ value = _useControlled2[0],
51
+ setValue = _useControlled2[1];
52
+ var aliasProps = useMemo(function () {
53
+ return _objectSpread(_objectSpread({}, defaultAliasProps), props.props);
54
+ }, [props.props]);
55
+ var getValue = useCallback(function (item) {
56
+ return isObject(item) ? item[aliasProps.value] : item;
57
+ }, [aliasProps.value]);
58
+ var getLabel = useCallback(function (item) {
59
+ return isObject(item) ? item[aliasProps.label] : item;
60
+ }, [aliasProps.label]);
61
+ var getDisabled = useCallback(function (item) {
62
+ return !!(_disabled || (isObject(item) ? item[aliasProps.disabled] : false));
63
+ }, [_disabled, aliasProps.disabled]);
64
+ var getSelected = useCallback(function (item) {
65
+ return value === getValue(item);
66
+ }, [value, getValue]);
67
+ var getOption = useCallback(function (val) {
68
+ return options.find(function (item) {
69
+ return getValue(item) === val;
70
+ });
71
+ }, [options, getValue]);
72
+ var updateSelect = useCallback(function () {
73
+ if (!segmentedRef.current) {
74
+ return;
75
+ }
76
+ var selectedItem = segmentedRef.current.querySelector('.is-selected');
77
+ var selectedItemInput = segmentedRef.current.querySelector('.is-selected input');
78
+ if (!selectedItem || !selectedItemInput) {
79
+ setIndicator(function (prev) {
80
+ return _objectSpread(_objectSpread({}, prev), {}, {
81
+ width: 0,
82
+ height: 0,
83
+ translateX: 0,
84
+ translateY: 0,
85
+ focusVisible: false
86
+ });
87
+ });
88
+ return;
89
+ }
90
+ setIndicator(function (prev) {
91
+ return _objectSpread(_objectSpread({}, prev), {}, {
92
+ isInit: true
93
+ });
94
+ });
95
+ var focusVisible = false;
96
+ try {
97
+ focusVisible = selectedItemInput.matches(':focus-visible');
98
+ } catch (_unused) {
99
+ //
100
+ }
101
+ if (direction === 'vertical') {
102
+ setIndicator(function (prev) {
103
+ return _objectSpread(_objectSpread({}, prev), {}, {
104
+ height: selectedItem.offsetHeight,
105
+ translateY: selectedItem.offsetTop,
106
+ focusVisible: focusVisible
107
+ });
108
+ });
109
+ } else {
110
+ setIndicator(function (prev) {
111
+ return _objectSpread(_objectSpread({}, prev), {}, {
112
+ width: selectedItem.offsetWidth,
113
+ translateX: selectedItem.offsetLeft
114
+ });
115
+ });
116
+ }
117
+ }, [direction]);
118
+ var handleChange = useCallback(function (evt, item) {
119
+ var newValue = getValue(item);
120
+ setValue(newValue);
121
+ onChange === null || onChange === void 0 || onChange(newValue);
122
+ evt.target.checked = value === newValue;
123
+ }, [getValue, setValue, onChange, value]);
124
+ var selectedStyle = useMemo(function () {
125
+ if (direction === 'vertical') {
126
+ return {
127
+ width: '100%',
128
+ height: "".concat(indicator.height, "px"),
129
+ transform: "translateY(".concat(indicator.translateY, "px)"),
130
+ display: indicator.isInit ? 'block' : 'none'
131
+ };
132
+ }
133
+ return {
134
+ width: "".concat(indicator.width, "px"),
135
+ height: '100%',
136
+ transform: "translateX(".concat(indicator.translateX, "px)"),
137
+ display: indicator.isInit ? 'block' : 'none'
138
+ };
139
+ }, [direction, indicator]);
140
+ var segmentedCls = classNames(ns.b(), ns.m(segmentedSize), ns.is({
141
+ block: block
142
+ }), className);
143
+ var selectedCls = classNames(ns.e('item-selected'), ns.is({
144
+ disabled: getDisabled(getOption(value))
145
+ }), ns.is({
146
+ 'focus-visible': indicator.focusVisible
147
+ }));
148
+ var name = nameProp || id;
149
+ var domId = id;
150
+ useResizeObserver(segmentedRef, updateSelect);
151
+ useEffect(function () {
152
+ updateSelect();
153
+ }, [options]);
154
+ useEffect(function () {
155
+ updateSelect();
156
+ }, [value]);
157
+ useImperativeHandle(ref, function () {
158
+ return {
159
+ updateSelect: updateSelect
160
+ };
161
+ });
162
+ return /*#__PURE__*/React.createElement("div", {
163
+ id: domId,
164
+ ref: segmentedRef,
165
+ className: segmentedCls,
166
+ role: "radiogroup",
167
+ "aria-label": ariaLabel || 'segmented',
168
+ style: style
169
+ }, /*#__PURE__*/React.createElement("div", {
170
+ className: classNames(ns.e('group'), ns.m(direction))
171
+ }, /*#__PURE__*/React.createElement("div", {
172
+ style: selectedStyle,
173
+ className: selectedCls
174
+ }), options.map(function (item, index) {
175
+ var value = getValue(item);
176
+ var label = getLabel(item);
177
+ if (children) {
178
+ if (children && typeof children === 'function') {
179
+ label = children(item);
180
+ } else {
181
+ label = children;
182
+ }
183
+ }
184
+ var isDisabled = getDisabled(item);
185
+ var isSelected = getSelected(item);
186
+ var itemCls = classNames(ns.e('item'), ns.is({
187
+ selected: isSelected,
188
+ disabled: isDisabled
189
+ }));
190
+ return /*#__PURE__*/React.createElement("label", {
191
+ key: index,
192
+ className: itemCls
193
+ }, /*#__PURE__*/React.createElement("input", {
194
+ className: ns.e('item-input'),
195
+ type: "radio",
196
+ name: name,
197
+ disabled: isDisabled,
198
+ checked: isSelected,
199
+ onChange: function onChange(e) {
200
+ return handleChange(e, item);
201
+ }
202
+ }), /*#__PURE__*/React.createElement("div", {
203
+ className: ns.e('item-label')
204
+ }, label));
205
+ })));
206
+ }));
207
+ Segmented.displayName = 'ElSegmented';
208
+ export default Segmented;
@@ -0,0 +1,2 @@
1
+ export { default as Segmented } from './Segmented';
2
+ export type { Option, SegmentedComponentProps, SegmentedProps } from './typings';
@@ -0,0 +1 @@
1
+ export { default as Segmented } from "./Segmented";
@@ -0,0 +1,20 @@
1
+ import { ReactElement } from 'react';
2
+ import { BaseProps, FormControlBaseProps, NativeProps } from '../types/common';
3
+ export type Option = Record<string, any> | string | number | boolean;
4
+ export interface SegmentedProps {
5
+ label?: string;
6
+ value?: string;
7
+ disabled?: string;
8
+ }
9
+ export declare const defaultProps: Required<SegmentedProps>;
10
+ export interface SegmentedComponentProps<T extends Option = Option> extends BaseProps<ReactElement | ReactElement[] | ((data: T) => ReactElement | ReactElement[])>, NativeProps<'--el-segmented-color' | '--el-segmented-bg-color' | '--el-segmented-padding' | '--el-segmented-item-selected-color' | '--el-segmented-item-selected-bg-color' | '--el-segmented-item-selected-disabled-bg-color' | '--el-segmented-item-hover-color' | '--el-segmented-item-hover-bg-color' | '--el-segmented-item-active-bg-color' | '--el-segmented-item-disabled-color'>, FormControlBaseProps<string | number | boolean> {
11
+ direction?: 'vertical' | 'horizontal';
12
+ options?: T[];
13
+ props?: SegmentedProps;
14
+ block?: boolean;
15
+ validateEvent?: boolean;
16
+ id?: string;
17
+ name?: string;
18
+ ariaLabel?: string;
19
+ onChange?: (val: string | number | boolean) => void;
20
+ }
@@ -0,0 +1,5 @@
1
+ export var defaultProps = {
2
+ label: 'label',
3
+ value: 'value',
4
+ disabled: 'disabled'
5
+ };
@@ -1,20 +1,24 @@
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 _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23;
3
- 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); }
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24;
4
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ 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); }
6
6
  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; }
7
7
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
8
8
  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); }
9
9
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
10
10
  import classNames from 'classnames';
11
- import React, { forwardRef, useImperativeHandle } from 'react';
11
+ import React, { Children, forwardRef, useImperativeHandle, useMemo } from 'react';
12
12
  import Icon from "../Icon/Icon";
13
13
  import Popper from "../Popper/Popper";
14
14
  import Tag from "../Tag/Tag";
15
15
  import Tooltip from "../Tooltip/Tooltip";
16
16
  import { isEmpty, isNotEmpty } from "../Util";
17
+ import { ValidateComponentsMap } from "../Util/icons";
18
+ import { useClassNames } from "../hooks";
17
19
  import { useCalcInputWidth } from "../hooks/useCalcInputWidth";
20
+ import Option from "./Option";
21
+ import OptionGroup from "./OptionGroup";
18
22
  import SelectDropdown from "./SelectDropdown";
19
23
  import useSelect from "./useSelect";
20
24
  var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
@@ -74,14 +78,53 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
74
78
  handleCompositionUpdate = _props.handleCompositionUpdate,
75
79
  handleCompositionEnd = _props.handleCompositionEnd,
76
80
  tag = _props.tag,
77
- cachedOptions = _props.cachedOptions;
81
+ cachedOptions = _props.cachedOptions,
82
+ aliasProps = _props.aliasProps,
83
+ options = _props.options,
84
+ validateIcon = _props.validateIcon,
85
+ statusIcon = _props.statusIcon,
86
+ validateState = _props.validateState;
78
87
  var b = nsSelect.b,
79
88
  e = nsSelect.e,
80
89
  m = nsSelect.m,
81
90
  is = nsSelect.is;
91
+ var nsInput = useClassNames('input');
82
92
  var _useCalcInputWidth = useCalcInputWidth(),
83
93
  calculatorRef = _useCalcInputWidth.calculatorRef,
84
94
  inputStyle = _useCalcInputWidth.inputStyle;
95
+ var optionChilds = useMemo(function () {
96
+ if (Children.count(props.children) > 0) {
97
+ return props.children;
98
+ }
99
+ if (options.length > 0) {
100
+ var radios = options.map(function (item) {
101
+ var _item$aliasProps$opti;
102
+ if (((_item$aliasProps$opti = item[aliasProps.options]) === null || _item$aliasProps$opti === void 0 ? void 0 : _item$aliasProps$opti.length) > 0) {
103
+ return /*#__PURE__*/React.createElement(OptionGroup, {
104
+ key: item[aliasProps.value],
105
+ label: item[aliasProps.label],
106
+ disabled: item[aliasProps.disabled]
107
+ }, item[aliasProps.options].map(function (child) {
108
+ return /*#__PURE__*/React.createElement(Option, {
109
+ key: child[aliasProps.value],
110
+ value: child[aliasProps.value],
111
+ label: child[aliasProps.label],
112
+ disabled: child[aliasProps.disabled],
113
+ data: child[aliasProps.data]
114
+ });
115
+ }));
116
+ }
117
+ return /*#__PURE__*/React.createElement(Option, {
118
+ key: item[aliasProps.value],
119
+ value: item[aliasProps.value],
120
+ label: item[aliasProps.label],
121
+ disabled: item[aliasProps.disabled],
122
+ data: item[aliasProps.data]
123
+ });
124
+ });
125
+ return radios;
126
+ }
127
+ }, [options, props.children, aliasProps.data, aliasProps.disabled, aliasProps.label, aliasProps.options, aliasProps.value]);
85
128
  useImperativeHandle(ref, function () {
86
129
  return {
87
130
  popperInstRef: popperInstRef,
@@ -208,8 +251,6 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
208
251
  onBlur: function onBlur() {
209
252
  return setIsFocused(false);
210
253
  }
211
- // error={error}
212
- // warning={warning}
213
254
  // style={multiple ? { height: inputHeight } : {}}
214
255
  // suffix={<Icon prefix="fal" name="angle-down" rotate={visible ? 180 : null} onClick={toggleMenu} />}
215
256
  }), filterable ? /*#__PURE__*/React.createElement("span", {
@@ -232,10 +273,12 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
232
273
  name: clearIcon,
233
274
  className: classNames(e(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["caret"]))), e(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["icon"]))), e(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["clear"])))),
234
275
  onClick: onClear
235
- }) : null)), /*#__PURE__*/React.createElement(Popper, _extends({
276
+ }) : null, validateState && validateIcon && statusIcon && /*#__PURE__*/React.createElement(Icon, _extends({}, ValidateComponentsMap[validateState], {
277
+ className: classNames(nsInput.e('icon'), nsInput.e('validateIcon'), is('loading', validateState === 'validating'))
278
+ })))), /*#__PURE__*/React.createElement(Popper, _extends({
236
279
  referenceElement: containerRef,
237
280
  visible: visible,
238
- popperClass: e(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["popper"]))),
281
+ popperClass: classNames(e(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["popper"]))), is(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["pure"])))),
239
282
  popperInstRef: popperInstRef,
240
283
  popperStyle: _objectSpread(_objectSpread({}, popperStyle), {}, {
241
284
  visibility: filterable && remote && isEmpty(inputValue) ? 'hidden' : 'visible'
@@ -262,7 +305,7 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
262
305
  }, _props, {
263
306
  onClear: props.onClear,
264
307
  cachedOptions: cachedOptions
265
- }), props.children)));
308
+ }), optionChilds)));
266
309
  });
267
310
  SelectCore.displayName = 'SelectCore';
268
311
  export default SelectCore;
@@ -14,7 +14,7 @@ export type SelectRef = {
14
14
  onChoose: <T = any>(val: string, data: OptionData<T>, event?: any) => ValueType;
15
15
  };
16
16
  type Child = React.ReactElement<SelectOptionGroupProps | SelectOptionProps> | React.ReactElement<SelectOptionGroupProps | SelectOptionProps>[];
17
- export interface SelectProps<V = ValueType> extends Omit<FormControlBaseProps<V>, 'onChange'>, BaseProps<Child | Child[]>, NativeProps, AnimationEventProps, PopperOptions {
17
+ export interface SelectProps<V = ValueType> extends Omit<FormControlBaseProps<V>, 'onChange'>, BaseProps<Child | Child[]>, NativeProps<'--el-select-border-color-hover' | '--el-select-disabled-color' | '--el-select-disabled-border' | '--el-select-font-size' | '--el-select-close-hover-color' | '--el-select-input-color' | '--el-select-multiple-input-color' | '--el-select-input-focus-border-color' | '--el-select-input-font-size' | '--el-select-width'>, AnimationEventProps, PopperOptions {
18
18
  /** 是否多选 */
19
19
  multiple?: boolean;
20
20
  /** 是否禁用 */
@@ -42,15 +42,9 @@ export interface SelectProps<V = ValueType> extends Omit<FormControlBaseProps<V>
42
42
  /** 远程加载时显示的图标 */
43
43
  loadingIcon?: React.ReactElement;
44
44
  /** */
45
- max?: boolean;
46
45
  /** 下拉菜单的内容是否有箭头 */
47
46
  showArrow?: boolean;
48
47
  /** */
49
- required?: boolean;
50
- /** 表单校验错误提示 */
51
- error?: boolean;
52
- /** 表单校验警告提示 */
53
- warning?: boolean;
54
48
  /** 下拉项最大宽度 */
55
49
  maxWidth?: number;
56
50
  /** 多选时是否将选中值按文字的形式展示 */
@@ -95,7 +89,6 @@ export interface SelectProps<V = ValueType> extends Omit<FormControlBaseProps<V>
95
89
  /** 可清空的单选模式下用户点击清空按钮时触发 */
96
90
  onClear?: () => void;
97
91
  /** 对于不可搜索的 Select,是否在输入框获得焦点后自动弹出选项菜单 */
98
- automaticDropdown?: boolean;
99
92
  /** 下拉列表顶部的内容 */
100
93
  header?: React.ReactElement;
101
94
  /** 下拉列表底部的内容 */
@@ -107,6 +100,18 @@ export interface SelectProps<V = ValueType> extends Omit<FormControlBaseProps<V>
107
100
  deleteTag: (event: React.MouseEvent<HTMLElement, MouseEvent>, tag: OptionData<T>) => void;
108
101
  }) => React.ReactElement;
109
102
  unmountOnExit?: boolean;
103
+ /** 选项的数据源, value 的 key 和 label 和 disabled可以通过 props自定义. */
104
+ options?: Array<{
105
+ [key: string]: any;
106
+ }>;
107
+ /** options 的配置 */
108
+ props?: {
109
+ value?: string;
110
+ label?: string;
111
+ disabled?: string;
112
+ options?: string;
113
+ data?: string;
114
+ };
110
115
  }
111
116
  export interface SelectOptionProps extends BaseProps, NativeProps {
112
117
  /** 选项的值 */
@@ -72,6 +72,16 @@ declare const useSelect: (props: SelectProps) => {
72
72
  handleCompositionUpdate: (event: React.CompositionEvent<HTMLInputElement>) => void;
73
73
  handleCompositionEnd: (event: React.CompositionEvent<HTMLInputElement>) => void;
74
74
  cachedOptions: React.MutableRefObject<Map<OptionValue, OptionData<any>>>;
75
+ aliasProps: {
76
+ value?: string;
77
+ label?: string;
78
+ disabled?: string;
79
+ options?: string;
80
+ data?: string;
81
+ };
82
+ validateIcon: import("..").IconProps;
83
+ statusIcon: boolean;
84
+ validateState: "" | "error" | "success" | "validating";
75
85
  valueKey?: string;
76
86
  filterMethod?: (searchText: string) => void;
77
87
  noDataText?: string;
@@ -79,11 +89,7 @@ declare const useSelect: (props: SelectProps) => {
79
89
  loading?: boolean;
80
90
  loadingText?: string;
81
91
  loadingIcon?: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
82
- max?: boolean;
83
92
  showArrow?: boolean;
84
- required?: boolean;
85
- error?: boolean;
86
- warning?: boolean;
87
93
  maxWidth?: number;
88
94
  collapseTags?: boolean;
89
95
  maxCollapseTags?: number;
@@ -95,9 +101,7 @@ declare const useSelect: (props: SelectProps) => {
95
101
  appendToBody?: boolean;
96
102
  remoteMethod?: (searchText: string) => void;
97
103
  tagType?: import("..").TypeAttributes.Appearance;
98
- tagEffect?: "light" | "dark" | "plain";
99
- /** 获取所有的option组件 */
100
- automaticDropdown?: boolean;
104
+ tagEffect?: "dark" | "light" | "plain";
101
105
  header?: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
102
106
  footer?: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
103
107
  tag?: <T_1 = any>(params: {
@@ -106,13 +110,23 @@ declare const useSelect: (props: SelectProps) => {
106
110
  deleteTag: (event: React.MouseEvent<HTMLElement, MouseEvent>, tag: OptionData<T_1>) => void;
107
111
  }) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
108
112
  unmountOnExit?: boolean;
109
- name?: string;
113
+ options?: {
114
+ [key: string]: any;
115
+ }[];
116
+ props?: {
117
+ value?: string;
118
+ label?: string;
119
+ disabled?: string;
120
+ options?: string;
121
+ data?: string;
122
+ };
110
123
  readOnly?: boolean;
124
+ name?: string;
111
125
  defaultValue?: ValueType;
112
126
  classPrefix?: string;
113
127
  children?: (React.ReactElement<SelectOptionGroupProps | SelectOptionProps, string | React.JSXElementConstructor<any>> | React.ReactElement<SelectOptionGroupProps | SelectOptionProps, string | React.JSXElementConstructor<any>>[]) | (React.ReactElement<SelectOptionGroupProps | SelectOptionProps, string | React.JSXElementConstructor<any>> | React.ReactElement<SelectOptionGroupProps | SelectOptionProps, string | React.JSXElementConstructor<any>>[])[];
114
128
  className?: string;
115
- style?: React.CSSProperties & Partial<Record<never, string>>;
129
+ style?: React.CSSProperties & Partial<Record<"--el-select-border-color-hover" | "--el-select-disabled-color" | "--el-select-disabled-border" | "--el-select-font-size" | "--el-select-close-hover-color" | "--el-select-input-color" | "--el-select-multiple-input-color" | "--el-select-input-focus-border-color" | "--el-select-input-font-size" | "--el-select-width", string>>;
116
130
  beforeEnter?: (node?: HTMLElement | Text) => void;
117
131
  afterEnter?: (node?: HTMLElement | Text) => void;
118
132
  beforeLeave?: (node?: HTMLElement | Text) => void;
@@ -21,12 +21,14 @@ import ensureArray from 'lodash/castArray';
21
21
  import filter from 'lodash/filter';
22
22
  import max from 'lodash/max';
23
23
  import min from 'lodash/min';
24
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
24
+ import { Children, useCallback, useEffect, useMemo, useRef, useState } from 'react';
25
25
  import { useTranslation } from 'react-i18next';
26
26
  import { useConfigProvider } from "../ConfigProvider/ConfigProviderContext";
27
27
  import { isEmpty, isNotEmpty, isUndefined, mergeDefaultProps } from "../Util";
28
- import { partitionAnimationProps, partitionHTMLProps, partitionPopperPropsUtils, useChildrenInstance, useClassNames, useControlled, useDisabled, useSize } from "../hooks";
28
+ import { ValidateComponentsMap } from "../Util/icons";
29
+ import { partitionAnimationProps, partitionHTMLProps, partitionPopperPropsUtils, useChildrenInstance, useClassNames, useControlled, useDisabled, useSize, useStatusIcon } from "../hooks";
29
30
  import { useComposition } from "../hooks/useComposition";
31
+ import { useResizeObserver } from "../hooks/useResizeObserver";
30
32
  var useSelect = function useSelect(props) {
31
33
  var _useConfigProvider = useConfigProvider(),
32
34
  locale = _useConfigProvider.locale;
@@ -48,8 +50,6 @@ var useSelect = function useSelect(props) {
48
50
  showArrow: true,
49
51
  clearable: false,
50
52
  filterable: false,
51
- error: false,
52
- required: false,
53
53
  disabled: false,
54
54
  maxWidth: 500,
55
55
  collapseTagsTooltip: true,
@@ -57,8 +57,17 @@ var useSelect = function useSelect(props) {
57
57
  tagType: 'info',
58
58
  tagEffect: 'light',
59
59
  suffixIcon: 'angle-down',
60
- clearIcon: 'circle-xmark'
60
+ clearIcon: 'circle-xmark',
61
+ props: {},
62
+ options: []
61
63
  }, props);
64
+ var aliasProps = mergeDefaultProps({
65
+ value: 'value',
66
+ label: 'label',
67
+ disabled: 'disabled',
68
+ data: 'data',
69
+ options: 'options'
70
+ }, props.props);
62
71
  var nsSelect = useClassNames('select');
63
72
  var be = nsSelect.be,
64
73
  is = nsSelect.is;
@@ -106,6 +115,12 @@ var useSelect = function useSelect(props) {
106
115
  setValue = _useControlled2[1];
107
116
  var disabled = useDisabled(props.disabled);
108
117
  var size = useSize(props.size);
118
+ var _useStatusIcon = useStatusIcon(),
119
+ statusIcon = _useStatusIcon.statusIcon,
120
+ validateState = _useStatusIcon.validateState;
121
+ var validateIcon = useMemo(function () {
122
+ return validateState && ValidateComponentsMap[validateState];
123
+ }, [validateState]);
109
124
 
110
125
  // 单选框显示文本
111
126
  // const [selected, setSelected] = useState<OptionData | OptionData[]>(null);
@@ -128,7 +143,7 @@ var useSelect = function useSelect(props) {
128
143
  /** 获取所有的option组件 */
129
144
  var getOptionInstance = useChildrenInstance('ElOption', 'ElOptionGroup');
130
145
  var optionData = useMemo(function () {
131
- if (props.children) {
146
+ if (Children.count(props.children) > 0) {
132
147
  var componentChildren = getOptionInstance(props.children);
133
148
  return componentChildren.map(function (node) {
134
149
  var _node$props$label, _node$props$label2, _node$props;
@@ -143,9 +158,29 @@ var useSelect = function useSelect(props) {
143
158
  data: node.props.data
144
159
  };
145
160
  });
161
+ } else if (props.options.length > 0) {
162
+ return props.options.reduce(function (acc, node) {
163
+ var _node$aliasProps$opti;
164
+ if (((_node$aliasProps$opti = node[aliasProps.options]) === null || _node$aliasProps$opti === void 0 ? void 0 : _node$aliasProps$opti.length) > 0) {
165
+ return [].concat(_toConsumableArray(acc), [node], _toConsumableArray(node[aliasProps.options]));
166
+ }
167
+ return [].concat(_toConsumableArray(acc), [node]);
168
+ }, []).map(function (node) {
169
+ var _node$aliasProps$labe, _node$aliasProps$labe2;
170
+ cachedOptions.current.set(node[aliasProps.value], {
171
+ label: (_node$aliasProps$labe = node[aliasProps.label]) !== null && _node$aliasProps$labe !== void 0 ? _node$aliasProps$labe : node[aliasProps.value],
172
+ value: node[aliasProps.value],
173
+ data: node[aliasProps.data]
174
+ });
175
+ return {
176
+ label: (_node$aliasProps$labe2 = node[aliasProps.label]) !== null && _node$aliasProps$labe2 !== void 0 ? _node$aliasProps$labe2 : node[aliasProps.value],
177
+ value: node[aliasProps.value],
178
+ data: node[aliasProps.data]
179
+ };
180
+ });
146
181
  }
147
182
  return [];
148
- }, [getOptionInstance, props.children]);
183
+ }, [aliasProps.data, aliasProps.label, aliasProps.options, aliasProps.value, getOptionInstance, props.children, props.options]);
149
184
 
150
185
  // 多选框值
151
186
  var multiValue = useMemo(function () {
@@ -463,6 +498,14 @@ var useSelect = function useSelect(props) {
463
498
  }
464
499
  }
465
500
  }, [value]);
501
+ useResizeObserver(wrapperRef, function (entries) {
502
+ var _entries = _slicedToArray(entries, 1),
503
+ entry = _entries[0];
504
+ if (entry) {
505
+ var _popperInstRef$curren3;
506
+ (_popperInstRef$curren3 = popperInstRef.current) === null || _popperInstRef$curren3 === void 0 || _popperInstRef$curren3.update();
507
+ }
508
+ });
466
509
  return _objectSpread(_objectSpread({}, rest), {}, {
467
510
  nsSelect: nsSelect,
468
511
  containerRef: containerRef,
@@ -518,7 +561,11 @@ var useSelect = function useSelect(props) {
518
561
  handleCompositionStart: handleCompositionStart,
519
562
  handleCompositionUpdate: handleCompositionUpdate,
520
563
  handleCompositionEnd: handleCompositionEnd,
521
- cachedOptions: cachedOptions
564
+ cachedOptions: cachedOptions,
565
+ aliasProps: aliasProps,
566
+ validateIcon: validateIcon,
567
+ statusIcon: statusIcon,
568
+ validateState: validateState
522
569
  });
523
570
  };
524
571
  export default useSelect;
@@ -1,6 +1,6 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { BaseProps, NativeProps } from '../types/common';
3
- export interface SkeletonProps extends BaseProps, NativeProps {
3
+ export interface SkeletonProps extends BaseProps, NativeProps<'--el-skeleton-color' | '--el-skeleton-to-color'> {
4
4
  /** 是否显示骨架屏(可控) */
5
5
  visible?: boolean;
6
6
  /** 默认是否显示骨架屏 */
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { SliderButtonProps, SliderButtonRef } from './typings';
3
+ declare const SliderButton: React.MemoExoticComponent<React.ForwardRefExoticComponent<SliderButtonProps & React.RefAttributes<SliderButtonRef>>>;
4
+ export default SliderButton;