@element-plus/nightly 0.0.20250311 → 0.0.20250312

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 (524) hide show
  1. package/dist/index.full.js +37 -37
  2. package/dist/index.full.min.js +10 -10
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +10 -10
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +37 -37
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lt.js +1 -1
  140. package/dist/locale/lt.min.js +1 -1
  141. package/dist/locale/lt.min.mjs +1 -1
  142. package/dist/locale/lt.mjs +1 -1
  143. package/dist/locale/lv.js +1 -1
  144. package/dist/locale/lv.min.js +1 -1
  145. package/dist/locale/lv.min.mjs +1 -1
  146. package/dist/locale/lv.mjs +1 -1
  147. package/dist/locale/mg.js +1 -1
  148. package/dist/locale/mg.min.js +1 -1
  149. package/dist/locale/mg.min.mjs +1 -1
  150. package/dist/locale/mg.mjs +1 -1
  151. package/dist/locale/mn.js +1 -1
  152. package/dist/locale/mn.min.js +1 -1
  153. package/dist/locale/mn.min.mjs +1 -1
  154. package/dist/locale/mn.mjs +1 -1
  155. package/dist/locale/ms.js +1 -1
  156. package/dist/locale/ms.min.js +1 -1
  157. package/dist/locale/ms.min.mjs +1 -1
  158. package/dist/locale/ms.mjs +1 -1
  159. package/dist/locale/my.js +1 -1
  160. package/dist/locale/my.min.js +1 -1
  161. package/dist/locale/my.min.mjs +1 -1
  162. package/dist/locale/my.mjs +1 -1
  163. package/dist/locale/nb-no.js +1 -1
  164. package/dist/locale/nb-no.min.js +1 -1
  165. package/dist/locale/nb-no.min.mjs +1 -1
  166. package/dist/locale/nb-no.mjs +1 -1
  167. package/dist/locale/nl.js +1 -1
  168. package/dist/locale/nl.min.js +1 -1
  169. package/dist/locale/nl.min.mjs +1 -1
  170. package/dist/locale/nl.mjs +1 -1
  171. package/dist/locale/no.js +1 -1
  172. package/dist/locale/no.min.js +1 -1
  173. package/dist/locale/no.min.mjs +1 -1
  174. package/dist/locale/no.mjs +1 -1
  175. package/dist/locale/pa.js +1 -1
  176. package/dist/locale/pa.min.js +1 -1
  177. package/dist/locale/pa.min.mjs +1 -1
  178. package/dist/locale/pa.mjs +1 -1
  179. package/dist/locale/pl.js +1 -1
  180. package/dist/locale/pl.min.js +1 -1
  181. package/dist/locale/pl.min.mjs +1 -1
  182. package/dist/locale/pl.mjs +1 -1
  183. package/dist/locale/pt-br.js +1 -1
  184. package/dist/locale/pt-br.min.js +1 -1
  185. package/dist/locale/pt-br.min.mjs +1 -1
  186. package/dist/locale/pt-br.mjs +1 -1
  187. package/dist/locale/pt.js +1 -1
  188. package/dist/locale/pt.min.js +1 -1
  189. package/dist/locale/pt.min.mjs +1 -1
  190. package/dist/locale/pt.mjs +1 -1
  191. package/dist/locale/ro.js +1 -1
  192. package/dist/locale/ro.min.js +1 -1
  193. package/dist/locale/ro.min.mjs +1 -1
  194. package/dist/locale/ro.mjs +1 -1
  195. package/dist/locale/ru.js +1 -1
  196. package/dist/locale/ru.min.js +1 -1
  197. package/dist/locale/ru.min.mjs +1 -1
  198. package/dist/locale/ru.mjs +1 -1
  199. package/dist/locale/sk.js +1 -1
  200. package/dist/locale/sk.min.js +1 -1
  201. package/dist/locale/sk.min.mjs +1 -1
  202. package/dist/locale/sk.mjs +1 -1
  203. package/dist/locale/sl.js +1 -1
  204. package/dist/locale/sl.min.js +1 -1
  205. package/dist/locale/sl.min.mjs +1 -1
  206. package/dist/locale/sl.mjs +1 -1
  207. package/dist/locale/sr.js +1 -1
  208. package/dist/locale/sr.min.js +1 -1
  209. package/dist/locale/sr.min.mjs +1 -1
  210. package/dist/locale/sr.mjs +1 -1
  211. package/dist/locale/sv.js +1 -1
  212. package/dist/locale/sv.min.js +1 -1
  213. package/dist/locale/sv.min.mjs +1 -1
  214. package/dist/locale/sv.mjs +1 -1
  215. package/dist/locale/sw.js +1 -1
  216. package/dist/locale/sw.min.js +1 -1
  217. package/dist/locale/sw.min.mjs +1 -1
  218. package/dist/locale/sw.mjs +1 -1
  219. package/dist/locale/ta.js +1 -1
  220. package/dist/locale/ta.min.js +1 -1
  221. package/dist/locale/ta.min.mjs +1 -1
  222. package/dist/locale/ta.mjs +1 -1
  223. package/dist/locale/te.js +1 -1
  224. package/dist/locale/te.min.js +1 -1
  225. package/dist/locale/te.min.mjs +1 -1
  226. package/dist/locale/te.mjs +1 -1
  227. package/dist/locale/th.js +1 -1
  228. package/dist/locale/th.min.js +1 -1
  229. package/dist/locale/th.min.mjs +1 -1
  230. package/dist/locale/th.mjs +1 -1
  231. package/dist/locale/tk.js +1 -1
  232. package/dist/locale/tk.min.js +1 -1
  233. package/dist/locale/tk.min.mjs +1 -1
  234. package/dist/locale/tk.mjs +1 -1
  235. package/dist/locale/tr.js +1 -1
  236. package/dist/locale/tr.min.js +1 -1
  237. package/dist/locale/tr.min.mjs +1 -1
  238. package/dist/locale/tr.mjs +1 -1
  239. package/dist/locale/ug-cn.js +1 -1
  240. package/dist/locale/ug-cn.min.js +1 -1
  241. package/dist/locale/ug-cn.min.mjs +1 -1
  242. package/dist/locale/ug-cn.mjs +1 -1
  243. package/dist/locale/uk.js +1 -1
  244. package/dist/locale/uk.min.js +1 -1
  245. package/dist/locale/uk.min.mjs +1 -1
  246. package/dist/locale/uk.mjs +1 -1
  247. package/dist/locale/uz-uz.js +1 -1
  248. package/dist/locale/uz-uz.min.js +1 -1
  249. package/dist/locale/uz-uz.min.mjs +1 -1
  250. package/dist/locale/uz-uz.mjs +1 -1
  251. package/dist/locale/vi.js +1 -1
  252. package/dist/locale/vi.min.js +1 -1
  253. package/dist/locale/vi.min.mjs +1 -1
  254. package/dist/locale/vi.mjs +1 -1
  255. package/dist/locale/zh-cn.js +1 -1
  256. package/dist/locale/zh-cn.min.js +1 -1
  257. package/dist/locale/zh-cn.min.mjs +1 -1
  258. package/dist/locale/zh-cn.mjs +1 -1
  259. package/dist/locale/zh-hk.js +1 -1
  260. package/dist/locale/zh-hk.min.js +1 -1
  261. package/dist/locale/zh-hk.min.mjs +1 -1
  262. package/dist/locale/zh-hk.mjs +1 -1
  263. package/dist/locale/zh-mo.js +1 -1
  264. package/dist/locale/zh-mo.min.js +1 -1
  265. package/dist/locale/zh-mo.min.mjs +1 -1
  266. package/dist/locale/zh-mo.mjs +1 -1
  267. package/dist/locale/zh-tw.js +1 -1
  268. package/dist/locale/zh-tw.min.js +1 -1
  269. package/dist/locale/zh-tw.min.mjs +1 -1
  270. package/dist/locale/zh-tw.mjs +1 -1
  271. package/es/components/affix/index.mjs +2 -2
  272. package/es/components/affix/src/affix.mjs +25 -118
  273. package/es/components/affix/src/affix.mjs.map +1 -1
  274. package/es/components/affix/src/affix2.mjs +118 -24
  275. package/es/components/affix/src/affix2.mjs.map +1 -1
  276. package/es/components/alert/index.mjs +2 -2
  277. package/es/components/alert/src/alert.mjs +36 -91
  278. package/es/components/alert/src/alert.mjs.map +1 -1
  279. package/es/components/alert/src/alert2.mjs +91 -36
  280. package/es/components/alert/src/alert2.mjs.map +1 -1
  281. package/es/components/anchor/index.mjs +1 -1
  282. package/es/components/anchor/src/anchor-link.mjs +81 -5
  283. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  284. package/es/components/anchor/src/anchor-link2.mjs +5 -81
  285. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  286. package/es/components/anchor/src/anchor2.mjs +2 -1
  287. package/es/components/anchor/src/anchor2.mjs.map +1 -1
  288. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  289. package/es/components/carousel/src/use-carousel.mjs +2 -1
  290. package/es/components/carousel/src/use-carousel.mjs.map +1 -1
  291. package/es/components/check-tag/index.mjs +2 -2
  292. package/es/components/check-tag/src/check-tag.mjs +14 -38
  293. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  294. package/es/components/check-tag/src/check-tag2.mjs +38 -14
  295. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  296. package/es/components/checkbox/src/checkbox-group2.mjs +2 -2
  297. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  298. package/es/components/checkbox/src/composables/use-checkbox-event.mjs +3 -2
  299. package/es/components/checkbox/src/composables/use-checkbox-event.mjs.map +1 -1
  300. package/es/components/col/index.mjs +2 -2
  301. package/es/components/col/src/col.mjs +43 -64
  302. package/es/components/col/src/col.mjs.map +1 -1
  303. package/es/components/col/src/col2.mjs +64 -43
  304. package/es/components/col/src/col2.mjs.map +1 -1
  305. package/es/components/color-picker/src/color-picker2.mjs +3 -3
  306. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  307. package/es/components/countdown/src/countdown2.mjs +2 -1
  308. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  309. package/es/components/date-picker/src/date-picker.mjs +3 -2
  310. package/es/components/date-picker/src/date-picker.mjs.map +1 -1
  311. package/es/components/dialog/src/dialog-content.mjs +87 -29
  312. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  313. package/es/components/dialog/src/dialog-content2.mjs +29 -87
  314. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  315. package/es/components/dialog/src/dialog.mjs +1 -1
  316. package/es/components/dialog/src/dialog2.mjs +1 -1
  317. package/es/components/divider/index.mjs +2 -2
  318. package/es/components/divider/src/divider.mjs +34 -16
  319. package/es/components/divider/src/divider.mjs.map +1 -1
  320. package/es/components/divider/src/divider2.mjs +16 -34
  321. package/es/components/divider/src/divider2.mjs.map +1 -1
  322. package/es/components/empty/index.mjs +2 -2
  323. package/es/components/empty/src/empty.mjs +52 -11
  324. package/es/components/empty/src/empty.mjs.map +1 -1
  325. package/es/components/empty/src/empty2.mjs +11 -52
  326. package/es/components/empty/src/empty2.mjs.map +1 -1
  327. package/es/components/index.mjs +12 -12
  328. package/es/components/input/index.mjs +2 -2
  329. package/es/components/input/src/input.mjs +436 -103
  330. package/es/components/input/src/input.mjs.map +1 -1
  331. package/es/components/input/src/input2.mjs +102 -435
  332. package/es/components/input/src/input2.mjs.map +1 -1
  333. package/es/components/mention/src/mention.mjs +1 -1
  334. package/es/components/mention/src/mention2.mjs +3 -3
  335. package/es/components/mention/src/mention2.mjs.map +1 -1
  336. package/es/components/menu/index.mjs +2 -2
  337. package/es/components/menu/src/menu-item-group.mjs +33 -4
  338. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  339. package/es/components/menu/src/menu-item-group2.mjs +4 -33
  340. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  341. package/es/components/pagination/src/components/pager2.mjs +4 -3
  342. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  343. package/es/components/pagination/src/components/prev.mjs +17 -35
  344. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  345. package/es/components/pagination/src/components/prev2.mjs +35 -17
  346. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  347. package/es/components/pagination/src/pagination.mjs +3 -2
  348. package/es/components/pagination/src/pagination.mjs.map +1 -1
  349. package/es/components/radio/src/radio-group2.mjs +2 -2
  350. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  351. package/es/components/radio/src/radio2.mjs +2 -1
  352. package/es/components/radio/src/radio2.mjs.map +1 -1
  353. package/es/components/rate/src/rate2.mjs +3 -3
  354. package/es/components/rate/src/rate2.mjs.map +1 -1
  355. package/es/components/time-picker/src/common/picker.mjs +5 -4
  356. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  357. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +3 -2
  358. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
  359. package/es/components/time-picker/src/time-picker.mjs +3 -2
  360. package/es/components/time-picker/src/time-picker.mjs.map +1 -1
  361. package/es/components/time-select/index.mjs +2 -2
  362. package/es/components/time-select/src/time-select.mjs +54 -132
  363. package/es/components/time-select/src/time-select.mjs.map +1 -1
  364. package/es/components/time-select/src/time-select2.mjs +132 -54
  365. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  366. package/es/components/tooltip-v2/index.mjs +2 -2
  367. package/es/components/tooltip-v2/src/arrow.mjs +21 -37
  368. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  369. package/es/components/tooltip-v2/src/arrow2.mjs +37 -21
  370. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  371. package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
  372. package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
  373. package/es/components/tooltip-v2/src/trigger.mjs +12 -89
  374. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  375. package/es/components/tooltip-v2/src/trigger2.mjs +89 -12
  376. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  377. package/es/components/tour/index.mjs +3 -3
  378. package/es/components/tour/src/content.mjs +67 -43
  379. package/es/components/tour/src/content.mjs.map +1 -1
  380. package/es/components/tour/src/content2.mjs +43 -67
  381. package/es/components/tour/src/content2.mjs.map +1 -1
  382. package/es/components/tour/src/step.mjs +1 -1
  383. package/es/components/tour/src/tour.mjs +68 -153
  384. package/es/components/tour/src/tour.mjs.map +1 -1
  385. package/es/components/tour/src/tour2.mjs +154 -68
  386. package/es/components/tour/src/tour2.mjs.map +1 -1
  387. package/es/components/upload/index.mjs +1 -1
  388. package/es/components/upload/src/upload-content2.mjs +1 -1
  389. package/es/components/upload/src/upload-dragger.mjs +47 -10
  390. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  391. package/es/components/upload/src/upload-dragger2.mjs +10 -47
  392. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  393. package/es/index.mjs +12 -12
  394. package/es/version.d.ts +1 -1
  395. package/es/version.mjs +1 -1
  396. package/es/version.mjs.map +1 -1
  397. package/lib/components/affix/index.js +2 -2
  398. package/lib/components/affix/src/affix.js +26 -118
  399. package/lib/components/affix/src/affix.js.map +1 -1
  400. package/lib/components/affix/src/affix2.js +118 -25
  401. package/lib/components/affix/src/affix2.js.map +1 -1
  402. package/lib/components/alert/index.js +2 -2
  403. package/lib/components/alert/src/alert.js +37 -90
  404. package/lib/components/alert/src/alert.js.map +1 -1
  405. package/lib/components/alert/src/alert2.js +90 -37
  406. package/lib/components/alert/src/alert2.js.map +1 -1
  407. package/lib/components/anchor/index.js +1 -1
  408. package/lib/components/anchor/src/anchor-link.js +81 -5
  409. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  410. package/lib/components/anchor/src/anchor-link2.js +5 -81
  411. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  412. package/lib/components/anchor/src/anchor2.js +2 -1
  413. package/lib/components/anchor/src/anchor2.js.map +1 -1
  414. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  415. package/lib/components/carousel/src/use-carousel.js +2 -1
  416. package/lib/components/carousel/src/use-carousel.js.map +1 -1
  417. package/lib/components/check-tag/index.js +2 -2
  418. package/lib/components/check-tag/src/check-tag.js +15 -38
  419. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  420. package/lib/components/check-tag/src/check-tag2.js +38 -15
  421. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  422. package/lib/components/checkbox/src/checkbox-group2.js +1 -1
  423. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  424. package/lib/components/checkbox/src/composables/use-checkbox-event.js +3 -2
  425. package/lib/components/checkbox/src/composables/use-checkbox-event.js.map +1 -1
  426. package/lib/components/col/index.js +2 -2
  427. package/lib/components/col/src/col.js +43 -64
  428. package/lib/components/col/src/col.js.map +1 -1
  429. package/lib/components/col/src/col2.js +64 -43
  430. package/lib/components/col/src/col2.js.map +1 -1
  431. package/lib/components/color-picker/src/color-picker2.js +2 -2
  432. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  433. package/lib/components/countdown/src/countdown2.js +2 -1
  434. package/lib/components/countdown/src/countdown2.js.map +1 -1
  435. package/lib/components/date-picker/src/date-picker.js +3 -2
  436. package/lib/components/date-picker/src/date-picker.js.map +1 -1
  437. package/lib/components/dialog/src/dialog-content.js +86 -29
  438. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  439. package/lib/components/dialog/src/dialog-content2.js +29 -86
  440. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  441. package/lib/components/dialog/src/dialog.js +1 -1
  442. package/lib/components/dialog/src/dialog2.js +1 -1
  443. package/lib/components/divider/index.js +2 -2
  444. package/lib/components/divider/src/divider.js +34 -16
  445. package/lib/components/divider/src/divider.js.map +1 -1
  446. package/lib/components/divider/src/divider2.js +16 -34
  447. package/lib/components/divider/src/divider2.js.map +1 -1
  448. package/lib/components/empty/index.js +2 -2
  449. package/lib/components/empty/src/empty.js +52 -11
  450. package/lib/components/empty/src/empty.js.map +1 -1
  451. package/lib/components/empty/src/empty2.js +11 -52
  452. package/lib/components/empty/src/empty2.js.map +1 -1
  453. package/lib/components/index.js +12 -12
  454. package/lib/components/input/index.js +2 -2
  455. package/lib/components/input/src/input.js +433 -101
  456. package/lib/components/input/src/input.js.map +1 -1
  457. package/lib/components/input/src/input2.js +102 -434
  458. package/lib/components/input/src/input2.js.map +1 -1
  459. package/lib/components/mention/src/mention.js +1 -1
  460. package/lib/components/mention/src/mention2.js +3 -3
  461. package/lib/components/mention/src/mention2.js.map +1 -1
  462. package/lib/components/menu/index.js +2 -2
  463. package/lib/components/menu/src/menu-item-group.js +33 -4
  464. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  465. package/lib/components/menu/src/menu-item-group2.js +4 -33
  466. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  467. package/lib/components/pagination/src/components/pager2.js +6 -5
  468. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  469. package/lib/components/pagination/src/components/prev.js +18 -35
  470. package/lib/components/pagination/src/components/prev.js.map +1 -1
  471. package/lib/components/pagination/src/components/prev2.js +35 -18
  472. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  473. package/lib/components/pagination/src/pagination.js +3 -2
  474. package/lib/components/pagination/src/pagination.js.map +1 -1
  475. package/lib/components/radio/src/radio-group2.js +1 -1
  476. package/lib/components/radio/src/radio-group2.js.map +1 -1
  477. package/lib/components/radio/src/radio2.js +2 -1
  478. package/lib/components/radio/src/radio2.js.map +1 -1
  479. package/lib/components/rate/src/rate2.js +2 -2
  480. package/lib/components/rate/src/rate2.js.map +1 -1
  481. package/lib/components/time-picker/src/common/picker.js +5 -4
  482. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  483. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js +3 -2
  484. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
  485. package/lib/components/time-picker/src/time-picker.js +3 -2
  486. package/lib/components/time-picker/src/time-picker.js.map +1 -1
  487. package/lib/components/time-select/index.js +2 -2
  488. package/lib/components/time-select/src/time-select.js +54 -137
  489. package/lib/components/time-select/src/time-select.js.map +1 -1
  490. package/lib/components/time-select/src/time-select2.js +137 -54
  491. package/lib/components/time-select/src/time-select2.js.map +1 -1
  492. package/lib/components/tooltip-v2/index.js +2 -2
  493. package/lib/components/tooltip-v2/src/arrow.js +22 -37
  494. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  495. package/lib/components/tooltip-v2/src/arrow2.js +37 -22
  496. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  497. package/lib/components/tooltip-v2/src/tooltip.js +2 -2
  498. package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
  499. package/lib/components/tooltip-v2/src/trigger.js +12 -89
  500. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  501. package/lib/components/tooltip-v2/src/trigger2.js +89 -12
  502. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  503. package/lib/components/tour/index.js +3 -3
  504. package/lib/components/tour/src/content.js +67 -46
  505. package/lib/components/tour/src/content.js.map +1 -1
  506. package/lib/components/tour/src/content2.js +46 -67
  507. package/lib/components/tour/src/content2.js.map +1 -1
  508. package/lib/components/tour/src/step.js +1 -1
  509. package/lib/components/tour/src/tour.js +67 -151
  510. package/lib/components/tour/src/tour.js.map +1 -1
  511. package/lib/components/tour/src/tour2.js +152 -67
  512. package/lib/components/tour/src/tour2.js.map +1 -1
  513. package/lib/components/upload/index.js +1 -1
  514. package/lib/components/upload/src/upload-content2.js +1 -1
  515. package/lib/components/upload/src/upload-dragger.js +47 -11
  516. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  517. package/lib/components/upload/src/upload-dragger2.js +11 -47
  518. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  519. package/lib/index.js +12 -12
  520. package/lib/version.d.ts +1 -1
  521. package/lib/version.js +1 -1
  522. package/lib/version.js.map +1 -1
  523. package/package.json +2 -2
  524. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group2.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n <div\n :id=\"groupId\"\n ref=\"radioGroupRef\"\n :class=\"ns.b('group')\"\n role=\"radiogroup\"\n :aria-label=\"!isLabeledByFormItem ? ariaLabel || 'radio-group' : undefined\"\n :aria-labelledby=\"isLabeledByFormItem ? formItem!.labelId : undefined\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport { radioGroupKey } from './constants'\n\nimport type { RadioGroupProps } from './radio-group'\n\ndefineOptions({\n name: 'ElRadioGroup',\n})\n\nconst props = defineProps(radioGroupProps)\nconst emit = defineEmits(radioGroupEmits)\n\nconst ns = useNamespace('radio')\nconst radioId = useId()\nconst radioGroupRef = ref<HTMLDivElement>()\nconst { formItem } = useFormItem()\nconst { inputId: groupId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst changeEvent = (value: RadioGroupProps['modelValue']) => {\n emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => emit('change', value))\n}\n\nonMounted(() => {\n const radios =\n radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n const firstLabel = radios[0]\n if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0\n }\n})\n\nconst name = computed(() => {\n return props.name || radioId.value\n})\n\nprovide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n name,\n })\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n }\n)\n</script>\n"],"names":["_createElementBlock","_unref","_normalizeClass"],"mappings":";;;;;;;;;;mCAiCc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAC/B,IAAA,MAAM,UAAU,KAAM,EAAA,CAAA;AACtB,IAAA,MAAM,gBAAgB,GAAoB,EAAA,CAAA;AAC1C,IAAM,MAAA,EAAE,QAAS,EAAA,GAAI,WAAY,EAAA,CAAA;AACjC,IAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,mBAAoB,EAAA,GAAI,mBAAmB,KAAO,EAAA;AAAA,MAC1E,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,MAAA,IAAA,CAAK,oBAAoB,KAAK,CAAA,CAAA;AAC9B,MAAA,QAAA,CAAS,MAAM,IAAA,CAAK,QAAU,EAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KACtC,CAAA;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,MAAM,MACJ,GAAA,aAAA,CAAc,KAAO,CAAA,gBAAA,CAAmC,cAAc,CAAA,CAAA;AACxE,MAAM,MAAA,UAAA,GAAa,OAAO,CAAC,CAAA,CAAA;AAC3B,MAAI,IAAA,CAAC,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,IAAK,CAAA,CAAC,KAAU,KAAA,KAAA,CAAM,OAAO,CAAA,IAAK,UAAY,EAAA;AACpE,QAAA,UAAA,CAAW,QAAW,GAAA,CAAA,CAAA;AAAA,OACxB;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,IAAA,GAAO,SAAS,MAAM;AAC1B,MAAO,OAAA,KAAA,CAAM,QAAQ,OAAQ,CAAA,KAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAA,OAAA,CAAA,aAAA,EAAA,QAAA,CAAA;AAAA,MACE,GAAA,MAAA,CAAA,KAAA,CAAA;AAAA,MACA,WAAS;AAAA,MACP,IAAA;AAAe,KACf,CAAA,CAAA,CAAA;AAAA,IACA,KAAA,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AAAA,MACF,IAAC,KAAA,CAAA,aAAA,EAAA;AAAA,QACH,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAEA,OAAA;AAAA,KAAA,CACE;AAAY,IAAA,OACN,CAAA,IAAA,EAAA,MAAA,KAAA;AACJ,MAAA,gBAAyB,EAAA,EAAAA,kBAAA,CAAA,KAAA,EAAA;AACvB,QAAU,EAAA,EAAAC,KAAA,CAAA,OAAA,CAAA;AAAgD,QAC5D,OAAA,EAAA,eAAA;AAAA,QACF,GAAA,EAAA,aAAA;AAAA,QACF,KAAA,EAAAC,cAAA,CAAAD,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"radio-group2.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n <div\n :id=\"groupId\"\n ref=\"radioGroupRef\"\n :class=\"ns.b('group')\"\n role=\"radiogroup\"\n :aria-label=\"!isLabeledByFormItem ? ariaLabel || 'radio-group' : undefined\"\n :aria-labelledby=\"isLabeledByFormItem ? formItem!.labelId : undefined\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport { radioGroupKey } from './constants'\n\nimport type { RadioGroupProps } from './radio-group'\n\ndefineOptions({\n name: 'ElRadioGroup',\n})\n\nconst props = defineProps(radioGroupProps)\nconst emit = defineEmits(radioGroupEmits)\n\nconst ns = useNamespace('radio')\nconst radioId = useId()\nconst radioGroupRef = ref<HTMLDivElement>()\nconst { formItem } = useFormItem()\nconst { inputId: groupId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst changeEvent = (value: RadioGroupProps['modelValue']) => {\n emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => emit(CHANGE_EVENT, value))\n}\n\nonMounted(() => {\n const radios =\n radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n const firstLabel = radios[0]\n if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0\n }\n})\n\nconst name = computed(() => {\n return props.name || radioId.value\n})\n\nprovide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n name,\n })\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n }\n)\n</script>\n"],"names":["_createElementBlock","_unref","_normalizeClass"],"mappings":";;;;;;;;;;mCAiCc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAC/B,IAAA,MAAM,UAAU,KAAM,EAAA,CAAA;AACtB,IAAA,MAAM,gBAAgB,GAAoB,EAAA,CAAA;AAC1C,IAAM,MAAA,EAAE,QAAS,EAAA,GAAI,WAAY,EAAA,CAAA;AACjC,IAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,mBAAoB,EAAA,GAAI,mBAAmB,KAAO,EAAA;AAAA,MAC1E,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,MAAA,IAAA,CAAK,oBAAoB,KAAK,CAAA,CAAA;AAC9B,MAAA,QAAA,CAAS,MAAM,IAAA,CAAK,YAAc,EAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KAC1C,CAAA;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,MAAM,MACJ,GAAA,aAAA,CAAc,KAAO,CAAA,gBAAA,CAAmC,cAAc,CAAA,CAAA;AACxE,MAAM,MAAA,UAAA,GAAa,OAAO,CAAC,CAAA,CAAA;AAC3B,MAAI,IAAA,CAAC,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,IAAK,CAAA,CAAC,KAAU,KAAA,KAAA,CAAM,OAAO,CAAA,IAAK,UAAY,EAAA;AACpE,QAAA,UAAA,CAAW,QAAW,GAAA,CAAA,CAAA;AAAA,OACxB;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,IAAA,GAAO,SAAS,MAAM;AAC1B,MAAO,OAAA,KAAA,CAAM,QAAQ,OAAQ,CAAA,KAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAA,OAAA,CAAA,aAAA,EAAA,QAAA,CAAA;AAAA,MACE,GAAA,MAAA,CAAA,KAAA,CAAA;AAAA,MACA,WAAS;AAAA,MACP,IAAA;AAAe,KACf,CAAA,CAAA,CAAA;AAAA,IACA,KAAA,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AAAA,MACF,IAAC,KAAA,CAAA,aAAA,EAAA;AAAA,QACH,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAEA,OAAA;AAAA,KAAA,CACE;AAAY,IAAA,OACN,CAAA,IAAA,EAAA,MAAA,KAAA;AACJ,MAAA,gBAAyB,EAAA,EAAAA,kBAAA,CAAA,KAAA,EAAA;AACvB,QAAU,EAAA,EAAAC,KAAA,CAAA,OAAA,CAAA;AAAgD,QAC5D,OAAA,EAAA,eAAA;AAAA,QACF,GAAA,EAAA,aAAA;AAAA,QACF,KAAA,EAAAC,cAAA,CAAAD,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;"}
@@ -3,6 +3,7 @@ import { radioProps, radioEmits } from './radio.mjs';
3
3
  import { useRadio } from './use-radio.mjs';
4
4
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
5
5
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
6
+ import { CHANGE_EVENT } from '../../../constants/event.mjs';
6
7
 
7
8
  const __default__ = defineComponent({
8
9
  name: "ElRadio"
@@ -16,7 +17,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16
17
  const ns = useNamespace("radio");
17
18
  const { radioRef, radioGroup, focus, size, disabled, modelValue, actualValue } = useRadio(props, emit);
18
19
  function handleChange() {
19
- nextTick(() => emit("change", modelValue.value));
20
+ nextTick(() => emit(CHANGE_EVENT, modelValue.value));
20
21
  }
21
22
  return (_ctx, _cache) => {
22
23
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"radio2.mjs","sources":["../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<template>\n <label\n :class=\"[\n ns.b(),\n ns.is('disabled', disabled),\n ns.is('focus', focus),\n ns.is('bordered', border),\n ns.is('checked', modelValue === actualValue),\n ns.m(size),\n ]\"\n >\n <span\n :class=\"[\n ns.e('input'),\n ns.is('disabled', disabled),\n ns.is('checked', modelValue === actualValue),\n ]\"\n >\n <input\n ref=\"radioRef\"\n v-model=\"modelValue\"\n :class=\"ns.e('original')\"\n :value=\"actualValue\"\n :name=\"name || radioGroup?.name\"\n :disabled=\"disabled\"\n :checked=\"modelValue === actualValue\"\n type=\"radio\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n @change=\"handleChange\"\n @click.stop\n />\n <span :class=\"ns.e('inner')\" />\n </span>\n <span :class=\"ns.e('label')\" @keydown.stop>\n <slot>\n {{ label }}\n </slot>\n </span>\n </label>\n</template>\n\n<script lang=\"ts\" setup>\nimport { nextTick } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { radioEmits, radioProps } from './radio'\nimport { useRadio } from './use-radio'\n\ndefineOptions({\n name: 'ElRadio',\n})\n\nconst props = defineProps(radioProps)\nconst emit = defineEmits(radioEmits)\n\nconst ns = useNamespace('radio')\nconst { radioRef, radioGroup, focus, size, disabled, modelValue, actualValue } =\n useRadio(props, emit)\n\nfunction handleChange() {\n nextTick(() => emit('change', modelValue.value))\n}\n</script>\n"],"names":[],"mappings":";;;;;;mCAgDc,CAAA;AAAA,EACZ,IAAM,EAAA,SAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAC/B,IAAM,MAAA,EAAE,QAAU,EAAA,UAAA,EAAY,KAAO,EAAA,IAAA,EAAM,QAAU,EAAA,UAAA,EAAY,WAAY,EAAA,GAC3E,QAAS,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAEtB,IAAA,SAAS,YAAe,GAAA;AACtB,MAAA,QAAA,CAAS,MAAM,IAAA,CAAK,QAAU,EAAA,UAAA,CAAW,KAAK,CAAC,CAAA,CAAA;AAAA,KACjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"radio2.mjs","sources":["../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<template>\n <label\n :class=\"[\n ns.b(),\n ns.is('disabled', disabled),\n ns.is('focus', focus),\n ns.is('bordered', border),\n ns.is('checked', modelValue === actualValue),\n ns.m(size),\n ]\"\n >\n <span\n :class=\"[\n ns.e('input'),\n ns.is('disabled', disabled),\n ns.is('checked', modelValue === actualValue),\n ]\"\n >\n <input\n ref=\"radioRef\"\n v-model=\"modelValue\"\n :class=\"ns.e('original')\"\n :value=\"actualValue\"\n :name=\"name || radioGroup?.name\"\n :disabled=\"disabled\"\n :checked=\"modelValue === actualValue\"\n type=\"radio\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n @change=\"handleChange\"\n @click.stop\n />\n <span :class=\"ns.e('inner')\" />\n </span>\n <span :class=\"ns.e('label')\" @keydown.stop>\n <slot>\n {{ label }}\n </slot>\n </span>\n </label>\n</template>\n\n<script lang=\"ts\" setup>\nimport { nextTick } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { radioEmits, radioProps } from './radio'\nimport { useRadio } from './use-radio'\n\ndefineOptions({\n name: 'ElRadio',\n})\n\nconst props = defineProps(radioProps)\nconst emit = defineEmits(radioEmits)\n\nconst ns = useNamespace('radio')\nconst { radioRef, radioGroup, focus, size, disabled, modelValue, actualValue } =\n useRadio(props, emit)\n\nfunction handleChange() {\n nextTick(() => emit(CHANGE_EVENT, modelValue.value))\n}\n</script>\n"],"names":[],"mappings":";;;;;;;mCAiDc,CAAA;AAAA,EACZ,IAAM,EAAA,SAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAC/B,IAAM,MAAA,EAAE,QAAU,EAAA,UAAA,EAAY,KAAO,EAAA,IAAA,EAAM,QAAU,EAAA,UAAA,EAAY,WAAY,EAAA,GAC3E,QAAS,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAEtB,IAAA,SAAS,YAAe,GAAA;AACtB,MAAA,QAAA,CAAS,MAAM,IAAA,CAAK,YAAc,EAAA,UAAA,CAAW,KAAK,CAAC,CAAA,CAAA;AAAA,KACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,7 +7,7 @@ import { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';
7
7
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
8
8
  import { useFormItemInputId } from '../../form/src/hooks/use-form-item.mjs';
9
9
  import { isArray, isObject, isString } from '@vue/shared';
10
- import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
10
+ import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
11
11
  import { EVENT_CODE } from '../../../constants/aria.mjs';
12
12
  import { hasClass } from '../../../utils/dom/style.mjs';
13
13
 
@@ -106,7 +106,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
106
106
  }
107
107
  emit(UPDATE_MODEL_EVENT, value);
108
108
  if (props.modelValue !== value) {
109
- emit("change", value);
109
+ emit(CHANGE_EVENT, value);
110
110
  }
111
111
  }
112
112
  function selectValue(value) {
@@ -145,7 +145,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
145
145
  _currentValue = _currentValue < 0 ? 0 : _currentValue;
146
146
  _currentValue = _currentValue > props.max ? props.max : _currentValue;
147
147
  emit(UPDATE_MODEL_EVENT, _currentValue);
148
- emit("change", _currentValue);
148
+ emit(CHANGE_EVENT, _currentValue);
149
149
  return _currentValue;
150
150
  }
151
151
  function setCurrentValue(value, event) {
@@ -1 +1 @@
1
- {"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n :class=\"[rateClasses, ns.is('disabled', rateDisabled)]\"\n role=\"slider\"\n :aria-label=\"!isLabeledByFormItem ? ariaLabel || 'rating' : undefined\"\n :aria-labelledby=\"\n isLabeledByFormItem ? formItemContext?.labelId : undefined\n \"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text || undefined\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n :style=\"rateStyles\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[\n ns.e('icon'),\n { hover: hoverIndex === item },\n ns.is('active', item <= currentValue),\n ]\"\n >\n <template v-if=\"!showDecimalIcon(item)\">\n <component :is=\"activeComponent\" v-show=\"item <= currentValue\" />\n <component :is=\"voidComponent\" v-show=\"!(item <= currentValue)\" />\n </template>\n <template v-if=\"showDecimalIcon(item)\">\n <component :is=\"voidComponent\" :class=\"[ns.em('decimal', 'box')]\" />\n <el-icon\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </template>\n </el-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n :class=\"ns.e('text')\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, markRaw, ref, watch } from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { hasClass, isArray, isObject, isString } from '@element-plus/utils'\nimport {\n formContextKey,\n formItemContextKey,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { rateEmits, rateProps } from './rate'\nimport type { CSSProperties, Component } from 'vue'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\ndefineOptions({\n name: 'ElRate',\n})\n\nconst props = defineProps(rateProps)\nconst emit = defineEmits(rateEmits)\n\nconst formContext = inject(formContextKey, undefined)\nconst formItemContext = inject(formItemContextKey, undefined)\nconst rateSize = useFormSize()\nconst ns = useNamespace('rate')\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext,\n})\n\nconst currentValue = ref(props.modelValue)\nconst hoverIndex = ref(-1)\nconst pointerAtLeftHalf = ref(true)\n\nconst rateClasses = computed(() => [ns.b(), ns.m(rateSize.value)])\nconst rateDisabled = computed(() => props.disabled || formContext?.disabled)\nconst rateStyles = computed(() => {\n return ns.cssVarBlock({\n 'void-color': props.voidColor,\n 'disabled-void-color': props.disabledVoidColor,\n 'fill-color': activeColor.value,\n }) as CSSProperties\n})\n\nconst text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n})\nconst valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n)\nconst colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n)\nconst activeColor = computed(() => {\n const color = getValueFromMap(currentValue.value, colorMap.value)\n // {value: '', excluded: true} returned\n return isObject(color) ? '' : color\n})\nconst decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n})\nconst componentMap = computed(() => {\n let icons = isArray(props.icons) ? [...props.icons] : { ...props.icons }\n icons = markRaw(icons) as\n | Array<string | Component>\n | Record<number, string | Component>\n return isArray(icons)\n ? {\n [props.lowThreshold]: icons[0],\n [props.highThreshold]: {\n value: icons[1],\n excluded: true,\n },\n [props.max]: icons[2],\n }\n : icons\n})\nconst decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n)\nconst voidComponent = computed(() =>\n rateDisabled.value\n ? isString(props.disabledVoidIcon)\n ? props.disabledVoidIcon\n : (markRaw(props.disabledVoidIcon) as Component)\n : isString(props.voidIcon)\n ? props.voidIcon\n : (markRaw(props.voidIcon) as Component)\n)\nconst activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n)\n\nfunction showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n}\n\nfunction emitValue(value: number) {\n // if allow clear, and selected value is same as modelValue, reset value to 0\n if (props.clearable && value === props.modelValue) {\n value = 0\n }\n\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit('change', value)\n }\n}\n\nfunction selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emitValue(currentValue.value)\n } else {\n emitValue(value)\n }\n}\n\nfunction handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit('change', _currentValue)\n return _currentValue\n}\n\nfunction setCurrentValue(value: number, event?: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && event) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n}\n\nfunction resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n}\n\nwatch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n)\n\nif (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n}\n\ndefineExpose({\n /** @description set current value */\n setCurrentValue,\n /** @description reset current value */\n resetCurrentValue,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_unref","_normalizeClass","_normalizeStyle","_Fragment","_renderList"],"mappings":"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"}
1
+ {"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n :class=\"[rateClasses, ns.is('disabled', rateDisabled)]\"\n role=\"slider\"\n :aria-label=\"!isLabeledByFormItem ? ariaLabel || 'rating' : undefined\"\n :aria-labelledby=\"\n isLabeledByFormItem ? formItemContext?.labelId : undefined\n \"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text || undefined\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n :style=\"rateStyles\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[\n ns.e('icon'),\n { hover: hoverIndex === item },\n ns.is('active', item <= currentValue),\n ]\"\n >\n <template v-if=\"!showDecimalIcon(item)\">\n <component :is=\"activeComponent\" v-show=\"item <= currentValue\" />\n <component :is=\"voidComponent\" v-show=\"!(item <= currentValue)\" />\n </template>\n <template v-if=\"showDecimalIcon(item)\">\n <component :is=\"voidComponent\" :class=\"[ns.em('decimal', 'box')]\" />\n <el-icon\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </template>\n </el-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n :class=\"ns.e('text')\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, markRaw, ref, watch } from 'vue'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { hasClass, isArray, isObject, isString } from '@element-plus/utils'\nimport {\n formContextKey,\n formItemContextKey,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { rateEmits, rateProps } from './rate'\nimport type { CSSProperties, Component } from 'vue'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\ndefineOptions({\n name: 'ElRate',\n})\n\nconst props = defineProps(rateProps)\nconst emit = defineEmits(rateEmits)\n\nconst formContext = inject(formContextKey, undefined)\nconst formItemContext = inject(formItemContextKey, undefined)\nconst rateSize = useFormSize()\nconst ns = useNamespace('rate')\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext,\n})\n\nconst currentValue = ref(props.modelValue)\nconst hoverIndex = ref(-1)\nconst pointerAtLeftHalf = ref(true)\n\nconst rateClasses = computed(() => [ns.b(), ns.m(rateSize.value)])\nconst rateDisabled = computed(() => props.disabled || formContext?.disabled)\nconst rateStyles = computed(() => {\n return ns.cssVarBlock({\n 'void-color': props.voidColor,\n 'disabled-void-color': props.disabledVoidColor,\n 'fill-color': activeColor.value,\n }) as CSSProperties\n})\n\nconst text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n})\nconst valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n)\nconst colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n)\nconst activeColor = computed(() => {\n const color = getValueFromMap(currentValue.value, colorMap.value)\n // {value: '', excluded: true} returned\n return isObject(color) ? '' : color\n})\nconst decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n})\nconst componentMap = computed(() => {\n let icons = isArray(props.icons) ? [...props.icons] : { ...props.icons }\n icons = markRaw(icons) as\n | Array<string | Component>\n | Record<number, string | Component>\n return isArray(icons)\n ? {\n [props.lowThreshold]: icons[0],\n [props.highThreshold]: {\n value: icons[1],\n excluded: true,\n },\n [props.max]: icons[2],\n }\n : icons\n})\nconst decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n)\nconst voidComponent = computed(() =>\n rateDisabled.value\n ? isString(props.disabledVoidIcon)\n ? props.disabledVoidIcon\n : (markRaw(props.disabledVoidIcon) as Component)\n : isString(props.voidIcon)\n ? props.voidIcon\n : (markRaw(props.voidIcon) as Component)\n)\nconst activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n)\n\nfunction showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n}\n\nfunction emitValue(value: number) {\n // if allow clear, and selected value is same as modelValue, reset value to 0\n if (props.clearable && value === props.modelValue) {\n value = 0\n }\n\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit(CHANGE_EVENT, value)\n }\n}\n\nfunction selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emitValue(currentValue.value)\n } else {\n emitValue(value)\n }\n}\n\nfunction handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit(CHANGE_EVENT, _currentValue)\n return _currentValue\n}\n\nfunction setCurrentValue(value: number, event?: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && event) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n}\n\nfunction resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n}\n\nwatch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n)\n\nif (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n}\n\ndefineExpose({\n /** @description set current value */\n setCurrentValue,\n /** @description reset current value */\n resetCurrentValue,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_unref","_normalizeClass","_normalizeStyle","_Fragment","_renderList"],"mappings":"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"}
@@ -10,6 +10,7 @@ import { timePickerDefaultProps } from './props.mjs';
10
10
  import PickerRangeTrigger from './picker-range-trigger.mjs';
11
11
  import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
12
12
  import { useEmptyValues } from '../../../../hooks/use-empty-values/index.mjs';
13
+ import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../../constants/event.mjs';
13
14
  import { useLocale } from '../../../../hooks/use-locale/index.mjs';
14
15
  import { useNamespace } from '../../../../hooks/use-namespace/index.mjs';
15
16
  import { useFormItem } from '../../../form/src/hooks/use-form-item.mjs';
@@ -26,8 +27,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
26
27
  ...__default__,
27
28
  props: timePickerDefaultProps,
28
29
  emits: [
29
- "update:modelValue",
30
- "change",
30
+ UPDATE_MODEL_EVENT,
31
+ CHANGE_EVENT,
31
32
  "focus",
32
33
  "blur",
33
34
  "clear",
@@ -101,7 +102,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
101
102
  });
102
103
  const emitChange = (val, isClear) => {
103
104
  if (isClear || !valueEquals(val, valueOnOpen.value)) {
104
- emit("change", val);
105
+ emit(CHANGE_EVENT, val);
105
106
  isClear && (valueOnOpen.value = val);
106
107
  props.validateEvent && (formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err)));
107
108
  }
@@ -114,7 +115,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
114
115
  } else if (input) {
115
116
  formatted = formatter(input, props.valueFormat, lang.value);
116
117
  }
117
- emit("update:modelValue", input ? formatted : input, lang.value);
118
+ emit(UPDATE_MODEL_EVENT, input ? formatted : input, lang.value);
118
119
  }
119
120
  };
120
121
  const emitKeydown = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"picker.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n :visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"\n !editable ||\n readonly ||\n isDatesPicker ||\n isMonthsPicker ||\n isYearsPicker ||\n type === 'week'\n \"\n :aria-label=\"ariaLabel\"\n :tabindex=\"tabindex\"\n :validate-event=\"false\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @keydown=\"handleKeydownInput\"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart.passive=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart.passive=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @mousedown.prevent=\"NOOP\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <picker-range-trigger\n v-else\n :id=\"(id as string[] | undefined)\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"(name as string[] | undefined)\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :start-placeholder=\"startPlaceholder\"\n :end-placeholder=\"endPlaceholder\"\n :class=\"rangeInputKls\"\n :style=\"$attrs.style\"\n :aria-label=\"ariaLabel\"\n :tabindex=\"tabindex\"\n autocomplete=\"off\"\n role=\"combobox\"\n @click=\"onMouseDownInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @start-input=\"handleStartInput\"\n @start-change=\"handleStartChange\"\n @end-input=\"handleEndInput\"\n @end-change=\"handleEndChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart.passive=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #range-separator>\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"clearIcon\"\n :class=\"clearIconKls\"\n @mousedown.prevent=\"NOOP\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </picker-range-trigger>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :date-format=\"dateFormat\"\n :time-format=\"timeFormat\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n :show-now=\"showNow\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n provide,\n ref,\n unref,\n useAttrs,\n watch,\n} from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside, unrefElement } from '@vueuse/core'\nimport {\n useEmptyValues,\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { NOOP, debugWarn, isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { dayOrDaysToDate, formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\nimport PickerRangeTrigger from './picker-range-trigger.vue'\nimport type { InputInstance } from '@element-plus/components/input'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance, Ref } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type {\n DateModelType,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\nconst attrs = useAttrs()\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst { form, formItem } = useFormItem()\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\nconst { valueOnClear } = useEmptyValues(props, null)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<InputInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\nlet hasJustTabExitedInput = false\n\nconst { isFocused, handleFocus, handleBlur } = useFocusController(inputRef, {\n beforeFocus() {\n return props.readonly || pickerDisabled.value\n },\n afterFocus() {\n pickerVisible.value = true\n },\n beforeBlur(event) {\n return (\n !hasJustTabExitedInput && refPopper.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n handleChange()\n pickerVisible.value = false\n hasJustTabExitedInput = false\n props.validateEvent &&\n formItem?.validate('blur').catch((err) => debugWarn(err))\n },\n})\n\nconst rangeInputKls = computed(() => [\n nsDate.b('editor'),\n nsDate.bm('editor', props.type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled.value),\n nsDate.is('active', pickerVisible.value),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize.value) : '',\n attrs.class,\n])\n\nconst clearIconKls = computed(() => [\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n !showClose.value ? nsRange.e('close-icon--hidden') : '',\n])\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n nextTick(() => {\n if (val) {\n valueOnOpen.value = props.modelValue\n }\n })\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit('change', val)\n // Set the value of valueOnOpen when clearing to avoid triggering change events multiple times.\n isClear && (valueOnOpen.value = val)\n props.validateEvent &&\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit('update:modelValue', input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\n// @ts-ignore\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\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\nconst onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (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\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n pickerVisible.value = false\n emit('visible-change', false)\n}\n\nconst handleOpen = () => {\n pickerVisible.value = true\n}\n\nconst handleClose = () => {\n pickerVisible.value = false\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || form?.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n\n // The result is corrected only when model-value exists\n if (!valueIsEmpty.value) {\n emitInput(dayOrDaysToDate(dayOrDays))\n }\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (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 || isMonthsPicker.value || isYearsPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst isMonthsPicker = computed(() => props.type === 'months')\n\nconst isYearsPicker = computed(() => props.type === 'years')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n // When the handleClear Function was provided, emit null will be executed inside it\n // There is no need for us to execute emit null twice. #14752\n if (pickerOptions.value.handleClear) {\n pickerOptions.value.handleClear()\n } else {\n emitInput(valueOnClear.value)\n }\n emitChange(valueOnClear.value, true)\n showClose.value = false\n onHide()\n }\n emit('clear')\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if ((event.target as HTMLElement)?.tagName !== 'INPUT' || isFocused.value) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\n\nconst onTouchStartInput = (event: TouchEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n isFocused.value\n ) {\n pickerVisible.value = true\n }\n}\n\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useFormSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n\nconst stophandle = onClickOutside(\n inputRef as Ref<ComponentPublicInstance>,\n (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unrefElement(inputRef as Ref<ComponentPublicInstance>)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n (inputEl && e.composedPath().includes(inputEl))\n )\n return\n pickerVisible.value = false\n }\n)\n\nonBeforeUnmount(() => {\n stophandle?.()\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(dayOrDaysToDate(value))\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(valueOnClear.value)\n emitChange(valueOnClear.value, true)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: Event | KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event as KeyboardEvent\n emitKeydown(event as KeyboardEvent)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\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) as DayOrDays)\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 if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event as KeyboardEvent)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(dayOrDaysToDate(newValue))\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(dayOrDaysToDate(newValue))\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\n// @ts-ignore\nconst 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// @ts-ignore\nconst onCalendarChange = (e: [Date, null | Date]) => {\n emit('calendar-change', e)\n}\n\n// @ts-ignore\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description blur input box.\n */\n blur,\n /**\n * @description opens picker\n */\n handleOpen,\n /**\n * @description closes picker\n */\n handleClose,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"picker.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n :visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"\n !editable ||\n readonly ||\n isDatesPicker ||\n isMonthsPicker ||\n isYearsPicker ||\n type === 'week'\n \"\n :aria-label=\"ariaLabel\"\n :tabindex=\"tabindex\"\n :validate-event=\"false\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @keydown=\"handleKeydownInput\"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart.passive=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart.passive=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @mousedown.prevent=\"NOOP\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <picker-range-trigger\n v-else\n :id=\"(id as string[] | undefined)\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"(name as string[] | undefined)\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :start-placeholder=\"startPlaceholder\"\n :end-placeholder=\"endPlaceholder\"\n :class=\"rangeInputKls\"\n :style=\"$attrs.style\"\n :aria-label=\"ariaLabel\"\n :tabindex=\"tabindex\"\n autocomplete=\"off\"\n role=\"combobox\"\n @click=\"onMouseDownInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @start-input=\"handleStartInput\"\n @start-change=\"handleStartChange\"\n @end-input=\"handleEndInput\"\n @end-change=\"handleEndChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart.passive=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #range-separator>\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"clearIcon\"\n :class=\"clearIconKls\"\n @mousedown.prevent=\"NOOP\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </picker-range-trigger>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :date-format=\"dateFormat\"\n :time-format=\"timeFormat\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n :show-now=\"showNow\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n provide,\n ref,\n unref,\n useAttrs,\n watch,\n} from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside, unrefElement } from '@vueuse/core'\nimport {\n useEmptyValues,\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { NOOP, debugWarn, isArray } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { dayOrDaysToDate, formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\nimport PickerRangeTrigger from './picker-range-trigger.vue'\nimport type { InputInstance } from '@element-plus/components/input'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance, Ref } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type {\n DateModelType,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'focus',\n 'blur',\n 'clear',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\nconst attrs = useAttrs()\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst { form, formItem } = useFormItem()\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\nconst { valueOnClear } = useEmptyValues(props, null)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<InputInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\nlet hasJustTabExitedInput = false\n\nconst { isFocused, handleFocus, handleBlur } = useFocusController(inputRef, {\n beforeFocus() {\n return props.readonly || pickerDisabled.value\n },\n afterFocus() {\n pickerVisible.value = true\n },\n beforeBlur(event) {\n return (\n !hasJustTabExitedInput && refPopper.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n handleChange()\n pickerVisible.value = false\n hasJustTabExitedInput = false\n props.validateEvent &&\n formItem?.validate('blur').catch((err) => debugWarn(err))\n },\n})\n\nconst rangeInputKls = computed(() => [\n nsDate.b('editor'),\n nsDate.bm('editor', props.type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled.value),\n nsDate.is('active', pickerVisible.value),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize.value) : '',\n attrs.class,\n])\n\nconst clearIconKls = computed(() => [\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n !showClose.value ? nsRange.e('close-icon--hidden') : '',\n])\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n nextTick(() => {\n if (val) {\n valueOnOpen.value = props.modelValue\n }\n })\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit(CHANGE_EVENT, val)\n // Set the value of valueOnOpen when clearing to avoid triggering change events multiple times.\n isClear && (valueOnOpen.value = val)\n props.validateEvent &&\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit(UPDATE_MODEL_EVENT, input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\n// @ts-ignore\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\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\nconst onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (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\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n pickerVisible.value = false\n emit('visible-change', false)\n}\n\nconst handleOpen = () => {\n pickerVisible.value = true\n}\n\nconst handleClose = () => {\n pickerVisible.value = false\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || form?.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n\n // The result is corrected only when model-value exists\n if (!valueIsEmpty.value) {\n emitInput(dayOrDaysToDate(dayOrDays))\n }\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (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 || isMonthsPicker.value || isYearsPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst isMonthsPicker = computed(() => props.type === 'months')\n\nconst isYearsPicker = computed(() => props.type === 'years')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n // When the handleClear Function was provided, emit null will be executed inside it\n // There is no need for us to execute emit null twice. #14752\n if (pickerOptions.value.handleClear) {\n pickerOptions.value.handleClear()\n } else {\n emitInput(valueOnClear.value)\n }\n emitChange(valueOnClear.value, true)\n showClose.value = false\n onHide()\n }\n emit('clear')\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if ((event.target as HTMLElement)?.tagName !== 'INPUT' || isFocused.value) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\n\nconst onTouchStartInput = (event: TouchEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n isFocused.value\n ) {\n pickerVisible.value = true\n }\n}\n\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useFormSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n\nconst stophandle = onClickOutside(\n inputRef as Ref<ComponentPublicInstance>,\n (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unrefElement(inputRef as Ref<ComponentPublicInstance>)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n (inputEl && e.composedPath().includes(inputEl))\n )\n return\n pickerVisible.value = false\n }\n)\n\nonBeforeUnmount(() => {\n stophandle?.()\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(dayOrDaysToDate(value))\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(valueOnClear.value)\n emitChange(valueOnClear.value, true)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: Event | KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event as KeyboardEvent\n emitKeydown(event as KeyboardEvent)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\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) as DayOrDays)\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 if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event as KeyboardEvent)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(dayOrDaysToDate(newValue))\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(dayOrDaysToDate(newValue))\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\n// @ts-ignore\nconst 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// @ts-ignore\nconst onCalendarChange = (e: [Date, null | Date]) => {\n emit('calendar-change', e)\n}\n\n// @ts-ignore\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description blur input box.\n */\n blur,\n /**\n * @description opens picker\n */\n handleOpen,\n /**\n * @description closes picker\n */\n handleClose,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps"],"mappings":"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"}
@@ -9,6 +9,7 @@ import { basicTimeSpinnerProps } from '../props/basic-time-spinner.mjs';
9
9
  import { getTimeLists } from '../composables/use-time-picker.mjs';
10
10
  import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
11
11
  import { vRepeatClick } from '../../../../directives/repeat-click/index.mjs';
12
+ import { CHANGE_EVENT } from '../../../../constants/event.mjs';
12
13
  import { useNamespace } from '../../../../hooks/use-namespace/index.mjs';
13
14
  import { getStyle } from '../../../../utils/dom/style.mjs';
14
15
  import { isNumber } from '../../../../utils/types.mjs';
@@ -16,7 +17,7 @@ import { isNumber } from '../../../../utils/types.mjs';
16
17
  const _sfc_main = /* @__PURE__ */ defineComponent({
17
18
  __name: "basic-time-spinner",
18
19
  props: basicTimeSpinnerProps,
19
- emits: ["change", "select-range", "set-option"],
20
+ emits: [CHANGE_EVENT, "select-range", "set-option"],
20
21
  setup(__props, { emit }) {
21
22
  const props = __props;
22
23
  const pickerBase = inject("EP_PICKER_BASE");
@@ -161,7 +162,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
161
162
  changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value);
162
163
  break;
163
164
  }
164
- emit("change", changeTo);
165
+ emit(CHANGE_EVENT, changeTo);
165
166
  };
166
167
  const handleClick = (type, { value, disabled }) => {
167
168
  if (!disabled) {
@@ -1 +1 @@
1
- {"version":3,"file":"basic-time-spinner.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b('spinner'), { 'has-seconds': showSeconds }]\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scrollbar: unknown) => setRef(scrollbar as any, item)\"\n :class=\"ns.be('spinner', 'wrapper')\"\n wrap-style=\"max-height: inherit;\"\n :view-class=\"ns.be('spinner', 'list')\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in timeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartials[item]),\n ns.is('disabled', disabled),\n ]\"\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=\"[ns.be('spinner', 'wrapper'), ns.is('arrow')]\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecrement\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncrement\"\n :class=\"['arrow-down', ns.be('spinner', 'arrow')]\"\n >\n <arrow-down />\n </el-icon>\n <ul :class=\"ns.be('spinner', 'list')\">\n <li\n v-for=\"(time, key) in arrowControlTimeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartials[item]),\n ns.is('disabled', timeList[item][time!]),\n ]\"\n >\n <template v-if=\"isNumber(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\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, onMounted, ref, unref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { vRepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { getStyle, isNumber } from '@element-plus/utils'\nimport { timeUnits } from '../constants'\nimport { buildTimeList } from '../utils'\nimport { basicTimeSpinnerProps } from '../props/basic-time-spinner'\nimport { getTimeLists } from '../composables/use-time-picker'\n\nimport type { Ref } from 'vue'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { TimeUnit } from '../constants'\nimport type { TimeList } from '../utils'\n\nconst props = defineProps(basicTimeSpinnerProps)\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst { isRange } = pickerBase.props\nconst emit = defineEmits(['change', 'select-range', 'set-option'])\n\nconst ns = useNamespace('time')\n\nconst { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n)\n\n// data\nlet isScrolling = false\n\nconst currentScrollbar = ref<TimeUnit>()\nconst listHoursRef = ref<ScrollbarInstance>()\nconst listMinutesRef = ref<ScrollbarInstance>()\nconst listSecondsRef = ref<ScrollbarInstance>()\nconst listRefsMap: Record<TimeUnit, Ref<ScrollbarInstance | undefined>> = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n}\n\n// computed\nconst spinnerItems = computed(() => {\n return props.showSeconds ? timeUnits : timeUnits.slice(0, 2)\n})\n\nconst timePartials = computed<Record<TimeUnit, number>>(() => {\n const { spinnerDate } = props\n const hours = spinnerDate.hour()\n const minutes = spinnerDate.minute()\n const seconds = spinnerDate.second()\n return { hours, minutes, seconds }\n})\n\nconst timeList = computed(() => {\n const { hours, minutes } = unref(timePartials)\n const { role, spinnerDate } = props\n const compare = !isRange ? spinnerDate : undefined\n return {\n hours: getHoursList(role, compare),\n minutes: getMinutesList(hours, role, compare),\n seconds: getSecondsList(hours, minutes, role, compare),\n }\n})\n\nconst arrowControlTimeList = computed<Record<TimeUnit, TimeList>>(() => {\n const { hours, minutes, seconds } = unref(timePartials)\n\n return {\n hours: buildTimeList(hours, 23),\n minutes: buildTimeList(minutes, 59),\n seconds: buildTimeList(seconds, 59),\n }\n})\n\nconst debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n}, 200)\n\nconst getAmPmFlag = (hour: number) => {\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\nconst emitSelectRange = (type: TimeUnit) => {\n let range\n\n switch (type) {\n case 'hours':\n range = [0, 2]\n break\n case 'minutes':\n range = [3, 5]\n break\n case 'seconds':\n range = [6, 8]\n break\n }\n const [left, right] = range\n\n emit('select-range', left, right)\n currentScrollbar.value = type\n}\n\nconst adjustCurrentSpinner = (type: TimeUnit) => {\n adjustSpinner(type, unref(timePartials)[type])\n}\n\nconst adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n}\n\nconst getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\nconst adjustSpinner = (type: TimeUnit, value: number) => {\n if (props.arrowControl) return\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n}\n\nconst typeItemHeight = (type: TimeUnit): number => {\n const scrollbar = unref(listRefsMap[type])\n const listItem = scrollbar?.$el.querySelector('li')\n if (listItem) {\n return Number.parseFloat(getStyle(listItem, 'height')) || 0\n }\n return 0\n}\n\nconst onIncrement = () => {\n scrollDown(1)\n}\n\nconst onDecrement = () => {\n scrollDown(-1)\n}\n\nconst scrollDown = (step: number) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value!\n const now = unref(timePartials)[label]\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n const next = findNextUnDisabled(label, now, step, total)\n\n modifyDateField(label, next)\n adjustSpinner(label, next)\n nextTick(() => emitSelectRange(label))\n}\n\nconst findNextUnDisabled = (\n type: TimeUnit,\n now: number,\n step: number,\n total: number\n) => {\n let next = (now + step + total) % total\n const list = unref(timeList)[type]\n while (list[next] && next !== now) {\n next = (next + step + total) % total\n }\n return next\n}\n\nconst modifyDateField = (type: TimeUnit, value: number) => {\n const list = unref(timeList)[type]\n const isDisabled = list[value]\n if (isDisabled) return\n\n const { hours, minutes, seconds } = unref(timePartials)\n\n let changeTo\n switch (type) {\n case 'hours':\n changeTo = props.spinnerDate.hour(value).minute(minutes).second(seconds)\n break\n case 'minutes':\n changeTo = props.spinnerDate.hour(hours).minute(value).second(seconds)\n break\n case 'seconds':\n changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value)\n break\n }\n emit('change', changeTo)\n}\n\nconst handleClick = (\n type: TimeUnit,\n { value, disabled }: { value: number; disabled: boolean }\n) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n}\n\nconst handleScroll = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (!scrollbar) return\n\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(scrollbar.$el).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\nconst scrollBarHeight = (type: TimeUnit) => {\n return unref(listRefsMap[type])!.$el.offsetHeight\n}\n\nconst bindScrollEvent = () => {\n const bindFunction = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programmatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n}\n\nonMounted(() => {\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\nconst setRef = (scrollbar: ScrollbarInstance | null, type: TimeUnit) => {\n listRefsMap[type].value = scrollbar ?? undefined\n}\n\nemit('set-option', [`${props.role}_scrollDown`, scrollDown])\nemit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\nwatch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n)\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_Fragment","_renderList","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"basic-time-spinner.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b('spinner'), { 'has-seconds': showSeconds }]\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scrollbar: unknown) => setRef(scrollbar as any, item)\"\n :class=\"ns.be('spinner', 'wrapper')\"\n wrap-style=\"max-height: inherit;\"\n :view-class=\"ns.be('spinner', 'list')\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in timeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartials[item]),\n ns.is('disabled', disabled),\n ]\"\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=\"[ns.be('spinner', 'wrapper'), ns.is('arrow')]\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecrement\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncrement\"\n :class=\"['arrow-down', ns.be('spinner', 'arrow')]\"\n >\n <arrow-down />\n </el-icon>\n <ul :class=\"ns.be('spinner', 'list')\">\n <li\n v-for=\"(time, key) in arrowControlTimeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartials[item]),\n ns.is('disabled', timeList[item][time!]),\n ]\"\n >\n <template v-if=\"isNumber(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\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, onMounted, ref, unref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { vRepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { getStyle, isNumber } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { timeUnits } from '../constants'\nimport { buildTimeList } from '../utils'\nimport { basicTimeSpinnerProps } from '../props/basic-time-spinner'\nimport { getTimeLists } from '../composables/use-time-picker'\n\nimport type { Ref } from 'vue'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { TimeUnit } from '../constants'\nimport type { TimeList } from '../utils'\n\nconst props = defineProps(basicTimeSpinnerProps)\nconst pickerBase = inject('EP_PICKER_BASE') as any\nconst { isRange } = pickerBase.props\nconst emit = defineEmits([CHANGE_EVENT, 'select-range', 'set-option'])\n\nconst ns = useNamespace('time')\n\nconst { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n)\n\n// data\nlet isScrolling = false\n\nconst currentScrollbar = ref<TimeUnit>()\nconst listHoursRef = ref<ScrollbarInstance>()\nconst listMinutesRef = ref<ScrollbarInstance>()\nconst listSecondsRef = ref<ScrollbarInstance>()\nconst listRefsMap: Record<TimeUnit, Ref<ScrollbarInstance | undefined>> = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n}\n\n// computed\nconst spinnerItems = computed(() => {\n return props.showSeconds ? timeUnits : timeUnits.slice(0, 2)\n})\n\nconst timePartials = computed<Record<TimeUnit, number>>(() => {\n const { spinnerDate } = props\n const hours = spinnerDate.hour()\n const minutes = spinnerDate.minute()\n const seconds = spinnerDate.second()\n return { hours, minutes, seconds }\n})\n\nconst timeList = computed(() => {\n const { hours, minutes } = unref(timePartials)\n const { role, spinnerDate } = props\n const compare = !isRange ? spinnerDate : undefined\n return {\n hours: getHoursList(role, compare),\n minutes: getMinutesList(hours, role, compare),\n seconds: getSecondsList(hours, minutes, role, compare),\n }\n})\n\nconst arrowControlTimeList = computed<Record<TimeUnit, TimeList>>(() => {\n const { hours, minutes, seconds } = unref(timePartials)\n\n return {\n hours: buildTimeList(hours, 23),\n minutes: buildTimeList(minutes, 59),\n seconds: buildTimeList(seconds, 59),\n }\n})\n\nconst debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n}, 200)\n\nconst getAmPmFlag = (hour: number) => {\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\nconst emitSelectRange = (type: TimeUnit) => {\n let range\n\n switch (type) {\n case 'hours':\n range = [0, 2]\n break\n case 'minutes':\n range = [3, 5]\n break\n case 'seconds':\n range = [6, 8]\n break\n }\n const [left, right] = range\n\n emit('select-range', left, right)\n currentScrollbar.value = type\n}\n\nconst adjustCurrentSpinner = (type: TimeUnit) => {\n adjustSpinner(type, unref(timePartials)[type])\n}\n\nconst adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n}\n\nconst getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\nconst adjustSpinner = (type: TimeUnit, value: number) => {\n if (props.arrowControl) return\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n}\n\nconst typeItemHeight = (type: TimeUnit): number => {\n const scrollbar = unref(listRefsMap[type])\n const listItem = scrollbar?.$el.querySelector('li')\n if (listItem) {\n return Number.parseFloat(getStyle(listItem, 'height')) || 0\n }\n return 0\n}\n\nconst onIncrement = () => {\n scrollDown(1)\n}\n\nconst onDecrement = () => {\n scrollDown(-1)\n}\n\nconst scrollDown = (step: number) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value!\n const now = unref(timePartials)[label]\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n const next = findNextUnDisabled(label, now, step, total)\n\n modifyDateField(label, next)\n adjustSpinner(label, next)\n nextTick(() => emitSelectRange(label))\n}\n\nconst findNextUnDisabled = (\n type: TimeUnit,\n now: number,\n step: number,\n total: number\n) => {\n let next = (now + step + total) % total\n const list = unref(timeList)[type]\n while (list[next] && next !== now) {\n next = (next + step + total) % total\n }\n return next\n}\n\nconst modifyDateField = (type: TimeUnit, value: number) => {\n const list = unref(timeList)[type]\n const isDisabled = list[value]\n if (isDisabled) return\n\n const { hours, minutes, seconds } = unref(timePartials)\n\n let changeTo\n switch (type) {\n case 'hours':\n changeTo = props.spinnerDate.hour(value).minute(minutes).second(seconds)\n break\n case 'minutes':\n changeTo = props.spinnerDate.hour(hours).minute(value).second(seconds)\n break\n case 'seconds':\n changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value)\n break\n }\n emit(CHANGE_EVENT, changeTo)\n}\n\nconst handleClick = (\n type: TimeUnit,\n { value, disabled }: { value: number; disabled: boolean }\n) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n}\n\nconst handleScroll = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (!scrollbar) return\n\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(scrollbar.$el).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\nconst scrollBarHeight = (type: TimeUnit) => {\n return unref(listRefsMap[type])!.$el.offsetHeight\n}\n\nconst bindScrollEvent = () => {\n const bindFunction = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programmatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n}\n\nonMounted(() => {\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\nconst setRef = (scrollbar: ScrollbarInstance | null, type: TimeUnit) => {\n listRefsMap[type].value = scrollbar ?? undefined\n}\n\nemit('set-option', [`${props.role}_scrollDown`, scrollDown])\nemit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\nwatch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n)\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_Fragment","_renderList","_createBlock"],"mappings":"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"}
@@ -6,6 +6,7 @@ import CommonPicker from './common/picker.mjs';
6
6
  import TimePickPanel from './time-picker-com/panel-time-pick.mjs';
7
7
  import TimeRangePanel from './time-picker-com/panel-time-range.mjs';
8
8
  import { timePickerDefaultProps } from './common/props.mjs';
9
+ import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
9
10
 
10
11
  dayjs.extend(customParseFormat);
11
12
  var TimePicker = defineComponent({
@@ -18,11 +19,11 @@ var TimePicker = defineComponent({
18
19
  default: false
19
20
  }
20
21
  },
21
- emits: ["update:modelValue"],
22
+ emits: [UPDATE_MODEL_EVENT],
22
23
  setup(props, ctx) {
23
24
  const commonPicker = ref();
24
25
  const [type, Panel] = props.isRange ? ["timerange", TimeRangePanel] : ["time", TimePickPanel];
25
- const modelUpdater = (value) => ctx.emit("update:modelValue", value);
26
+ const modelUpdater = (value) => ctx.emit(UPDATE_MODEL_EVENT, value);
26
27
  provide("ElPopperOptions", props.popperOptions);
27
28
  ctx.expose({
28
29
  focus: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"time-picker.mjs","sources":["../../../../../../packages/components/time-picker/src/time-picker.tsx"],"sourcesContent":["import { defineComponent, provide, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport { DEFAULT_FORMATS_TIME } from './constants'\nimport Picker from './common/picker.vue'\nimport TimePickPanel from './time-picker-com/panel-time-pick.vue'\nimport TimeRangePanel from './time-picker-com/panel-time-range.vue'\nimport { timePickerDefaultProps } from './common/props'\ndayjs.extend(customParseFormat)\n\nexport default defineComponent({\n name: 'ElTimePicker',\n install: null,\n props: {\n ...timePickerDefaultProps,\n /**\n * @description whether to pick a time range\n */\n isRange: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n setup(props, ctx) {\n const commonPicker = ref<InstanceType<typeof Picker>>()\n const [type, Panel] = props.isRange\n ? ['timerange', TimeRangePanel]\n : ['time', TimePickPanel]\n\n const modelUpdater = (value: any) => ctx.emit('update:modelValue', value)\n provide('ElPopperOptions', props.popperOptions)\n ctx.expose({\n /**\n * @description focus the Input component\n */\n focus: () => {\n commonPicker.value?.focus()\n },\n /**\n * @description blur the Input component\n */\n blur: () => {\n commonPicker.value?.blur()\n },\n /**\n * @description open the TimePicker popper\n */\n handleOpen: () => {\n commonPicker.value?.handleOpen()\n },\n /**\n * @description close the TimePicker popper\n */\n handleClose: () => {\n commonPicker.value?.handleClose()\n },\n })\n\n return () => {\n const format = props.format ?? DEFAULT_FORMATS_TIME\n\n return (\n <Picker\n {...props}\n ref={commonPicker}\n type={type}\n format={format}\n onUpdate:modelValue={modelUpdater}\n >\n {{\n default: (props: any) => <Panel {...props} />,\n }}\n </Picker>\n )\n }\n },\n})\n"],"names":["dayjs","extend","customParseFormat","defineComponent","name","install","props","isRange","type","default","setup","commonPicker","modelUpdater","value","ctx","emit","provide","expose","focus","blur","_createVNode","Picker","_mergeProps","handleOpen","handleClose"],"mappings":";;;;;;;;;AAQAA,KAAK,CAACC,MAAN,CAAaC,iBAAb,CAAA,CAAA;AAEA,iBAAeC,eAAe,CAAC;AAC7BC,EAAAA,IAAI,EAAE,cADuB;AAE7BC,EAAAA,OAAO,EAAE,IAFoB;EAG7BC,KAAK,EAAE;;AAEL,IAAA,OAAA,EAAA;AACJ,MAAA,IAAA,EAAA,OAAA;AACA,MAAA,OAAA,EAAA,KAAA;AACIC,KAAAA;AACEC,GAAAA;AACAC,EAAAA,KAAAA,EAAAA,CAAAA,mBAAS,CAAA;AAFF,EAAA,KAAA,CAAA,KAAA,EAAA,GAAA,EAAA;IARkB,MAAA,YAAA,GAAA,GAAA,EAAA,CAAA;IAaxB,MAAG,CAAA,IAAA,EAAA,KAAA,CAAA,GAAA,KAbqB,CAAA,OAAA,GAAA,CAAA,WAAA,EAAA,cAAA,CAAA,GAAA,CAAA,MAAA,EAAA,aAAA,CAAA,CAAA;;AAc7BC,IAAAA,OAAMJ,CAAAA,iBAAY,EAAA,KAAA,CAAA,aAAA,CAAA,CAAA;IAChB,GAAMK,CAAAA,MAAAA,CAAAA;AACN,MAAA,KAAOH,EAAD;;QAIAI,CAAAA,EAAAA,GAAAA,YAAgBC,CAAAA,KAAeC,KAAG,IAACC,GAAK,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAqBF,CAAAA;;AACnEG,MAAAA,IAAAA,EAAQ,MAAD;QACHC,MAAJ,CAAW;AACT,QAAA,CAAA,EAAA,GAAA,YAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AACN,OAAA;AACA,MAAA,UAAA,EAAA,MAAA;AACMC,QAAAA,MAAa,CAAA;QACXP,CAAY,EAAA,GAAA,YAAZ,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAA,EAAA,CAAA;OALO;;AAOT,QAAA,IAAA,EAAA,CAAA;AACN,QAAA,CAAA,EAAA,GAAA,YAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,EAAA,CAAA;AACA,OAAA;AACMQ,KAAAA,CAAAA,CAAAA;WACc,MAAA;MACb,IAZQ,EAAA,CAAA;;AAaT,MAAA,OAAAC,WAAA,CAAAC,YAAA,EAAAC,UAAA,CAAA,KAAA,EAAA;AACN,QAAA,KAAA,EAAA,YAAA;AACA,QAAA,MAAA,EAAA,IAAA;AACMC,QAAAA,QAAU,EAAE,MAAM;QAChBZ,qBAAA,EAAA,YAAA;OAjBO,CAAA,EAAA;;AAmBT,OAAA,CAAA,CAAA;AACN,KAAA,CAAA;AACA,GAAA;AACMa,CAAAA,CAAAA;;;;"}
1
+ {"version":3,"file":"time-picker.mjs","sources":["../../../../../../packages/components/time-picker/src/time-picker.tsx"],"sourcesContent":["import { defineComponent, provide, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { DEFAULT_FORMATS_TIME } from './constants'\nimport Picker from './common/picker.vue'\nimport TimePickPanel from './time-picker-com/panel-time-pick.vue'\nimport TimeRangePanel from './time-picker-com/panel-time-range.vue'\nimport { timePickerDefaultProps } from './common/props'\ndayjs.extend(customParseFormat)\n\nexport default defineComponent({\n name: 'ElTimePicker',\n install: null,\n props: {\n ...timePickerDefaultProps,\n /**\n * @description whether to pick a time range\n */\n isRange: {\n type: Boolean,\n default: false,\n },\n },\n emits: [UPDATE_MODEL_EVENT],\n setup(props, ctx) {\n const commonPicker = ref<InstanceType<typeof Picker>>()\n const [type, Panel] = props.isRange\n ? ['timerange', TimeRangePanel]\n : ['time', TimePickPanel]\n\n const modelUpdater = (value: any) => ctx.emit(UPDATE_MODEL_EVENT, value)\n provide('ElPopperOptions', props.popperOptions)\n ctx.expose({\n /**\n * @description focus the Input component\n */\n focus: () => {\n commonPicker.value?.focus()\n },\n /**\n * @description blur the Input component\n */\n blur: () => {\n commonPicker.value?.blur()\n },\n /**\n * @description open the TimePicker popper\n */\n handleOpen: () => {\n commonPicker.value?.handleOpen()\n },\n /**\n * @description close the TimePicker popper\n */\n handleClose: () => {\n commonPicker.value?.handleClose()\n },\n })\n\n return () => {\n const format = props.format ?? DEFAULT_FORMATS_TIME\n\n return (\n <Picker\n {...props}\n ref={commonPicker}\n type={type}\n format={format}\n onUpdate:modelValue={modelUpdater}\n >\n {{\n default: (props: any) => <Panel {...props} />,\n }}\n </Picker>\n )\n }\n },\n})\n"],"names":["dayjs","extend","customParseFormat","defineComponent","name","install","props","isRange","type","default","UPDATE_MODEL_EVENT","setup","commonPicker","modelUpdater","value","ctx","emit","provide","expose","focus","blur","_createVNode","Picker","_mergeProps","handleOpen","handleClose"],"mappings":";;;;;;;;;;AASAA,KAAK,CAACC,MAAN,CAAaC,iBAAb,CAAA,CAAA;AAEA,iBAAeC,eAAe,CAAC;AAC7BC,EAAAA,IAAI,EAAE,cADuB;AAE7BC,EAAAA,OAAO,EAAE,IAFoB;EAG7BC,KAAK,EAAE;;AAEL,IAAA,OAAA,EAAA;AACJ,MAAA,IAAA,EAAA,OAAA;AACA,MAAA,OAAA,EAAA,KAAA;AACIC,KAAAA;AACEC,GAAAA;AACAC,EAAAA,KAAAA,EAAAA,CAAAA,kBAAS,CAAA;AAFF,EAAA,KAAA,CAAA,KAAA,EAAA,GAAA,EAAA;IARkB,MAAA,YAAA,GAAA,GAAA,EAAA,CAAA;IAaxB,MAAGC,CAAAA,IAAAA,EAAAA,KAAAA,CAAAA,GAAAA,KAbqB,CAAA,OAAA,GAAA,CAAA,WAAA,EAAA,cAAA,CAAA,GAAA,CAAA,MAAA,EAAA,aAAA,CAAA,CAAA;;AAc7BC,IAAAA,OAAML,CAAAA,iBAAY,EAAA,KAAA,CAAA,aAAA,CAAA,CAAA;IAChB,GAAMM,CAAAA,MAAAA,CAAAA;AACN,MAAA,KAAOJ,EAAD;;QAIAK,CAAAA,EAAAA,GAAAA,YAAgBC,CAAAA,KAAeC,KAAG,IAACC,GAAKN,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,KAAT,EAA6BI,CAAAA;;AAClEG,MAAAA,IAAAA,EAAQ,MAAD;QACHC,MAAJ,CAAW;AACT,QAAA,CAAA,EAAA,GAAA,YAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AACN,OAAA;AACA,MAAA,UAAA,EAAA,MAAA;AACMC,QAAAA,MAAa,CAAA;QACXP,CAAY,EAAA,GAAA,YAAZ,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAA,EAAA,CAAA;OALO;;AAOT,QAAA,IAAA,EAAA,CAAA;AACN,QAAA,CAAA,EAAA,GAAA,YAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,EAAA,CAAA;AACA,OAAA;AACMQ,KAAAA,CAAAA,CAAAA;WACc,MAAA;MACb,IAZQ,EAAA,CAAA;;AAaT,MAAA,OAAAC,WAAA,CAAAC,YAAA,EAAAC,UAAA,CAAA,KAAA,EAAA;AACN,QAAA,KAAA,EAAA,YAAA;AACA,QAAA,MAAA,EAAA,IAAA;AACMC,QAAAA,QAAU,EAAE,MAAM;QAChBZ,qBAAA,EAAA,YAAA;OAjBO,CAAA,EAAA;;AAmBT,OAAA,CAAA,CAAA;AACN,KAAA,CAAA;AACA,GAAA;AACMa,CAAAA,CAAAA;;;;"}
@@ -1,5 +1,5 @@
1
- import TimeSelect from './src/time-select.mjs';
2
- export { timeSelectProps } from './src/time-select2.mjs';
1
+ import TimeSelect from './src/time-select2.mjs';
2
+ export { timeSelectProps } from './src/time-select.mjs';
3
3
  import { withInstall } from '../../utils/vue/install.mjs';
4
4
 
5
5
  const ElTimeSelect = withInstall(TimeSelect);