@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
@@ -2,21 +2,14 @@
2
2
  interface DialogContentProps {
3
3
  /** 当设置为 true,Dialog 打开时会显示背景,点击背景会关闭 Dialog,如果不想关闭 Dialog,可以设置为 'static' */
4
4
  modal: boolean;
5
- setVisible: (visible: boolean) => void;
6
5
  /** 隐藏时的回调函数 */
7
6
  doClose: () => void;
8
- /** 是否可控 */
9
- isControlled: boolean;
10
7
  /** 是否让 Dialog 的 header 和 footer 部分居中排列 */
11
8
  center: boolean;
12
9
  /** body 内容过长时自动设置高度 */
13
10
  overflow: boolean;
14
11
  /** 是否加载成功 */
15
12
  mounted?: boolean;
16
- /** 是否有标题 */
17
- haveTitle: boolean;
18
- /** 是否有按钮组 */
19
- haveFooter: boolean;
20
13
  }
21
14
  export declare const DialogContext: import("react").Context<DialogContentProps>;
22
15
  export {};
@@ -2,12 +2,8 @@ import noop from 'lodash/noop';
2
2
  import { createContext } from 'react';
3
3
  export var DialogContext = /*#__PURE__*/createContext({
4
4
  modal: true,
5
- setVisible: noop,
6
5
  doClose: noop,
7
- isControlled: false,
8
6
  center: false,
9
7
  overflow: false,
10
- mounted: false,
11
- haveTitle: false,
12
- haveFooter: false
8
+ mounted: false
13
9
  });
@@ -20,14 +20,14 @@ var DialogHeader = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, r
20
20
  var isString = useMemo(function () {
21
21
  return typeof props.children === 'string';
22
22
  }, [props.children]);
23
- return /*#__PURE__*/React.createElement("div", {
23
+ return /*#__PURE__*/React.createElement("header", {
24
24
  ref: ref,
25
25
  className: classNames(e(_templateObject || (_templateObject = _taggedTemplateLiteral(["header"]))), is({
26
26
  border: border
27
27
  }), {
28
28
  'show-close': showClose
29
29
  }, props.headerClass)
30
- }, isString ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
30
+ }, isString ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
31
31
  className: e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["title"]))),
32
32
  style: center ? {
33
33
  textAlign: 'center'
@@ -4,43 +4,61 @@ import { AnimationEventProps, BaseProps, NativeProps } from '../types/common';
4
4
  export interface DialogProps extends AnimationEventProps, BaseProps, NativeProps<'--el-dialog-width' | '--el-dialog-margin-top' | '--el-dialog-bg-color' | '--el-dialog-box-shadow' | '--el-dialog-title-font-size' | '--el-dialog-content-font-size' | '--el-dialog-font-line-height' | '--el-dialog-padding-primary' | '--el-dialog-border-radius'>, TransitionProps {
5
5
  /** 是否显示模态框(可控) */
6
6
  visible: boolean;
7
- /** 默认是否显示模态框 */
8
- defaultVisible?: boolean;
7
+ /** Dialog 对话框 Dialog 的标题, 也可通过ElDialog.header传入 */
8
+ title?: string | React.ReactElement;
9
+ /** 对话框的宽度,默认值为 50% */
10
+ width?: string | number;
11
+ /** 是否为全屏 Dialog */
12
+ fullscreen?: boolean;
13
+ /** dialog CSS 中的 margin-top 值,默认为 15vh */
14
+ top?: string;
9
15
  /** 是否需要遮罩层 */
10
16
  modal?: boolean;
17
+ /** 是否允许穿透遮罩层。 modal 属性必须为 false */
18
+ modalPenetrable?: boolean;
11
19
  /** 遮罩的自定义类名 */
12
- className?: string;
13
- /** 是否可以通过点击 modal 关闭 Dialog */
14
- closeOnClickModal?: boolean;
15
- /** 应用于 backdrop DOM 节点的 css class */
16
- backdropClassName?: string;
17
- /** 对话框的宽度,默认值为 50% */
18
- width?: string | number;
20
+ modalClass?: string;
19
21
  /** header 部分的自定义 class 名 */
20
22
  headerClass?: string;
21
- /** Dialog 对话框 Dialog 的标题, 也可通过ElDialog.header传入 */
22
- title?: string | React.ReactElement;
23
+ /** body 部分的自定义 class */
24
+ bodyClass?: string;
25
+ /** footer 部分的自定义 class 名 */
26
+ footerClass?: string;
27
+ /** 是否在 Dialog 出现时将 body 滚动锁定 */
28
+ lockScroll?: boolean;
29
+ /** dialog 打开的延时时间,单位毫秒 */
30
+ openDelay?: number;
31
+ /** dialog 关闭的延时时间,单位毫秒 */
32
+ closeDelay?: number;
33
+ /** 是否可以通过点击 modal 关闭 Dialog */
34
+ closeOnClickModal?: boolean;
35
+ /** 是否可以通过按下 ESC 关闭 Dialog */
23
36
  /** 当设置为 true, 显示关闭按钮 */
24
37
  showClose?: boolean;
25
- /** 标题是否有边框 */
26
- border?: boolean;
27
- /** dialog CSS 中的 margin-top 值,默认为 15vh */
28
- top?: string;
29
- /** 是否让 Dialog header 和 footer 部分居中排列 */
30
- center?: boolean;
31
- /** 是否水平垂直对齐对话框 */
32
- alignCenter?: boolean;
38
+ /** 关闭前的回调,会暂停 Dialog 的关闭. 回调函数内执行 done 参数方法的时候才是真正关闭对话框的时候. */
39
+ beforeClose?: DialogBeforeCloseFn;
40
+ /** 关闭Dialog函数,与 `visible` 属性配合使用,关闭后将 `visible` 设置为 `false`。 */
41
+ onCloseDialog?: () => void;
42
+ /** 控制是否在关闭 Dialog 之后将子元素全部销毁 */
43
+ destroyOnClose?: boolean;
33
44
  /** 为 Dialog 启用可拖拽功能 */
34
45
  draggable?: boolean;
35
46
  /** 拖动范围可以超出可视区 */
36
47
  overflow?: boolean;
37
- /** 是否为全屏 Dialog */
38
- fullscreen?: boolean;
39
- /** 是否在 Dialog 出现时将 body 滚动锁定 */
40
- lockScroll?: boolean;
41
- /** 是否可以通过按下 ESC 关闭 Dialog */
48
+ /** 是否让 Dialog 的 header 和 footer 部分居中排列 */
49
+ center?: boolean;
50
+ /** 是否水平垂直对齐对话框 */
51
+ alignCenter?: boolean;
42
52
  /** 和原生的 CSS 的 z-index 相同,改变 z 轴的顺序 */
43
53
  zIndex?: number;
54
+ /** 遮罩的自定义类名 */
55
+ className?: string;
56
+ /** Dialog 对话框 Dialog 的底部内容, 也可通过ElDialog.footer传入 */
57
+ footer?: React.ReactNode;
58
+ /** 标题是否有边框 */
59
+ border?: boolean;
60
+ /** Dialog 过渡动画配置 */
61
+ transitionConfig?: DialogTransition;
44
62
  /** Dialog 打开的回调 */
45
63
  onOpen?: () => void;
46
64
  /** Dialog 打开动画结束时的回调 */
@@ -49,13 +67,10 @@ export interface DialogProps extends AnimationEventProps, BaseProps, NativeProps
49
67
  onClose?: () => void;
50
68
  /** Dialog 关闭动画结束时的回调 */
51
69
  onClosed?: () => void;
52
- /** 关闭弹窗函数 */
53
- close: () => void;
54
- /** 关闭前的回调,会暂停 Dialog 的关闭. 回调函数内执行 done 参数方法的时候才是真正关闭对话框的时候. */
55
- beforeClose?: DialogBeforeCloseFn;
56
70
  }
57
71
  type DoneFn = (cancel?: boolean) => void;
58
72
  export type DialogBeforeCloseFn = (done: DoneFn) => void;
73
+ export type DialogTransition = string | TransitionProps;
59
74
  export interface DialogHeaderProps extends BaseProps {
60
75
  /** header 部分的自定义 class 名 */
61
76
  headerClass?: string;
@@ -1,2 +1,3 @@
1
1
  import { RefObject } from 'react';
2
- export declare const useDraggable: (targetRef: RefObject<HTMLElement | undefined>, dragRef: RefObject<HTMLElement | undefined>, draggable: boolean, overflow?: boolean) => void;
2
+ import { DialogProps } from './typings';
3
+ export declare const useDraggable: (targetRef: RefObject<HTMLElement | undefined>, dragRef: RefObject<HTMLElement | undefined>, props: DialogProps) => void;
@@ -1,11 +1,17 @@
1
1
  import { addUnit } from "../Util";
2
2
  import { useCallback, useEffect, useRef } from 'react';
3
- export var useDraggable = function useDraggable(targetRef, dragRef, draggable, overflow) {
3
+ export var useDraggable = function useDraggable(targetRef, dragRef, props) {
4
+ var draggable = props.draggable,
5
+ visible = props.visible,
6
+ overflow = props.overflow,
7
+ showDuration = props.showDuration,
8
+ destroyOnClose = props.destroyOnClose;
4
9
  var transform = useRef({
5
10
  offsetX: 0,
6
11
  offsetY: 0
7
12
  });
8
13
  var overflowRef = useRef(overflow);
14
+ var initRef = useRef(false);
9
15
  var onMousedown = useCallback(function (e) {
10
16
  var _targetRef$current;
11
17
  var downX = e.clientX;
@@ -24,6 +30,9 @@ export var useDraggable = function useDraggable(targetRef, dragRef, draggable, o
24
30
  var minTop = -targetTop + offsetY;
25
31
  var maxLeft = clientWidth - targetLeft - targetWidth + offsetX;
26
32
  var maxTop = clientHeight - targetTop - targetHeight + offsetY;
33
+ if (targetRef.current) {
34
+ targetRef.current.classList.add('is-dragging');
35
+ }
27
36
  var onMousemove = function onMousemove(evt) {
28
37
  var moveX = offsetX + evt.clientX - downX;
29
38
  var moveY = offsetY + evt.clientY - downY;
@@ -39,9 +48,13 @@ export var useDraggable = function useDraggable(targetRef, dragRef, draggable, o
39
48
  targetRef.current.style.transform = "translate(".concat(addUnit(moveX), ", ").concat(addUnit(moveY), ")");
40
49
  }
41
50
  };
51
+ // 拖拽结束时移除is-dragging类
42
52
  var onMouseup = function onMouseup() {
43
53
  document.removeEventListener('mousemove', onMousemove);
44
54
  document.removeEventListener('mouseup', onMouseup);
55
+ if (targetRef.current) {
56
+ targetRef.current.classList.remove('is-dragging');
57
+ }
45
58
  };
46
59
  document.addEventListener('mousemove', onMousemove);
47
60
  document.addEventListener('mouseup', onMouseup);
@@ -50,21 +63,33 @@ export var useDraggable = function useDraggable(targetRef, dragRef, draggable, o
50
63
  if (dragRef.current && targetRef.current) {
51
64
  dragRef.current.addEventListener('mousedown', onMousedown);
52
65
  }
53
- // eslint-disable-next-line react-hooks/exhaustive-deps
54
- }, []);
66
+ if (destroyOnClose) {
67
+ transform.current = {
68
+ offsetX: 0,
69
+ offsetY: 0
70
+ };
71
+ }
72
+ }, [destroyOnClose, dragRef, onMousedown, targetRef]);
55
73
  var offDraggable = useCallback(function () {
56
74
  if (dragRef.current && targetRef.current) {
57
75
  dragRef.current.removeEventListener('mousedown', onMousedown);
58
76
  }
59
- // eslint-disable-next-line react-hooks/exhaustive-deps
60
- }, []);
77
+ }, [dragRef, onMousedown, targetRef]);
61
78
  useEffect(function () {
62
- if (draggable) {
63
- onDraggable();
79
+ overflowRef.current = overflow;
80
+ if (!draggable || !visible) {
81
+ offDraggable();
82
+ return;
83
+ }
84
+ if (visible) {
85
+ setTimeout(function () {
86
+ onDraggable();
87
+ }, showDuration);
88
+ initRef.current = true;
64
89
  } else {
65
90
  offDraggable();
66
91
  }
67
- overflowRef.current = overflow;
92
+ offDraggable();
68
93
  return offDraggable;
69
- }, [draggable, overflow, offDraggable, onDraggable]);
94
+ }, [draggable, visible, overflow]);
70
95
  };
@@ -1,15 +1,4 @@
1
- import React, { RefObject } from 'react';
2
- import DrawerBody from './DrawerBody';
3
- import DrawerFooter from './DrawerFooter';
1
+ import React from 'react';
4
2
  import { DrawerProps } from './typings';
5
- declare const Comp: (props: DrawerProps & {
6
- ref?: RefObject<HTMLDivElement> | React.ForwardedRef<HTMLDivElement>;
7
- }) => React.ReactElement;
8
- type InternalType = typeof Comp;
9
- interface CompInterface extends InternalType {
10
- displayName?: string;
11
- body: typeof DrawerBody;
12
- footer: typeof DrawerFooter;
13
- }
14
- declare const Drawer: CompInterface;
3
+ declare const Drawer: React.MemoExoticComponent<React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<HTMLDivElement>>>;
15
4
  export default Drawer;
@@ -1,68 +1,73 @@
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;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
3
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; }
4
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
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
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 _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
9
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
- 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."); }
11
- 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); }
12
- 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; }
13
- 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; } }
14
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
9
  import classNames from 'classnames';
16
10
  import { addClass, removeClass } from 'dom-lib';
17
- import React, { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';
11
+ import { useComposeRef } from 'rc-util';
12
+ import React, { forwardRef, memo, useCallback, useMemo, useRef } from 'react';
18
13
  import { createPortal } from 'react-dom';
19
14
  import Transition from "../Transition/Transition";
20
15
  import { PopupManager, addUnit, mergeDefaultProps } from "../Util";
21
- import { useClassNames, useControlled } from "../hooks";
16
+ import { useClassNames } from "../hooks";
22
17
  import { namespace } from "../hooks/prefix";
18
+ import { useLockscreen } from "../hooks/useLockscreen";
23
19
  import DrawerBody from "./DrawerBody";
24
20
  import { DrawerContext } from "./DrawerContext";
25
21
  import DrawerFooter from "./DrawerFooter";
26
22
  import DrawerHeader from "./DrawerHeader";
27
- function InternalComp(props, ref) {
23
+ var Drawer = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref) {
28
24
  props = mergeDefaultProps({
29
- direction: 'right',
25
+ direction: 'rtl',
30
26
  modal: true,
31
27
  closeOnClickModal: true,
32
28
  withHeader: true,
33
29
  lockScroll: true,
34
- size: '30%'
30
+ size: '30%',
31
+ destroyOnClose: false
35
32
  }, props);
36
33
  var _props = props,
34
+ visible = _props.visible,
37
35
  modal = _props.modal,
36
+ modalPenetrable = _props.modalPenetrable,
37
+ modalClass = _props.modalClass,
38
38
  closeOnClickModal = _props.closeOnClickModal,
39
39
  title = _props.title,
40
+ footer = _props.footer,
41
+ headerClass = _props.headerClass,
42
+ bodyClass = _props.bodyClass,
43
+ footerClass = _props.footerClass,
40
44
  withHeader = _props.withHeader,
41
45
  size = _props.size,
42
46
  direction = _props.direction,
43
47
  children = _props.children,
44
- close = _props.close,
48
+ close = _props.onCloseDrawer,
45
49
  beforeClose = _props.beforeClose,
46
50
  showClose = _props.showClose,
47
51
  border = _props.border,
48
52
  _props$classPrefix = _props.classPrefix,
49
53
  classPrefix = _props$classPrefix === void 0 ? 'drawer' : _props$classPrefix,
50
- lockScroll = _props.lockScroll;
54
+ lockScroll = _props.lockScroll,
55
+ zIndex = _props.zIndex,
56
+ destroyOnClose = _props.destroyOnClose;
51
57
  var _useClassNames = useClassNames(classPrefix),
52
58
  b = _useClassNames.b,
53
- wb = _useClassNames.wb;
54
- var _useControlled = useControlled(props.visible, props.defaultVisible),
55
- _useControlled2 = _slicedToArray(_useControlled, 2),
56
- visible = _useControlled2[0],
57
- setVisible = _useControlled2[1];
59
+ is = _useClassNames.is;
60
+ useLockscreen(visible, {
61
+ shouldLock: lockScroll
62
+ });
58
63
  var sizeStyle = useMemo(function () {
59
- if (['left', 'right'].includes(direction)) {
64
+ if (['ltr', 'rtl'].includes(direction)) {
60
65
  return {
61
- '--el-drawer-width': addUnit(size)
66
+ width: addUnit(size)
62
67
  };
63
- } else if (['top', 'bottom'].includes(direction)) {
68
+ } else if (['ttb', 'btt'].includes(direction)) {
64
69
  return {
65
- '--el-drawer-height': addUnit(size)
70
+ height: addUnit(size)
66
71
  };
67
72
  }
68
73
  }, [direction, size]);
@@ -71,151 +76,124 @@ function InternalComp(props, ref) {
71
76
  var wrapperRef = useRef(null);
72
77
  // 模态框主题div
73
78
  var drawerRef = useRef(null);
74
- // 遮罩div
75
- var backdropRef = useRef(null);
76
- var _useState = useState({
77
- modal: 1,
78
- drawer: 1
79
- }),
80
- _useState2 = _slicedToArray(_useState, 2),
81
- zIndex = _useState2[0],
82
- setZIndex = _useState2[1];
79
+ var composedRef = useComposeRef(ref, wrapperRef);
80
+ var mousedownRef = useRef(null);
81
+ var nextZIndex = useMemo(function () {
82
+ return zIndex || PopupManager.nextZIndex();
83
+ }, [zIndex]);
84
+ var onMousedown = function onMousedown(e) {
85
+ e.stopPropagation();
86
+ mousedownRef.current = e;
87
+ };
88
+ var onMouseup = function onMouseup(mouseup) {
89
+ var _mousedownRef$current, _drawerRef$current, _drawerRef$current2;
90
+ var mouseUpTarget = mouseup === null || mouseup === void 0 ? void 0 : mouseup.target;
91
+ var mouseDownTarget = (_mousedownRef$current = mousedownRef.current) === null || _mousedownRef$current === void 0 ? void 0 : _mousedownRef$current.target;
92
+ var isTargetExists = !mouseUpTarget || !mouseDownTarget;
93
+ var isContainedByPopper = (drawerRef === null || drawerRef === void 0 || (_drawerRef$current = drawerRef.current) === null || _drawerRef$current === void 0 ? void 0 : _drawerRef$current.contains(mouseUpTarget)) || (drawerRef === null || drawerRef === void 0 || (_drawerRef$current2 = drawerRef.current) === null || _drawerRef$current2 === void 0 ? void 0 : _drawerRef$current2.contains(mouseDownTarget));
94
+ if (isTargetExists || isContainedByPopper) {
95
+ return;
96
+ }
97
+ if (closeOnClickModal) {
98
+ doClose();
99
+ } else {
100
+ addClass(drawerRef.current, "".concat(namespace, "-drawer-shake"));
101
+ setTimeout(function () {
102
+ removeClass(drawerRef.current, "".concat(namespace, "-drawer-shake"));
103
+ }, 300);
104
+ }
105
+ };
83
106
  var doClose = useCallback(function () {
84
107
  if (beforeClose) {
85
- beforeClose === null || beforeClose === void 0 || beforeClose(function (value) {
86
- if (value) {
108
+ beforeClose === null || beforeClose === void 0 || beforeClose(function (cancle) {
109
+ if (cancle) {
87
110
  return;
88
111
  }
89
- setVisible(false);
90
112
  close === null || close === void 0 || close();
91
113
  });
92
114
  } else {
93
- setVisible(false);
94
115
  close === null || close === void 0 || close();
95
116
  }
96
- }, [beforeClose, close, setVisible]);
97
-
98
- /**关闭对话框 */
99
- useEffect(function () {
100
- if (visible) {
101
- var _ref$current;
102
- setZIndex({
103
- modal: PopupManager.nextZIndex(),
104
- drawer: PopupManager.nextZIndex()
105
- });
106
- var mousedown;
107
- var shadowRef = (_ref$current = ref === null || ref === void 0 ? void 0 : ref.current) !== null && _ref$current !== void 0 ? _ref$current : wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current;
108
- shadowRef === null || shadowRef === void 0 || shadowRef.addEventListener('mousedown', function (e) {
109
- return mousedown = e;
110
- });
111
- shadowRef === null || shadowRef === void 0 || shadowRef.addEventListener('mouseup', function (mouseup) {
112
- var _mousedown, _drawerRef$current, _drawerRef$current2;
113
- var mouseUpTarget = mouseup === null || mouseup === void 0 ? void 0 : mouseup.target;
114
- var mouseDownTarget = (_mousedown = mousedown) === null || _mousedown === void 0 ? void 0 : _mousedown.target;
115
- var isTargetExists = !mouseUpTarget || !mouseDownTarget;
116
- var isContainedByPopper = (drawerRef === null || drawerRef === void 0 || (_drawerRef$current = drawerRef.current) === null || _drawerRef$current === void 0 ? void 0 : _drawerRef$current.contains(mouseUpTarget)) || (drawerRef === null || drawerRef === void 0 || (_drawerRef$current2 = drawerRef.current) === null || _drawerRef$current2 === void 0 ? void 0 : _drawerRef$current2.contains(mouseDownTarget));
117
- if (isTargetExists || isContainedByPopper) {
118
- return;
119
- }
120
- if (closeOnClickModal) {
121
- doClose();
122
- } else {
123
- addClass(drawerRef.current, "".concat(namespace, "-drawer-shake"));
124
- setTimeout(function () {
125
- removeClass(drawerRef.current, "".concat(namespace, "-drawer-shake"));
126
- }, 300);
127
- }
128
- });
129
- }
130
- }, [b, closeOnClickModal, modal, close, ref, setVisible, visible, doClose]);
117
+ }, [beforeClose, close]);
131
118
  return /*#__PURE__*/React.createElement(DrawerContext.Provider, {
132
119
  value: {
133
120
  doClose: doClose
134
121
  }
135
- }, modal && /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(Transition, {
136
- nodeRef: backdropRef,
122
+ }, /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(Transition, {
123
+ nodeRef: wrapperRef,
137
124
  visible: visible,
125
+ showDuration: 0,
138
126
  transitionAppear: true,
139
- unmountOnExit: true,
140
- duration: 300,
141
- onEnter: function onEnter() {
142
- setTimeout(function () {
143
- addClass(backdropRef.current, "".concat(namespace, "-anim-in"));
144
- }, 10);
145
- },
146
- beforeLeave: function beforeLeave() {
147
- return removeClass(backdropRef.current, "".concat(namespace, "-anim-in"));
148
- }
149
- }, /*#__PURE__*/React.createElement("div", {
150
- className: classNames(b(_templateObject || (_templateObject = _taggedTemplateLiteral(["backdrop"]))), "".concat(namespace, "-anim-fade")),
151
- style: {
152
- zIndex: zIndex.modal
127
+ unmountOnExit: destroyOnClose,
128
+ beforeEnter: function beforeEnter() {
129
+ var _props$beforeEnter, _props2;
130
+ (_props$beforeEnter = (_props2 = props).beforeEnter) === null || _props$beforeEnter === void 0 || _props$beforeEnter.call(_props2);
131
+ addClass(wrapperRef.current, b(_templateObject || (_templateObject = _taggedTemplateLiteral(["fade-enter-from"]))));
132
+ addClass(wrapperRef.current, b(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["fade-enter-active"]))));
153
133
  },
154
- ref: backdropRef
155
- })), document.body), /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(Transition, {
156
- nodeRef: ref || wrapperRef,
157
- visible: visible,
158
- transitionAppear: true,
159
- unmountOnExit: true,
160
- beforeEnter: props.beforeEnter,
161
134
  onEnter: function onEnter() {
162
- var _props$onOpen, _props2, _props$onEnter, _props3;
163
- (_props$onOpen = (_props2 = props).onOpen) === null || _props$onOpen === void 0 || _props$onOpen.call(_props2);
164
- (_props$onEnter = (_props3 = props).onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(_props3);
165
- if (lockScroll) {
166
- addClass(document.body, b('popup-parent--hidden', false));
167
- }
135
+ var _props$onOpen, _props3, _props$onEnter, _props4;
136
+ (_props$onOpen = (_props3 = props).onOpen) === null || _props$onOpen === void 0 || _props$onOpen.call(_props3);
137
+ (_props$onEnter = (_props4 = props).onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(_props4);
168
138
  },
169
139
  afterEnter: function afterEnter() {
170
- var _props$afterEnter, _props4, _props$onOpened, _props5;
171
- (_props$afterEnter = (_props4 = props).afterEnter) === null || _props$afterEnter === void 0 || _props$afterEnter.call(_props4);
172
- (_props$onOpened = (_props5 = props).onOpened) === null || _props$onOpened === void 0 || _props$onOpened.call(_props5);
140
+ var _props$afterEnter, _props5, _props$onOpened, _props6;
141
+ (_props$afterEnter = (_props5 = props).afterEnter) === null || _props$afterEnter === void 0 || _props$afterEnter.call(_props5);
142
+ (_props$onOpened = (_props6 = props).onOpened) === null || _props$onOpened === void 0 || _props$onOpened.call(_props6);
143
+ removeClass(wrapperRef.current, b(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["fade-enter-from"]))));
173
144
  },
174
145
  beforeLeave: function beforeLeave() {
175
- var _props$beforeLeave, _props6;
176
- removeClass(drawerRef.current, "".concat(namespace, "-anim-slide-in"));
177
- addClass(drawerRef.current, "".concat(namespace, "-anim-slide-out"));
178
- (_props$beforeLeave = (_props6 = props).beforeLeave) === null || _props$beforeLeave === void 0 || _props$beforeLeave.call(_props6);
146
+ var _props$beforeLeave, _props7;
147
+ addClass(wrapperRef.current, b(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["fade-leave-to"]))));
148
+ addClass(wrapperRef.current, b(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["fade-leave-active"]))));
149
+ (_props$beforeLeave = (_props7 = props).beforeLeave) === null || _props$beforeLeave === void 0 || _props$beforeLeave.call(_props7);
179
150
  },
180
151
  onLeave: function onLeave() {
181
- var _props$onClose, _props7, _props$onLeave, _props8;
182
- (_props$onClose = (_props7 = props).onClose) === null || _props$onClose === void 0 || _props$onClose.call(_props7);
183
- (_props$onLeave = (_props8 = props).onLeave) === null || _props$onLeave === void 0 || _props$onLeave.call(_props8);
152
+ var _props$onClose, _props8, _props$onLeave, _props9;
153
+ (_props$onClose = (_props8 = props).onClose) === null || _props$onClose === void 0 || _props$onClose.call(_props8);
154
+ (_props$onLeave = (_props9 = props).onLeave) === null || _props$onLeave === void 0 || _props$onLeave.call(_props9);
184
155
  },
185
156
  afterLeave: function afterLeave() {
186
- var _props$afterLeave, _props9, _props$onClosed, _props10;
187
- (_props$afterLeave = (_props9 = props).afterLeave) === null || _props$afterLeave === void 0 || _props$afterLeave.call(_props9);
188
- (_props$onClosed = (_props10 = props).onClosed) === null || _props$onClosed === void 0 || _props$onClosed.call(_props10);
189
- if (lockScroll) {
190
- removeClass(document.body, b('popup-parent--hidden', false));
191
- }
157
+ var _props$afterLeave, _props10, _props$onClosed, _props11;
158
+ (_props$afterLeave = (_props10 = props).afterLeave) === null || _props$afterLeave === void 0 || _props$afterLeave.call(_props10);
159
+ (_props$onClosed = (_props11 = props).onClosed) === null || _props$onClosed === void 0 || _props$onClosed.call(_props11);
160
+ removeClass(wrapperRef.current, b(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["fade-leave-active"]))));
161
+ removeClass(wrapperRef.current, b(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["fade-leave-to"]))));
192
162
  },
193
163
  duration: 300
194
164
  }, /*#__PURE__*/React.createElement("div", {
195
- className: classNames(b(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["wrapper"]))), props.className),
196
- style: _objectSpread(_objectSpread({}, props.style), {}, {
197
- zIndex: zIndex.drawer
198
- }),
199
- ref: ref || wrapperRef
165
+ className: classNames(modal ? b('overlay', false) : '', modalClass || b('modal-drawer', false), is('drawer', {
166
+ penetrable: modalPenetrable
167
+ })),
168
+ style: modal ? {
169
+ zIndex: nextZIndex
170
+ } : {
171
+ zIndex: nextZIndex,
172
+ position: 'fixed',
173
+ top: '0px',
174
+ right: '0px',
175
+ bottom: '0px',
176
+ left: '0px'
177
+ },
178
+ onMouseDown: onMousedown,
179
+ onMouseUp: onMouseup,
180
+ ref: composedRef
200
181
  }, /*#__PURE__*/React.createElement("div", {
201
- className: classNames(wb(direction), "".concat(namespace, "-anim-slide-in"), "".concat(namespace, "-anim-").concat(direction)),
202
- style: _objectSpread({
203
- display: 'block'
204
- }, sizeStyle),
182
+ className: classNames(b(), direction, {
183
+ open: visible
184
+ }, props.className),
185
+ style: _objectSpread(_objectSpread({}, sizeStyle), props.style),
186
+ role: "dialog",
205
187
  ref: drawerRef
206
- }, /*#__PURE__*/React.createElement("div", {
207
- className: b(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["dialog"])))
208
- }, /*#__PURE__*/React.createElement("div", {
209
- className: b(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["content"])))
210
188
  }, withHeader ? /*#__PURE__*/React.createElement(DrawerHeader, {
211
- classPrefix: classPrefix,
189
+ className: headerClass,
212
190
  showClose: showClose,
213
191
  border: border
214
- }, title) : null, children))))), document.body));
215
- }
216
- var Comp = /*#__PURE__*/forwardRef(InternalComp);
217
- var Drawer = Comp;
218
- Drawer.body = DrawerBody;
219
- Drawer.footer = DrawerFooter;
220
- Drawer.displayName = 'Drawer';
192
+ }, title) : null, /*#__PURE__*/React.createElement(DrawerBody, {
193
+ className: bodyClass
194
+ }, children), footer && /*#__PURE__*/React.createElement(DrawerFooter, {
195
+ className: footerClass
196
+ }, footer)))), document.body));
197
+ }));
198
+ Drawer.displayName = 'ElDrawer';
221
199
  export default Drawer;
@@ -1,13 +1,14 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
1
3
  import classNames from 'classnames';
2
4
  import debounce from 'lodash/debounce';
3
5
  import React, { forwardRef, useCallback, useEffect, useRef } from 'react';
4
- import Scrollbar from "../Scrollbar/Scrollbar";
5
6
  import { useClassNames } from "../hooks";
6
7
  var DrawerBody = /*#__PURE__*/forwardRef(function (props, ref) {
7
8
  var _props$classPrefix = props.classPrefix,
8
- classPrefix = _props$classPrefix === void 0 ? 'drawer-body' : _props$classPrefix;
9
+ classPrefix = _props$classPrefix === void 0 ? 'drawer' : _props$classPrefix;
9
10
  var _useClassNames = useClassNames(classPrefix),
10
- b = _useClassNames.b;
11
+ e = _useClassNames.e;
11
12
  var scrollbarInstance = useRef(null);
12
13
  var resizeFn = debounce(useCallback(function () {
13
14
  var _scrollbarInstance$cu;
@@ -20,13 +21,11 @@ var DrawerBody = /*#__PURE__*/forwardRef(function (props, ref) {
20
21
  };
21
22
  // eslint-disable-next-line react-hooks/exhaustive-deps
22
23
  }, []);
23
- return /*#__PURE__*/React.createElement(Scrollbar, {
24
- ref: scrollbarInstance
25
- }, /*#__PURE__*/React.createElement("div", {
26
- className: classNames(b(), props.className),
24
+ return /*#__PURE__*/React.createElement("div", {
25
+ className: classNames(e(_templateObject || (_templateObject = _taggedTemplateLiteral(["body"]))), props.className),
27
26
  ref: ref,
28
27
  style: props.style
29
- }, props.children));
28
+ }, props.children);
30
29
  });
31
30
  DrawerBody.displayName = 'ElDrawerBody';
32
31
  export default DrawerBody;