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