element-plus 1.2.0-beta.5 → 1.2.0-beta.6

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 (984) hide show
  1. package/README.md +5 -174
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +1568 -1607
  5. package/dist/index.full.min.js +8 -8
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +11 -11
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +1563 -1612
  10. package/es/component.d.ts +3 -0
  11. package/es/component.mjs.map +1 -1
  12. package/es/components/affix/index.d.ts +48 -0
  13. package/es/components/affix/src/affix.vue.d.ts +48 -0
  14. package/es/components/alert/index.d.ts +5 -5
  15. package/es/components/alert/src/alert.d.ts +1 -1
  16. package/es/components/alert/src/alert.vue.d.ts +5 -5
  17. package/es/components/autocomplete/index.d.ts +4 -4
  18. package/es/components/autocomplete/src/index.vue.d.ts +2 -2
  19. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs +1 -1
  20. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  21. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs.map +1 -1
  22. package/es/components/avatar/index.d.ts +1 -1
  23. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  24. package/es/components/backtop/src/backtop.vue_vue_type_script_lang.mjs +1 -1
  25. package/es/components/backtop/src/backtop.vue_vue_type_script_lang.mjs.map +1 -1
  26. package/es/components/backtop/src/backtop.vue_vue_type_template_id_63a7fea6_lang.mjs.map +1 -1
  27. package/es/components/button/index.d.ts +18 -18
  28. package/es/components/button/src/button-group.d.ts +1 -1
  29. package/es/components/button/src/button-group.vue.d.ts +3 -3
  30. package/es/components/button/src/button.d.ts +3 -3
  31. package/es/components/button/src/button.mjs +5 -3
  32. package/es/components/button/src/button.mjs.map +1 -1
  33. package/es/components/button/src/button.vue.d.ts +12 -12
  34. package/es/components/button/src/button.vue_vue_type_script_lang.mjs +9 -12
  35. package/es/components/button/src/button.vue_vue_type_script_lang.mjs.map +1 -1
  36. package/es/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.mjs.map +1 -1
  37. package/es/components/calendar/index.d.ts +20 -47
  38. package/es/components/calendar/index.mjs +6 -8
  39. package/es/components/calendar/index.mjs.map +1 -1
  40. package/es/components/calendar/src/calendar.d.ts +11 -0
  41. package/es/components/calendar/src/calendar.mjs +19 -0
  42. package/es/components/calendar/src/calendar.mjs.map +1 -0
  43. package/es/components/calendar/src/calendar.vue.d.ts +34 -0
  44. package/es/components/calendar/src/{index.vue_vue_type_script_lang.mjs → calendar.vue_vue_type_script_lang.mjs} +12 -23
  45. package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs.map +1 -0
  46. package/es/components/calendar/src/{index.vue_vue_type_template_id_819aa44a_lang.mjs → calendar.vue_vue_type_template_id_76705c76_lang.mjs} +1 -1
  47. package/es/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.mjs.map +1 -0
  48. package/es/components/calendar/src/calendar2.mjs +7 -0
  49. package/es/components/calendar/src/calendar2.mjs.map +1 -0
  50. package/es/components/calendar/src/date-table.d.ts +13 -0
  51. package/es/components/calendar/src/date-table.mjs +23 -5
  52. package/es/components/calendar/src/date-table.mjs.map +1 -1
  53. package/es/components/calendar/src/date-table.vue.d.ts +29 -38
  54. package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs +54 -71
  55. package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs.map +1 -1
  56. package/es/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.mjs +1 -1
  57. package/es/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.mjs.map +1 -1
  58. package/es/components/calendar/src/date-table2.mjs +7 -0
  59. package/es/components/calendar/src/date-table2.mjs.map +1 -0
  60. package/es/components/carousel/src/main.vue_vue_type_script_lang.mjs +1 -1
  61. package/es/components/carousel/src/main.vue_vue_type_script_lang.mjs.map +1 -1
  62. package/es/components/carousel/src/main.vue_vue_type_template_id_1303d144_lang.mjs.map +1 -1
  63. package/es/components/cascader/index.d.ts +8756 -0
  64. package/es/components/cascader/src/index.vue.d.ts +4384 -0
  65. package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs +3 -4
  66. package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  67. package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs.map +1 -1
  68. package/es/components/cascader-panel/src/node.vue_vue_type_script_lang.mjs +1 -1
  69. package/es/components/cascader-panel/src/node.vue_vue_type_script_lang.mjs.map +1 -1
  70. package/es/components/cascader-panel/src/node.vue_vue_type_template_id_18b09cb2_lang.mjs.map +1 -1
  71. package/es/components/checkbox/index.d.ts +10 -10
  72. package/es/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
  73. package/es/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.mjs +5 -3
  74. package/es/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.mjs.map +1 -1
  75. package/es/components/checkbox/src/checkbox-group.vue_vue_type_template_id_9944d4d2_lang.mjs.map +1 -1
  76. package/es/components/checkbox/src/checkbox.type.d.ts +2 -2
  77. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
  78. package/es/components/checkbox/src/useCheckbox.d.ts +2 -3
  79. package/es/components/checkbox/src/useCheckbox.mjs +9 -18
  80. package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
  81. package/es/components/collapse/index.d.ts +4 -4
  82. package/es/components/collapse/src/collapse-item.vue.d.ts +2 -2
  83. package/es/components/collapse/src/collapse-item.vue_vue_type_script_lang.mjs +1 -1
  84. package/es/components/collapse/src/collapse-item.vue_vue_type_script_lang.mjs.map +1 -1
  85. package/es/components/collapse/src/collapse-item.vue_vue_type_template_id_80da782a_lang.mjs.map +1 -1
  86. package/es/components/color-picker/index.d.ts +2 -2
  87. package/es/components/color-picker/src/components/alpha-slider.vue.d.ts +30 -0
  88. package/es/components/color-picker/src/index.vue.d.ts +1 -1
  89. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs +3 -6
  90. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  91. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
  92. package/es/components/config-provider/index.d.ts +10 -9
  93. package/es/components/config-provider/src/config-provider.d.ts +3 -4
  94. package/es/components/config-provider/src/config-provider.mjs +10 -11
  95. package/es/components/config-provider/src/config-provider.mjs.map +1 -1
  96. package/es/components/config-provider/src/index.d.ts +10 -9
  97. package/es/components/date-picker/index.d.ts +10 -10
  98. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  99. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -2
  100. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs +1 -1
  101. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs.map +1 -1
  102. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs.map +1 -1
  103. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -3
  104. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.mjs +1 -1
  105. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.mjs.map +1 -1
  106. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_template_id_62b45ab2_lang.mjs.map +1 -1
  107. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  108. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.mjs +1 -1
  109. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.mjs.map +1 -1
  110. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_template_id_2e377892_lang.mjs.map +1 -1
  111. package/es/components/date-picker/src/date-picker.d.ts +5 -5
  112. package/es/components/descriptions/index.d.ts +1 -1
  113. package/es/components/descriptions/src/index.vue.d.ts +1 -1
  114. package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs +4 -6
  115. package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  116. package/es/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.mjs.map +1 -1
  117. package/es/components/dialog/index.d.ts +8 -2
  118. package/es/components/dialog/src/dialog.d.ts +2 -1
  119. package/es/components/dialog/src/dialog.mjs +4 -0
  120. package/es/components/dialog/src/dialog.mjs.map +1 -1
  121. package/es/components/dialog/src/dialog.vue.d.ts +8 -2
  122. package/es/components/dialog/src/dialog.vue_vue_type_script_lang.mjs.map +1 -1
  123. package/es/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.mjs +2 -3
  124. package/es/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.mjs.map +1 -1
  125. package/es/components/dialog/src/use-dialog.d.ts +2 -0
  126. package/es/components/dialog/src/use-dialog.mjs +2 -0
  127. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  128. package/es/components/divider/index.d.ts +4 -0
  129. package/es/components/divider/src/divider.d.ts +2 -0
  130. package/es/components/divider/src/divider.mjs +5 -1
  131. package/es/components/divider/src/divider.mjs.map +1 -1
  132. package/es/components/divider/src/divider.vue.d.ts +4 -0
  133. package/es/components/divider/src/divider.vue_vue_type_script_lang.mjs.map +1 -1
  134. package/es/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.mjs +4 -3
  135. package/es/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.mjs.map +1 -1
  136. package/es/components/drawer/index.d.ts +66 -208
  137. package/es/components/drawer/index.mjs +6 -8
  138. package/es/components/drawer/index.mjs.map +1 -1
  139. package/es/components/drawer/src/drawer.d.ts +35 -0
  140. package/es/components/drawer/src/drawer.mjs +28 -0
  141. package/es/components/drawer/src/drawer.mjs.map +1 -0
  142. package/es/components/drawer/src/drawer.vue.d.ts +129 -0
  143. package/es/components/drawer/src/drawer.vue_vue_type_script_lang.mjs +37 -0
  144. package/es/components/drawer/src/drawer.vue_vue_type_script_lang.mjs.map +1 -0
  145. package/es/components/drawer/src/{index.vue_vue_type_template_id_052d0d8e_lang.mjs → drawer.vue_vue_type_template_id_e0557736_lang.mjs} +1 -1
  146. package/es/components/drawer/src/drawer.vue_vue_type_template_id_e0557736_lang.mjs.map +1 -0
  147. package/es/components/drawer/src/drawer2.mjs +7 -0
  148. package/es/components/drawer/src/drawer2.mjs.map +1 -0
  149. package/es/components/dropdown/index.d.ts +3 -3
  150. package/es/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
  151. package/es/components/dropdown/src/dropdown.vue.d.ts +1 -1
  152. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs +4 -4
  153. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
  154. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
  155. package/es/components/dropdown/src/useDropdown.d.ts +0 -1
  156. package/es/components/dropdown/src/useDropdown.mjs +1 -3
  157. package/es/components/dropdown/src/useDropdown.mjs.map +1 -1
  158. package/es/components/form/index.d.ts +4 -4
  159. package/es/components/form/src/form-item.vue.d.ts +2 -2
  160. package/es/components/form/src/form-item.vue_vue_type_script_lang.mjs +4 -6
  161. package/es/components/form/src/form-item.vue_vue_type_script_lang.mjs.map +1 -1
  162. package/es/components/form/src/form-item.vue_vue_type_template_id_24eda48b_lang.mjs.map +1 -1
  163. package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.mjs +1 -1
  164. package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.mjs.map +1 -1
  165. package/es/components/image-viewer/src/image-viewer.vue_vue_type_template_id_4b22ad85_lang.mjs.map +1 -1
  166. package/es/components/index.mjs +5 -1
  167. package/es/components/index.mjs.map +1 -1
  168. package/es/components/input/index.d.ts +10 -10
  169. package/es/components/input/src/input.d.ts +2 -2
  170. package/es/components/input/src/input.mjs +4 -3
  171. package/es/components/input/src/input.mjs.map +1 -1
  172. package/es/components/input/src/input.vue.d.ts +10 -10
  173. package/es/components/input/src/input.vue_vue_type_script_lang.mjs +10 -11
  174. package/es/components/input/src/input.vue_vue_type_script_lang.mjs.map +1 -1
  175. package/es/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.mjs.map +1 -1
  176. package/es/components/input-number/index.d.ts +23 -23
  177. package/es/components/input-number/src/input-number.vue.d.ts +23 -23
  178. package/es/components/input-number/src/input-number.vue_vue_type_script_lang.mjs +6 -5
  179. package/es/components/input-number/src/input-number.vue_vue_type_script_lang.mjs.map +1 -1
  180. package/es/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.mjs +2 -1
  181. package/es/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.mjs.map +1 -1
  182. package/es/components/link/index.d.ts +2 -2
  183. package/es/components/link/src/link.vue.d.ts +2 -2
  184. package/es/components/loading/index.d.ts +52 -13
  185. package/es/components/loading/index.mjs +3 -3
  186. package/es/components/loading/index.mjs.map +1 -1
  187. package/es/components/loading/src/directive.d.ts +11 -10
  188. package/es/components/loading/src/directive.mjs +45 -26
  189. package/es/components/loading/src/directive.mjs.map +1 -1
  190. package/es/components/loading/src/loading.d.ts +24 -0
  191. package/es/components/loading/src/loading.mjs +112 -0
  192. package/es/components/loading/src/loading.mjs.map +1 -0
  193. package/es/components/loading/src/service.d.ts +3 -0
  194. package/es/components/loading/src/service.mjs +101 -0
  195. package/es/components/loading/src/service.mjs.map +1 -0
  196. package/es/components/loading/src/types.d.ts +23 -0
  197. package/es/components/loading/src/types.mjs +2 -0
  198. package/es/components/loading/src/types.mjs.map +1 -0
  199. package/es/components/menu/src/menu.mjs +1 -1
  200. package/es/components/menu/src/menu.mjs.map +1 -1
  201. package/es/components/menu/src/sub-menu.mjs +1 -1
  202. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  203. package/es/components/message/src/message.d.ts +1 -1
  204. package/es/components/message/src/message.vue.d.ts +4 -3
  205. package/es/components/message/src/message.vue_vue_type_script_lang.mjs +2 -0
  206. package/es/components/message/src/message.vue_vue_type_script_lang.mjs.map +1 -1
  207. package/es/components/message/src/message.vue_vue_type_template_id_031967c2_lang.mjs +51 -54
  208. package/es/components/message/src/message.vue_vue_type_template_id_031967c2_lang.mjs.map +1 -1
  209. package/es/components/message-box/src/index.vue.d.ts +1840 -0
  210. package/es/components/notification/src/notification.d.ts +1 -1
  211. package/es/components/notification/src/notification.vue.d.ts +5 -5
  212. package/es/components/page-header/src/page-header.mjs +1 -1
  213. package/es/components/page-header/src/page-header.mjs.map +1 -1
  214. package/es/components/pagination/src/components/next.vue_vue_type_script_lang.mjs +1 -1
  215. package/es/components/pagination/src/components/next.vue_vue_type_script_lang.mjs.map +1 -1
  216. package/es/components/pagination/src/components/next.vue_vue_type_template_id_93fbb39e_lang.mjs.map +1 -1
  217. package/es/components/pagination/src/components/pager.vue_vue_type_script_lang.mjs +1 -1
  218. package/es/components/pagination/src/components/pager.vue_vue_type_script_lang.mjs.map +1 -1
  219. package/es/components/pagination/src/components/pager.vue_vue_type_template_id_0bfc9916_lang.mjs.map +1 -1
  220. package/es/components/pagination/src/components/prev.vue_vue_type_script_lang.mjs +1 -1
  221. package/es/components/pagination/src/components/prev.vue_vue_type_script_lang.mjs.map +1 -1
  222. package/es/components/pagination/src/components/prev.vue_vue_type_template_id_15259d71_lang.mjs.map +1 -1
  223. package/es/components/popconfirm/index.d.ts +2 -2
  224. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  225. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  226. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  227. package/es/components/popover/index.d.ts +2 -2
  228. package/es/components/popover/src/index.vue.d.ts +1 -1
  229. package/es/components/popper/index.d.ts +3480 -0
  230. package/es/components/popper/src/index.vue.d.ts +1737 -0
  231. package/es/components/popper/src/use-popper/index.d.ts +1540 -1
  232. package/es/components/progress/index.d.ts +81 -4
  233. package/es/components/progress/index.mjs +6 -8
  234. package/es/components/progress/index.mjs.map +1 -1
  235. package/es/components/progress/src/progress.d.ts +22 -0
  236. package/es/components/progress/src/progress.mjs +62 -0
  237. package/es/components/progress/src/progress.mjs.map +1 -0
  238. package/es/components/progress/src/progress.vue.d.ts +81 -0
  239. package/es/components/progress/src/{index.vue_vue_type_script_lang.mjs → progress.vue_vue_type_script_lang.mjs} +27 -94
  240. package/es/components/progress/src/progress.vue_vue_type_script_lang.mjs.map +1 -0
  241. package/es/components/progress/src/{index.vue_vue_type_template_id_556e268a_lang.mjs → progress.vue_vue_type_template_id_9158c3b6_lang.mjs} +1 -1
  242. package/es/components/progress/src/progress.vue_vue_type_template_id_9158c3b6_lang.mjs.map +1 -0
  243. package/es/components/progress/src/progress2.mjs +7 -0
  244. package/es/components/progress/src/progress2.mjs.map +1 -0
  245. package/es/components/radio/index.d.ts +36 -40
  246. package/es/components/radio/src/radio-button.d.ts +2 -2
  247. package/es/components/radio/src/radio-button.vue.d.ts +8 -8
  248. package/es/components/radio/src/radio-group.d.ts +2 -2
  249. package/es/components/radio/src/radio-group.mjs +3 -2
  250. package/es/components/radio/src/radio-group.mjs.map +1 -1
  251. package/es/components/radio/src/radio-group.vue.d.ts +6 -8
  252. package/es/components/radio/src/radio-group.vue_vue_type_script_lang.mjs +1 -3
  253. package/es/components/radio/src/radio-group.vue_vue_type_script_lang.mjs.map +1 -1
  254. package/es/components/radio/src/radio-group.vue_vue_type_template_id_53ef81f9_lang.mjs.map +1 -1
  255. package/es/components/radio/src/radio.d.ts +5 -5
  256. package/es/components/radio/src/radio.mjs +5 -6
  257. package/es/components/radio/src/radio.mjs.map +1 -1
  258. package/es/components/radio/src/radio.vue.d.ts +8 -8
  259. package/es/components/rate/src/rate.mjs +1 -1
  260. package/es/components/rate/src/rate.mjs.map +1 -1
  261. package/es/components/rate/src/rate.vue_vue_type_script_lang.mjs +1 -1
  262. package/es/components/rate/src/rate.vue_vue_type_script_lang.mjs.map +1 -1
  263. package/es/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.mjs.map +1 -1
  264. package/es/components/result/index.d.ts +3 -3
  265. package/es/components/result/src/result.d.ts +1 -1
  266. package/es/components/result/src/result.mjs +1 -1
  267. package/es/components/result/src/result.mjs.map +1 -1
  268. package/es/components/result/src/result.vue.d.ts +3 -3
  269. package/es/components/select/index.d.ts +14 -7
  270. package/es/components/select/src/select.vue.d.ts +14 -7
  271. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +5 -1
  272. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  273. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs +6 -6
  274. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs.map +1 -1
  275. package/es/components/select/src/useSelect.d.ts +76 -0
  276. package/es/components/select/src/useSelect.mjs +3 -3
  277. package/es/components/select/src/useSelect.mjs.map +1 -1
  278. package/es/components/select-v2/index.d.ts +14 -14
  279. package/es/components/select-v2/src/defaults.mjs +1 -1
  280. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  281. package/es/components/select-v2/src/select.vue.d.ts +7 -7
  282. package/es/components/select-v2/src/useSelect.d.ts +1 -1
  283. package/es/components/select-v2/src/useSelect.mjs +5 -6
  284. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  285. package/es/components/skeleton/index.d.ts +6 -6
  286. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  287. package/es/components/skeleton/src/skeleton-item.vue.d.ts +3 -3
  288. package/es/components/slider/index.d.ts +307 -0
  289. package/es/components/slider/src/index.vue.d.ts +155 -0
  290. package/es/components/slider/src/useSlide.d.ts +21 -0
  291. package/es/components/steps/index.d.ts +4 -4
  292. package/es/components/steps/src/item.vue.d.ts +2 -2
  293. package/es/components/steps/src/item.vue_vue_type_script_lang.mjs +1 -1
  294. package/es/components/steps/src/item.vue_vue_type_script_lang.mjs.map +1 -1
  295. package/es/components/steps/src/item.vue_vue_type_template_id_6ec47f4b_lang.mjs.map +1 -1
  296. package/es/components/switch/index.d.ts +99 -4
  297. package/es/components/switch/index.mjs +6 -8
  298. package/es/components/switch/index.mjs.map +1 -1
  299. package/es/components/switch/src/switch.d.ts +31 -0
  300. package/es/components/switch/src/switch.mjs +87 -0
  301. package/es/components/switch/src/switch.mjs.map +1 -0
  302. package/es/components/switch/src/switch.vue.d.ts +98 -0
  303. package/es/components/switch/src/switch.vue_vue_type_script_lang.mjs +117 -0
  304. package/es/components/switch/src/switch.vue_vue_type_script_lang.mjs.map +1 -0
  305. package/es/components/switch/src/{index.vue_vue_type_template_id_ee4fcade_lang.mjs → switch.vue_vue_type_template_id_538fbc85_lang.mjs} +1 -1
  306. package/es/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.mjs.map +1 -0
  307. package/es/components/switch/src/switch2.mjs +7 -0
  308. package/es/components/switch/src/switch2.mjs.map +1 -0
  309. package/es/components/table/index.d.ts +9 -9
  310. package/es/components/table/src/config.mjs +1 -1
  311. package/es/components/table/src/config.mjs.map +1 -1
  312. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs +1 -1
  313. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs.map +1 -1
  314. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
  315. package/es/components/table/src/table/style-helper.d.ts +1 -1
  316. package/es/components/table/src/table/style-helper.mjs +3 -5
  317. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  318. package/es/components/table/src/table-column/defaults.d.ts +2 -2
  319. package/es/components/table/src/table-column/defaults.mjs.map +1 -1
  320. package/es/components/table/src/table-column/index.d.ts +3 -3
  321. package/es/components/table/src/table.vue.d.ts +3 -3
  322. package/es/components/table/src/util.mjs +0 -1
  323. package/es/components/table/src/util.mjs.map +1 -1
  324. package/es/components/tabs/index.d.ts +4 -4
  325. package/es/components/tabs/src/tab-nav.mjs +1 -1
  326. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  327. package/es/components/tabs/src/tab-pane.vue.d.ts +2 -2
  328. package/es/components/tabs/src/tabs.mjs +1 -1
  329. package/es/components/tabs/src/tabs.mjs.map +1 -1
  330. package/es/components/tag/src/tag.vue_vue_type_script_lang.mjs +4 -4
  331. package/es/components/tag/src/tag.vue_vue_type_script_lang.mjs.map +1 -1
  332. package/es/components/tag/src/tag.vue_vue_type_template_id_525996c5_lang.mjs.map +1 -1
  333. package/es/components/time-picker/index.d.ts +10 -10
  334. package/es/components/time-picker/src/common/date-utils.d.ts +1 -1
  335. package/es/components/time-picker/src/common/date-utils.mjs +1 -3
  336. package/es/components/time-picker/src/common/date-utils.mjs.map +1 -1
  337. package/es/components/time-picker/src/common/picker.vue.d.ts +6 -6
  338. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +6 -8
  339. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs.map +1 -1
  340. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs.map +1 -1
  341. package/es/components/time-picker/src/common/props.d.ts +1 -1
  342. package/es/components/time-picker/src/common/props.mjs +1 -1
  343. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  344. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.mjs +1 -1
  345. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.mjs.map +1 -1
  346. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_template_id_4fb3c576_lang.mjs.map +1 -1
  347. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  348. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
  349. package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  350. package/es/components/time-picker/src/time-picker.d.ts +5 -5
  351. package/es/components/time-select/index.d.ts +4 -4
  352. package/es/components/time-select/src/time-select.vue.d.ts +2 -2
  353. package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs +1 -1
  354. package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs.map +1 -1
  355. package/es/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.mjs.map +1 -1
  356. package/es/components/timeline/index.d.ts +4 -4
  357. package/es/components/timeline/src/item.vue.d.ts +2 -2
  358. package/es/components/tooltip/src/index.mjs +4 -2
  359. package/es/components/tooltip/src/index.mjs.map +1 -1
  360. package/es/components/transfer/index.d.ts +8 -8
  361. package/es/components/transfer/src/index.vue.d.ts +4 -4
  362. package/es/components/transfer/src/index.vue_vue_type_script_lang.mjs +1 -1
  363. package/es/components/transfer/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  364. package/es/components/transfer/src/index.vue_vue_type_template_id_6c8b9070_lang.mjs.map +1 -1
  365. package/es/components/transfer/src/transfer-panel.vue.d.ts +2 -2
  366. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs +1 -1
  367. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs.map +1 -1
  368. package/es/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs.map +1 -1
  369. package/es/components/tree/index.d.ts +2 -2
  370. package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs +1 -1
  371. package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs.map +1 -1
  372. package/es/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.mjs.map +1 -1
  373. package/es/components/tree/src/tree.vue.d.ts +1 -1
  374. package/es/components/tree-v2/index.d.ts +2 -2
  375. package/es/components/tree-v2/src/composables/useTree.d.ts +29 -0
  376. package/es/components/tree-v2/src/tree-node.vue.d.ts +2 -2
  377. package/es/components/tree-v2/src/tree-node.vue_vue_type_script_lang.mjs +1 -1
  378. package/es/components/tree-v2/src/tree-node.vue_vue_type_script_lang.mjs.map +1 -1
  379. package/es/components/tree-v2/src/tree-node.vue_vue_type_template_id_71d8f826_lang.mjs.map +1 -1
  380. package/es/components/tree-v2/src/tree.vue.d.ts +2 -2
  381. package/es/components/upload/src/upload-list.vue_vue_type_script_lang.mjs +3 -3
  382. package/es/components/upload/src/upload-list.vue_vue_type_script_lang.mjs.map +1 -1
  383. package/es/components/upload/src/upload-list.vue_vue_type_template_id_192277b6_lang.mjs.map +1 -1
  384. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  385. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  386. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  387. package/es/components/virtual-list/src/components/scrollbar.d.ts +1 -1
  388. package/es/defaults.mjs +1 -1
  389. package/es/defaults.mjs.map +1 -1
  390. package/es/hooks/index.d.ts +2 -0
  391. package/es/hooks/index.mjs +3 -1
  392. package/es/hooks/index.mjs.map +1 -1
  393. package/es/hooks/use-common-props/index.d.ts +5 -0
  394. package/es/hooks/use-common-props/index.mjs +31 -0
  395. package/es/hooks/use-common-props/index.mjs.map +1 -0
  396. package/es/hooks/use-form-item/index.d.ts +1 -14
  397. package/es/hooks/use-form-item/index.mjs +3 -24
  398. package/es/hooks/use-form-item/index.mjs.map +1 -1
  399. package/es/hooks/use-global-config/index.d.ts +4 -1
  400. package/es/hooks/use-global-config/index.mjs +8 -6
  401. package/es/hooks/use-global-config/index.mjs.map +1 -1
  402. package/es/hooks/use-locale/index.d.ts +6 -5
  403. package/es/hooks/use-locale/index.mjs +11 -8
  404. package/es/hooks/use-locale/index.mjs.map +1 -1
  405. package/es/hooks/use-lockscreen/index.mjs +5 -1
  406. package/es/hooks/use-lockscreen/index.mjs.map +1 -1
  407. package/es/hooks/use-prop/index.d.ts +2 -0
  408. package/es/hooks/use-prop/index.mjs +12 -0
  409. package/es/hooks/use-prop/index.mjs.map +1 -0
  410. package/es/index.d.ts +1 -1
  411. package/es/index.mjs +9 -3
  412. package/es/index.mjs.map +1 -1
  413. package/es/locale/index.d.ts +0 -5
  414. package/es/locale/index.mjs +0 -52
  415. package/es/locale/index.mjs.map +1 -1
  416. package/es/locale/lang/ca.mjs +2 -2
  417. package/es/locale/lang/ca.mjs.map +1 -1
  418. package/es/locale/lang/en.mjs +2 -2
  419. package/es/locale/lang/en.mjs.map +1 -1
  420. package/es/make-installer.d.ts +1 -2
  421. package/es/make-installer.mjs +2 -4
  422. package/es/make-installer.mjs.map +1 -1
  423. package/es/plugin.d.ts +2 -47
  424. package/es/plugin.mjs +1 -1
  425. package/es/plugin.mjs.map +1 -1
  426. package/es/tokens/form.d.ts +1 -1
  427. package/es/tokens/form.mjs.map +1 -1
  428. package/es/utils/aria.d.ts +1 -0
  429. package/es/utils/aria.mjs +2 -1
  430. package/es/utils/aria.mjs.map +1 -1
  431. package/es/utils/config.d.ts +1 -1
  432. package/es/utils/config.mjs.map +1 -1
  433. package/es/utils/icon.mjs +1 -1
  434. package/es/utils/icon.mjs.map +1 -1
  435. package/es/utils/util.d.ts +8 -2
  436. package/es/utils/util.mjs.map +1 -1
  437. package/es/version.d.ts +1 -1
  438. package/es/version.mjs +1 -1
  439. package/es/version.mjs.map +1 -1
  440. package/lib/component.d.ts +3 -0
  441. package/lib/component.js.map +1 -1
  442. package/lib/components/affix/index.d.ts +48 -0
  443. package/lib/components/affix/src/affix.vue.d.ts +48 -0
  444. package/lib/components/alert/index.d.ts +5 -5
  445. package/lib/components/alert/src/alert.d.ts +1 -1
  446. package/lib/components/alert/src/alert.vue.d.ts +5 -5
  447. package/lib/components/autocomplete/index.d.ts +4 -4
  448. package/lib/components/autocomplete/src/index.vue.d.ts +2 -2
  449. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js +2 -2
  450. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js.map +1 -1
  451. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js.map +1 -1
  452. package/lib/components/avatar/index.d.ts +1 -1
  453. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  454. package/lib/components/backtop/src/backtop.vue_vue_type_script_lang.js +2 -2
  455. package/lib/components/backtop/src/backtop.vue_vue_type_script_lang.js.map +1 -1
  456. package/lib/components/backtop/src/backtop.vue_vue_type_template_id_63a7fea6_lang.js.map +1 -1
  457. package/lib/components/button/index.d.ts +18 -18
  458. package/lib/components/button/src/button-group.d.ts +1 -1
  459. package/lib/components/button/src/button-group.vue.d.ts +3 -3
  460. package/lib/components/button/src/button.d.ts +3 -3
  461. package/lib/components/button/src/button.js +5 -3
  462. package/lib/components/button/src/button.js.map +1 -1
  463. package/lib/components/button/src/button.vue.d.ts +12 -12
  464. package/lib/components/button/src/button.vue_vue_type_script_lang.js +10 -13
  465. package/lib/components/button/src/button.vue_vue_type_script_lang.js.map +1 -1
  466. package/lib/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.js.map +1 -1
  467. package/lib/components/calendar/index.d.ts +20 -47
  468. package/lib/components/calendar/index.js +8 -8
  469. package/lib/components/calendar/index.js.map +1 -1
  470. package/lib/components/calendar/src/calendar.d.ts +11 -0
  471. package/lib/components/calendar/src/calendar.js +24 -0
  472. package/lib/components/calendar/src/calendar.js.map +1 -0
  473. package/lib/components/calendar/src/calendar.vue.d.ts +34 -0
  474. package/lib/components/calendar/src/{index.vue_vue_type_script_lang.js → calendar.vue_vue_type_script_lang.js} +12 -23
  475. package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js.map +1 -0
  476. package/lib/components/calendar/src/{index.vue_vue_type_template_id_819aa44a_lang.js → calendar.vue_vue_type_template_id_76705c76_lang.js} +1 -1
  477. package/lib/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.js.map +1 -0
  478. package/lib/components/calendar/src/calendar2.js +12 -0
  479. package/lib/components/calendar/src/calendar2.js.map +1 -0
  480. package/lib/components/calendar/src/date-table.d.ts +13 -0
  481. package/lib/components/calendar/src/date-table.js +23 -7
  482. package/lib/components/calendar/src/date-table.js.map +1 -1
  483. package/lib/components/calendar/src/date-table.vue.d.ts +29 -38
  484. package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js +53 -70
  485. package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js.map +1 -1
  486. package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js +1 -1
  487. package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js.map +1 -1
  488. package/lib/components/calendar/src/date-table2.js +14 -0
  489. package/lib/components/calendar/src/date-table2.js.map +1 -0
  490. package/lib/components/carousel/src/main.vue_vue_type_script_lang.js +3 -3
  491. package/lib/components/carousel/src/main.vue_vue_type_script_lang.js.map +1 -1
  492. package/lib/components/carousel/src/main.vue_vue_type_template_id_1303d144_lang.js.map +1 -1
  493. package/lib/components/cascader/index.d.ts +8756 -0
  494. package/lib/components/cascader/src/index.vue.d.ts +4384 -0
  495. package/lib/components/cascader/src/index.vue_vue_type_script_lang.js +6 -7
  496. package/lib/components/cascader/src/index.vue_vue_type_script_lang.js.map +1 -1
  497. package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js.map +1 -1
  498. package/lib/components/cascader-panel/src/node.vue_vue_type_script_lang.js +4 -4
  499. package/lib/components/cascader-panel/src/node.vue_vue_type_script_lang.js.map +1 -1
  500. package/lib/components/cascader-panel/src/node.vue_vue_type_template_id_18b09cb2_lang.js.map +1 -1
  501. package/lib/components/checkbox/index.d.ts +10 -10
  502. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
  503. package/lib/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.js +4 -2
  504. package/lib/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.js.map +1 -1
  505. package/lib/components/checkbox/src/checkbox-group.vue_vue_type_template_id_9944d4d2_lang.js.map +1 -1
  506. package/lib/components/checkbox/src/checkbox.type.d.ts +2 -2
  507. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
  508. package/lib/components/checkbox/src/useCheckbox.d.ts +2 -3
  509. package/lib/components/checkbox/src/useCheckbox.js +9 -18
  510. package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
  511. package/lib/components/collapse/index.d.ts +4 -4
  512. package/lib/components/collapse/src/collapse-item.vue.d.ts +2 -2
  513. package/lib/components/collapse/src/collapse-item.vue_vue_type_script_lang.js +2 -2
  514. package/lib/components/collapse/src/collapse-item.vue_vue_type_script_lang.js.map +1 -1
  515. package/lib/components/collapse/src/collapse-item.vue_vue_type_template_id_80da782a_lang.js.map +1 -1
  516. package/lib/components/color-picker/index.d.ts +2 -2
  517. package/lib/components/color-picker/src/components/alpha-slider.vue.d.ts +30 -0
  518. package/lib/components/color-picker/src/index.vue.d.ts +1 -1
  519. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js +5 -8
  520. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js.map +1 -1
  521. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js.map +1 -1
  522. package/lib/components/config-provider/index.d.ts +10 -9
  523. package/lib/components/config-provider/src/config-provider.d.ts +3 -4
  524. package/lib/components/config-provider/src/config-provider.js +9 -10
  525. package/lib/components/config-provider/src/config-provider.js.map +1 -1
  526. package/lib/components/config-provider/src/index.d.ts +10 -9
  527. package/lib/components/date-picker/index.d.ts +10 -10
  528. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  529. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -2
  530. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js +5 -5
  531. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js.map +1 -1
  532. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.js.map +1 -1
  533. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -3
  534. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.js +5 -5
  535. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.js.map +1 -1
  536. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_template_id_62b45ab2_lang.js.map +1 -1
  537. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  538. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.js +2 -2
  539. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.js.map +1 -1
  540. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_template_id_2e377892_lang.js.map +1 -1
  541. package/lib/components/date-picker/src/date-picker.d.ts +5 -5
  542. package/lib/components/descriptions/index.d.ts +1 -1
  543. package/lib/components/descriptions/src/index.vue.d.ts +1 -1
  544. package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js +3 -5
  545. package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js.map +1 -1
  546. package/lib/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.js.map +1 -1
  547. package/lib/components/dialog/index.d.ts +8 -2
  548. package/lib/components/dialog/src/dialog.d.ts +2 -1
  549. package/lib/components/dialog/src/dialog.js +4 -0
  550. package/lib/components/dialog/src/dialog.js.map +1 -1
  551. package/lib/components/dialog/src/dialog.vue.d.ts +8 -2
  552. package/lib/components/dialog/src/dialog.vue_vue_type_script_lang.js.map +1 -1
  553. package/lib/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.js +1 -2
  554. package/lib/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.js.map +1 -1
  555. package/lib/components/dialog/src/use-dialog.d.ts +2 -0
  556. package/lib/components/dialog/src/use-dialog.js +2 -0
  557. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  558. package/lib/components/divider/index.d.ts +4 -0
  559. package/lib/components/divider/src/divider.d.ts +2 -0
  560. package/lib/components/divider/src/divider.js +4 -0
  561. package/lib/components/divider/src/divider.js.map +1 -1
  562. package/lib/components/divider/src/divider.vue.d.ts +4 -0
  563. package/lib/components/divider/src/divider.vue_vue_type_script_lang.js.map +1 -1
  564. package/lib/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.js +3 -2
  565. package/lib/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.js.map +1 -1
  566. package/lib/components/drawer/index.d.ts +66 -208
  567. package/lib/components/drawer/index.js +8 -8
  568. package/lib/components/drawer/index.js.map +1 -1
  569. package/lib/components/drawer/src/drawer.d.ts +35 -0
  570. package/lib/components/drawer/src/drawer.js +33 -0
  571. package/lib/components/drawer/src/drawer.js.map +1 -0
  572. package/lib/components/drawer/src/drawer.vue.d.ts +129 -0
  573. package/lib/components/drawer/src/drawer.vue_vue_type_script_lang.js +41 -0
  574. package/lib/components/drawer/src/drawer.vue_vue_type_script_lang.js.map +1 -0
  575. package/lib/components/drawer/src/{index.vue_vue_type_template_id_052d0d8e_lang.js → drawer.vue_vue_type_template_id_e0557736_lang.js} +1 -1
  576. package/lib/components/drawer/src/drawer.vue_vue_type_template_id_e0557736_lang.js.map +1 -0
  577. package/lib/components/drawer/src/drawer2.js +12 -0
  578. package/lib/components/drawer/src/drawer2.js.map +1 -0
  579. package/lib/components/dropdown/index.d.ts +3 -3
  580. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
  581. package/lib/components/dropdown/src/dropdown.vue.d.ts +1 -1
  582. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js +5 -5
  583. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
  584. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
  585. package/lib/components/dropdown/src/useDropdown.d.ts +0 -1
  586. package/lib/components/dropdown/src/useDropdown.js +0 -2
  587. package/lib/components/dropdown/src/useDropdown.js.map +1 -1
  588. package/lib/components/form/index.d.ts +4 -4
  589. package/lib/components/form/src/form-item.vue.d.ts +2 -2
  590. package/lib/components/form/src/form-item.vue_vue_type_script_lang.js +3 -5
  591. package/lib/components/form/src/form-item.vue_vue_type_script_lang.js.map +1 -1
  592. package/lib/components/form/src/form-item.vue_vue_type_template_id_24eda48b_lang.js.map +1 -1
  593. package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.js +10 -10
  594. package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.js.map +1 -1
  595. package/lib/components/image-viewer/src/image-viewer.vue_vue_type_template_id_4b22ad85_lang.js.map +1 -1
  596. package/lib/components/index.js +12 -1
  597. package/lib/components/index.js.map +1 -1
  598. package/lib/components/input/index.d.ts +10 -10
  599. package/lib/components/input/src/input.d.ts +2 -2
  600. package/lib/components/input/src/input.js +4 -3
  601. package/lib/components/input/src/input.js.map +1 -1
  602. package/lib/components/input/src/input.vue.d.ts +10 -10
  603. package/lib/components/input/src/input.vue_vue_type_script_lang.js +10 -11
  604. package/lib/components/input/src/input.vue_vue_type_script_lang.js.map +1 -1
  605. package/lib/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.js.map +1 -1
  606. package/lib/components/input-number/index.d.ts +23 -23
  607. package/lib/components/input-number/src/input-number.vue.d.ts +23 -23
  608. package/lib/components/input-number/src/input-number.vue_vue_type_script_lang.js +10 -9
  609. package/lib/components/input-number/src/input-number.vue_vue_type_script_lang.js.map +1 -1
  610. package/lib/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.js +2 -1
  611. package/lib/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.js.map +1 -1
  612. package/lib/components/link/index.d.ts +2 -2
  613. package/lib/components/link/src/link.vue.d.ts +2 -2
  614. package/lib/components/loading/index.d.ts +52 -13
  615. package/lib/components/loading/index.js +8 -8
  616. package/lib/components/loading/index.js.map +1 -1
  617. package/lib/components/loading/src/directive.d.ts +11 -10
  618. package/lib/components/loading/src/directive.js +45 -26
  619. package/lib/components/loading/src/directive.js.map +1 -1
  620. package/lib/components/loading/src/loading.d.ts +24 -0
  621. package/lib/components/loading/src/loading.js +116 -0
  622. package/lib/components/loading/src/loading.js.map +1 -0
  623. package/lib/components/loading/src/service.d.ts +3 -0
  624. package/lib/components/loading/src/service.js +105 -0
  625. package/lib/components/loading/src/service.js.map +1 -0
  626. package/lib/components/loading/src/types.d.ts +23 -0
  627. package/lib/components/loading/src/types.js +3 -0
  628. package/lib/components/loading/src/types.js.map +1 -0
  629. package/lib/components/menu/src/menu.js +2 -2
  630. package/lib/components/menu/src/menu.js.map +1 -1
  631. package/lib/components/menu/src/sub-menu.js +2 -2
  632. package/lib/components/menu/src/sub-menu.js.map +1 -1
  633. package/lib/components/message/src/message.d.ts +1 -1
  634. package/lib/components/message/src/message.vue.d.ts +4 -3
  635. package/lib/components/message/src/message.vue_vue_type_script_lang.js +2 -0
  636. package/lib/components/message/src/message.vue_vue_type_script_lang.js.map +1 -1
  637. package/lib/components/message/src/message.vue_vue_type_template_id_031967c2_lang.js +51 -54
  638. package/lib/components/message/src/message.vue_vue_type_template_id_031967c2_lang.js.map +1 -1
  639. package/lib/components/message-box/src/index.vue.d.ts +1840 -0
  640. package/lib/components/notification/src/notification.d.ts +1 -1
  641. package/lib/components/notification/src/notification.vue.d.ts +5 -5
  642. package/lib/components/page-header/src/page-header.js +2 -2
  643. package/lib/components/page-header/src/page-header.js.map +1 -1
  644. package/lib/components/pagination/src/components/next.vue_vue_type_script_lang.js +2 -2
  645. package/lib/components/pagination/src/components/next.vue_vue_type_script_lang.js.map +1 -1
  646. package/lib/components/pagination/src/components/next.vue_vue_type_template_id_93fbb39e_lang.js.map +1 -1
  647. package/lib/components/pagination/src/components/pager.vue_vue_type_script_lang.js +4 -4
  648. package/lib/components/pagination/src/components/pager.vue_vue_type_script_lang.js.map +1 -1
  649. package/lib/components/pagination/src/components/pager.vue_vue_type_template_id_0bfc9916_lang.js.map +1 -1
  650. package/lib/components/pagination/src/components/prev.vue_vue_type_script_lang.js +2 -2
  651. package/lib/components/pagination/src/components/prev.vue_vue_type_script_lang.js.map +1 -1
  652. package/lib/components/pagination/src/components/prev.vue_vue_type_template_id_15259d71_lang.js.map +1 -1
  653. package/lib/components/popconfirm/index.d.ts +2 -2
  654. package/lib/components/popconfirm/src/popconfirm.js +2 -2
  655. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  656. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  657. package/lib/components/popover/index.d.ts +2 -2
  658. package/lib/components/popover/src/index.vue.d.ts +1 -1
  659. package/lib/components/popper/index.d.ts +3480 -0
  660. package/lib/components/popper/src/index.vue.d.ts +1737 -0
  661. package/lib/components/popper/src/use-popper/index.d.ts +1540 -1
  662. package/lib/components/progress/index.d.ts +81 -4
  663. package/lib/components/progress/index.js +7 -8
  664. package/lib/components/progress/index.js.map +1 -1
  665. package/lib/components/progress/src/progress.d.ts +22 -0
  666. package/lib/components/progress/src/progress.js +66 -0
  667. package/lib/components/progress/src/progress.js.map +1 -0
  668. package/lib/components/progress/src/progress.vue.d.ts +81 -0
  669. package/lib/components/progress/src/progress.vue_vue_type_script_lang.js +146 -0
  670. package/lib/components/progress/src/progress.vue_vue_type_script_lang.js.map +1 -0
  671. package/lib/components/progress/src/{index.vue_vue_type_template_id_556e268a_lang.js → progress.vue_vue_type_template_id_9158c3b6_lang.js} +1 -1
  672. package/lib/components/progress/src/progress.vue_vue_type_template_id_9158c3b6_lang.js.map +1 -0
  673. package/lib/components/progress/src/progress2.js +12 -0
  674. package/lib/components/progress/src/progress2.js.map +1 -0
  675. package/lib/components/radio/index.d.ts +36 -40
  676. package/lib/components/radio/src/radio-button.d.ts +2 -2
  677. package/lib/components/radio/src/radio-button.vue.d.ts +8 -8
  678. package/lib/components/radio/src/radio-group.d.ts +2 -2
  679. package/lib/components/radio/src/radio-group.js +3 -2
  680. package/lib/components/radio/src/radio-group.js.map +1 -1
  681. package/lib/components/radio/src/radio-group.vue.d.ts +6 -8
  682. package/lib/components/radio/src/radio-group.vue_vue_type_script_lang.js +1 -3
  683. package/lib/components/radio/src/radio-group.vue_vue_type_script_lang.js.map +1 -1
  684. package/lib/components/radio/src/radio-group.vue_vue_type_template_id_53ef81f9_lang.js.map +1 -1
  685. package/lib/components/radio/src/radio.d.ts +5 -5
  686. package/lib/components/radio/src/radio.js +5 -6
  687. package/lib/components/radio/src/radio.js.map +1 -1
  688. package/lib/components/radio/src/radio.vue.d.ts +8 -8
  689. package/lib/components/rate/src/rate.js +4 -4
  690. package/lib/components/rate/src/rate.js.map +1 -1
  691. package/lib/components/rate/src/rate.vue_vue_type_script_lang.js +3 -3
  692. package/lib/components/rate/src/rate.vue_vue_type_script_lang.js.map +1 -1
  693. package/lib/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.js.map +1 -1
  694. package/lib/components/result/index.d.ts +3 -3
  695. package/lib/components/result/src/result.d.ts +1 -1
  696. package/lib/components/result/src/result.js +5 -5
  697. package/lib/components/result/src/result.js.map +1 -1
  698. package/lib/components/result/src/result.vue.d.ts +3 -3
  699. package/lib/components/select/index.d.ts +14 -7
  700. package/lib/components/select/src/select.vue.d.ts +14 -7
  701. package/lib/components/select/src/select.vue_vue_type_script_lang.js +7 -3
  702. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  703. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js +6 -6
  704. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js.map +1 -1
  705. package/lib/components/select/src/useSelect.d.ts +76 -0
  706. package/lib/components/select/src/useSelect.js +2 -2
  707. package/lib/components/select/src/useSelect.js.map +1 -1
  708. package/lib/components/select-v2/index.d.ts +14 -14
  709. package/lib/components/select-v2/src/defaults.js +2 -2
  710. package/lib/components/select-v2/src/defaults.js.map +1 -1
  711. package/lib/components/select-v2/src/select.vue.d.ts +7 -7
  712. package/lib/components/select-v2/src/useSelect.d.ts +1 -1
  713. package/lib/components/select-v2/src/useSelect.js +9 -10
  714. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  715. package/lib/components/skeleton/index.d.ts +6 -6
  716. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  717. package/lib/components/skeleton/src/skeleton-item.vue.d.ts +3 -3
  718. package/lib/components/slider/index.d.ts +307 -0
  719. package/lib/components/slider/src/index.vue.d.ts +155 -0
  720. package/lib/components/slider/src/useSlide.d.ts +21 -0
  721. package/lib/components/steps/index.d.ts +4 -4
  722. package/lib/components/steps/src/item.vue.d.ts +2 -2
  723. package/lib/components/steps/src/item.vue_vue_type_script_lang.js +3 -3
  724. package/lib/components/steps/src/item.vue_vue_type_script_lang.js.map +1 -1
  725. package/lib/components/steps/src/item.vue_vue_type_template_id_6ec47f4b_lang.js.map +1 -1
  726. package/lib/components/switch/index.d.ts +99 -4
  727. package/lib/components/switch/index.js +8 -8
  728. package/lib/components/switch/index.js.map +1 -1
  729. package/lib/components/switch/src/switch.d.ts +31 -0
  730. package/lib/components/switch/src/switch.js +92 -0
  731. package/lib/components/switch/src/switch.js.map +1 -0
  732. package/lib/components/switch/src/switch.vue.d.ts +98 -0
  733. package/lib/components/switch/src/{index.vue_vue_type_script_lang.js → switch.vue_vue_type_script_lang.js} +28 -101
  734. package/lib/components/switch/src/switch.vue_vue_type_script_lang.js.map +1 -0
  735. package/lib/components/switch/src/{index.vue_vue_type_template_id_ee4fcade_lang.js → switch.vue_vue_type_template_id_538fbc85_lang.js} +1 -1
  736. package/lib/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.js.map +1 -0
  737. package/lib/components/switch/src/switch2.js +12 -0
  738. package/lib/components/switch/src/switch2.js.map +1 -0
  739. package/lib/components/table/index.d.ts +9 -9
  740. package/lib/components/table/src/config.js +4 -4
  741. package/lib/components/table/src/config.js.map +1 -1
  742. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js +3 -3
  743. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js.map +1 -1
  744. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js.map +1 -1
  745. package/lib/components/table/src/table/style-helper.d.ts +1 -1
  746. package/lib/components/table/src/table/style-helper.js +6 -8
  747. package/lib/components/table/src/table/style-helper.js.map +1 -1
  748. package/lib/components/table/src/table-column/defaults.d.ts +2 -2
  749. package/lib/components/table/src/table-column/defaults.js.map +1 -1
  750. package/lib/components/table/src/table-column/index.d.ts +3 -3
  751. package/lib/components/table/src/table.vue.d.ts +3 -3
  752. package/lib/components/table/src/util.js +0 -1
  753. package/lib/components/table/src/util.js.map +1 -1
  754. package/lib/components/tabs/index.d.ts +4 -4
  755. package/lib/components/tabs/src/tab-nav.js +4 -4
  756. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  757. package/lib/components/tabs/src/tab-pane.vue.d.ts +2 -2
  758. package/lib/components/tabs/src/tabs.js +2 -2
  759. package/lib/components/tabs/src/tabs.js.map +1 -1
  760. package/lib/components/tag/src/tag.vue_vue_type_script_lang.js +5 -5
  761. package/lib/components/tag/src/tag.vue_vue_type_script_lang.js.map +1 -1
  762. package/lib/components/tag/src/tag.vue_vue_type_template_id_525996c5_lang.js.map +1 -1
  763. package/lib/components/time-picker/index.d.ts +10 -10
  764. package/lib/components/time-picker/src/common/date-utils.d.ts +1 -1
  765. package/lib/components/time-picker/src/common/date-utils.js +1 -3
  766. package/lib/components/time-picker/src/common/date-utils.js.map +1 -1
  767. package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -6
  768. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +6 -8
  769. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js.map +1 -1
  770. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
  771. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  772. package/lib/components/time-picker/src/common/props.js +2 -2
  773. package/lib/components/time-picker/src/common/props.js.map +1 -1
  774. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.js +3 -3
  775. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.js.map +1 -1
  776. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_template_id_4fb3c576_lang.js.map +1 -1
  777. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  778. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
  779. package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  780. package/lib/components/time-picker/src/time-picker.d.ts +5 -5
  781. package/lib/components/time-select/index.d.ts +4 -4
  782. package/lib/components/time-select/src/time-select.vue.d.ts +2 -2
  783. package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js +3 -3
  784. package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js.map +1 -1
  785. package/lib/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.js.map +1 -1
  786. package/lib/components/timeline/index.d.ts +4 -4
  787. package/lib/components/timeline/src/item.vue.d.ts +2 -2
  788. package/lib/components/tooltip/src/index.js +4 -2
  789. package/lib/components/tooltip/src/index.js.map +1 -1
  790. package/lib/components/transfer/index.d.ts +8 -8
  791. package/lib/components/transfer/src/index.vue.d.ts +4 -4
  792. package/lib/components/transfer/src/index.vue_vue_type_script_lang.js +3 -3
  793. package/lib/components/transfer/src/index.vue_vue_type_script_lang.js.map +1 -1
  794. package/lib/components/transfer/src/index.vue_vue_type_template_id_6c8b9070_lang.js.map +1 -1
  795. package/lib/components/transfer/src/transfer-panel.vue.d.ts +2 -2
  796. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js +3 -3
  797. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js.map +1 -1
  798. package/lib/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.js.map +1 -1
  799. package/lib/components/tree/index.d.ts +2 -2
  800. package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js +3 -3
  801. package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js.map +1 -1
  802. package/lib/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.js.map +1 -1
  803. package/lib/components/tree/src/tree.vue.d.ts +1 -1
  804. package/lib/components/tree-v2/index.d.ts +2 -2
  805. package/lib/components/tree-v2/src/composables/useTree.d.ts +29 -0
  806. package/lib/components/tree-v2/src/tree-node.vue.d.ts +2 -2
  807. package/lib/components/tree-v2/src/tree-node.vue_vue_type_script_lang.js +2 -2
  808. package/lib/components/tree-v2/src/tree-node.vue_vue_type_script_lang.js.map +1 -1
  809. package/lib/components/tree-v2/src/tree-node.vue_vue_type_template_id_71d8f826_lang.js.map +1 -1
  810. package/lib/components/tree-v2/src/tree.vue.d.ts +2 -2
  811. package/lib/components/upload/src/upload-list.vue_vue_type_script_lang.js +8 -8
  812. package/lib/components/upload/src/upload-list.vue_vue_type_script_lang.js.map +1 -1
  813. package/lib/components/upload/src/upload-list.vue_vue_type_template_id_192277b6_lang.js.map +1 -1
  814. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  815. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  816. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  817. package/lib/components/virtual-list/src/components/scrollbar.d.ts +1 -1
  818. package/lib/defaults.js +1 -1
  819. package/lib/defaults.js.map +1 -1
  820. package/lib/hooks/index.d.ts +2 -0
  821. package/lib/hooks/index.js +46 -41
  822. package/lib/hooks/index.js.map +1 -1
  823. package/lib/hooks/use-common-props/index.d.ts +5 -0
  824. package/lib/hooks/use-common-props/index.js +37 -0
  825. package/lib/hooks/use-common-props/index.js.map +1 -0
  826. package/lib/hooks/use-form-item/index.d.ts +1 -14
  827. package/lib/hooks/use-form-item/index.js +1 -23
  828. package/lib/hooks/use-form-item/index.js.map +1 -1
  829. package/lib/hooks/use-global-config/index.d.ts +4 -1
  830. package/lib/hooks/use-global-config/index.js +7 -5
  831. package/lib/hooks/use-global-config/index.js.map +1 -1
  832. package/lib/hooks/use-locale/index.d.ts +6 -5
  833. package/lib/hooks/use-locale/index.js +8 -5
  834. package/lib/hooks/use-locale/index.js.map +1 -1
  835. package/lib/hooks/use-lockscreen/index.js +4 -0
  836. package/lib/hooks/use-lockscreen/index.js.map +1 -1
  837. package/lib/hooks/use-prop/index.d.ts +2 -0
  838. package/lib/hooks/use-prop/index.js +16 -0
  839. package/lib/hooks/use-prop/index.js.map +1 -0
  840. package/lib/index.d.ts +1 -1
  841. package/lib/index.js +59 -43
  842. package/lib/index.js.map +1 -1
  843. package/lib/locale/index.d.ts +0 -5
  844. package/lib/locale/index.js +0 -63
  845. package/lib/locale/index.js.map +1 -1
  846. package/lib/locale/lang/ca.js +2 -2
  847. package/lib/locale/lang/ca.js.map +1 -1
  848. package/lib/locale/lang/en.js +2 -2
  849. package/lib/locale/lang/en.js.map +1 -1
  850. package/lib/make-installer.d.ts +1 -2
  851. package/lib/make-installer.js +2 -4
  852. package/lib/make-installer.js.map +1 -1
  853. package/lib/plugin.d.ts +2 -47
  854. package/lib/plugin.js +1 -1
  855. package/lib/plugin.js.map +1 -1
  856. package/lib/tokens/form.d.ts +1 -1
  857. package/lib/tokens/form.js.map +1 -1
  858. package/lib/utils/aria.d.ts +1 -0
  859. package/lib/utils/aria.js +2 -1
  860. package/lib/utils/aria.js.map +1 -1
  861. package/lib/utils/config.d.ts +1 -1
  862. package/lib/utils/config.js.map +1 -1
  863. package/lib/utils/icon.js +14 -14
  864. package/lib/utils/icon.js.map +1 -1
  865. package/lib/utils/util.d.ts +8 -2
  866. package/lib/utils/util.js.map +1 -1
  867. package/lib/version.d.ts +1 -1
  868. package/lib/version.js +1 -1
  869. package/lib/version.js.map +1 -1
  870. package/package.json +3 -3
  871. package/tags.json +1 -1
  872. package/theme-chalk/base.css +1 -1
  873. package/theme-chalk/el-autocomplete.css +1 -1
  874. package/theme-chalk/el-cascader-panel.css +1 -1
  875. package/theme-chalk/el-cascader.css +1 -1
  876. package/theme-chalk/el-check-tag.css +1 -1
  877. package/theme-chalk/el-date-picker.css +1 -1
  878. package/theme-chalk/el-divider.css +1 -1
  879. package/theme-chalk/el-dropdown.css +1 -1
  880. package/theme-chalk/el-icon.css +1 -1
  881. package/theme-chalk/el-image.css +1 -1
  882. package/theme-chalk/el-input-number.css +1 -1
  883. package/theme-chalk/el-input.css +1 -1
  884. package/theme-chalk/el-menu.css +1 -1
  885. package/theme-chalk/el-option-item.css +1 -1
  886. package/theme-chalk/el-option.css +1 -1
  887. package/theme-chalk/el-select-dropdown.css +1 -1
  888. package/theme-chalk/el-select-v2.css +1 -1
  889. package/theme-chalk/el-select.css +1 -1
  890. package/theme-chalk/el-steps.css +1 -1
  891. package/theme-chalk/el-table.css +1 -1
  892. package/theme-chalk/el-tabs.css +1 -1
  893. package/theme-chalk/el-time-picker.css +1 -1
  894. package/theme-chalk/el-time-select.css +1 -1
  895. package/theme-chalk/el-transfer.css +1 -1
  896. package/theme-chalk/el-tree.css +1 -1
  897. package/theme-chalk/el-upload.css +1 -1
  898. package/theme-chalk/el-var.css +1 -1
  899. package/theme-chalk/index.css +1 -1
  900. package/theme-chalk/src/check-tag.scss +1 -1
  901. package/theme-chalk/src/common/var.scss +7 -7
  902. package/theme-chalk/src/date-picker/date-table.scss +1 -1
  903. package/theme-chalk/src/date-picker/month-table.scss +1 -1
  904. package/theme-chalk/src/date-picker/time-spinner.scss +1 -1
  905. package/theme-chalk/src/date-picker/year-table.scss +1 -1
  906. package/theme-chalk/src/divider.scss +2 -1
  907. package/theme-chalk/src/dropdown.scss +0 -4
  908. package/theme-chalk/src/icon.scss +1 -2
  909. package/theme-chalk/src/image.scss +4 -4
  910. package/theme-chalk/src/input-number.scss +1 -1
  911. package/theme-chalk/src/input.scss +5 -1
  912. package/theme-chalk/src/menu.scss +1 -1
  913. package/theme-chalk/src/mixins/mixins.scss +1 -1
  914. package/theme-chalk/src/select-v2.scss +1 -1
  915. package/theme-chalk/src/select.scss +22 -18
  916. package/theme-chalk/src/steps.scss +1 -1
  917. package/theme-chalk/src/table.scss +1 -1
  918. package/theme-chalk/src/tabs.scss +1 -1
  919. package/theme-chalk/src/time-select.scss +1 -1
  920. package/theme-chalk/src/upload.scss +1 -1
  921. package/theme-chalk/src/var.scss +1 -1
  922. package/web-types.json +1 -1
  923. package/es/components/calendar/src/index.mjs +0 -7
  924. package/es/components/calendar/src/index.mjs.map +0 -1
  925. package/es/components/calendar/src/index.vue.d.ts +0 -33
  926. package/es/components/calendar/src/index.vue_vue_type_script_lang.mjs.map +0 -1
  927. package/es/components/calendar/src/index.vue_vue_type_template_id_819aa44a_lang.mjs.map +0 -1
  928. package/es/components/drawer/src/index.mjs +0 -7
  929. package/es/components/drawer/src/index.mjs.map +0 -1
  930. package/es/components/drawer/src/index.vue.d.ts +0 -138
  931. package/es/components/drawer/src/index.vue_vue_type_script_lang.mjs +0 -56
  932. package/es/components/drawer/src/index.vue_vue_type_script_lang.mjs.map +0 -1
  933. package/es/components/drawer/src/index.vue_vue_type_template_id_052d0d8e_lang.mjs.map +0 -1
  934. package/es/components/loading/src/createLoadingComponent.d.ts +0 -2
  935. package/es/components/loading/src/createLoadingComponent.mjs +0 -121
  936. package/es/components/loading/src/createLoadingComponent.mjs.map +0 -1
  937. package/es/components/loading/src/index.d.ts +0 -3
  938. package/es/components/loading/src/index.mjs +0 -106
  939. package/es/components/loading/src/index.mjs.map +0 -1
  940. package/es/components/loading/src/loading.type.d.ts +0 -44
  941. package/es/components/loading/src/loading.type.mjs +0 -2
  942. package/es/components/loading/src/loading.type.mjs.map +0 -1
  943. package/es/components/progress/src/index.mjs +0 -7
  944. package/es/components/progress/src/index.mjs.map +0 -1
  945. package/es/components/progress/src/index.vue.d.ts +0 -2
  946. package/es/components/progress/src/index.vue_vue_type_script_lang.mjs.map +0 -1
  947. package/es/components/progress/src/index.vue_vue_type_template_id_556e268a_lang.mjs.map +0 -1
  948. package/es/components/switch/src/index.mjs +0 -7
  949. package/es/components/switch/src/index.mjs.map +0 -1
  950. package/es/components/switch/src/index.vue.d.ts +0 -2
  951. package/es/components/switch/src/index.vue_vue_type_script_lang.mjs +0 -190
  952. package/es/components/switch/src/index.vue_vue_type_script_lang.mjs.map +0 -1
  953. package/es/components/switch/src/index.vue_vue_type_template_id_ee4fcade_lang.mjs.map +0 -1
  954. package/lib/components/calendar/src/index.js +0 -12
  955. package/lib/components/calendar/src/index.js.map +0 -1
  956. package/lib/components/calendar/src/index.vue.d.ts +0 -33
  957. package/lib/components/calendar/src/index.vue_vue_type_script_lang.js.map +0 -1
  958. package/lib/components/calendar/src/index.vue_vue_type_template_id_819aa44a_lang.js.map +0 -1
  959. package/lib/components/drawer/src/index.js +0 -12
  960. package/lib/components/drawer/src/index.js.map +0 -1
  961. package/lib/components/drawer/src/index.vue.d.ts +0 -138
  962. package/lib/components/drawer/src/index.vue_vue_type_script_lang.js +0 -60
  963. package/lib/components/drawer/src/index.vue_vue_type_script_lang.js.map +0 -1
  964. package/lib/components/drawer/src/index.vue_vue_type_template_id_052d0d8e_lang.js.map +0 -1
  965. package/lib/components/loading/src/createLoadingComponent.d.ts +0 -2
  966. package/lib/components/loading/src/createLoadingComponent.js +0 -125
  967. package/lib/components/loading/src/createLoadingComponent.js.map +0 -1
  968. package/lib/components/loading/src/index.d.ts +0 -3
  969. package/lib/components/loading/src/index.js +0 -110
  970. package/lib/components/loading/src/index.js.map +0 -1
  971. package/lib/components/loading/src/loading.type.d.ts +0 -44
  972. package/lib/components/loading/src/loading.type.js +0 -3
  973. package/lib/components/loading/src/loading.type.js.map +0 -1
  974. package/lib/components/progress/src/index.js +0 -12
  975. package/lib/components/progress/src/index.js.map +0 -1
  976. package/lib/components/progress/src/index.vue.d.ts +0 -2
  977. package/lib/components/progress/src/index.vue_vue_type_script_lang.js +0 -213
  978. package/lib/components/progress/src/index.vue_vue_type_script_lang.js.map +0 -1
  979. package/lib/components/progress/src/index.vue_vue_type_template_id_556e268a_lang.js.map +0 -1
  980. package/lib/components/switch/src/index.js +0 -12
  981. package/lib/components/switch/src/index.js.map +0 -1
  982. package/lib/components/switch/src/index.vue.d.ts +0 -2
  983. package/lib/components/switch/src/index.vue_vue_type_script_lang.js.map +0 -1
  984. package/lib/components/switch/src/index.vue_vue_type_template_id_ee4fcade_lang.js.map +0 -1
@@ -64,7 +64,7 @@ declare const _TimePicker: SFCWithInstall<import("vue").DefineComponent<{
64
64
  default: () => {};
65
65
  };
66
66
  modelValue: {
67
- type: import("vue").PropType<string | Date | Date[]>;
67
+ type: import("vue").PropType<string | Date | (number | Date)[]>;
68
68
  default: string;
69
69
  };
70
70
  rangeSeparator: {
@@ -141,14 +141,14 @@ declare const _TimePicker: SFCWithInstall<import("vue").DefineComponent<{
141
141
  validateEvent?: unknown;
142
142
  unlinkPanels?: unknown;
143
143
  } & {
144
- placeholder: string;
145
144
  type: string;
146
145
  disabled: boolean;
147
- modelValue: string | Date | Date[];
148
146
  name: string | unknown[];
147
+ modelValue: string | Date | (number | Date)[];
149
148
  editable: boolean;
150
149
  popperClass: string;
151
150
  popperOptions: Partial<import("@popperjs/core").Options>;
151
+ placeholder: string;
152
152
  readonly: boolean;
153
153
  clearable: boolean;
154
154
  prefixIcon: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
@@ -175,14 +175,14 @@ declare const _TimePicker: SFCWithInstall<import("vue").DefineComponent<{
175
175
  }> & {
176
176
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
177
177
  }, {
178
- placeholder: string;
179
178
  type: string;
180
179
  disabled: boolean;
181
- modelValue: string | Date | Date[];
182
180
  name: string | unknown[];
181
+ modelValue: string | Date | (number | Date)[];
183
182
  editable: boolean;
184
183
  popperClass: string;
185
184
  popperOptions: Partial<import("@popperjs/core").Options>;
185
+ placeholder: string;
186
186
  readonly: boolean;
187
187
  clearable: boolean;
188
188
  prefixIcon: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
@@ -256,7 +256,7 @@ export declare const ElTimePicker: SFCWithInstall<import("vue").DefineComponent<
256
256
  default: () => {};
257
257
  };
258
258
  modelValue: {
259
- type: import("vue").PropType<string | Date | Date[]>;
259
+ type: import("vue").PropType<string | Date | (number | Date)[]>;
260
260
  default: string;
261
261
  };
262
262
  rangeSeparator: {
@@ -333,14 +333,14 @@ export declare const ElTimePicker: SFCWithInstall<import("vue").DefineComponent<
333
333
  validateEvent?: unknown;
334
334
  unlinkPanels?: unknown;
335
335
  } & {
336
- placeholder: string;
337
336
  type: string;
338
337
  disabled: boolean;
339
- modelValue: string | Date | Date[];
340
338
  name: string | unknown[];
339
+ modelValue: string | Date | (number | Date)[];
341
340
  editable: boolean;
342
341
  popperClass: string;
343
342
  popperOptions: Partial<import("@popperjs/core").Options>;
343
+ placeholder: string;
344
344
  readonly: boolean;
345
345
  clearable: boolean;
346
346
  prefixIcon: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
@@ -367,14 +367,14 @@ export declare const ElTimePicker: SFCWithInstall<import("vue").DefineComponent<
367
367
  }> & {
368
368
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
369
369
  }, {
370
- placeholder: string;
371
370
  type: string;
372
371
  disabled: boolean;
373
- modelValue: string | Date | Date[];
374
372
  name: string | unknown[];
373
+ modelValue: string | Date | (number | Date)[];
375
374
  editable: boolean;
376
375
  popperClass: string;
377
376
  popperOptions: Partial<import("@popperjs/core").Options>;
377
+ placeholder: string;
378
378
  readonly: boolean;
379
379
  clearable: boolean;
380
380
  prefixIcon: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
@@ -1,3 +1,3 @@
1
- export declare const rangeArr: (n: any) => number[];
1
+ export declare const rangeArr: (n: number) => number[];
2
2
  export declare const extractDateFormat: (format: string) => string;
3
3
  export declare const extractTimeFormat: (format: string) => string;
@@ -1,6 +1,4 @@
1
- const rangeArr = (n) => {
2
- return Array.from(Array(n).keys());
3
- };
1
+ const rangeArr = (n) => Array.from(Array(n).keys());
4
2
  const extractDateFormat = (format) => {
5
3
  return format.replace(/\W?m{1,2}|\W?ZZ/g, "").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi, "").trim();
6
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"date-utils.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/date-utils.ts"],"sourcesContent":["export const rangeArr = (n) => {\n return Array.from(Array(n).keys())\n}\n\nexport const extractDateFormat = (format: string) => {\n return format\n .replace(/\\W?m{1,2}|\\W?ZZ/g, '')\n .replace(/\\W?h{1,2}|\\W?s{1,3}|\\W?a/gi, '')\n .trim()\n}\n\nexport const extractTimeFormat = (format: string) => {\n return format\n .replace(/\\W?D{1,2}|\\W?Do|\\W?d{1,4}|\\W?M{1,4}|\\W?Y{2,4}/g, '')\n .trim()\n}\n"],"names":[],"mappings":"MAAa,WAAW,CAAC,MAAM;AAC7B,SAAO,MAAM,KAAK,MAAM,GAAG;AAAA;MAGhB,oBAAoB,CAAC,WAAmB;AACnD,SAAO,OACJ,QAAQ,oBAAoB,IAC5B,QAAQ,8BAA8B,IACtC;AAAA;MAGQ,oBAAoB,CAAC,WAAmB;AACnD,SAAO,OACJ,QAAQ,kDAAkD,IAC1D;AAAA;;;;"}
1
+ {"version":3,"file":"date-utils.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/date-utils.ts"],"sourcesContent":["export const rangeArr = (n: number) => Array.from(Array(n).keys())\n\nexport const extractDateFormat = (format: string) => {\n return format\n .replace(/\\W?m{1,2}|\\W?ZZ/g, '')\n .replace(/\\W?h{1,2}|\\W?s{1,3}|\\W?a/gi, '')\n .trim()\n}\n\nexport const extractTimeFormat = (format: string) => {\n return format\n .replace(/\\W?D{1,2}|\\W?Do|\\W?d{1,4}|\\W?M{1,4}|\\W?Y{2,4}/g, '')\n .trim()\n}\n"],"names":[],"mappings":"MAAa,WAAW,CAAC,MAAc,MAAM,KAAK,MAAM,GAAG;MAE9C,oBAAoB,CAAC,WAAmB;AACnD,SAAO,OACJ,QAAQ,oBAAoB,IAC5B,QAAQ,8BAA8B,IACtC;AAAA;MAGQ,oBAAoB,CAAC,WAAmB;AACnD,SAAO,OACJ,QAAQ,kDAAkD,IAC1D;AAAA;;;;"}
@@ -68,7 +68,7 @@ declare const _default: import("vue").DefineComponent<{
68
68
  default: () => {};
69
69
  };
70
70
  modelValue: {
71
- type: import("vue").PropType<string | Date | Date[]>;
71
+ type: import("vue").PropType<string | Date | (number | Date)[]>;
72
72
  default: string;
73
73
  };
74
74
  rangeSeparator: {
@@ -128,7 +128,7 @@ declare const _default: import("vue").DefineComponent<{
128
128
  handleKeydown: (event: any) => void;
129
129
  popperPaneRef: import("vue").ComputedRef<any>;
130
130
  onClickOutside: () => void;
131
- pickerSize: import("vue").ComputedRef<any>;
131
+ pickerSize: import("vue").ComputedRef<"" | import("../../../../utils/types").ComponentSize>;
132
132
  isRangeInput: import("vue").ComputedRef<boolean>;
133
133
  onMouseLeave: () => void;
134
134
  onMouseEnter: () => void;
@@ -179,14 +179,14 @@ declare const _default: import("vue").DefineComponent<{
179
179
  validateEvent?: unknown;
180
180
  unlinkPanels?: unknown;
181
181
  } & {
182
- placeholder: string;
183
182
  type: string;
184
183
  disabled: boolean;
185
- modelValue: string | Date | Date[];
186
184
  name: string | unknown[];
185
+ modelValue: string | Date | (number | Date)[];
187
186
  editable: boolean;
188
187
  popperClass: string;
189
188
  popperOptions: Partial<Options>;
189
+ placeholder: string;
190
190
  readonly: boolean;
191
191
  clearable: boolean;
192
192
  prefixIcon: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
@@ -217,14 +217,14 @@ declare const _default: import("vue").DefineComponent<{
217
217
  onFocus?: ((...args: any[]) => any) | undefined;
218
218
  "onCalendar-change"?: ((...args: any[]) => any) | undefined;
219
219
  }, {
220
- placeholder: string;
221
220
  type: string;
222
221
  disabled: boolean;
223
- modelValue: string | Date | Date[];
224
222
  name: string | unknown[];
223
+ modelValue: string | Date | (number | Date)[];
225
224
  editable: boolean;
226
225
  popperClass: string;
227
226
  popperOptions: Partial<Options>;
227
+ placeholder: string;
228
228
  readonly: boolean;
229
229
  clearable: boolean;
230
230
  prefixIcon: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
@@ -8,12 +8,13 @@ import { ElInput } from '../../../input/index.mjs';
8
8
  import { ElIcon } from '../../../icon/index.mjs';
9
9
  import _Popper from '../../../popper/index.mjs';
10
10
  import { EVENT_CODE } from '../../../../utils/aria.mjs';
11
- import { isEmpty, useGlobalConfig } from '../../../../utils/util.mjs';
12
- import { Clock, Calendar } from '@element-plus/icons';
11
+ import { isEmpty } from '../../../../utils/util.mjs';
12
+ import { Clock, Calendar } from '@element-plus/icons-vue';
13
13
  import { timePickerDefaultProps } from './props.mjs';
14
14
  import ClickOutside from '../../../../directives/click-outside/index.mjs';
15
15
  import { useLocale } from '../../../../hooks/use-locale/index.mjs';
16
16
  import { elFormKey, elFormItemKey } from '../../../../tokens/form.mjs';
17
+ import { useSize } from '../../../../hooks/use-common-props/index.mjs';
17
18
  import { Effect } from '../../../popper/src/use-popper/defaults.mjs';
18
19
 
19
20
  const dateEquals = function(a, b) {
@@ -59,7 +60,6 @@ var script = defineComponent({
59
60
  props: timePickerDefaultProps,
60
61
  emits: ["update:modelValue", "change", "focus", "blur", "calendar-change"],
61
62
  setup(props, ctx) {
62
- const ELEMENT = useGlobalConfig();
63
63
  const { lang } = useLocale();
64
64
  const elForm = inject(elFormKey, {});
65
65
  const elFormItem = inject(elFormItemKey, {});
@@ -222,9 +222,7 @@ var script = defineComponent({
222
222
  const isRangeInput = computed(() => {
223
223
  return props.type.indexOf("range") > -1;
224
224
  });
225
- const pickerSize = computed(() => {
226
- return props.size || elFormItem.size || ELEMENT.size;
227
- });
225
+ const pickerSize = useSize();
228
226
  const popperPaneRef = computed(() => {
229
227
  var _a;
230
228
  return (_a = refPopper.value) == null ? void 0 : _a.popperRef;
@@ -289,8 +287,8 @@ var script = defineComponent({
289
287
  }
290
288
  return;
291
289
  }
292
- if (code === EVENT_CODE.enter) {
293
- if (userInput.value === "" || isValidValue(parseUserInputToDayjs(displayValue.value))) {
290
+ if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {
291
+ if (userInput.value === null || userInput.value === "" || isValidValue(parseUserInputToDayjs(displayValue.value))) {
294
292
  handleChange();
295
293
  pickerVisible.value = false;
296
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"picker.vue_vue_type_script_lang.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-popper\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n manual-mode\n :effect=\"Effect.LIGHT\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n transition=\"el-zoom-in-top\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n @before-enter=\"pickerActualVisible = true\"\n @after-leave=\"pickerActualVisible = false\"\n >\n <template #trigger>\n <el-input\n v-if=\"!isRangeInput\"\n v-clickoutside:[popperPaneRef]=\"onClickOutside\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"'el-date-editor--' + type\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n v-clickoutside:[popperPaneRef]=\"onClickOutside\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n ]\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #default>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-popper>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport isEqual from 'lodash/isEqual'\nimport { useLocale } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { useGlobalConfig, isEmpty } from '@element-plus/utils/util'\nimport { Clock, Calendar } from '@element-plus/icons'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: Date | string,\n format: string,\n lang: string\n): Dayjs {\n const day = isEmpty(format)\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (date: Date, format: string, lang: string) {\n return isEmpty(format) ? date : dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElPopper,\n ElIcon,\n },\n directives: { clickoutside: ClickOutside },\n props: timePickerDefaultProps,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'calendar-change'],\n setup(props, ctx) {\n const ELEMENT = useGlobalConfig()\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref(null)\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed(() => {\n if (refPopper.value.triggerRef) {\n const _r = isRangeInput.value\n ? refPopper.value.triggerRef\n : refPopper.value.triggerRef.$el\n return [].slice.call(_r.querySelectorAll('input'))\n }\n return []\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n pickerVisible.value = false\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = computed(() => {\n return props.size || elFormItem.size || ELEMENT.size\n })\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef\n })\n\n const onClickOutside = () => {\n if (!pickerVisible.value) return\n pickerVisible.value = false\n }\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter) {\n if (\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n Effect,\n\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n }\n },\n})\n</script>\n"],"names":["ElPopper"],"mappings":"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"}
1
+ {"version":3,"file":"picker.vue_vue_type_script_lang.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-popper\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n manual-mode\n :effect=\"Effect.LIGHT\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n transition=\"el-zoom-in-top\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n @before-enter=\"pickerActualVisible = true\"\n @after-leave=\"pickerActualVisible = false\"\n >\n <template #trigger>\n <el-input\n v-if=\"!isRangeInput\"\n v-clickoutside:[popperPaneRef]=\"onClickOutside\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"'el-date-editor--' + type\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n v-clickoutside:[popperPaneRef]=\"onClickOutside\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n ]\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #default>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-popper>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport isEqual from 'lodash/isEqual'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isEmpty } from '@element-plus/utils/util'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: Date | string,\n format: string,\n lang: string\n): Dayjs {\n const day = isEmpty(format)\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (date: number | Date, format: string, lang: string) {\n return isEmpty(format) ? date : dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElPopper,\n ElIcon,\n },\n directives: { clickoutside: ClickOutside },\n props: timePickerDefaultProps,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'calendar-change'],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref(null)\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed(() => {\n if (refPopper.value.triggerRef) {\n const _r = isRangeInput.value\n ? refPopper.value.triggerRef\n : refPopper.value.triggerRef.$el\n return [].slice.call(_r.querySelectorAll('input'))\n }\n return []\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n pickerVisible.value = false\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef\n })\n\n const onClickOutside = () => {\n if (!pickerVisible.value) return\n pickerVisible.value = false\n }\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n Effect,\n\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n }\n },\n})\n</script>\n"],"names":["ElPopper"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"picker.vue_vue_type_template_id_1d54be91_lang.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue?vue&type=template&id=1d54be91&lang.js"],"sourcesContent":["<template>\n <el-popper\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n manual-mode\n :effect=\"Effect.LIGHT\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n transition=\"el-zoom-in-top\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n @before-enter=\"pickerActualVisible = true\"\n @after-leave=\"pickerActualVisible = false\"\n >\n <template #trigger>\n <el-input\n v-if=\"!isRangeInput\"\n v-clickoutside:[popperPaneRef]=\"onClickOutside\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"'el-date-editor--' + type\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n v-clickoutside:[popperPaneRef]=\"onClickOutside\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n ]\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #default>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-popper>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport isEqual from 'lodash/isEqual'\nimport { useLocale } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { useGlobalConfig, isEmpty } from '@element-plus/utils/util'\nimport { Clock, Calendar } from '@element-plus/icons'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: Date | string,\n format: string,\n lang: string\n): Dayjs {\n const day = isEmpty(format)\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (date: Date, format: string, lang: string) {\n return isEmpty(format) ? date : dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElPopper,\n ElIcon,\n },\n directives: { clickoutside: ClickOutside },\n props: timePickerDefaultProps,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'calendar-change'],\n setup(props, ctx) {\n const ELEMENT = useGlobalConfig()\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref(null)\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed(() => {\n if (refPopper.value.triggerRef) {\n const _r = isRangeInput.value\n ? refPopper.value.triggerRef\n : refPopper.value.triggerRef.$el\n return [].slice.call(_r.querySelectorAll('input'))\n }\n return []\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n pickerVisible.value = false\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = computed(() => {\n return props.size || elFormItem.size || ELEMENT.size\n })\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef\n })\n\n const onClickOutside = () => {\n if (!pickerVisible.value) return\n pickerVisible.value = false\n }\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter) {\n if (\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n Effect,\n\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n }\n },\n})\n</script>\n"],"names":["_createBlock","_mergeProps","_createElementBlock","_createElementVNode","_renderSlot"],"mappings":";;;qBA4FgB,OAAM;;;;;;;sBA3FpBA,kCAAAC;IACE,KAAI;AAAA,IACI,SAAS;gEAAA;IACjB,eAAA;AAAA,IACC,QAAQ,YAAO;AAAA,IAChB,MAAA;AAAA,IACA,SAAQ;AAAA,KACA;IACP,qCAAmC;IACnC,kBAAgB;IAChB,uBAAqB;IACtB,YAAW;AAAA,IACV,oBAAkB;AAAA,IAClB,2BAAyB;AAAA,IAC1B,kBAAA;AAAA,IACC,uDAAc;IACd,sDAAa;;IAEH,iBACT;OACS,iDADTD;;QAGG,eAAa;QACb,MAAM;QACN,MAAM;QACN,UAAU;QACV,aAAa;QACd,uBAAM,uCACuB;QAC5B,WAAW,iBAAY,iBAAY,sBAAiB;QACpD,SAAO;QACP,SAAO;QACP,WAAS;QACT,UAAQ;QACR,cAAY;QACZ,cAAY;;QAEF,gBACT;UACQ,iCADRA;;YAEE,OAAM;AAAA,YACL,SAAO;;6BAER;4BAAAA,oCAAgB;;;;;QAGT,gBACT;UACQ,kBAAa,+BADrBA;;YAEE,OAAM;AAAA,YACL,SAAO;;6BAER;4BAAAA,oCAAgB;;;;;;;kCA/BY,qBAAjB;wCAmCjBE;;QAGE,uBAAM;;;;;;QAOL,gDAAO;QACP,qDAAY;QACZ,qDAAY;QACZ,kDAAS;;QAGF,iCADRF;;UAEE,OAAM;AAAA,UACL,SAAO;;2BAER;0BAAAA,oCAAgB;;;;QAElBG;UACE,cAAa;AAAA,UACZ,MAAM,aAAQ;UACd,aAAa;UACb,OAAO,qBAAgB;UACvB,UAAU;UACV,WAAW,iBAAY;UACxB,OAAM;AAAA,UACL,gDAAO;UACP,iDAAQ;UACR,gDAAO;;QAEVC,+CAAA;UACED,2BAAA,4BAAoC;;QAEtCA;UACE,cAAa;AAAA,UACZ,MAAM,aAAQ;UACd,aAAa;UACb,OAAO,qBAAgB;UACvB,UAAU;UACV,WAAW,iBAAY;UACxB,OAAM;AAAA,UACL,gDAAO;UACP,gDAAO;UACP,iDAAQ;;QAGH,+BADRH;;UAEE,uBAAM;;;UAIL,SAAO;;2BAER;0BAAAA,oCAAgB;;;;;kCAvDc,qBAAjB;;;IA2DR,iBACT;MAAAI;QACG,SAAS;QACT,eAAgB;QAChB,aAAc;QACd,QAAQ;QACR,cAAe;QACf,MAAM;QACN,cAAe;QACf,iDAAM;QACN,wDAAc;QACd,4DAAmB;QACnB,2DAAiB;QACjB,uDAAD;;;;;;;;;;"}
1
+ {"version":3,"file":"picker.vue_vue_type_template_id_1d54be91_lang.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue?vue&type=template&id=1d54be91&lang.js"],"sourcesContent":["<template>\n <el-popper\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n manual-mode\n :effect=\"Effect.LIGHT\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n transition=\"el-zoom-in-top\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n @before-enter=\"pickerActualVisible = true\"\n @after-leave=\"pickerActualVisible = false\"\n >\n <template #trigger>\n <el-input\n v-if=\"!isRangeInput\"\n v-clickoutside:[popperPaneRef]=\"onClickOutside\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"'el-date-editor--' + type\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n v-clickoutside:[popperPaneRef]=\"onClickOutside\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n ]\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n <input\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-separator\">{{ rangeSeparator }}</span>\n </slot>\n <input\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n class=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #default>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @mousedown.stop\n ></slot>\n </template>\n </el-popper>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport isEqual from 'lodash/isEqual'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isEmpty } from '@element-plus/utils/util'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: Date | string,\n format: string,\n lang: string\n): Dayjs {\n const day = isEmpty(format)\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (date: number | Date, format: string, lang: string) {\n return isEmpty(format) ? date : dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElPopper,\n ElIcon,\n },\n directives: { clickoutside: ClickOutside },\n props: timePickerDefaultProps,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'calendar-change'],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref(null)\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const refInput = computed(() => {\n if (refPopper.value.triggerRef) {\n const _r = isRangeInput.value\n ? refPopper.value.triggerRef\n : refPopper.value.triggerRef.$el\n return [].slice.call(_r.querySelectorAll('input'))\n }\n return []\n })\n const setSelectionRange = (start, end, pos) => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n }\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n pickerVisible.value = false\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return\n if (!pickerVisible.value && valueIsEmpty.value) return\n if (formattedValue) {\n return isDatesPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef\n })\n\n const onClickOutside = () => {\n if (!pickerVisible.value) return\n pickerVisible.value = false\n }\n\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value))\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n ) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n }\n\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n Effect,\n\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n }\n },\n})\n</script>\n"],"names":["_createBlock","_mergeProps","_createElementBlock","_createElementVNode","_renderSlot"],"mappings":";;;qBA4FgB,OAAM;;;;;;;sBA3FpBA,kCAAAC;IACE,KAAI;AAAA,IACI,SAAS;gEAAA;IACjB,eAAA;AAAA,IACC,QAAQ,YAAO;AAAA,IAChB,MAAA;AAAA,IACA,SAAQ;AAAA,KACA;IACP,qCAAmC;IACnC,kBAAgB;IAChB,uBAAqB;IACtB,YAAW;AAAA,IACV,oBAAkB;AAAA,IAClB,2BAAyB;AAAA,IAC1B,kBAAA;AAAA,IACC,uDAAc;IACd,sDAAa;;IAEH,iBACT;OACS,iDADTD;;QAGG,eAAa;QACb,MAAM;QACN,MAAM;QACN,UAAU;QACV,aAAa;QACd,uBAAM,uCACuB;QAC5B,WAAW,iBAAY,iBAAY,sBAAiB;QACpD,SAAO;QACP,SAAO;QACP,WAAS;QACT,UAAQ;QACR,cAAY;QACZ,cAAY;;QAEF,gBACT;UACQ,iCADRA;;YAEE,OAAM;AAAA,YACL,SAAO;;6BAER;4BAAAA,oCAAgB;;;;;QAGT,gBACT;UACQ,kBAAa,+BADrBA;;YAEE,OAAM;AAAA,YACL,SAAO;;6BAER;4BAAAA,oCAAgB;;;;;;;kCA/BY,qBAAjB;wCAmCjBE;;QAGE,uBAAM;;;;;;QAOL,gDAAO;QACP,qDAAY;QACZ,qDAAY;QACZ,kDAAS;;QAGF,iCADRF;;UAEE,OAAM;AAAA,UACL,SAAO;;2BAER;0BAAAA,oCAAgB;;;;QAElBG;UACE,cAAa;AAAA,UACZ,MAAM,aAAQ;UACd,aAAa;UACb,OAAO,qBAAgB;UACvB,UAAU;UACV,WAAW,iBAAY;UACxB,OAAM;AAAA,UACL,gDAAO;UACP,iDAAQ;UACR,gDAAO;;QAEVC,+CAAA;UACED,2BAAA,4BAAoC;;QAEtCA;UACE,cAAa;AAAA,UACZ,MAAM,aAAQ;UACd,aAAa;UACb,OAAO,qBAAgB;UACvB,UAAU;UACV,WAAW,iBAAY;UACxB,OAAM;AAAA,UACL,gDAAO;UACP,gDAAO;UACP,iDAAQ;;QAGH,+BADRH;;UAEE,uBAAM;;;UAIL,SAAO;;2BAER;0BAAAA,oCAAgB;;;;;kCAvDc,qBAAjB;;;IA2DR,iBACT;MAAAI;QACG,SAAS;QACT,eAAgB;QAChB,aAAc;QACd,QAAQ;QACR,cAAe;QACf,MAAM;QACN,cAAe;QACf,iDAAM;QACN,wDAAc;QACd,4DAAmB;QACnB,2DAAiB;QACjB,uDAAD;;;;;;;;;;"}
@@ -57,7 +57,7 @@ export declare const timePickerDefaultProps: {
57
57
  default: () => {};
58
58
  };
59
59
  modelValue: {
60
- type: PropType<string | Date | Date[]>;
60
+ type: PropType<string | Date | (number | Date)[]>;
61
61
  default: string;
62
62
  };
63
63
  rangeSeparator: {
@@ -1,5 +1,5 @@
1
1
  import { isValidComponentSize } from '../../../../utils/validators.mjs';
2
- import { CircleClose } from '@element-plus/icons';
2
+ import { CircleClose } from '@element-plus/icons-vue';
3
3
 
4
4
  const timePickerDefaultProps = {
5
5
  name: {
@@ -1 +1 @@
1
- {"version":3,"file":"props.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/props.ts"],"sourcesContent":["import { isValidComponentSize } from '@element-plus/utils/validators'\nimport { CircleClose } from '@element-plus/icons'\n\nimport type { PropType, Component } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type { ComponentSize } from '@element-plus/utils/types'\n\nexport const timePickerDefaultProps = {\n name: {\n type: [Array, String],\n default: '',\n },\n popperClass: {\n type: String,\n default: '',\n },\n format: {\n type: String,\n },\n valueFormat: {\n type: String as PropType<string>,\n },\n type: {\n type: String,\n default: '',\n },\n clearable: {\n type: Boolean,\n default: true,\n },\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n editable: {\n type: Boolean,\n default: true,\n },\n prefixIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: '',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n placeholder: {\n type: String,\n default: '',\n },\n popperOptions: {\n type: Object as PropType<Partial<Options>>,\n default: () => ({}),\n },\n modelValue: {\n type: [Date, Array, String] as PropType<string | Date | Date[]>,\n default: '',\n },\n rangeSeparator: {\n type: String,\n default: '-',\n },\n startPlaceholder: String,\n endPlaceholder: String,\n defaultValue: {\n type: [Date, Array] as PropType<Date | Date[]>,\n },\n defaultTime: {\n type: [Date, Array] as PropType<Date | Date[]>,\n },\n isRange: {\n type: Boolean,\n default: false,\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n disabledDate: {\n type: Function,\n },\n cellClassName: {\n type: Function,\n },\n shortcuts: {\n type: Array,\n default: () => [],\n },\n arrowControl: {\n type: Boolean,\n default: false,\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n unlinkPanels: Boolean,\n}\n"],"names":[],"mappings":";;;MAOa,yBAAyB;AAAA,EACpC,MAAM;AAAA,IACJ,MAAM,CAAC,OAAO;AAAA,IACd,SAAS;AAAA;AAAA,EAEX,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,QAAQ;AAAA,IACN,MAAM;AAAA;AAAA,EAER,aAAa;AAAA,IACX,MAAM;AAAA;AAAA,EAER,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA;AAAA,EAEb,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAO;AAAA,EAElB,YAAY;AAAA,IACV,MAAM,CAAC,MAAM,OAAO;AAAA,IACpB,SAAS;AAAA;AAAA,EAEX,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,cAAc;AAAA,IACZ,MAAM,CAAC,MAAM;AAAA;AAAA,EAEf,aAAa;AAAA,IACX,MAAM,CAAC,MAAM;AAAA;AAAA,EAEf,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,eAAe;AAAA,IACb,MAAM;AAAA;AAAA,EAER,iBAAiB;AAAA,IACf,MAAM;AAAA;AAAA,EAER,iBAAiB;AAAA,IACf,MAAM;AAAA;AAAA,EAER,cAAc;AAAA,IACZ,MAAM;AAAA;AAAA,EAER,eAAe;AAAA,IACb,MAAM;AAAA;AAAA,EAER,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS,MAAM;AAAA;AAAA,EAEjB,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA;;;;"}
1
+ {"version":3,"file":"props.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/props.ts"],"sourcesContent":["import { isValidComponentSize } from '@element-plus/utils/validators'\nimport { CircleClose } from '@element-plus/icons-vue'\n\nimport type { PropType, Component } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type { ComponentSize } from '@element-plus/utils/types'\n\nexport const timePickerDefaultProps = {\n name: {\n type: [Array, String],\n default: '',\n },\n popperClass: {\n type: String,\n default: '',\n },\n format: {\n type: String,\n },\n valueFormat: {\n type: String as PropType<string>,\n },\n type: {\n type: String,\n default: '',\n },\n clearable: {\n type: Boolean,\n default: true,\n },\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n editable: {\n type: Boolean,\n default: true,\n },\n prefixIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: '',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n placeholder: {\n type: String,\n default: '',\n },\n popperOptions: {\n type: Object as PropType<Partial<Options>>,\n default: () => ({}),\n },\n modelValue: {\n type: [Date, Array, String] as PropType<string | Date | (number | Date)[]>,\n default: '',\n },\n rangeSeparator: {\n type: String,\n default: '-',\n },\n startPlaceholder: String,\n endPlaceholder: String,\n defaultValue: {\n type: [Date, Array] as PropType<Date | Date[]>,\n },\n defaultTime: {\n type: [Date, Array] as PropType<Date | Date[]>,\n },\n isRange: {\n type: Boolean,\n default: false,\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n disabledDate: {\n type: Function,\n },\n cellClassName: {\n type: Function,\n },\n shortcuts: {\n type: Array,\n default: () => [],\n },\n arrowControl: {\n type: Boolean,\n default: false,\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n unlinkPanels: Boolean,\n}\n"],"names":[],"mappings":";;;MAOa,yBAAyB;AAAA,EACpC,MAAM;AAAA,IACJ,MAAM,CAAC,OAAO;AAAA,IACd,SAAS;AAAA;AAAA,EAEX,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,QAAQ;AAAA,IACN,MAAM;AAAA;AAAA,EAER,aAAa;AAAA,IACX,MAAM;AAAA;AAAA,EAER,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW;AAAA;AAAA,EAEb,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAO;AAAA,EAElB,YAAY;AAAA,IACV,MAAM,CAAC,MAAM,OAAO;AAAA,IACpB,SAAS;AAAA;AAAA,EAEX,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,cAAc;AAAA,IACZ,MAAM,CAAC,MAAM;AAAA;AAAA,EAEf,aAAa;AAAA,IACX,MAAM,CAAC,MAAM;AAAA;AAAA,EAEf,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,eAAe;AAAA,IACb,MAAM;AAAA;AAAA,EAER,iBAAiB;AAAA,IACf,MAAM;AAAA;AAAA,EAER,iBAAiB;AAAA,IACf,MAAM;AAAA;AAAA,EAER,cAAc;AAAA,IACZ,MAAM;AAAA;AAAA,EAER,eAAe;AAAA,IACb,MAAM;AAAA;AAAA,EAER,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS,MAAM;AAAA;AAAA,EAEjB,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA;;;;"}
@@ -3,7 +3,7 @@ import debounce from 'lodash/debounce';
3
3
  import '../../../../directives/index.mjs';
4
4
  import { ElScrollbar } from '../../../scrollbar/index.mjs';
5
5
  import { ElIcon } from '../../../icon/index.mjs';
6
- import { ArrowUp, ArrowDown } from '@element-plus/icons';
6
+ import { ArrowUp, ArrowDown } from '@element-plus/icons-vue';
7
7
  import { getTimeLists } from './useTimePicker.mjs';
8
8
  import RepeatClick from '../../../../directives/repeat-click/index.mjs';
9
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"basic-time-spinner.vue_vue_type_script_lang.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div class=\"el-time-spinner\" :class=\"{ 'has-seconds': showSeconds }\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"getRefId(item)\"\n class=\"el-time-spinner__wrapper\"\n wrap-style=\"max-height: inherit;\"\n view-class=\"el-time-spinner__list\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in listMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{ active: key === timePartsMap[item].value, disabled }\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n class=\"el-time-spinner__wrapper is-arrow\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecreaseClick\"\n class=\"el-time-spinner__arrow arrow-up\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncreaseClick\"\n class=\"el-time-spinner__arrow arrow-down\"\n >\n <arrow-down />\n </el-icon>\n <ul class=\"el-time-spinner__list\">\n <li\n v-for=\"(time, key) in arrowListMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{\n active: time === timePartsMap[item].value,\n disabled: listMap[item].value[time],\n }\"\n >\n <template v-if=\"time\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, nextTick, computed, onMounted, watch } from 'vue'\nimport debounce from 'lodash/debounce'\nimport { RepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowUp, ArrowDown } from '@element-plus/icons'\nimport { getTimeLists } from './useTimePicker'\n\nimport type { PropType, Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { Nullable } from '@element-plus/utils/types'\n\nexport default defineComponent({\n directives: {\n repeatClick: RepeatClick,\n },\n\n components: {\n ElScrollbar,\n ElIcon,\n ArrowUp,\n ArrowDown,\n },\n\n props: {\n role: {\n type: String,\n required: true,\n },\n spinnerDate: {\n type: Object as PropType<Dayjs>,\n required: true,\n },\n showSeconds: {\n type: Boolean,\n default: true,\n },\n arrowControl: Boolean,\n amPmMode: {\n type: String,\n default: '', // 'a': am/pm; 'A': AM/PM\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n },\n\n emits: ['change', 'select-range', 'set-option'],\n\n setup(props, ctx) {\n // data\n let isScrolling = false\n const debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n }, 200)\n const currentScrollbar = ref(null)\n const listHoursRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listMinutesRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listSecondsRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listRefsMap = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n }\n\n // computed\n const spinnerItems = computed(() => {\n const arr = ['hours', 'minutes', 'seconds']\n return props.showSeconds ? arr : arr.slice(0, 2)\n })\n const hours = computed(() => {\n return props.spinnerDate.hour()\n })\n const minutes = computed(() => {\n return props.spinnerDate.minute()\n })\n const seconds = computed(() => {\n return props.spinnerDate.second()\n })\n const timePartsMap = computed(() => ({\n hours,\n minutes,\n seconds,\n }))\n const hoursList = computed(() => {\n return getHoursList(props.role)\n })\n const minutesList = computed(() => {\n return getMinutesList(hours.value, props.role)\n })\n const secondsList = computed(() => {\n return getSecondsList(hours.value, minutes.value, props.role)\n })\n const listMap = computed(() => ({\n hours: hoursList,\n minutes: minutesList,\n seconds: secondsList,\n }))\n const arrowHourList = computed(() => {\n const hour = hours.value\n return [\n hour > 0 ? hour - 1 : undefined,\n hour,\n hour < 23 ? hour + 1 : undefined,\n ]\n })\n const arrowMinuteList = computed(() => {\n const minute = minutes.value\n return [\n minute > 0 ? minute - 1 : undefined,\n minute,\n minute < 59 ? minute + 1 : undefined,\n ]\n })\n const arrowSecondList = computed(() => {\n const second = seconds.value\n return [\n second > 0 ? second - 1 : undefined,\n second,\n second < 59 ? second + 1 : undefined,\n ]\n })\n const arrowListMap = computed(() => ({\n hours: arrowHourList,\n minutes: arrowMinuteList,\n seconds: arrowSecondList,\n }))\n const getAmPmFlag = (hour) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n }\n\n const emitSelectRange = (type) => {\n if (type === 'hours') {\n ctx.emit('select-range', 0, 2)\n } else if (type === 'minutes') {\n ctx.emit('select-range', 3, 5)\n } else if (type === 'seconds') {\n ctx.emit('select-range', 6, 8)\n }\n currentScrollbar.value = type\n }\n\n const adjustCurrentSpinner = (type) => {\n adjustSpinner(type, timePartsMap.value[type].value)\n }\n\n // NOTE: used by datetime / date-range panel\n // renamed from adjustScrollTop\n // should try to refactory it\n const adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n }\n\n const adjustSpinner = (type, value) => {\n if (props.arrowControl) return\n const el = listRefsMap[type]\n if (el.value) {\n el.value.$el.querySelector('.el-scrollbar__wrap').scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n }\n\n const typeItemHeight = (type) => {\n const el = listRefsMap[type]\n return el.value.$el.querySelector('li').offsetHeight\n }\n\n const onIncreaseClick = () => {\n scrollDown(1)\n }\n\n const onDecreaseClick = () => {\n scrollDown(-1)\n }\n\n const scrollDown = (step) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value\n let now = timePartsMap.value[label].value\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n now = (now + step + total) % total\n\n modifyDateField(label, now)\n adjustSpinner(label, now)\n nextTick(() => emitSelectRange(currentScrollbar.value))\n }\n\n const modifyDateField = (type, value) => {\n const list = listMap.value[type].value\n const isDisabled = list[value]\n if (isDisabled) return\n switch (type) {\n case 'hours':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(value)\n .minute(minutes.value)\n .second(seconds.value)\n )\n break\n case 'minutes':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(value)\n .second(seconds.value)\n )\n break\n case 'seconds':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(minutes.value)\n .second(value)\n )\n break\n }\n }\n\n const handleClick = (type, { value, disabled }) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n }\n\n const handleScroll = (type) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (listRefsMap[type].value.$el.querySelector('.el-scrollbar__wrap')\n .scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n }\n\n const scrollBarHeight = (type) => {\n return listRefsMap[type].value.$el.offsetHeight\n }\n\n const bindScrollEvent = () => {\n const bindFuntion = (type) => {\n if (listRefsMap[type].value) {\n listRefsMap[type].value.$el.querySelector(\n '.el-scrollbar__wrap'\n ).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFuntion('hours')\n bindFuntion('minutes')\n bindFuntion('seconds')\n }\n\n onMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n })\n\n const getRefId = (item) => {\n return `list${item.charAt(0).toUpperCase() + item.slice(1)}Ref`\n }\n\n ctx.emit('set-option', [`${props.role}_scrollDown`, scrollDown])\n ctx.emit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n )\n\n watch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n )\n\n return {\n getRefId,\n spinnerItems,\n currentScrollbar,\n hours,\n minutes,\n seconds,\n hoursList,\n minutesList,\n arrowHourList,\n arrowMinuteList,\n arrowSecondList,\n getAmPmFlag,\n emitSelectRange,\n adjustCurrentSpinner,\n typeItemHeight,\n listHoursRef,\n listMinutesRef,\n listSecondsRef,\n onIncreaseClick,\n onDecreaseClick,\n handleClick,\n secondsList,\n timePartsMap,\n arrowListMap,\n listMap,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basic-time-spinner.vue_vue_type_script_lang.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div class=\"el-time-spinner\" :class=\"{ 'has-seconds': showSeconds }\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"getRefId(item)\"\n class=\"el-time-spinner__wrapper\"\n wrap-style=\"max-height: inherit;\"\n view-class=\"el-time-spinner__list\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in listMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{ active: key === timePartsMap[item].value, disabled }\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n class=\"el-time-spinner__wrapper is-arrow\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecreaseClick\"\n class=\"el-time-spinner__arrow arrow-up\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncreaseClick\"\n class=\"el-time-spinner__arrow arrow-down\"\n >\n <arrow-down />\n </el-icon>\n <ul class=\"el-time-spinner__list\">\n <li\n v-for=\"(time, key) in arrowListMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{\n active: time === timePartsMap[item].value,\n disabled: listMap[item].value[time],\n }\"\n >\n <template v-if=\"time\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, nextTick, computed, onMounted, watch } from 'vue'\nimport debounce from 'lodash/debounce'\nimport { RepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowUp, ArrowDown } from '@element-plus/icons-vue'\nimport { getTimeLists } from './useTimePicker'\n\nimport type { PropType, Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { Nullable } from '@element-plus/utils/types'\n\nexport default defineComponent({\n directives: {\n repeatClick: RepeatClick,\n },\n\n components: {\n ElScrollbar,\n ElIcon,\n ArrowUp,\n ArrowDown,\n },\n\n props: {\n role: {\n type: String,\n required: true,\n },\n spinnerDate: {\n type: Object as PropType<Dayjs>,\n required: true,\n },\n showSeconds: {\n type: Boolean,\n default: true,\n },\n arrowControl: Boolean,\n amPmMode: {\n type: String,\n default: '', // 'a': am/pm; 'A': AM/PM\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n },\n\n emits: ['change', 'select-range', 'set-option'],\n\n setup(props, ctx) {\n // data\n let isScrolling = false\n const debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n }, 200)\n const currentScrollbar = ref(null)\n const listHoursRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listMinutesRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listSecondsRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listRefsMap = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n }\n\n // computed\n const spinnerItems = computed(() => {\n const arr = ['hours', 'minutes', 'seconds']\n return props.showSeconds ? arr : arr.slice(0, 2)\n })\n const hours = computed(() => {\n return props.spinnerDate.hour()\n })\n const minutes = computed(() => {\n return props.spinnerDate.minute()\n })\n const seconds = computed(() => {\n return props.spinnerDate.second()\n })\n const timePartsMap = computed(() => ({\n hours,\n minutes,\n seconds,\n }))\n const hoursList = computed(() => {\n return getHoursList(props.role)\n })\n const minutesList = computed(() => {\n return getMinutesList(hours.value, props.role)\n })\n const secondsList = computed(() => {\n return getSecondsList(hours.value, minutes.value, props.role)\n })\n const listMap = computed(() => ({\n hours: hoursList,\n minutes: minutesList,\n seconds: secondsList,\n }))\n const arrowHourList = computed(() => {\n const hour = hours.value\n return [\n hour > 0 ? hour - 1 : undefined,\n hour,\n hour < 23 ? hour + 1 : undefined,\n ]\n })\n const arrowMinuteList = computed(() => {\n const minute = minutes.value\n return [\n minute > 0 ? minute - 1 : undefined,\n minute,\n minute < 59 ? minute + 1 : undefined,\n ]\n })\n const arrowSecondList = computed(() => {\n const second = seconds.value\n return [\n second > 0 ? second - 1 : undefined,\n second,\n second < 59 ? second + 1 : undefined,\n ]\n })\n const arrowListMap = computed(() => ({\n hours: arrowHourList,\n minutes: arrowMinuteList,\n seconds: arrowSecondList,\n }))\n const getAmPmFlag = (hour) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n }\n\n const emitSelectRange = (type) => {\n if (type === 'hours') {\n ctx.emit('select-range', 0, 2)\n } else if (type === 'minutes') {\n ctx.emit('select-range', 3, 5)\n } else if (type === 'seconds') {\n ctx.emit('select-range', 6, 8)\n }\n currentScrollbar.value = type\n }\n\n const adjustCurrentSpinner = (type) => {\n adjustSpinner(type, timePartsMap.value[type].value)\n }\n\n // NOTE: used by datetime / date-range panel\n // renamed from adjustScrollTop\n // should try to refactory it\n const adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n }\n\n const adjustSpinner = (type, value) => {\n if (props.arrowControl) return\n const el = listRefsMap[type]\n if (el.value) {\n el.value.$el.querySelector('.el-scrollbar__wrap').scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n }\n\n const typeItemHeight = (type) => {\n const el = listRefsMap[type]\n return el.value.$el.querySelector('li').offsetHeight\n }\n\n const onIncreaseClick = () => {\n scrollDown(1)\n }\n\n const onDecreaseClick = () => {\n scrollDown(-1)\n }\n\n const scrollDown = (step) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value\n let now = timePartsMap.value[label].value\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n now = (now + step + total) % total\n\n modifyDateField(label, now)\n adjustSpinner(label, now)\n nextTick(() => emitSelectRange(currentScrollbar.value))\n }\n\n const modifyDateField = (type, value) => {\n const list = listMap.value[type].value\n const isDisabled = list[value]\n if (isDisabled) return\n switch (type) {\n case 'hours':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(value)\n .minute(minutes.value)\n .second(seconds.value)\n )\n break\n case 'minutes':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(value)\n .second(seconds.value)\n )\n break\n case 'seconds':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(minutes.value)\n .second(value)\n )\n break\n }\n }\n\n const handleClick = (type, { value, disabled }) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n }\n\n const handleScroll = (type) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (listRefsMap[type].value.$el.querySelector('.el-scrollbar__wrap')\n .scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n }\n\n const scrollBarHeight = (type) => {\n return listRefsMap[type].value.$el.offsetHeight\n }\n\n const bindScrollEvent = () => {\n const bindFuntion = (type) => {\n if (listRefsMap[type].value) {\n listRefsMap[type].value.$el.querySelector(\n '.el-scrollbar__wrap'\n ).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFuntion('hours')\n bindFuntion('minutes')\n bindFuntion('seconds')\n }\n\n onMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n })\n\n const getRefId = (item) => {\n return `list${item.charAt(0).toUpperCase() + item.slice(1)}Ref`\n }\n\n ctx.emit('set-option', [`${props.role}_scrollDown`, scrollDown])\n ctx.emit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n )\n\n watch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n )\n\n return {\n getRefId,\n spinnerItems,\n currentScrollbar,\n hours,\n minutes,\n seconds,\n hoursList,\n minutesList,\n arrowHourList,\n arrowMinuteList,\n arrowSecondList,\n getAmPmFlag,\n emitSelectRange,\n adjustCurrentSpinner,\n typeItemHeight,\n listHoursRef,\n listMinutesRef,\n listSecondsRef,\n onIncreaseClick,\n onDecreaseClick,\n handleClick,\n secondsList,\n timePartsMap,\n arrowListMap,\n listMap,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}