naive-ui 2.22.0 → 2.24.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 (800) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/es/_internal/clear/src/styles/index.cssr.js +10 -10
  4. package/es/_internal/close/src/styles/index.cssr.js +9 -10
  5. package/es/_internal/icons/Close.js +1 -1
  6. package/es/_internal/icons/Switcher.js +2 -3
  7. package/es/_internal/scrollbar/src/ScrollBar.d.ts +6 -17
  8. package/es/_internal/scrollbar/src/ScrollBar.js +14 -16
  9. package/es/_internal/scrollbar/src/styles/index.cssr.js +15 -15
  10. package/es/_internal/select-menu/src/SelectMenu.d.ts +21 -21
  11. package/es/_internal/select-menu/src/SelectMenu.js +21 -21
  12. package/es/_internal/select-menu/src/styles/index.cssr.js +35 -35
  13. package/es/_internal/select-menu/styles/_common.js +1 -1
  14. package/es/_internal/selection/src/Selection.d.ts +44 -44
  15. package/es/_internal/selection/src/Selection.js +44 -44
  16. package/es/_internal/selection/src/styles/index.cssr.js +79 -79
  17. package/es/_internal/selection/styles/_common.js +1 -1
  18. package/es/_mixins/common.d.ts +1 -0
  19. package/es/_mixins/common.js +1 -0
  20. package/es/_mixins/index.d.ts +1 -0
  21. package/es/_mixins/index.js +1 -0
  22. package/es/_mixins/use-css-vars-class.d.ts +2 -0
  23. package/es/_mixins/use-css-vars-class.js +22 -0
  24. package/es/_mixins/use-rtl.js +2 -0
  25. package/es/_mixins/use-style.js +3 -0
  26. package/es/_mixins/use-theme.js +3 -0
  27. package/es/_utils/composable/use-houdini.js +12 -9
  28. package/es/alert/src/Alert.d.ts +2 -2
  29. package/es/auto-complete/src/AutoComplete.d.ts +14 -14
  30. package/es/auto-complete/src/AutoComplete.js +15 -17
  31. package/es/auto-complete/src/styles/index.cssr.js +4 -4
  32. package/es/avatar/index.d.ts +2 -0
  33. package/es/avatar/index.js +1 -0
  34. package/es/avatar/src/Avatar.d.ts +72 -33
  35. package/es/avatar/src/Avatar.js +43 -15
  36. package/es/avatar/src/AvatarGroup.d.ts +52 -0
  37. package/es/avatar/src/AvatarGroup.js +61 -0
  38. package/es/avatar/src/interface.d.ts +2 -0
  39. package/es/avatar/src/interface.js +1 -0
  40. package/es/avatar/src/styles/avatar-group.cssr.d.ts +2 -0
  41. package/es/avatar/src/styles/avatar-group.cssr.js +14 -0
  42. package/es/avatar/src/styles/index.cssr.js +20 -15
  43. package/es/avatar/styles/light.d.ts +3 -0
  44. package/es/avatar/styles/light.js +6 -2
  45. package/es/back-top/src/BackTop.d.ts +16 -16
  46. package/es/back-top/src/BackTop.js +13 -13
  47. package/es/back-top/src/styles/index.cssr.js +29 -29
  48. package/es/badge/src/Badge.d.ts +6 -6
  49. package/es/badge/src/Badge.js +6 -6
  50. package/es/badge/src/styles/index.cssr.js +15 -15
  51. package/es/breadcrumb/src/Breadcrumb.d.ts +8 -8
  52. package/es/breadcrumb/src/Breadcrumb.js +8 -8
  53. package/es/breadcrumb/src/styles/index.cssr.js +23 -23
  54. package/es/button/src/Button.d.ts +10 -5
  55. package/es/button/src/Button.js +21 -14
  56. package/es/calendar/src/Calendar.d.ts +26 -22
  57. package/es/calendar/src/Calendar.js +37 -25
  58. package/es/calendar/src/interface.d.ts +4 -0
  59. package/es/calendar/src/styles/index.cssr.js +57 -57
  60. package/es/card/src/Card.d.ts +28 -23
  61. package/es/card/src/Card.js +24 -23
  62. package/es/card/src/styles/index.cssr.js +71 -69
  63. package/es/carousel/index.d.ts +1 -0
  64. package/es/carousel/index.js +1 -0
  65. package/es/carousel/src/Carousel.d.ts +239 -23
  66. package/es/carousel/src/Carousel.js +688 -234
  67. package/es/carousel/src/CarouselArrow.d.ts +9 -0
  68. package/es/carousel/src/CarouselArrow.js +43 -0
  69. package/es/carousel/src/CarouselDots.d.ts +66 -0
  70. package/es/carousel/src/CarouselDots.js +118 -0
  71. package/es/carousel/src/CarouselItem.d.ts +11 -0
  72. package/es/carousel/src/CarouselItem.js +72 -0
  73. package/es/carousel/src/interface.d.ts +28 -0
  74. package/es/carousel/src/interface.js +2 -0
  75. package/es/carousel/src/styles/index.cssr.js +150 -47
  76. package/es/carousel/src/utils.d.ts +12 -0
  77. package/es/carousel/src/utils.js +58 -0
  78. package/es/carousel/styles/light.d.ts +3 -0
  79. package/es/carousel/styles/light.js +5 -2
  80. package/es/cascader/src/Cascader.d.ts +31 -19
  81. package/es/cascader/src/Cascader.js +31 -20
  82. package/es/cascader/src/CascaderMenu.js +1 -1
  83. package/es/cascader/src/CascaderOption.d.ts +1 -0
  84. package/es/cascader/src/CascaderOption.js +7 -4
  85. package/es/cascader/src/interface.d.ts +2 -1
  86. package/es/cascader/src/styles/index.cssr.js +44 -44
  87. package/es/cascader/styles/light.js +1 -1
  88. package/es/checkbox/src/Checkbox.d.ts +23 -23
  89. package/es/checkbox/src/Checkbox.js +23 -23
  90. package/es/checkbox/src/styles/index.cssr.js +59 -59
  91. package/es/code/src/Code.d.ts +19 -14
  92. package/es/code/src/Code.js +32 -20
  93. package/es/code/src/styles/index.cssr.js +30 -30
  94. package/es/collapse/src/Collapse.d.ts +8 -8
  95. package/es/collapse/src/Collapse.js +8 -8
  96. package/es/collapse/src/styles/index.cssr.js +24 -24
  97. package/es/collapse-transition/src/CollapseTransition.d.ts +1 -1
  98. package/es/collapse-transition/src/CollapseTransition.js +1 -1
  99. package/es/color-picker/src/ColorInputUnit.js +2 -2
  100. package/es/color-picker/src/ColorPicker.d.ts +23 -15
  101. package/es/color-picker/src/ColorPicker.js +29 -20
  102. package/es/color-picker/src/ColorPickerTrigger.d.ts +1 -1
  103. package/es/color-picker/src/ColorPickerTrigger.js +23 -17
  104. package/es/color-picker/src/interface.d.ts +2 -0
  105. package/es/color-picker/src/styles/index.cssr.js +29 -28
  106. package/es/components.d.ts +2 -0
  107. package/es/components.js +2 -0
  108. package/es/config-provider/src/ConfigProvider.d.ts +27 -0
  109. package/es/countdown/index.d.ts +2 -0
  110. package/es/countdown/index.js +1 -0
  111. package/es/countdown/src/Countdown.d.ts +72 -0
  112. package/es/countdown/src/Countdown.js +126 -0
  113. package/es/countdown/src/utils.d.ts +0 -0
  114. package/es/countdown/src/utils.js +1 -0
  115. package/es/data-table/src/DataTable.d.ts +49 -94
  116. package/es/data-table/src/DataTable.js +65 -91
  117. package/es/data-table/src/TableParts/Body.js +7 -5
  118. package/es/data-table/src/TableParts/Cell.js +2 -3
  119. package/es/data-table/src/TableParts/Header.js +1 -1
  120. package/es/data-table/src/interface.d.ts +1 -1
  121. package/es/data-table/src/styles/index.cssr.js +133 -130
  122. package/es/data-table/src/utils.js +4 -1
  123. package/es/date-picker/src/DatePicker.d.ts +71 -67
  124. package/es/date-picker/src/DatePicker.js +144 -94
  125. package/es/date-picker/src/interface.d.ts +17 -2
  126. package/es/date-picker/src/panel/date.d.ts +4 -9
  127. package/es/date-picker/src/panel/daterange.d.ts +4 -9
  128. package/es/date-picker/src/panel/datetime.d.ts +4 -9
  129. package/es/date-picker/src/panel/datetimerange.d.ts +4 -9
  130. package/es/date-picker/src/panel/month.d.ts +4 -9
  131. package/es/date-picker/src/panel/use-calendar.d.ts +2 -5
  132. package/es/date-picker/src/panel/use-calendar.js +8 -7
  133. package/es/date-picker/src/panel/use-dual-calendar.d.ts +2 -5
  134. package/es/date-picker/src/panel/use-dual-calendar.js +12 -13
  135. package/es/date-picker/src/panel/use-panel-common.d.ts +2 -5
  136. package/es/date-picker/src/panel/use-panel-common.js +2 -6
  137. package/es/date-picker/src/styles/index.cssr.js +115 -115
  138. package/es/descriptions/src/Descriptions.d.ts +18 -18
  139. package/es/descriptions/src/Descriptions.js +19 -20
  140. package/es/descriptions/src/styles/index.cssr.js +61 -61
  141. package/es/dialog/src/Dialog.d.ts +24 -24
  142. package/es/dialog/src/Dialog.js +22 -22
  143. package/es/dialog/src/DialogEnvironment.d.ts +2 -2
  144. package/es/dialog/src/DialogProvider.d.ts +1 -1
  145. package/es/dialog/src/styles/index.cssr.js +45 -45
  146. package/es/divider/src/Divider.d.ts +4 -4
  147. package/es/divider/src/Divider.js +4 -4
  148. package/es/divider/src/styles/index.cssr.js +12 -12
  149. package/es/drawer/src/Drawer.d.ts +37 -77
  150. package/es/drawer/src/Drawer.js +51 -68
  151. package/es/drawer/src/DrawerBodyWrapper.js +21 -13
  152. package/es/drawer/src/DrawerContent.js +6 -6
  153. package/es/drawer/src/styles/index.cssr.js +41 -40
  154. package/es/dropdown/src/Dropdown.d.ts +5 -0
  155. package/es/dropdown/src/Dropdown.js +34 -32
  156. package/es/dropdown/src/styles/index.cssr.js +59 -59
  157. package/es/dynamic-tags/src/DynamicTags.d.ts +1 -1
  158. package/es/dynamic-tags/src/DynamicTags.js +1 -1
  159. package/es/dynamic-tags/src/styles/index.cssr.js +1 -1
  160. package/es/empty/src/Empty.d.ts +19 -15
  161. package/es/empty/src/Empty.js +12 -12
  162. package/es/empty/src/styles/index.cssr.js +20 -19
  163. package/es/form/src/Feedbacks.js +4 -1
  164. package/es/form/src/Form.d.ts +34 -34
  165. package/es/form/src/Form.js +17 -8
  166. package/es/form/src/FormItem.d.ts +54 -49
  167. package/es/form/src/FormItem.js +39 -27
  168. package/es/form/src/FormItemCol.d.ts +41 -31
  169. package/es/form/src/FormItemCol.js +1 -0
  170. package/es/form/src/FormItemGridItem.d.ts +41 -31
  171. package/es/form/src/FormItemGridItem.js +1 -0
  172. package/es/form/src/FormItemRow.d.ts +40 -30
  173. package/es/form/src/FormItemRow.js +1 -0
  174. package/es/form/src/interface.d.ts +6 -2
  175. package/es/form/src/styles/form-item.cssr.js +39 -37
  176. package/es/form/src/utils.d.ts +2 -2
  177. package/es/form/src/utils.js +29 -18
  178. package/es/form/styles/_common.d.ts +0 -3
  179. package/es/form/styles/_common.js +0 -3
  180. package/es/form/styles/light.d.ts +3 -3
  181. package/es/form/styles/light.js +2 -2
  182. package/es/gradient-text/src/GradientText.d.ts +5 -5
  183. package/es/gradient-text/src/GradientText.js +5 -5
  184. package/es/gradient-text/src/styles/index.cssr.js +9 -9
  185. package/es/icon/src/Icon.d.ts +6 -6
  186. package/es/icon/src/Icon.js +4 -4
  187. package/es/icon/src/styles/index.cssr.js +7 -7
  188. package/es/image/src/Image.d.ts +279 -10
  189. package/es/image/src/Image.js +4 -17
  190. package/es/image/src/ImageGroup.d.ts +272 -2
  191. package/es/image/src/ImageGroup.js +5 -8
  192. package/es/image/src/ImagePreview.d.ts +195 -7
  193. package/es/image/src/ImagePreview.js +62 -42
  194. package/es/image/src/interface.d.ts +94 -0
  195. package/es/image/src/interface.js +2 -1
  196. package/es/image/src/styles/index.cssr.js +11 -7
  197. package/es/image/styles/dark.js +8 -1
  198. package/es/image/styles/light.d.ts +32 -3
  199. package/es/image/styles/light.js +8 -1
  200. package/es/input/src/Input.d.ts +52 -47
  201. package/es/input/src/Input.js +54 -49
  202. package/es/input/src/InputGroupLabel.d.ts +8 -8
  203. package/es/input/src/InputGroupLabel.js +8 -8
  204. package/es/input/src/styles/input-group-label.cssr.js +18 -18
  205. package/es/input/src/styles/input.cssr.js +108 -109
  206. package/es/input-number/src/InputNumber.d.ts +11 -0
  207. package/es/input-number/src/InputNumber.js +5 -2
  208. package/es/input-number/src/utils.js +2 -1
  209. package/es/layout/src/Layout.d.ts +6 -6
  210. package/es/layout/src/Layout.js +3 -3
  211. package/es/layout/src/LayoutContent.d.ts +3 -3
  212. package/es/layout/src/LayoutFooter.js +7 -7
  213. package/es/layout/src/LayoutHeader.js +7 -7
  214. package/es/layout/src/LayoutSider.js +13 -13
  215. package/es/layout/src/styles/layout-footer.cssr.js +11 -11
  216. package/es/layout/src/styles/layout-header.cssr.js +11 -11
  217. package/es/layout/src/styles/layout-sider.cssr.js +32 -32
  218. package/es/layout/src/styles/layout.cssr.js +8 -8
  219. package/es/list/src/List.d.ts +10 -10
  220. package/es/list/src/List.js +10 -10
  221. package/es/list/src/styles/index.cssr.js +30 -30
  222. package/es/loading-bar/src/LoadingBar.d.ts +3 -3
  223. package/es/loading-bar/src/LoadingBar.js +3 -3
  224. package/es/loading-bar/src/styles/index.cssr.js +7 -7
  225. package/es/locales/common/deDE.js +10 -0
  226. package/es/locales/common/enUS.d.ts +9 -0
  227. package/es/locales/common/enUS.js +10 -0
  228. package/es/locales/common/frFR.js +17 -8
  229. package/es/locales/common/idID.js +10 -0
  230. package/es/locales/common/jaJP.js +10 -0
  231. package/es/locales/common/nbNO.js +10 -0
  232. package/es/locales/common/ruRU.js +10 -0
  233. package/es/locales/common/ukUA.js +10 -0
  234. package/es/locales/common/zhCN.js +9 -0
  235. package/es/locales/common/zhTW.js +10 -0
  236. package/es/log/src/Log.d.ts +6 -6
  237. package/es/log/src/Log.js +6 -6
  238. package/es/log/src/styles/index.cssr.js +16 -18
  239. package/es/mention/src/Mention.d.ts +1 -1
  240. package/es/mention/src/Mention.js +1 -1
  241. package/es/mention/src/styles/index.cssr.js +2 -2
  242. package/es/mention/src/utils.js +0 -1
  243. package/es/menu/src/Menu.js +43 -40
  244. package/es/menu/src/styles/index.cssr.js +71 -71
  245. package/es/message/index.d.ts +2 -1
  246. package/es/message/src/Message.d.ts +213 -41
  247. package/es/message/src/Message.js +35 -33
  248. package/es/message/src/MessageEnvironment.d.ts +3 -3
  249. package/es/message/src/MessageProvider.d.ts +5 -10
  250. package/es/message/src/MessageProvider.js +1 -1
  251. package/es/message/src/message-props.d.ts +5 -2
  252. package/es/message/src/styles/index.cssr.js +48 -48
  253. package/es/message/src/types.d.ts +15 -0
  254. package/es/message/src/types.js +1 -0
  255. package/es/modal/src/BodyWrapper.d.ts +11 -2
  256. package/es/modal/src/BodyWrapper.js +23 -17
  257. package/es/modal/src/Modal.d.ts +19 -8
  258. package/es/modal/src/Modal.js +15 -8
  259. package/es/modal/src/presetProps.d.ts +2 -1
  260. package/es/modal/src/styles/index.cssr.js +8 -8
  261. package/es/notification/src/Notification.d.ts +24 -24
  262. package/es/notification/src/Notification.js +24 -24
  263. package/es/notification/src/styles/index.cssr.js +65 -65
  264. package/es/number-animation/index.d.ts +3 -0
  265. package/es/number-animation/index.js +1 -0
  266. package/es/number-animation/src/NumberAnimation.d.ts +79 -0
  267. package/es/number-animation/src/NumberAnimation.js +81 -0
  268. package/es/number-animation/src/utils.d.ts +8 -0
  269. package/es/number-animation/src/utils.js +17 -0
  270. package/es/page-header/index.d.ts +1 -1
  271. package/es/page-header/src/PageHeader.d.ts +11 -11
  272. package/es/page-header/src/PageHeader.js +10 -10
  273. package/es/page-header/src/styles/index.cssr.js +23 -23
  274. package/es/pagination/index.d.ts +1 -1
  275. package/es/pagination/src/Pagination.d.ts +50 -45
  276. package/es/pagination/src/Pagination.js +118 -64
  277. package/es/pagination/src/interface.d.ts +10 -1
  278. package/es/pagination/src/styles/index.cssr.js +81 -81
  279. package/es/pagination/src/utils.d.ts +2 -2
  280. package/es/pagination/src/utils.js +2 -4
  281. package/es/popconfirm/src/Popconfirm.d.ts +7 -2
  282. package/es/popconfirm/src/PopconfirmPanel.d.ts +4 -4
  283. package/es/popconfirm/src/PopconfirmPanel.js +4 -4
  284. package/es/popconfirm/src/styles/index.cssr.js +8 -8
  285. package/es/popover/src/Popover.d.ts +7 -0
  286. package/es/popover/src/Popover.js +24 -1
  287. package/es/popover/src/PopoverBody.d.ts +5 -0
  288. package/es/popover/src/PopoverBody.js +43 -61
  289. package/es/popover/src/styles/index.cssr.js +63 -62
  290. package/es/popselect/src/Popselect.d.ts +62 -73
  291. package/es/popselect/src/Popselect.js +2 -2
  292. package/es/progress/src/Circle.d.ts +7 -0
  293. package/es/progress/src/Circle.js +8 -1
  294. package/es/progress/src/Line.d.ts +2 -2
  295. package/es/progress/src/Line.js +4 -1
  296. package/es/progress/src/Progress.d.ts +20 -16
  297. package/es/progress/src/Progress.js +16 -16
  298. package/es/progress/src/styles/index.cssr.js +68 -68
  299. package/es/radio/src/Radio.d.ts +15 -15
  300. package/es/radio/src/Radio.js +15 -15
  301. package/es/radio/src/RadioGroup.d.ts +14 -14
  302. package/es/radio/src/RadioGroup.js +14 -14
  303. package/es/radio/src/styles/radio-group.cssr.js +43 -43
  304. package/es/radio/src/styles/radio.cssr.js +40 -37
  305. package/es/rate/src/Rate.d.ts +4 -4
  306. package/es/rate/src/Rate.js +4 -4
  307. package/es/rate/src/styles/index.cssr.js +11 -11
  308. package/es/result/src/Result.d.ts +9 -9
  309. package/es/result/src/Result.js +18 -19
  310. package/es/result/src/styles/index.cssr.js +26 -26
  311. package/es/select/src/Select.d.ts +9 -28
  312. package/es/select/src/Select.js +17 -25
  313. package/es/select/src/styles/index.cssr.js +2 -2
  314. package/es/skeleton/src/Skeleton.d.ts +3 -3
  315. package/es/skeleton/src/Skeleton.js +3 -3
  316. package/es/skeleton/src/styles/index.cssr.js +12 -12
  317. package/es/slider/src/Slider.d.ts +31 -33
  318. package/es/slider/src/Slider.js +29 -29
  319. package/es/slider/src/styles/index.cssr.js +87 -87
  320. package/es/spin/src/Spin.d.ts +5 -5
  321. package/es/spin/src/Spin.js +5 -5
  322. package/es/spin/src/styles/index.cssr.js +15 -15
  323. package/es/statistic/src/Statistic.d.ts +25 -45
  324. package/es/statistic/src/Statistic.js +12 -19
  325. package/es/statistic/src/styles/index.cssr.js +19 -19
  326. package/es/steps/src/Step.d.ts +12 -12
  327. package/es/steps/src/Step.js +12 -12
  328. package/es/steps/src/styles/index.cssr.js +46 -46
  329. package/es/switch/src/Switch.d.ts +19 -19
  330. package/es/switch/src/Switch.js +26 -19
  331. package/es/switch/src/styles/index.cssr.js +59 -57
  332. package/es/table/src/Table.d.ts +21 -21
  333. package/es/table/src/Table.js +21 -21
  334. package/es/table/src/styles/index.cssr.js +55 -55
  335. package/es/tabs/index.d.ts +1 -0
  336. package/es/tabs/src/Tabs.d.ts +2 -2
  337. package/es/tabs/src/Tabs.js +25 -22
  338. package/es/tabs/src/interface.d.ts +3 -0
  339. package/es/tabs/src/styles/index.cssr.js +4 -1
  340. package/es/tabs/styles/light.js +1 -1
  341. package/es/tag/src/Tag.d.ts +27 -26
  342. package/es/tag/src/Tag.js +27 -26
  343. package/es/tag/src/styles/index.cssr.js +54 -54
  344. package/es/tag/src/styles/rtl.cssr.js +1 -1
  345. package/es/thing/src/Thing.js +5 -5
  346. package/es/thing/src/styles/index.cssr.js +11 -11
  347. package/es/time-picker/src/TimePicker.d.ts +41 -21
  348. package/es/time-picker/src/TimePicker.js +76 -46
  349. package/es/time-picker/src/interface.d.ts +4 -2
  350. package/es/time-picker/src/styles/index.cssr.js +47 -47
  351. package/es/timeline/src/TimelineItem.d.ts +12 -12
  352. package/es/timeline/src/TimelineItem.js +12 -12
  353. package/es/timeline/src/styles/index.cssr.js +44 -44
  354. package/es/tooltip/src/Tooltip.d.ts +5 -0
  355. package/es/transfer/src/Transfer.d.ts +21 -21
  356. package/es/transfer/src/Transfer.js +21 -21
  357. package/es/transfer/src/TransferList.js +5 -7
  358. package/es/transfer/src/styles/index.cssr.js +47 -42
  359. package/es/tree/src/Tree.d.ts +16 -12
  360. package/es/tree/src/Tree.js +15 -13
  361. package/es/tree/src/TreeNodeSwitcher.d.ts +1 -1
  362. package/es/tree/src/TreeNodeSwitcher.js +25 -14
  363. package/es/tree/src/dnd.js +2 -2
  364. package/es/tree/src/interface.d.ts +2 -0
  365. package/es/tree/src/styles/index.cssr.js +37 -35
  366. package/es/tree-select/src/TreeSelect.d.ts +8 -8
  367. package/es/tree-select/src/TreeSelect.js +8 -8
  368. package/es/tree-select/src/styles/index.cssr.js +18 -18
  369. package/es/typography/src/a.d.ts +2 -2
  370. package/es/typography/src/a.js +2 -2
  371. package/es/typography/src/blockquote.d.ts +5 -5
  372. package/es/typography/src/blockquote.js +5 -5
  373. package/es/typography/src/create-header.d.ts +8 -8
  374. package/es/typography/src/create-header.js +8 -8
  375. package/es/typography/src/headers.d.ts +48 -48
  376. package/es/typography/src/hr.d.ts +2 -1
  377. package/es/typography/src/hr.js +3 -1
  378. package/es/typography/src/ol.d.ts +7 -7
  379. package/es/typography/src/ol.js +7 -7
  380. package/es/typography/src/p.d.ts +5 -5
  381. package/es/typography/src/p.js +5 -5
  382. package/es/typography/src/styles/a.cssr.js +6 -6
  383. package/es/typography/src/styles/blockquote.cssr.js +11 -11
  384. package/es/typography/src/styles/header.cssr.js +19 -19
  385. package/es/typography/src/styles/hr.cssr.js +3 -3
  386. package/es/typography/src/styles/list.cssr.js +15 -15
  387. package/es/typography/src/styles/p.cssr.js +10 -10
  388. package/es/typography/src/styles/text.cssr.js +18 -18
  389. package/es/typography/src/text.d.ts +8 -7
  390. package/es/typography/src/text.js +9 -8
  391. package/es/typography/src/ul.d.ts +7 -7
  392. package/es/typography/src/ul.js +7 -7
  393. package/es/upload/src/Upload.d.ts +16 -7
  394. package/es/upload/src/Upload.js +34 -25
  395. package/es/upload/src/UploadFile.d.ts +5 -5
  396. package/es/upload/src/UploadFileList.js +2 -2
  397. package/es/upload/src/interface.d.ts +11 -4
  398. package/es/upload/src/styles/index.cssr.js +36 -36
  399. package/es/version.d.ts +1 -1
  400. package/es/version.js +1 -1
  401. package/lib/_internal/clear/src/styles/index.cssr.js +10 -10
  402. package/lib/_internal/close/src/styles/index.cssr.js +9 -10
  403. package/lib/_internal/icons/Close.js +1 -1
  404. package/lib/_internal/icons/Switcher.js +2 -3
  405. package/lib/_internal/scrollbar/src/ScrollBar.d.ts +6 -17
  406. package/lib/_internal/scrollbar/src/ScrollBar.js +14 -16
  407. package/lib/_internal/scrollbar/src/styles/index.cssr.js +15 -15
  408. package/lib/_internal/select-menu/src/SelectMenu.d.ts +21 -21
  409. package/lib/_internal/select-menu/src/SelectMenu.js +21 -21
  410. package/lib/_internal/select-menu/src/styles/index.cssr.js +35 -35
  411. package/lib/_internal/select-menu/styles/_common.js +1 -1
  412. package/lib/_internal/selection/src/Selection.d.ts +44 -44
  413. package/lib/_internal/selection/src/Selection.js +44 -44
  414. package/lib/_internal/selection/src/styles/index.cssr.js +79 -79
  415. package/lib/_internal/selection/styles/_common.js +1 -1
  416. package/lib/_mixins/common.d.ts +1 -0
  417. package/lib/_mixins/common.js +4 -0
  418. package/lib/_mixins/index.d.ts +1 -0
  419. package/lib/_mixins/index.js +3 -1
  420. package/lib/_mixins/use-css-vars-class.d.ts +2 -0
  421. package/lib/_mixins/use-css-vars-class.js +29 -0
  422. package/lib/_mixins/use-rtl.js +2 -0
  423. package/lib/_mixins/use-style.js +3 -0
  424. package/lib/_mixins/use-theme.js +3 -0
  425. package/lib/_utils/composable/use-houdini.js +12 -9
  426. package/lib/alert/src/Alert.d.ts +2 -2
  427. package/lib/auto-complete/src/AutoComplete.d.ts +14 -14
  428. package/lib/auto-complete/src/AutoComplete.js +16 -18
  429. package/lib/auto-complete/src/styles/index.cssr.js +4 -4
  430. package/lib/avatar/index.d.ts +2 -0
  431. package/lib/avatar/index.js +3 -1
  432. package/lib/avatar/src/Avatar.d.ts +72 -33
  433. package/lib/avatar/src/Avatar.js +45 -16
  434. package/lib/avatar/src/AvatarGroup.d.ts +52 -0
  435. package/lib/avatar/src/AvatarGroup.js +67 -0
  436. package/lib/avatar/src/interface.d.ts +2 -0
  437. package/lib/avatar/src/interface.js +2 -0
  438. package/lib/avatar/src/styles/avatar-group.cssr.d.ts +2 -0
  439. package/lib/avatar/src/styles/avatar-group.cssr.js +21 -0
  440. package/lib/avatar/src/styles/index.cssr.js +19 -14
  441. package/lib/avatar/styles/light.d.ts +3 -0
  442. package/lib/avatar/styles/light.js +6 -2
  443. package/lib/back-top/src/BackTop.d.ts +16 -16
  444. package/lib/back-top/src/BackTop.js +13 -13
  445. package/lib/back-top/src/styles/index.cssr.js +29 -29
  446. package/lib/badge/src/Badge.d.ts +6 -6
  447. package/lib/badge/src/Badge.js +6 -6
  448. package/lib/badge/src/styles/index.cssr.js +15 -15
  449. package/lib/breadcrumb/src/Breadcrumb.d.ts +8 -8
  450. package/lib/breadcrumb/src/Breadcrumb.js +8 -8
  451. package/lib/breadcrumb/src/styles/index.cssr.js +23 -23
  452. package/lib/button/src/Button.d.ts +10 -5
  453. package/lib/button/src/Button.js +20 -13
  454. package/lib/calendar/src/Calendar.d.ts +26 -22
  455. package/lib/calendar/src/Calendar.js +36 -24
  456. package/lib/calendar/src/interface.d.ts +4 -0
  457. package/lib/calendar/src/styles/index.cssr.js +57 -57
  458. package/lib/card/src/Card.d.ts +28 -23
  459. package/lib/card/src/Card.js +24 -23
  460. package/lib/card/src/styles/index.cssr.js +71 -69
  461. package/lib/carousel/index.d.ts +1 -0
  462. package/lib/carousel/index.js +3 -1
  463. package/lib/carousel/src/Carousel.d.ts +239 -23
  464. package/lib/carousel/src/Carousel.js +686 -232
  465. package/lib/carousel/src/CarouselArrow.d.ts +9 -0
  466. package/lib/carousel/src/CarouselArrow.js +45 -0
  467. package/lib/carousel/src/CarouselDots.d.ts +66 -0
  468. package/lib/carousel/src/CarouselDots.js +120 -0
  469. package/lib/carousel/src/CarouselItem.d.ts +11 -0
  470. package/lib/carousel/src/CarouselItem.js +74 -0
  471. package/lib/carousel/src/interface.d.ts +28 -0
  472. package/lib/carousel/src/interface.js +6 -0
  473. package/lib/carousel/src/styles/index.cssr.js +150 -47
  474. package/lib/carousel/src/utils.d.ts +12 -0
  475. package/lib/carousel/src/utils.js +69 -0
  476. package/lib/carousel/styles/light.d.ts +3 -0
  477. package/lib/carousel/styles/light.js +5 -2
  478. package/lib/cascader/src/Cascader.d.ts +31 -19
  479. package/lib/cascader/src/Cascader.js +31 -20
  480. package/lib/cascader/src/CascaderMenu.js +1 -1
  481. package/lib/cascader/src/CascaderOption.d.ts +1 -0
  482. package/lib/cascader/src/CascaderOption.js +7 -4
  483. package/lib/cascader/src/interface.d.ts +2 -1
  484. package/lib/cascader/src/styles/index.cssr.js +44 -44
  485. package/lib/cascader/styles/light.js +1 -1
  486. package/lib/checkbox/src/Checkbox.d.ts +23 -23
  487. package/lib/checkbox/src/Checkbox.js +23 -23
  488. package/lib/checkbox/src/styles/index.cssr.js +59 -59
  489. package/lib/code/src/Code.d.ts +19 -14
  490. package/lib/code/src/Code.js +32 -20
  491. package/lib/code/src/styles/index.cssr.js +29 -29
  492. package/lib/collapse/src/Collapse.d.ts +8 -8
  493. package/lib/collapse/src/Collapse.js +8 -8
  494. package/lib/collapse/src/styles/index.cssr.js +24 -24
  495. package/lib/collapse-transition/src/CollapseTransition.d.ts +1 -1
  496. package/lib/collapse-transition/src/CollapseTransition.js +1 -1
  497. package/lib/color-picker/src/ColorInputUnit.js +1 -1
  498. package/lib/color-picker/src/ColorPicker.d.ts +23 -15
  499. package/lib/color-picker/src/ColorPicker.js +29 -20
  500. package/lib/color-picker/src/ColorPickerTrigger.d.ts +1 -1
  501. package/lib/color-picker/src/ColorPickerTrigger.js +22 -16
  502. package/lib/color-picker/src/interface.d.ts +2 -0
  503. package/lib/color-picker/src/styles/index.cssr.js +29 -28
  504. package/lib/components.d.ts +2 -0
  505. package/lib/components.js +2 -0
  506. package/lib/config-provider/src/ConfigProvider.d.ts +27 -0
  507. package/lib/countdown/index.d.ts +2 -0
  508. package/lib/countdown/index.js +8 -0
  509. package/lib/countdown/src/Countdown.d.ts +72 -0
  510. package/lib/countdown/src/Countdown.js +128 -0
  511. package/lib/countdown/src/utils.d.ts +0 -0
  512. package/lib/countdown/src/utils.js +1 -0
  513. package/lib/data-table/src/DataTable.d.ts +49 -94
  514. package/lib/data-table/src/DataTable.js +63 -89
  515. package/lib/data-table/src/TableParts/Body.js +7 -5
  516. package/lib/data-table/src/TableParts/Cell.js +2 -3
  517. package/lib/data-table/src/TableParts/Header.js +1 -1
  518. package/lib/data-table/src/interface.d.ts +1 -1
  519. package/lib/data-table/src/styles/index.cssr.js +133 -130
  520. package/lib/data-table/src/utils.js +3 -0
  521. package/lib/date-picker/src/DatePicker.d.ts +71 -67
  522. package/lib/date-picker/src/DatePicker.js +143 -93
  523. package/lib/date-picker/src/interface.d.ts +17 -2
  524. package/lib/date-picker/src/panel/date.d.ts +4 -9
  525. package/lib/date-picker/src/panel/daterange.d.ts +4 -9
  526. package/lib/date-picker/src/panel/datetime.d.ts +4 -9
  527. package/lib/date-picker/src/panel/datetimerange.d.ts +4 -9
  528. package/lib/date-picker/src/panel/month.d.ts +4 -9
  529. package/lib/date-picker/src/panel/use-calendar.d.ts +2 -5
  530. package/lib/date-picker/src/panel/use-calendar.js +8 -7
  531. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +2 -5
  532. package/lib/date-picker/src/panel/use-dual-calendar.js +12 -13
  533. package/lib/date-picker/src/panel/use-panel-common.d.ts +2 -5
  534. package/lib/date-picker/src/panel/use-panel-common.js +2 -6
  535. package/lib/date-picker/src/styles/index.cssr.js +115 -115
  536. package/lib/descriptions/src/Descriptions.d.ts +18 -18
  537. package/lib/descriptions/src/Descriptions.js +19 -20
  538. package/lib/descriptions/src/styles/index.cssr.js +61 -61
  539. package/lib/dialog/src/Dialog.d.ts +24 -24
  540. package/lib/dialog/src/Dialog.js +22 -22
  541. package/lib/dialog/src/DialogEnvironment.d.ts +2 -2
  542. package/lib/dialog/src/DialogProvider.d.ts +1 -1
  543. package/lib/dialog/src/styles/index.cssr.js +45 -45
  544. package/lib/divider/src/Divider.d.ts +4 -4
  545. package/lib/divider/src/Divider.js +4 -4
  546. package/lib/divider/src/styles/index.cssr.js +12 -12
  547. package/lib/drawer/src/Drawer.d.ts +37 -77
  548. package/lib/drawer/src/Drawer.js +49 -66
  549. package/lib/drawer/src/DrawerBodyWrapper.js +21 -13
  550. package/lib/drawer/src/DrawerContent.js +6 -6
  551. package/lib/drawer/src/styles/index.cssr.js +41 -40
  552. package/lib/dropdown/src/Dropdown.d.ts +5 -0
  553. package/lib/dropdown/src/Dropdown.js +34 -32
  554. package/lib/dropdown/src/styles/index.cssr.js +59 -59
  555. package/lib/dynamic-tags/src/DynamicTags.d.ts +1 -1
  556. package/lib/dynamic-tags/src/DynamicTags.js +1 -1
  557. package/lib/dynamic-tags/src/styles/index.cssr.js +1 -1
  558. package/lib/empty/src/Empty.d.ts +19 -15
  559. package/lib/empty/src/Empty.js +12 -12
  560. package/lib/empty/src/styles/index.cssr.js +19 -18
  561. package/lib/form/src/Feedbacks.js +4 -1
  562. package/lib/form/src/Form.d.ts +34 -34
  563. package/lib/form/src/Form.js +16 -7
  564. package/lib/form/src/FormItem.d.ts +54 -49
  565. package/lib/form/src/FormItem.js +38 -26
  566. package/lib/form/src/FormItemCol.d.ts +41 -31
  567. package/lib/form/src/FormItemCol.js +1 -0
  568. package/lib/form/src/FormItemGridItem.d.ts +41 -31
  569. package/lib/form/src/FormItemGridItem.js +1 -0
  570. package/lib/form/src/FormItemRow.d.ts +40 -30
  571. package/lib/form/src/FormItemRow.js +1 -0
  572. package/lib/form/src/interface.d.ts +6 -2
  573. package/lib/form/src/styles/form-item.cssr.js +39 -37
  574. package/lib/form/src/utils.d.ts +2 -2
  575. package/lib/form/src/utils.js +29 -18
  576. package/lib/form/styles/_common.d.ts +0 -3
  577. package/lib/form/styles/_common.js +0 -3
  578. package/lib/form/styles/light.d.ts +3 -3
  579. package/lib/form/styles/light.js +2 -2
  580. package/lib/gradient-text/src/GradientText.d.ts +5 -5
  581. package/lib/gradient-text/src/GradientText.js +5 -5
  582. package/lib/gradient-text/src/styles/index.cssr.js +9 -9
  583. package/lib/icon/src/Icon.d.ts +6 -6
  584. package/lib/icon/src/Icon.js +4 -4
  585. package/lib/icon/src/styles/index.cssr.js +7 -7
  586. package/lib/image/src/Image.d.ts +279 -10
  587. package/lib/image/src/Image.js +4 -17
  588. package/lib/image/src/ImageGroup.d.ts +272 -2
  589. package/lib/image/src/ImageGroup.js +4 -7
  590. package/lib/image/src/ImagePreview.d.ts +195 -7
  591. package/lib/image/src/ImagePreview.js +60 -40
  592. package/lib/image/src/interface.d.ts +94 -0
  593. package/lib/image/src/interface.js +3 -0
  594. package/lib/image/src/styles/index.cssr.js +11 -7
  595. package/lib/image/styles/dark.js +8 -1
  596. package/lib/image/styles/light.d.ts +32 -3
  597. package/lib/image/styles/light.js +8 -1
  598. package/lib/input/src/Input.d.ts +52 -47
  599. package/lib/input/src/Input.js +54 -49
  600. package/lib/input/src/InputGroupLabel.d.ts +8 -8
  601. package/lib/input/src/InputGroupLabel.js +8 -8
  602. package/lib/input/src/styles/input-group-label.cssr.js +18 -18
  603. package/lib/input/src/styles/input.cssr.js +108 -109
  604. package/lib/input-number/src/InputNumber.d.ts +11 -0
  605. package/lib/input-number/src/InputNumber.js +5 -2
  606. package/lib/input-number/src/utils.js +2 -1
  607. package/lib/layout/src/Layout.d.ts +6 -6
  608. package/lib/layout/src/Layout.js +3 -3
  609. package/lib/layout/src/LayoutContent.d.ts +3 -3
  610. package/lib/layout/src/LayoutFooter.js +7 -7
  611. package/lib/layout/src/LayoutHeader.js +7 -7
  612. package/lib/layout/src/LayoutSider.js +13 -13
  613. package/lib/layout/src/styles/layout-footer.cssr.js +11 -11
  614. package/lib/layout/src/styles/layout-header.cssr.js +11 -11
  615. package/lib/layout/src/styles/layout-sider.cssr.js +32 -32
  616. package/lib/layout/src/styles/layout.cssr.js +8 -8
  617. package/lib/list/src/List.d.ts +10 -10
  618. package/lib/list/src/List.js +10 -10
  619. package/lib/list/src/styles/index.cssr.js +30 -30
  620. package/lib/loading-bar/src/LoadingBar.d.ts +3 -3
  621. package/lib/loading-bar/src/LoadingBar.js +3 -3
  622. package/lib/loading-bar/src/styles/index.cssr.js +7 -7
  623. package/lib/locales/common/deDE.js +10 -0
  624. package/lib/locales/common/enUS.d.ts +9 -0
  625. package/lib/locales/common/enUS.js +10 -0
  626. package/lib/locales/common/frFR.js +17 -8
  627. package/lib/locales/common/idID.js +10 -0
  628. package/lib/locales/common/jaJP.js +10 -0
  629. package/lib/locales/common/nbNO.js +10 -0
  630. package/lib/locales/common/ruRU.js +10 -0
  631. package/lib/locales/common/ukUA.js +10 -0
  632. package/lib/locales/common/zhCN.js +9 -0
  633. package/lib/locales/common/zhTW.js +10 -0
  634. package/lib/log/src/Log.d.ts +6 -6
  635. package/lib/log/src/Log.js +6 -6
  636. package/lib/log/src/styles/index.cssr.js +16 -18
  637. package/lib/mention/src/Mention.d.ts +1 -1
  638. package/lib/mention/src/Mention.js +1 -1
  639. package/lib/mention/src/styles/index.cssr.js +2 -2
  640. package/lib/mention/src/utils.js +0 -1
  641. package/lib/menu/src/Menu.js +43 -40
  642. package/lib/menu/src/styles/index.cssr.js +71 -71
  643. package/lib/message/index.d.ts +2 -1
  644. package/lib/message/src/Message.d.ts +213 -41
  645. package/lib/message/src/Message.js +35 -33
  646. package/lib/message/src/MessageEnvironment.d.ts +3 -3
  647. package/lib/message/src/MessageProvider.d.ts +5 -10
  648. package/lib/message/src/MessageProvider.js +1 -1
  649. package/lib/message/src/message-props.d.ts +5 -2
  650. package/lib/message/src/styles/index.cssr.js +48 -48
  651. package/lib/message/src/types.d.ts +15 -0
  652. package/lib/message/src/types.js +2 -0
  653. package/lib/modal/src/BodyWrapper.d.ts +11 -2
  654. package/lib/modal/src/BodyWrapper.js +23 -17
  655. package/lib/modal/src/Modal.d.ts +19 -8
  656. package/lib/modal/src/Modal.js +15 -8
  657. package/lib/modal/src/presetProps.d.ts +2 -1
  658. package/lib/modal/src/styles/index.cssr.js +8 -8
  659. package/lib/notification/src/Notification.d.ts +24 -24
  660. package/lib/notification/src/Notification.js +24 -24
  661. package/lib/notification/src/styles/index.cssr.js +65 -65
  662. package/lib/number-animation/index.d.ts +3 -0
  663. package/lib/number-animation/index.js +8 -0
  664. package/lib/number-animation/src/NumberAnimation.d.ts +79 -0
  665. package/lib/number-animation/src/NumberAnimation.js +83 -0
  666. package/lib/number-animation/src/utils.d.ts +8 -0
  667. package/lib/number-animation/src/utils.js +21 -0
  668. package/lib/page-header/index.d.ts +1 -1
  669. package/lib/page-header/src/PageHeader.d.ts +11 -11
  670. package/lib/page-header/src/PageHeader.js +10 -10
  671. package/lib/page-header/src/styles/index.cssr.js +23 -23
  672. package/lib/pagination/index.d.ts +1 -1
  673. package/lib/pagination/src/Pagination.d.ts +50 -45
  674. package/lib/pagination/src/Pagination.js +117 -63
  675. package/lib/pagination/src/interface.d.ts +10 -1
  676. package/lib/pagination/src/styles/index.cssr.js +81 -81
  677. package/lib/pagination/src/utils.d.ts +2 -2
  678. package/lib/pagination/src/utils.js +2 -4
  679. package/lib/popconfirm/src/Popconfirm.d.ts +7 -2
  680. package/lib/popconfirm/src/PopconfirmPanel.d.ts +4 -4
  681. package/lib/popconfirm/src/PopconfirmPanel.js +4 -4
  682. package/lib/popconfirm/src/styles/index.cssr.js +8 -8
  683. package/lib/popover/src/Popover.d.ts +7 -0
  684. package/lib/popover/src/Popover.js +23 -0
  685. package/lib/popover/src/PopoverBody.d.ts +5 -0
  686. package/lib/popover/src/PopoverBody.js +42 -60
  687. package/lib/popover/src/styles/index.cssr.js +63 -62
  688. package/lib/popselect/src/Popselect.d.ts +62 -73
  689. package/lib/popselect/src/Popselect.js +2 -2
  690. package/lib/progress/src/Circle.d.ts +7 -0
  691. package/lib/progress/src/Circle.js +8 -1
  692. package/lib/progress/src/Line.d.ts +2 -2
  693. package/lib/progress/src/Line.js +4 -1
  694. package/lib/progress/src/Progress.d.ts +20 -16
  695. package/lib/progress/src/Progress.js +16 -16
  696. package/lib/progress/src/styles/index.cssr.js +68 -68
  697. package/lib/radio/src/Radio.d.ts +15 -15
  698. package/lib/radio/src/Radio.js +15 -15
  699. package/lib/radio/src/RadioGroup.d.ts +14 -14
  700. package/lib/radio/src/RadioGroup.js +14 -14
  701. package/lib/radio/src/styles/radio-group.cssr.js +43 -43
  702. package/lib/radio/src/styles/radio.cssr.js +40 -37
  703. package/lib/rate/src/Rate.d.ts +4 -4
  704. package/lib/rate/src/Rate.js +4 -4
  705. package/lib/rate/src/styles/index.cssr.js +11 -11
  706. package/lib/result/src/Result.d.ts +9 -9
  707. package/lib/result/src/Result.js +17 -18
  708. package/lib/result/src/styles/index.cssr.js +26 -26
  709. package/lib/select/src/Select.d.ts +9 -28
  710. package/lib/select/src/Select.js +15 -23
  711. package/lib/select/src/styles/index.cssr.js +2 -2
  712. package/lib/skeleton/src/Skeleton.d.ts +3 -3
  713. package/lib/skeleton/src/Skeleton.js +3 -3
  714. package/lib/skeleton/src/styles/index.cssr.js +12 -12
  715. package/lib/slider/src/Slider.d.ts +31 -33
  716. package/lib/slider/src/Slider.js +29 -29
  717. package/lib/slider/src/styles/index.cssr.js +87 -87
  718. package/lib/spin/src/Spin.d.ts +5 -5
  719. package/lib/spin/src/Spin.js +5 -5
  720. package/lib/spin/src/styles/index.cssr.js +15 -15
  721. package/lib/statistic/src/Statistic.d.ts +25 -45
  722. package/lib/statistic/src/Statistic.js +12 -19
  723. package/lib/statistic/src/styles/index.cssr.js +19 -19
  724. package/lib/steps/src/Step.d.ts +12 -12
  725. package/lib/steps/src/Step.js +12 -12
  726. package/lib/steps/src/styles/index.cssr.js +46 -46
  727. package/lib/switch/src/Switch.d.ts +19 -19
  728. package/lib/switch/src/Switch.js +26 -19
  729. package/lib/switch/src/styles/index.cssr.js +59 -57
  730. package/lib/table/src/Table.d.ts +21 -21
  731. package/lib/table/src/Table.js +21 -21
  732. package/lib/table/src/styles/index.cssr.js +55 -55
  733. package/lib/tabs/index.d.ts +1 -0
  734. package/lib/tabs/src/Tabs.d.ts +2 -2
  735. package/lib/tabs/src/Tabs.js +25 -22
  736. package/lib/tabs/src/interface.d.ts +3 -0
  737. package/lib/tabs/src/styles/index.cssr.js +4 -1
  738. package/lib/tabs/styles/light.js +1 -1
  739. package/lib/tag/src/Tag.d.ts +27 -26
  740. package/lib/tag/src/Tag.js +27 -26
  741. package/lib/tag/src/styles/index.cssr.js +54 -54
  742. package/lib/tag/src/styles/rtl.cssr.js +1 -1
  743. package/lib/thing/src/Thing.js +5 -5
  744. package/lib/thing/src/styles/index.cssr.js +11 -11
  745. package/lib/time-picker/src/TimePicker.d.ts +41 -21
  746. package/lib/time-picker/src/TimePicker.js +76 -46
  747. package/lib/time-picker/src/interface.d.ts +4 -2
  748. package/lib/time-picker/src/styles/index.cssr.js +47 -47
  749. package/lib/timeline/src/TimelineItem.d.ts +12 -12
  750. package/lib/timeline/src/TimelineItem.js +12 -12
  751. package/lib/timeline/src/styles/index.cssr.js +44 -44
  752. package/lib/tooltip/src/Tooltip.d.ts +5 -0
  753. package/lib/transfer/src/Transfer.d.ts +21 -21
  754. package/lib/transfer/src/Transfer.js +21 -21
  755. package/lib/transfer/src/TransferList.js +5 -7
  756. package/lib/transfer/src/styles/index.cssr.js +47 -42
  757. package/lib/tree/src/Tree.d.ts +16 -12
  758. package/lib/tree/src/Tree.js +15 -13
  759. package/lib/tree/src/TreeNodeSwitcher.d.ts +1 -1
  760. package/lib/tree/src/TreeNodeSwitcher.js +24 -13
  761. package/lib/tree/src/dnd.js +2 -2
  762. package/lib/tree/src/interface.d.ts +2 -0
  763. package/lib/tree/src/styles/index.cssr.js +37 -35
  764. package/lib/tree-select/src/TreeSelect.d.ts +8 -8
  765. package/lib/tree-select/src/TreeSelect.js +8 -8
  766. package/lib/tree-select/src/styles/index.cssr.js +18 -18
  767. package/lib/typography/src/a.d.ts +2 -2
  768. package/lib/typography/src/a.js +2 -2
  769. package/lib/typography/src/blockquote.d.ts +5 -5
  770. package/lib/typography/src/blockquote.js +5 -5
  771. package/lib/typography/src/create-header.d.ts +8 -8
  772. package/lib/typography/src/create-header.js +8 -8
  773. package/lib/typography/src/headers.d.ts +48 -48
  774. package/lib/typography/src/hr.d.ts +2 -1
  775. package/lib/typography/src/hr.js +3 -1
  776. package/lib/typography/src/ol.d.ts +7 -7
  777. package/lib/typography/src/ol.js +7 -7
  778. package/lib/typography/src/p.d.ts +5 -5
  779. package/lib/typography/src/p.js +5 -5
  780. package/lib/typography/src/styles/a.cssr.js +6 -6
  781. package/lib/typography/src/styles/blockquote.cssr.js +11 -11
  782. package/lib/typography/src/styles/header.cssr.js +19 -19
  783. package/lib/typography/src/styles/hr.cssr.js +3 -3
  784. package/lib/typography/src/styles/list.cssr.js +15 -15
  785. package/lib/typography/src/styles/p.cssr.js +10 -10
  786. package/lib/typography/src/styles/text.cssr.js +18 -18
  787. package/lib/typography/src/text.d.ts +8 -7
  788. package/lib/typography/src/text.js +9 -8
  789. package/lib/typography/src/ul.d.ts +7 -7
  790. package/lib/typography/src/ul.js +7 -7
  791. package/lib/upload/src/Upload.d.ts +16 -7
  792. package/lib/upload/src/Upload.js +34 -25
  793. package/lib/upload/src/UploadFile.d.ts +5 -5
  794. package/lib/upload/src/UploadFileList.js +2 -2
  795. package/lib/upload/src/interface.d.ts +11 -4
  796. package/lib/upload/src/styles/index.cssr.js +36 -36
  797. package/lib/version.d.ts +1 -1
  798. package/lib/version.js +1 -1
  799. package/package.json +52 -43
  800. package/web-types.json +648 -43
@@ -4,303 +4,757 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const vue_1 = require("vue");
7
- const seemly_1 = require("seemly");
7
+ const vueuc_1 = require("vueuc");
8
8
  const evtd_1 = require("evtd");
9
- const icons_1 = require("../../_internal/icons");
10
9
  const _mixins_1 = require("../../_mixins");
11
10
  const _utils_1 = require("../../_utils");
12
11
  const styles_1 = require("../styles");
12
+ const utils_1 = require("./utils");
13
+ const CarouselDots_1 = __importDefault(require("./CarouselDots"));
14
+ const CarouselArrow_1 = __importDefault(require("./CarouselArrow"));
15
+ const CarouselItem_1 = __importDefault(require("./CarouselItem"));
16
+ const interface_1 = require("./interface");
13
17
  const index_cssr_1 = __importDefault(require("./styles/index.cssr"));
14
- const carouselProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { showArrow: Boolean, autoplay: Boolean, dotPlacement: {
18
+ const transitionProperties = (0, interface_1.tuple)('transitionDuration', 'transitionTimingFunction');
19
+ const carouselProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { defaultIndex: {
20
+ type: Number,
21
+ default: 0
22
+ }, currentIndex: Number, showArrow: Boolean, dotType: {
23
+ type: String,
24
+ default: 'dot'
25
+ }, dotPlacement: {
15
26
  type: String,
16
27
  default: 'bottom'
17
- }, interval: {
28
+ }, slidesPerView: {
29
+ type: [Number, String],
30
+ default: 1
31
+ }, spaceBetween: {
32
+ type: Number,
33
+ default: 0
34
+ }, centeredSlides: Boolean, direction: {
35
+ type: String,
36
+ default: 'horizontal'
37
+ }, autoplay: Boolean, interval: {
18
38
  type: Number,
19
39
  default: 5000
40
+ }, loop: {
41
+ type: Boolean,
42
+ default: true
43
+ }, effect: {
44
+ type: String,
45
+ default: 'slide'
46
+ }, showDots: {
47
+ type: Boolean,
48
+ default: true
20
49
  }, trigger: {
21
50
  type: String,
22
51
  default: 'click'
23
- } });
52
+ }, transitionStyle: {
53
+ type: Object,
54
+ default: () => ({
55
+ transitionDuration: '300ms'
56
+ })
57
+ }, transitionProps: Object, draggable: Boolean, touchable: {
58
+ type: Boolean,
59
+ default: true
60
+ }, mousewheel: Boolean, keyboard: Boolean, 'onUpdate:currentIndex': Function, onUpdateCurrentIndex: Function });
61
+ // only one carousel is allowed to trigger touch globally
62
+ let globalDragging = false;
24
63
  exports.default = (0, vue_1.defineComponent)({
25
64
  name: 'Carousel',
26
65
  props: carouselProps,
27
66
  setup(props) {
28
67
  const { mergedClsPrefixRef } = (0, _mixins_1.useConfig)(props);
29
- const currentRef = (0, vue_1.ref)(1);
30
- const lengthRef = { value: 1 };
31
- const touchingRef = (0, vue_1.ref)(false);
32
- const dragOffsetRef = (0, vue_1.ref)(0);
68
+ // Dom
33
69
  const selfElRef = (0, vue_1.ref)(null);
34
- const dotPlacementRef = (0, vue_1.toRef)(props, 'dotPlacement');
35
- let timerId = null;
36
- let inTransition = false;
37
- // current from 0 to length + 1
38
- function next() {
39
- if (lengthRef.value <= 1)
40
- return;
41
- if (inTransition)
42
- return;
43
- inTransition = true;
44
- // no need for reset since transitionend handler will handle it
45
- currentRef.value++;
70
+ const slidesElsRef = (0, vue_1.ref)([]);
71
+ const slideVNodesRef = { value: [] };
72
+ // user wants to control the transition animation
73
+ const userWantsControlRef = (0, vue_1.computed)(() => props.effect === 'custom');
74
+ const translateableRef = (0, vue_1.computed)(() => !userWantsControlRef.value && props.effect === 'slide');
75
+ // TODO
76
+ const allowLoopRef = (0, vue_1.computed)(() => props.loop && props.slidesPerView === 1);
77
+ // Because of the nature of the loop slide work,
78
+ // we need to add duplicates to the left and right of the carousel
79
+ // slot [ 0 1 2 ]
80
+ // display 2 0 1 2 0
81
+ // index 0 1 2 3 4
82
+ const duplicatedableRef = (0, vue_1.computed)(
83
+ // only duplicate the copy operation in `slide` mode,
84
+ // because other effects have special process
85
+ () => translateableRef.value && allowLoopRef.value);
86
+ // used to calculate total views
87
+ const displaySlidesPerViewRef = (0, vue_1.computed)(() => userWantsControlRef.value ||
88
+ props.centeredSlides ||
89
+ props.effect !== 'slide'
90
+ ? 1
91
+ : props.slidesPerView);
92
+ // used to calculate the size of each slide
93
+ const realSlidesPerViewRef = (0, vue_1.computed)(() => userWantsControlRef.value ? 1 : props.slidesPerView);
94
+ // we automatically calculate total view for special slides per view
95
+ const autoSlideSizeRef = (0, vue_1.computed)(() => displaySlidesPerViewRef.value === 'auto' ||
96
+ (props.slidesPerView === 'auto' && props.centeredSlides));
97
+ const transitionStyleRef = (0, vue_1.computed)(() => props.transitionStyle
98
+ ? (0, _utils_1.keep)(props.transitionStyle, transitionProperties)
99
+ : {});
100
+ const speedRef = (0, vue_1.computed)(() => userWantsControlRef.value
101
+ ? 0
102
+ : (0, utils_1.resolveSpeed)(transitionStyleRef.value.transitionDuration));
103
+ const verticalRef = (0, vue_1.computed)(() => props.direction === 'vertical');
104
+ const sizeAxisRef = (0, vue_1.computed)(() => (verticalRef.value ? 'height' : 'width'));
105
+ const perViewSizeRef = (0, vue_1.ref)({ width: 0, height: 0 });
106
+ const slideSizesRef = (0, vue_1.computed)(() => {
107
+ const { value: slidesEls } = slidesElsRef;
108
+ const { length } = slidesEls;
109
+ if (!length)
110
+ return [];
111
+ if (autoSlideSizeRef.value) {
112
+ return slidesEls.map((slide) => (0, utils_1.calculateSize)(slide));
113
+ }
114
+ const { value: slidesPerView } = realSlidesPerViewRef;
115
+ const { value: perViewSize } = perViewSizeRef;
116
+ const { value: axis } = sizeAxisRef;
117
+ let slideSize = perViewSize[axis];
118
+ if (slidesPerView !== 'auto') {
119
+ const { spaceBetween } = props;
120
+ const remaining = slideSize - (slidesPerView - 1) * spaceBetween;
121
+ const percentage = 1 / Math.max(1, slidesPerView);
122
+ slideSize = remaining * percentage;
123
+ }
124
+ return slidesEls.map(() => (Object.assign(Object.assign({}, perViewSize), { [axis]: slideSize })));
125
+ });
126
+ // The translate required to reach each slide
127
+ const slideTranlatesRef = (0, vue_1.computed)(() => {
128
+ const { value: slideSizes } = slideSizesRef;
129
+ const { length } = slideSizes;
130
+ if (!length)
131
+ return [];
132
+ const { centeredSlides, spaceBetween } = props;
133
+ const { value: axis } = sizeAxisRef;
134
+ const { [axis]: perViewSize } = perViewSizeRef.value;
135
+ let previousTranslate = 0;
136
+ return slideSizes.map(({ [axis]: slideSize }) => {
137
+ let translate = previousTranslate;
138
+ if (centeredSlides) {
139
+ translate += (slideSize - perViewSize) / 2;
140
+ }
141
+ previousTranslate += slideSize + spaceBetween;
142
+ return translate;
143
+ });
144
+ });
145
+ let isMounted = false;
146
+ const slideStylesRef = (0, vue_1.computed)(() => {
147
+ const { value: slideSizes } = slideSizesRef;
148
+ const { length } = slideSizes;
149
+ if (!length)
150
+ return [];
151
+ const { value: axis } = sizeAxisRef;
152
+ // when user wants to control the transition animation, we center each slide
153
+ if (userWantsControlRef.value) {
154
+ return slideSizes.map((size) => ({
155
+ [axis]: `${size[axis]}px`
156
+ }));
157
+ }
158
+ const { effect, spaceBetween } = props;
159
+ const { value: vertical } = verticalRef;
160
+ const spaceAxis = vertical ? 'bottom' : 'right';
161
+ const slideStyles = [];
162
+ for (let i = 0; i < length; i++) {
163
+ const size = slideSizes[i][axis];
164
+ const style = {
165
+ [axis]: `${size}px`,
166
+ [`margin-${spaceAxis}`]: `${spaceBetween}px`
167
+ };
168
+ // TODO: fix
169
+ // if (isMounted && (effect === 'fade' || effect === 'card')) {
170
+ if (isMounted && effect === 'fade') {
171
+ Object.assign(style, transitionStyleRef.value);
172
+ }
173
+ slideStyles.push(style);
174
+ }
175
+ return slideStyles;
176
+ });
177
+ // Total
178
+ const totalViewRef = (0, vue_1.computed)(() => {
179
+ const { value: slidesPerView } = displaySlidesPerViewRef;
180
+ const { length: originLength } = slidesElsRef.value;
181
+ if (slidesPerView !== 'auto') {
182
+ return originLength - slidesPerView + 1;
183
+ }
184
+ else {
185
+ const { value: slideSizes } = slideSizesRef;
186
+ const { length } = slideSizes;
187
+ if (!length)
188
+ return originLength;
189
+ const { value: translates } = slideTranlatesRef;
190
+ const { value: axis } = sizeAxisRef;
191
+ const perViewSize = perViewSizeRef.value[axis];
192
+ let lastViewSize = slideSizes[slideSizes.length - 1][axis];
193
+ let i = length;
194
+ while (i > 1 && lastViewSize < perViewSize) {
195
+ i--;
196
+ lastViewSize += translates[i] - translates[i - 1];
197
+ }
198
+ if (i !== length)
199
+ i++;
200
+ if (i < 1)
201
+ i = 1;
202
+ return i;
203
+ }
204
+ });
205
+ const displayTotalViewRef = (0, vue_1.computed)(() => {
206
+ const { value: totalView } = totalViewRef;
207
+ return duplicatedableRef.value && totalView > 3
208
+ ? totalView - 2
209
+ : totalView;
210
+ });
211
+ // Index
212
+ const initializeIndex = props.defaultIndex + (duplicatedableRef.value ? 1 : 0);
213
+ const displayIndexRef = (0, vue_1.ref)((0, utils_1.getDisplayIndex)(initializeIndex, totalViewRef.value, duplicatedableRef.value));
214
+ const virtualIndexRef = (0, vue_1.ref)(initializeIndex);
215
+ const realIndexRef = (0, vue_1.ref)(initializeIndex);
216
+ // record the translate of each slide, so that it can be restored at touch
217
+ let previousTranslate = 0;
218
+ // Reality methods
219
+ function toRealIndex(index, speed = speedRef.value) {
220
+ var _a, _b;
221
+ const { value: length } = totalViewRef;
222
+ if ((index = (0, utils_1.clampValue)(index, 0, length - 1)) !== realIndexRef.value) {
223
+ const { value: lastDisplayIndex } = displayIndexRef;
224
+ // When it is loop from the first silde to the last one,
225
+ // we control its animation effect
226
+ if (duplicatedableRef.value && displayTotalViewRef.value > 2) {
227
+ if (lastDisplayIndex === 0 && index === displayTotalViewRef.value) {
228
+ index = 0;
229
+ }
230
+ else if (lastDisplayIndex === displayTotalViewRef.value - 1 &&
231
+ index === 1) {
232
+ index = length - 1;
233
+ }
234
+ }
235
+ const displayIndex = (displayIndexRef.value = (0, utils_1.getDisplayIndex)(index, totalViewRef.value, duplicatedableRef.value));
236
+ virtualIndexRef.value = index;
237
+ realIndexRef.value = (0, utils_1.getRealIndex)(displayIndex, duplicatedableRef.value);
238
+ if (translateableRef.value) {
239
+ translateTo(index, speed);
240
+ }
241
+ else {
242
+ fixTranslate();
243
+ }
244
+ if (displayIndex !== lastDisplayIndex) {
245
+ (_a = props['onUpdate:currentIndex']) === null || _a === void 0 ? void 0 : _a.call(props, displayIndex, lastDisplayIndex);
246
+ (_b = props.onUpdateCurrentIndex) === null || _b === void 0 ? void 0 : _b.call(props, displayIndex, lastDisplayIndex);
247
+ }
248
+ }
249
+ }
250
+ function getRealPrevIndex(index = realIndexRef.value) {
251
+ return (0, utils_1.getPrevIndex)(index, totalViewRef.value, props.loop);
252
+ }
253
+ function getRealNextIndex(index = realIndexRef.value) {
254
+ return (0, utils_1.getNextIndex)(index, totalViewRef.value, props.loop);
255
+ }
256
+ function isRealPrev(slideOrIndex) {
257
+ const index = getSlideIndex(slideOrIndex);
258
+ return index !== null && getRealPrevIndex() === index;
259
+ }
260
+ function isRealNext(slideOrIndex) {
261
+ const index = getSlideIndex(slideOrIndex);
262
+ return index !== null && getRealNextIndex() === index;
263
+ }
264
+ function isRealActive(slideOrIndex) {
265
+ return realIndexRef.value === getSlideIndex(slideOrIndex);
266
+ }
267
+ // Display methods
268
+ // They are used to deal with the actual values displayed on the UI
269
+ function isDisplayActive(index) {
270
+ return displayIndexRef.value === index;
271
+ }
272
+ function isPrevDisabled() {
273
+ return getRealPrevIndex() === null;
274
+ }
275
+ function isNextDisabled() {
276
+ return getRealNextIndex() === null;
277
+ }
278
+ // Slide to
279
+ function to(index) {
280
+ const realIndex = (0, utils_1.getRealIndex)(index, duplicatedableRef.value);
281
+ if (index !== displayIndexRef.value || realIndex !== realIndexRef.value) {
282
+ toRealIndex(realIndex);
283
+ }
46
284
  }
47
285
  function prev() {
48
- if (lengthRef.value <= 1)
49
- return;
50
- if (inTransition)
51
- return;
52
- inTransition = true;
53
- // no need for reset since transitionend handler will handle it
54
- currentRef.value--;
286
+ const prevIndex = getRealPrevIndex();
287
+ if (prevIndex !== null) {
288
+ toRealIndex(prevIndex);
289
+ }
55
290
  }
56
- function setCurrent(value) {
57
- if (lengthRef.value <= 1)
58
- return;
59
- if (inTransition)
60
- return;
61
- const { value: current } = currentRef;
62
- if (value === current)
63
- return;
64
- inTransition = true;
65
- if (current === 1 && value === lengthRef.value && value - current > 1) {
66
- currentRef.value--;
291
+ function next() {
292
+ const nextIndex = getRealNextIndex();
293
+ if (nextIndex !== null) {
294
+ toRealIndex(nextIndex);
295
+ }
296
+ }
297
+ // Translate to
298
+ const translateStyleRef = (0, vue_1.ref)({});
299
+ let inTransition = false;
300
+ function updateTranslate(translate, speed = 0) {
301
+ const isVersical = props.direction === 'vertical';
302
+ translateStyleRef.value = Object.assign({}, transitionStyleRef.value, {
303
+ transform: isVersical
304
+ ? `translateY(${-translate}px)`
305
+ : `translateX(${-translate}px)`,
306
+ transitionDuration: `${speed}ms`
307
+ });
308
+ }
309
+ function fixTranslate(speed = 0) {
310
+ if (translateableRef.value) {
311
+ translateTo(realIndexRef.value, speed);
312
+ }
313
+ else if (previousTranslate !== 0) {
314
+ updateTranslate((previousTranslate = 0), speed);
315
+ }
316
+ }
317
+ function translateTo(index, speed = speedRef.value) {
318
+ const translate = getTranslate(index);
319
+ if (translate !== previousTranslate && speed > 0) {
320
+ inTransition = true;
67
321
  }
68
- else if (value === 1 &&
69
- current === lengthRef.value &&
70
- current - value > 1) {
71
- currentRef.value++;
322
+ updateTranslate(translate, speed);
323
+ previousTranslate = getTranslate(realIndexRef.value);
324
+ }
325
+ function getTranslate(index) {
326
+ let translate;
327
+ // Deal with auto slides pre view
328
+ if (index >= totalViewRef.value - 1) {
329
+ translate = getLastViewTranslate();
72
330
  }
73
331
  else {
74
- currentRef.value = value;
332
+ translate = slideTranlatesRef.value[index] || 0;
75
333
  }
76
- if (props.autoplay) {
77
- resetInterval();
334
+ return translate;
335
+ }
336
+ function getLastViewTranslate() {
337
+ if (displaySlidesPerViewRef.value === 'auto') {
338
+ const { value: axis } = sizeAxisRef;
339
+ const { [axis]: perViewSize } = perViewSizeRef.value;
340
+ const { value: translates } = slideTranlatesRef;
341
+ const lastTranslate = translates[translates.length - 1];
342
+ let overallSize;
343
+ if (lastTranslate === undefined) {
344
+ overallSize = perViewSize;
345
+ }
346
+ else {
347
+ const { value: slideSizes } = slideSizesRef;
348
+ overallSize = lastTranslate + slideSizes[slideSizes.length - 1][axis];
349
+ }
350
+ // Bring the last slide to the edge
351
+ return overallSize - perViewSize;
352
+ }
353
+ else {
354
+ const { value: translates } = slideTranlatesRef;
355
+ return translates[totalViewRef.value - 1] || 0;
78
356
  }
79
357
  }
80
- // slot [ 0 1 2 ]
81
- // index 0 1 2 3 4
82
- // display 2 0 1 2 0
83
- function handleTransitionEnd(e) {
84
- const target = e.target;
85
- if (target !== e.currentTarget)
358
+ // Provide
359
+ function addSlide(slide) {
360
+ if (!slide)
86
361
  return;
87
- const { value: current } = currentRef;
88
- const { value: length } = lengthRef;
89
- const nextCurrent = current === 0 ? length : current === length + 1 ? 1 : null;
90
- if (nextCurrent !== null) {
91
- currentRef.value = nextCurrent;
92
- void (0, vue_1.nextTick)(() => {
93
- target.style.transition = 'none';
94
- void target.offsetWidth;
95
- target.style.transition = '';
96
- inTransition = false;
97
- });
362
+ slidesElsRef.value.push(slide);
363
+ }
364
+ function removeSlide(slide) {
365
+ if (!slide)
366
+ return;
367
+ const index = getSlideIndex(slide);
368
+ if (index !== -1) {
369
+ slidesElsRef.value.splice(index, 1);
98
370
  }
99
- else {
100
- inTransition = false;
371
+ }
372
+ function getSlideIndex(slideOrIndex) {
373
+ return typeof slideOrIndex === 'number'
374
+ ? slideOrIndex
375
+ : slidesElsRef.value.indexOf(slideOrIndex);
376
+ }
377
+ function getSlideStyle(slide) {
378
+ const index = getSlideIndex(slide);
379
+ if (index !== -1) {
380
+ return slideStylesRef.value[index];
101
381
  }
102
382
  }
103
- function handleKeydown(e, current) {
104
- switch (e.code) {
105
- case 'Enter':
106
- case 'NumpadEnter':
107
- case 'Space':
108
- setCurrent(current);
383
+ function onCarouselItemClick(index) {
384
+ // TODO fix
385
+ // if (
386
+ // !dragTriggered &&
387
+ // !userWantsControlRef.value &&
388
+ // props.effect === 'card' &&
389
+ // !isRealActive(index)
390
+ // ) {
391
+ // to(index)
392
+ // }
393
+ }
394
+ const carouselMethods = {
395
+ to,
396
+ prev: () => {
397
+ // wait transition end
398
+ if (!inTransition || !duplicatedableRef.value)
399
+ prev();
400
+ },
401
+ next: () => {
402
+ // wait transition end
403
+ if (!inTransition || !duplicatedableRef.value)
404
+ next();
405
+ },
406
+ isVertical: () => verticalRef.value,
407
+ isHorizontal: () => !verticalRef.value,
408
+ isPrev: isRealPrev,
409
+ isNext: isRealNext,
410
+ isActive: isRealActive,
411
+ isPrevDisabled,
412
+ isNextDisabled,
413
+ getCurrentIndex: () => displayIndexRef.value,
414
+ getSlideIndex,
415
+ getSlideStyle,
416
+ addSlide,
417
+ removeSlide,
418
+ onCarouselItemClick
419
+ };
420
+ (0, vue_1.provide)(interface_1.carouselMethodsInjectionKey, carouselMethods);
421
+ // Autoplay
422
+ let autoplayTimer = null;
423
+ function resetAutoplay(cleanOnly) {
424
+ if (autoplayTimer) {
425
+ clearInterval(autoplayTimer);
426
+ autoplayTimer = null;
427
+ }
428
+ const { autoplay, interval } = props;
429
+ if (autoplay && interval && !cleanOnly) {
430
+ autoplayTimer = setInterval(next, interval);
109
431
  }
110
432
  }
433
+ function mesureAutoplay() {
434
+ const { autoplay } = props;
435
+ if (autoplay) {
436
+ resetAutoplay();
437
+ }
438
+ else if (displayTotalViewRef.value < 2) {
439
+ resetAutoplay(true);
440
+ }
441
+ }
442
+ // Drag
111
443
  let dragStartX = 0;
112
444
  let dragStartY = 0;
445
+ let dragOffset = 0;
113
446
  let dragStartTime = 0;
114
- let memorizedContainerWidth = 0;
115
- let memorizedContainerHeight = 0;
116
- function handleTouchstart(e) {
117
- if (timerId !== null) {
118
- window.clearInterval(timerId);
119
- }
120
- e.preventDefault();
121
- const { value: dotPlacement } = dotPlacementRef;
122
- if (dotPlacement === 'left' || dotPlacement === 'right') {
123
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
124
- memorizedContainerHeight = selfElRef.value.offsetHeight;
125
- touchingRef.value = true;
126
- dragStartTime = Date.now();
127
- dragStartY = e.touches[0].clientY;
447
+ let dragging = false;
448
+ let allowClick = true;
449
+ // whether the last touch triggered the drag successfully
450
+ // const dragTriggered = false
451
+ function handleTouchstart(event) {
452
+ allowClick = true;
453
+ if (globalDragging)
454
+ return;
455
+ // pause autoplay
456
+ resetAutoplay(true);
457
+ dragging = true;
458
+ globalDragging = true;
459
+ dragStartTime = Date.now();
460
+ // dragTriggered = false
461
+ if (event.type !== 'touchstart' &&
462
+ !event.target.isContentEditable) {
463
+ event.preventDefault();
128
464
  }
129
- else {
130
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
131
- memorizedContainerWidth = selfElRef.value.offsetWidth;
132
- touchingRef.value = true;
133
- dragStartTime = Date.now();
134
- dragStartX = e.touches[0].clientX;
135
- }
136
- (0, evtd_1.on)('touchmove', document, handleTouchmove);
137
- (0, evtd_1.on)('touchend', document, handleTouchend);
138
- (0, evtd_1.on)('touchcancel', document, handleTouchend);
139
- }
140
- function handleTouchmove(e) {
141
- const { value: dotPlacement } = dotPlacementRef;
142
- if (dotPlacement === 'left' || dotPlacement === 'right') {
143
- const dragOffset = e.touches[0].clientY - dragStartY;
144
- dragOffsetRef.value =
145
- dragOffset > memorizedContainerHeight
146
- ? memorizedContainerHeight
147
- : dragOffset < -memorizedContainerHeight
148
- ? -memorizedContainerHeight
149
- : dragOffset;
465
+ const touchEvent = (0, utils_1.isTouchEvent)(event) ? event.touches[0] : event;
466
+ if (verticalRef.value) {
467
+ dragStartY = touchEvent.clientY;
150
468
  }
151
469
  else {
152
- const dragOffset = e.touches[0].clientX - dragStartX;
153
- dragOffsetRef.value =
154
- dragOffset > memorizedContainerWidth
155
- ? memorizedContainerWidth
156
- : dragOffset < -memorizedContainerWidth
157
- ? -memorizedContainerWidth
158
- : dragOffset;
470
+ dragStartX = touchEvent.clientX;
471
+ }
472
+ if (props.touchable) {
473
+ (0, evtd_1.on)('touchmove', document, handleTouchmove);
474
+ (0, evtd_1.on)('touchend', document, handleTouchend);
475
+ (0, evtd_1.on)('touchcancel', document, handleTouchend);
476
+ }
477
+ if (props.draggable) {
478
+ (0, evtd_1.on)('mousemove', document, handleTouchmove);
479
+ (0, evtd_1.on)('mouseup', document, handleTouchend);
480
+ }
481
+ }
482
+ function handleTouchmove(event) {
483
+ const { value: vertical } = verticalRef;
484
+ const axis = vertical ? 'height' : 'width';
485
+ const perViewSize = perViewSizeRef.value[axis];
486
+ const touchEvent = (0, utils_1.isTouchEvent)(event) ? event.touches[0] : event;
487
+ const offset = vertical
488
+ ? touchEvent.clientY - dragStartY
489
+ : touchEvent.clientX - dragStartX;
490
+ dragOffset = (0, utils_1.clampValue)(offset, -perViewSize, perViewSize);
491
+ allowClick = false;
492
+ if (translateableRef.value) {
493
+ updateTranslate(previousTranslate - dragOffset, 0);
159
494
  }
160
495
  }
161
496
  function handleTouchend() {
162
- if (props.autoplay)
163
- resetInterval();
164
- void (0, vue_1.nextTick)(() => {
165
- touchingRef.value = false;
166
- });
167
- const { value: selfEl } = selfElRef;
168
- if (selfEl) {
169
- const { offsetWidth, offsetHeight } = selfEl;
170
- const { value: dragOffset } = dragOffsetRef;
171
- const duration = Date.now() - dragStartTime;
172
- const { value: dotPlacement } = dotPlacementRef;
173
- // more than 50% width or faster than 0.4px per ms
174
- if (dotPlacement === 'left' || dotPlacement === 'right') {
175
- if (dragOffset > offsetHeight / 2 || dragOffset / duration > 0.4) {
176
- prev();
177
- }
178
- else if (dragOffset < -offsetHeight / 2 ||
179
- dragOffset / duration < -0.4) {
180
- next();
497
+ const duration = Date.now() - dragStartTime;
498
+ const { value: axis } = sizeAxisRef;
499
+ const { value: realIndex } = realIndexRef;
500
+ const { value: translateable } = translateableRef;
501
+ let currentIndex = realIndex;
502
+ if (!inTransition && translateable && dragOffset !== 0) {
503
+ const currentTranslate = previousTranslate - dragOffset;
504
+ const translates = [
505
+ ...slideTranlatesRef.value.slice(0, totalViewRef.value - 1),
506
+ getLastViewTranslate()
507
+ ];
508
+ let prevOffset = null;
509
+ for (let i = 0; i < translates.length; i++) {
510
+ const offset = Math.abs(translates[i] - currentTranslate);
511
+ if (prevOffset !== null && prevOffset < offset) {
512
+ break;
181
513
  }
514
+ prevOffset = offset;
515
+ currentIndex = i;
182
516
  }
183
- else {
184
- if (dragOffset > offsetWidth / 2 || dragOffset / duration > 0.4) {
185
- prev();
186
- }
187
- else if (dragOffset < -offsetWidth / 2 ||
188
- dragOffset / duration < -0.4) {
189
- next();
190
- }
517
+ }
518
+ if (currentIndex === realIndex) {
519
+ const perViewSize = perViewSizeRef.value[axis];
520
+ // more than 50% width or faster than 0.4px per ms
521
+ if (dragOffset > perViewSize / 2 || dragOffset / duration > 0.4) {
522
+ currentIndex = getRealPrevIndex(realIndex);
191
523
  }
524
+ else if (dragOffset < -perViewSize / 2 ||
525
+ dragOffset / duration < -0.4) {
526
+ currentIndex = getRealNextIndex(realIndex);
527
+ }
528
+ }
529
+ if (currentIndex !== null && currentIndex !== realIndex) {
530
+ // dragTriggered = true
531
+ toRealIndex(currentIndex);
192
532
  }
193
- dragOffsetRef.value = 0;
533
+ else {
534
+ fixTranslate(speedRef.value);
535
+ }
536
+ mesureAutoplay();
537
+ resetDragStatus();
538
+ }
539
+ function resetDragStatus() {
540
+ if (dragging) {
541
+ dragging = false;
542
+ globalDragging = false;
543
+ }
544
+ dragStartX = 0;
545
+ dragStartY = 0;
546
+ dragOffset = 0;
547
+ dragStartTime = 0;
194
548
  (0, evtd_1.off)('touchmove', document, handleTouchmove);
195
549
  (0, evtd_1.off)('touchend', document, handleTouchend);
196
550
  (0, evtd_1.off)('touchcancel', document, handleTouchend);
551
+ (0, evtd_1.off)('mousemove', document, handleTouchmove);
552
+ (0, evtd_1.off)('mouseup', document, handleTouchend);
197
553
  }
198
- function handleMouseenter(current) {
199
- if (props.trigger === 'hover') {
200
- setCurrent(current);
554
+ function handleTransitionEnd() {
555
+ const { value: virtualIndex } = virtualIndexRef;
556
+ const { value: realIndex } = realIndexRef;
557
+ if (inTransition && virtualIndex !== realIndex) {
558
+ translateTo(realIndex, 0);
201
559
  }
202
- }
203
- function resetInterval() {
204
- if (timerId !== null) {
205
- window.clearInterval(timerId);
560
+ else {
561
+ resetAutoplay();
562
+ }
563
+ if (translateableRef.value) {
564
+ translateStyleRef.value.transitionDuration = '0ms';
206
565
  }
207
- timerId = window.setInterval(() => {
208
- next();
209
- }, props.interval);
566
+ inTransition = false;
210
567
  }
211
- (0, vue_1.onMounted)(() => {
212
- (0, vue_1.watchEffect)(() => {
213
- if (props.autoplay) {
214
- resetInterval();
568
+ function handleMousewheel(event) {
569
+ event.preventDefault();
570
+ if (inTransition)
571
+ return;
572
+ const { value: vertical } = verticalRef;
573
+ let { deltaX, deltaY } = event;
574
+ if (event.shiftKey && !deltaX) {
575
+ deltaX = deltaY;
576
+ }
577
+ const PREV_R = -1;
578
+ const NEXT_R = 1;
579
+ const r = (deltaX || deltaY) > 0 ? NEXT_R : PREV_R;
580
+ let rx = 0;
581
+ let ry = 0;
582
+ if (vertical) {
583
+ ry = r;
584
+ }
585
+ else {
586
+ rx = r;
587
+ }
588
+ const RESPONSE_STEP = 10;
589
+ if (ry * deltaY >= RESPONSE_STEP || rx * deltaX >= RESPONSE_STEP) {
590
+ if (r === NEXT_R && !isNextDisabled()) {
591
+ next();
215
592
  }
216
- else {
217
- if (timerId !== null) {
218
- window.clearInterval(timerId);
219
- }
593
+ else if (r === PREV_R && !isPrevDisabled()) {
594
+ prev();
220
595
  }
221
- });
596
+ }
597
+ }
598
+ function handleClick(event) {
599
+ if (!allowClick) {
600
+ event.preventDefault();
601
+ event.stopPropagation();
602
+ allowClick = true;
603
+ }
604
+ }
605
+ function handleResize() {
606
+ perViewSizeRef.value = (0, utils_1.calculateSize)(selfElRef.value, true);
607
+ resetAutoplay();
608
+ }
609
+ function handleSlideResize() {
610
+ var _a, _b;
611
+ if (autoSlideSizeRef.value) {
612
+ (_b = (_a = slideSizesRef.effect).scheduler) === null || _b === void 0 ? void 0 : _b.call(_a);
613
+ slideSizesRef.effect.run();
614
+ }
615
+ }
616
+ (0, vue_1.onMounted)(() => {
617
+ (0, vue_1.watchEffect)(mesureAutoplay);
618
+ void (0, vue_1.nextTick)(() => (isMounted = true));
222
619
  });
223
620
  (0, vue_1.onBeforeUnmount)(() => {
224
- if (timerId !== null) {
225
- window.clearInterval(timerId);
621
+ resetDragStatus();
622
+ resetAutoplay(true);
623
+ });
624
+ // Fix index when remounting
625
+ (0, vue_1.onUpdated)(() => {
626
+ const { value: slidesEls } = slidesElsRef;
627
+ const { value: slideVNodes } = slideVNodesRef;
628
+ const indexMap = new Map();
629
+ const getDisplayIndex = (el) =>
630
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
631
+ indexMap.has(el) ? indexMap.get(el) : -1;
632
+ let isChanged = false;
633
+ for (let i = 0; i < slidesEls.length; i++) {
634
+ const index = slideVNodes.findIndex((v) => v.el === slidesEls[i]);
635
+ if (index !== i) {
636
+ isChanged = true;
637
+ }
638
+ indexMap.set(slidesEls[i], index);
639
+ }
640
+ if (isChanged) {
641
+ slidesEls.sort((a, b) => getDisplayIndex(a) - getDisplayIndex(b));
642
+ }
643
+ });
644
+ (0, vue_1.watch)((0, vue_1.toRef)(props, 'currentIndex'), (index) => index !== undefined && to(index));
645
+ (0, vue_1.watch)(duplicatedableRef, () => void (0, vue_1.nextTick)(() => to(displayIndexRef.value)));
646
+ (0, vue_1.watch)(slideTranlatesRef, () => translateableRef.value && fixTranslate(), {
647
+ deep: true
648
+ });
649
+ (0, vue_1.watch)(translateableRef, (value) => {
650
+ if (!value) {
651
+ inTransition = false;
652
+ // if the current mode does not support translate, reset the position of the wrapper
653
+ updateTranslate((previousTranslate = 0));
654
+ }
655
+ else {
656
+ fixTranslate();
226
657
  }
227
658
  });
659
+ const caroulseSlotProps = {
660
+ arrowSlotProps: (0, vue_1.computed)(() => (Object.assign({ total: displayTotalViewRef.value, currentIndex: displayIndexRef.value }, (0, _utils_1.keep)(carouselMethods, [
661
+ 'to',
662
+ 'prev',
663
+ 'next',
664
+ 'isPrevDisabled',
665
+ 'isNextDisabled'
666
+ ])))),
667
+ dotSlotProps: (0, vue_1.computed)(() => ({
668
+ total: displayTotalViewRef.value,
669
+ currentIndex: displayIndexRef.value,
670
+ to
671
+ }))
672
+ };
673
+ const caroulseExposedMethod = {
674
+ getCurrentIndex: () => displayIndexRef.value,
675
+ to: to,
676
+ prev: prev,
677
+ next: next
678
+ };
228
679
  const themeRef = (0, _mixins_1.useTheme)('Carousel', 'Carousel', index_cssr_1.default, styles_1.carouselLight, props);
229
- return {
230
- selfElRef,
231
- mergedClsPrefix: mergedClsPrefixRef,
232
- current: currentRef,
233
- lengthRef,
234
- touching: touchingRef,
235
- dragOffset: dragOffsetRef,
236
- prev,
237
- next,
238
- setCurrent,
239
- handleKeydown,
240
- handleTouchstart,
680
+ return Object.assign(Object.assign(Object.assign({ mergedClsPrefix: mergedClsPrefixRef, selfElRef, slideVNodes: slideVNodesRef, duplicatedable: duplicatedableRef, userWantsControl: userWantsControlRef, autoSlideSize: autoSlideSizeRef, displayIndex: displayIndexRef, realIndex: realIndexRef, slideStyles: slideStylesRef, translateStyle: translateStyleRef, handleTouchstart,
241
681
  handleTransitionEnd,
242
- handleMouseenter,
243
- cssVars: (0, vue_1.computed)(() => {
244
- const { common: { cubicBezierEaseInOut }, self: { dotColor, dotColorActive, dotSize, arrowColor } } = themeRef.value;
682
+ handleMousewheel,
683
+ handleClick,
684
+ handleResize,
685
+ handleSlideResize, isActive: isDisplayActive }, caroulseSlotProps), caroulseExposedMethod), { cssVars: (0, vue_1.computed)(() => {
686
+ const { common: { cubicBezierEaseInOut }, self: { dotSize, dotColor, dotColorActive, dotColorFocus, dotLineWidth, dotLineWidthActive, arrowColor } } = themeRef.value;
245
687
  return {
246
- '--bezier': cubicBezierEaseInOut,
247
- '--dot-color': dotColor,
248
- '--dot-color-active': dotColorActive,
249
- '--dot-size': dotSize,
250
- '--arrow-color': arrowColor
688
+ '--n-bezier': cubicBezierEaseInOut,
689
+ '--n-dot-color': dotColor,
690
+ '--n-dot-color-focus': dotColorFocus,
691
+ '--n-dot-color-active': dotColorActive,
692
+ '--n-dot-size': dotSize,
693
+ '--n-dot-line-width': dotLineWidth,
694
+ '--n-dot-line-width-active': dotLineWidthActive,
695
+ '--n-arrow-color': arrowColor
251
696
  };
252
- })
253
- };
697
+ }) });
254
698
  },
255
699
  render() {
256
- const { showArrow, dotPlacement, mergedClsPrefix, current, lengthRef, autoplay, $slots: { default: defaultSlot } } = this;
257
- const children = (0, _utils_1.flatten)((defaultSlot === null || defaultSlot === void 0 ? void 0 : defaultSlot()) || []);
258
- const { length } = children;
259
- lengthRef.value = length;
260
- const leftOverflowVNode = length ? (0, vue_1.cloneVNode)(children[length - 1]) : null;
261
- const rightOverflowVNode = length ? (0, vue_1.cloneVNode)(children[0]) : null;
262
- const total = length + 2;
263
- const vertical = dotPlacement === 'left' || dotPlacement === 'right';
264
- return ((0, vue_1.h)("div", { class: [
700
+ const { mergedClsPrefix, showArrow, userWantsControl, draggable, touchable, slideStyles, dotType, dotPlacement, transitionProps = {}, arrowSlotProps, dotSlotProps, $slots: { default: defaultSlot, dots: dotsSlot, arrow: arrowSlot } } = this;
701
+ const children = (defaultSlot && (0, _utils_1.flatten)(defaultSlot())) || [];
702
+ let slides = filterCarouselItem(children);
703
+ if (!slides.length) {
704
+ slides = children.map((ch) => ((0, vue_1.h)(CarouselItem_1.default, null, {
705
+ default: () => (0, vue_1.cloneVNode)(ch)
706
+ })));
707
+ }
708
+ const { length: realLength } = slides;
709
+ if (realLength > 1 && this.duplicatedable) {
710
+ slides.push(duplicateSlide(slides[0], 0, 'append'));
711
+ slides.unshift(duplicateSlide(slides[realLength - 1], realLength - 1, 'prepend'));
712
+ }
713
+ this.slideVNodes.value = slides;
714
+ // When users need to customize the size of the slide,
715
+ // we listen to them to fix the current translate
716
+ if (this.autoSlideSize) {
717
+ slides = slides.map((slide) => ((0, vue_1.h)(vueuc_1.VResizeObserver, { onResize: this.handleSlideResize }, {
718
+ default: () => slide
719
+ })));
720
+ }
721
+ return ((0, vue_1.h)("div", { ref: "selfElRef", class: [
265
722
  `${mergedClsPrefix}-carousel`,
266
- `${mergedClsPrefix}-carousel--${this.dotPlacement}`
267
- ], style: this.cssVars, ref: "selfElRef" },
268
- (0, vue_1.h)("div", { class: `${mergedClsPrefix}-carousel__slides`, onTouchstart: this.handleTouchstart, style: {
269
- [vertical ? 'height' : 'width']: `${total}00%`,
270
- [vertical ? 'width' : 'height']: '100%',
271
- transition: this.touching ? 'none' : '',
272
- transform: vertical
273
- ? `translate3d(0, -${(100 / total) * (current % total)}%, 0)` +
274
- (this.touching ? `translateY(${this.dragOffset}px)` : '')
275
- : `translate3d(-${(100 / total) * (current % total)}%, 0, 0)` +
276
- (this.touching ? `translateX(${this.dragOffset}px)` : '')
277
- }, onTransitionend: this.handleTransitionEnd, role: "listbox" }, [leftOverflowVNode, ...children, rightOverflowVNode].map((vNode, i) => ((0, vue_1.h)("div", { "data-index": i, style: { [vertical ? 'height' : 'width']: `${100 / total}%` }, key: i, role: "option", "aria-hidden": i !== current }, vNode)))),
278
- (0, vue_1.h)("div", { class: `${mergedClsPrefix}-carousel__dots`, role: "tablist" }, (0, seemly_1.indexMap)(length, (i) => {
279
- const selected = i + 1 === current;
280
- return ((0, vue_1.h)("div", { "aria-selected": selected, role: "button", tabindex: "0", class: [
281
- `${mergedClsPrefix}-carousel__dot`,
282
- selected && `${mergedClsPrefix}-carousel__dot--active`
283
- ], onClick: () => this.setCurrent(i + 1), onMouseenter: () => this.handleMouseenter(i + 1), onMousedown: autoplay
284
- ? (e) => {
285
- e.preventDefault();
286
- }
287
- : undefined, onKeydown: (e) => this.handleKeydown(e, i + 1) }));
288
- })),
289
- showArrow && [
290
- (0, vue_1.h)("div", { class: [
291
- `${mergedClsPrefix}-carousel__arrow`,
292
- `${mergedClsPrefix}-carousel__arrow--${vertical ? 'bottom' : 'right'}`
293
- ], role: "button", onClick: () => {
294
- this.next();
295
- } },
296
- (0, vue_1.h)(icons_1.ForwardIcon, null)),
297
- (0, vue_1.h)("div", { class: [
298
- `${mergedClsPrefix}-carousel__arrow`,
299
- `${mergedClsPrefix}-carousel__arrow--${vertical ? 'top' : 'left'}`
300
- ], role: "button", onClick: () => {
301
- this.prev();
302
- } },
303
- (0, vue_1.h)(icons_1.BackwardIcon, null))
304
- ]));
723
+ `${mergedClsPrefix}-carousel--${dotPlacement}`,
724
+ `${mergedClsPrefix}-carousel--${this.direction}`,
725
+ `${mergedClsPrefix}-carousel--${this.effect}`,
726
+ userWantsControl && `${mergedClsPrefix}-carousel--usercontrol`
727
+ ], style: this.cssVars },
728
+ (0, vue_1.h)(vueuc_1.VResizeObserver, { onResize: this.handleResize }, {
729
+ default: () => ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-carousel__slides`, role: "listbox", style: this.translateStyle, onMousedown: draggable ? this.handleTouchstart : undefined, onTouchstart: touchable ? this.handleTouchstart : undefined,
730
+ // @ts-expect-error
731
+ onClickCapture: this.handleClick, onWheel: this.mousewheel ? this.handleMousewheel : undefined, onTransitionend: this.handleTransitionEnd }, userWantsControl
732
+ ? slides.map((slide, i) => ((0, vue_1.h)("div", { style: slideStyles[i], key: i }, (0, vue_1.withDirectives)((0, vue_1.h)(vue_1.Transition, Object.assign({}, transitionProps), {
733
+ default: () => slide
734
+ }), [[vue_1.vShow, this.isActive(i)]]))))
735
+ : slides))
736
+ }),
737
+ this.showDots &&
738
+ (dotsSlot
739
+ ? dotsSlot(dotSlotProps)
740
+ : dotSlotProps.total > 1 && ((0, vue_1.h)(CarouselDots_1.default, { key: dotType + dotPlacement, total: dotSlotProps.total, currentIndex: dotSlotProps.currentIndex, dotType: dotType, trigger: this.trigger, keyboard: this.keyboard }))),
741
+ showArrow &&
742
+ (arrowSlot ? arrowSlot(arrowSlotProps) : (0, vue_1.h)(CarouselArrow_1.default, null))));
305
743
  }
306
744
  });
745
+ function filterCarouselItem(vnodes, carouselItems = []) {
746
+ if (Array.isArray(vnodes)) {
747
+ vnodes.forEach((vnode) => {
748
+ if (vnode.type && vnode.type.name === 'CarouselItem') {
749
+ carouselItems.push(vnode);
750
+ }
751
+ });
752
+ }
753
+ return carouselItems;
754
+ }
755
+ function duplicateSlide(child, index, position) {
756
+ return (0, vue_1.cloneVNode)(child, {
757
+ // for patch
758
+ key: `carousel-item-duplicate-${index}-${position}`
759
+ });
760
+ }