@element-plus/nightly 0.0.20220528 → 0.0.20220529

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 (440) hide show
  1. package/dist/index.full.js +652 -727
  2. package/dist/index.full.min.js +15 -15
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +18 -18
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +653 -728
  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.js +1 -1
  12. package/dist/locale/ar.min.js +1 -1
  13. package/dist/locale/ar.min.mjs +1 -1
  14. package/dist/locale/ar.mjs +1 -1
  15. package/dist/locale/az.js +1 -1
  16. package/dist/locale/az.min.js +1 -1
  17. package/dist/locale/az.min.mjs +1 -1
  18. package/dist/locale/az.mjs +1 -1
  19. package/dist/locale/bg.js +1 -1
  20. package/dist/locale/bg.min.js +1 -1
  21. package/dist/locale/bg.min.mjs +1 -1
  22. package/dist/locale/bg.mjs +1 -1
  23. package/dist/locale/bn.js +1 -1
  24. package/dist/locale/bn.min.js +1 -1
  25. package/dist/locale/bn.min.mjs +1 -1
  26. package/dist/locale/bn.mjs +1 -1
  27. package/dist/locale/ca.js +1 -1
  28. package/dist/locale/ca.min.js +1 -1
  29. package/dist/locale/ca.min.mjs +1 -1
  30. package/dist/locale/ca.mjs +1 -1
  31. package/dist/locale/cs.js +1 -1
  32. package/dist/locale/cs.min.js +1 -1
  33. package/dist/locale/cs.min.mjs +1 -1
  34. package/dist/locale/cs.mjs +1 -1
  35. package/dist/locale/da.js +1 -1
  36. package/dist/locale/da.min.js +1 -1
  37. package/dist/locale/da.min.mjs +1 -1
  38. package/dist/locale/da.mjs +1 -1
  39. package/dist/locale/de.js +1 -1
  40. package/dist/locale/de.min.js +1 -1
  41. package/dist/locale/de.min.mjs +1 -1
  42. package/dist/locale/de.mjs +1 -1
  43. package/dist/locale/el.js +1 -1
  44. package/dist/locale/el.min.js +1 -1
  45. package/dist/locale/el.min.mjs +1 -1
  46. package/dist/locale/el.mjs +1 -1
  47. package/dist/locale/en.js +1 -1
  48. package/dist/locale/en.min.js +1 -1
  49. package/dist/locale/en.min.mjs +1 -1
  50. package/dist/locale/en.mjs +1 -1
  51. package/dist/locale/eo.js +1 -1
  52. package/dist/locale/eo.min.js +1 -1
  53. package/dist/locale/eo.min.mjs +1 -1
  54. package/dist/locale/eo.mjs +1 -1
  55. package/dist/locale/es.js +1 -1
  56. package/dist/locale/es.min.js +1 -1
  57. package/dist/locale/es.min.mjs +1 -1
  58. package/dist/locale/es.mjs +1 -1
  59. package/dist/locale/et.js +1 -1
  60. package/dist/locale/et.min.js +1 -1
  61. package/dist/locale/et.min.mjs +1 -1
  62. package/dist/locale/et.mjs +1 -1
  63. package/dist/locale/eu.js +1 -1
  64. package/dist/locale/eu.min.js +1 -1
  65. package/dist/locale/eu.min.mjs +1 -1
  66. package/dist/locale/eu.mjs +1 -1
  67. package/dist/locale/fa.js +1 -1
  68. package/dist/locale/fa.min.js +1 -1
  69. package/dist/locale/fa.min.mjs +1 -1
  70. package/dist/locale/fa.mjs +1 -1
  71. package/dist/locale/fi.js +1 -1
  72. package/dist/locale/fi.min.js +1 -1
  73. package/dist/locale/fi.min.mjs +1 -1
  74. package/dist/locale/fi.mjs +1 -1
  75. package/dist/locale/fr.js +1 -1
  76. package/dist/locale/fr.min.js +1 -1
  77. package/dist/locale/fr.min.mjs +1 -1
  78. package/dist/locale/fr.mjs +1 -1
  79. package/dist/locale/he.js +1 -1
  80. package/dist/locale/he.min.js +1 -1
  81. package/dist/locale/he.min.mjs +1 -1
  82. package/dist/locale/he.mjs +1 -1
  83. package/dist/locale/hr.js +1 -1
  84. package/dist/locale/hr.min.js +1 -1
  85. package/dist/locale/hr.min.mjs +1 -1
  86. package/dist/locale/hr.mjs +1 -1
  87. package/dist/locale/hu.js +1 -1
  88. package/dist/locale/hu.min.js +1 -1
  89. package/dist/locale/hu.min.mjs +1 -1
  90. package/dist/locale/hu.mjs +1 -1
  91. package/dist/locale/hy-am.js +1 -1
  92. package/dist/locale/hy-am.min.js +1 -1
  93. package/dist/locale/hy-am.min.mjs +1 -1
  94. package/dist/locale/hy-am.mjs +1 -1
  95. package/dist/locale/id.js +1 -1
  96. package/dist/locale/id.min.js +1 -1
  97. package/dist/locale/id.min.mjs +1 -1
  98. package/dist/locale/id.mjs +1 -1
  99. package/dist/locale/it.js +1 -1
  100. package/dist/locale/it.min.js +1 -1
  101. package/dist/locale/it.min.mjs +1 -1
  102. package/dist/locale/it.mjs +1 -1
  103. package/dist/locale/ja.js +1 -1
  104. package/dist/locale/ja.min.js +1 -1
  105. package/dist/locale/ja.min.mjs +1 -1
  106. package/dist/locale/ja.mjs +1 -1
  107. package/dist/locale/kk.js +1 -1
  108. package/dist/locale/kk.min.js +1 -1
  109. package/dist/locale/kk.min.mjs +1 -1
  110. package/dist/locale/kk.mjs +1 -1
  111. package/dist/locale/km.js +1 -1
  112. package/dist/locale/km.min.js +1 -1
  113. package/dist/locale/km.min.mjs +1 -1
  114. package/dist/locale/km.mjs +1 -1
  115. package/dist/locale/ko.js +1 -1
  116. package/dist/locale/ko.min.js +1 -1
  117. package/dist/locale/ko.min.mjs +1 -1
  118. package/dist/locale/ko.mjs +1 -1
  119. package/dist/locale/ku.js +1 -1
  120. package/dist/locale/ku.min.js +1 -1
  121. package/dist/locale/ku.min.mjs +1 -1
  122. package/dist/locale/ku.mjs +1 -1
  123. package/dist/locale/ky.js +1 -1
  124. package/dist/locale/ky.min.js +1 -1
  125. package/dist/locale/ky.min.mjs +1 -1
  126. package/dist/locale/ky.mjs +1 -1
  127. package/dist/locale/lt.js +1 -1
  128. package/dist/locale/lt.min.js +1 -1
  129. package/dist/locale/lt.min.mjs +1 -1
  130. package/dist/locale/lt.mjs +1 -1
  131. package/dist/locale/lv.js +1 -1
  132. package/dist/locale/lv.min.js +1 -1
  133. package/dist/locale/lv.min.mjs +1 -1
  134. package/dist/locale/lv.mjs +1 -1
  135. package/dist/locale/mg.js +1 -1
  136. package/dist/locale/mg.min.js +1 -1
  137. package/dist/locale/mg.min.mjs +1 -1
  138. package/dist/locale/mg.mjs +1 -1
  139. package/dist/locale/mn.js +1 -1
  140. package/dist/locale/mn.min.js +1 -1
  141. package/dist/locale/mn.min.mjs +1 -1
  142. package/dist/locale/mn.mjs +1 -1
  143. package/dist/locale/nb-no.js +1 -1
  144. package/dist/locale/nb-no.min.js +1 -1
  145. package/dist/locale/nb-no.min.mjs +1 -1
  146. package/dist/locale/nb-no.mjs +1 -1
  147. package/dist/locale/nl.js +1 -1
  148. package/dist/locale/nl.min.js +1 -1
  149. package/dist/locale/nl.min.mjs +1 -1
  150. package/dist/locale/nl.mjs +1 -1
  151. package/dist/locale/pa.js +1 -1
  152. package/dist/locale/pa.min.js +1 -1
  153. package/dist/locale/pa.min.mjs +1 -1
  154. package/dist/locale/pa.mjs +1 -1
  155. package/dist/locale/pl.js +1 -1
  156. package/dist/locale/pl.min.js +1 -1
  157. package/dist/locale/pl.min.mjs +1 -1
  158. package/dist/locale/pl.mjs +1 -1
  159. package/dist/locale/pt-br.js +1 -1
  160. package/dist/locale/pt-br.min.js +1 -1
  161. package/dist/locale/pt-br.min.mjs +1 -1
  162. package/dist/locale/pt-br.mjs +1 -1
  163. package/dist/locale/pt.js +1 -1
  164. package/dist/locale/pt.min.js +1 -1
  165. package/dist/locale/pt.min.mjs +1 -1
  166. package/dist/locale/pt.mjs +1 -1
  167. package/dist/locale/ro.js +1 -1
  168. package/dist/locale/ro.min.js +1 -1
  169. package/dist/locale/ro.min.mjs +1 -1
  170. package/dist/locale/ro.mjs +1 -1
  171. package/dist/locale/ru.js +1 -1
  172. package/dist/locale/ru.min.js +1 -1
  173. package/dist/locale/ru.min.mjs +1 -1
  174. package/dist/locale/ru.mjs +1 -1
  175. package/dist/locale/sk.js +1 -1
  176. package/dist/locale/sk.min.js +1 -1
  177. package/dist/locale/sk.min.mjs +1 -1
  178. package/dist/locale/sk.mjs +1 -1
  179. package/dist/locale/sl.js +1 -1
  180. package/dist/locale/sl.min.js +1 -1
  181. package/dist/locale/sl.min.mjs +1 -1
  182. package/dist/locale/sl.mjs +1 -1
  183. package/dist/locale/sr.js +1 -1
  184. package/dist/locale/sr.min.js +1 -1
  185. package/dist/locale/sr.min.mjs +1 -1
  186. package/dist/locale/sr.mjs +1 -1
  187. package/dist/locale/sv.js +1 -1
  188. package/dist/locale/sv.min.js +1 -1
  189. package/dist/locale/sv.min.mjs +1 -1
  190. package/dist/locale/sv.mjs +1 -1
  191. package/dist/locale/ta.js +1 -1
  192. package/dist/locale/ta.min.js +1 -1
  193. package/dist/locale/ta.min.mjs +1 -1
  194. package/dist/locale/ta.mjs +1 -1
  195. package/dist/locale/th.js +1 -1
  196. package/dist/locale/th.min.js +1 -1
  197. package/dist/locale/th.min.mjs +1 -1
  198. package/dist/locale/th.mjs +1 -1
  199. package/dist/locale/tk.js +1 -1
  200. package/dist/locale/tk.min.js +1 -1
  201. package/dist/locale/tk.min.mjs +1 -1
  202. package/dist/locale/tk.mjs +1 -1
  203. package/dist/locale/tr.js +1 -1
  204. package/dist/locale/tr.min.js +1 -1
  205. package/dist/locale/tr.min.mjs +1 -1
  206. package/dist/locale/tr.mjs +1 -1
  207. package/dist/locale/ug-cn.js +1 -1
  208. package/dist/locale/ug-cn.min.js +1 -1
  209. package/dist/locale/ug-cn.min.mjs +1 -1
  210. package/dist/locale/ug-cn.mjs +1 -1
  211. package/dist/locale/uk.js +1 -1
  212. package/dist/locale/uk.min.js +1 -1
  213. package/dist/locale/uk.min.mjs +1 -1
  214. package/dist/locale/uk.mjs +1 -1
  215. package/dist/locale/uz-uz.js +1 -1
  216. package/dist/locale/uz-uz.min.js +1 -1
  217. package/dist/locale/uz-uz.min.mjs +1 -1
  218. package/dist/locale/uz-uz.mjs +1 -1
  219. package/dist/locale/vi.js +1 -1
  220. package/dist/locale/vi.min.js +1 -1
  221. package/dist/locale/vi.min.mjs +1 -1
  222. package/dist/locale/vi.mjs +1 -1
  223. package/dist/locale/zh-cn.js +1 -1
  224. package/dist/locale/zh-cn.min.js +1 -1
  225. package/dist/locale/zh-cn.min.mjs +1 -1
  226. package/dist/locale/zh-cn.mjs +1 -1
  227. package/dist/locale/zh-tw.js +1 -1
  228. package/dist/locale/zh-tw.min.js +1 -1
  229. package/dist/locale/zh-tw.min.mjs +1 -1
  230. package/dist/locale/zh-tw.mjs +1 -1
  231. package/es/components/affix/src/affix3.mjs +5 -2
  232. package/es/components/affix/src/affix3.mjs.map +1 -1
  233. package/es/components/alert/src/alert4.mjs +5 -2
  234. package/es/components/alert/src/alert4.mjs.map +1 -1
  235. package/es/components/autocomplete/src/autocomplete3.mjs +3 -3
  236. package/es/components/autocomplete/src/autocomplete3.mjs.map +1 -1
  237. package/es/components/autocomplete/src/autocomplete4.mjs +41 -52
  238. package/es/components/autocomplete/src/autocomplete4.mjs.map +1 -1
  239. package/es/components/avatar/src/avatar3.mjs +2 -1
  240. package/es/components/avatar/src/avatar3.mjs.map +1 -1
  241. package/es/components/backtop/src/backtop3.mjs.map +1 -1
  242. package/es/components/backtop/src/backtop4.mjs +1 -1
  243. package/es/components/backtop/src/backtop4.mjs.map +1 -1
  244. package/es/components/breadcrumb/src/breadcrumb-item4.mjs +4 -4
  245. package/es/components/breadcrumb/src/breadcrumb-item4.mjs.map +1 -1
  246. package/es/components/calendar/src/calendar3.mjs +6 -4
  247. package/es/components/calendar/src/calendar3.mjs.map +1 -1
  248. package/es/components/calendar/src/calendar4.mjs +31 -37
  249. package/es/components/calendar/src/calendar4.mjs.map +1 -1
  250. package/es/components/calendar/src/date-table4.mjs.map +1 -1
  251. package/es/components/card/src/card3.mjs +1 -0
  252. package/es/components/card/src/card3.mjs.map +1 -1
  253. package/es/components/check-tag/src/check-tag3.mjs +3 -1
  254. package/es/components/check-tag/src/check-tag3.mjs.map +1 -1
  255. package/es/components/check-tag/src/check-tag4.mjs +3 -1
  256. package/es/components/check-tag/src/check-tag4.mjs.map +1 -1
  257. package/es/components/collapse-transition/src/collapse-transition2.mjs +62 -62
  258. package/es/components/collapse-transition/src/collapse-transition2.mjs.map +1 -1
  259. package/es/components/date-picker/src/date-picker-com/panel-date-range2.mjs +2 -2
  260. package/es/components/date-picker/src/date-picker-com/panel-date-range2.mjs.map +1 -1
  261. package/es/components/image-viewer/index.mjs +1 -1
  262. package/es/components/image-viewer/index2.mjs +2 -2
  263. package/es/components/image-viewer/src/image-viewer.mjs +1 -1
  264. package/es/components/image-viewer/src/image-viewer3.mjs +399 -34
  265. package/es/components/image-viewer/src/image-viewer3.mjs.map +1 -1
  266. package/es/components/image-viewer/src/image-viewer4.mjs +34 -399
  267. package/es/components/image-viewer/src/image-viewer4.mjs.map +1 -1
  268. package/es/components/index.mjs +1 -1
  269. package/es/components/input-number/src/input-number4.mjs +90 -118
  270. package/es/components/input-number/src/input-number4.mjs.map +1 -1
  271. package/es/components/progress/src/progress3.mjs.map +1 -1
  272. package/es/components/progress/src/progress4.mjs +124 -153
  273. package/es/components/progress/src/progress4.mjs.map +1 -1
  274. package/es/components/rate/src/rate3.mjs +8 -11
  275. package/es/components/rate/src/rate3.mjs.map +1 -1
  276. package/es/components/time-picker/src/time-picker-com/basic-time-spinner2.mjs +2 -2
  277. package/es/components/time-picker/src/time-picker-com/basic-time-spinner2.mjs.map +1 -1
  278. package/es/components/tooltip/src/tooltip3.mjs +3 -1
  279. package/es/components/tooltip/src/tooltip3.mjs.map +1 -1
  280. package/es/directives/repeat-click/index2.mjs +2 -2
  281. package/es/directives/repeat-click/index2.mjs.map +1 -1
  282. package/es/index.mjs +1 -1
  283. package/es/packages/components/alert/index.d.ts +3 -3
  284. package/es/packages/components/alert/src/alert.vue.d.ts +3 -3
  285. package/es/packages/components/autocomplete/index.d.ts +32 -30
  286. package/es/packages/components/autocomplete/src/autocomplete.d.ts +1 -3
  287. package/es/packages/components/autocomplete/src/autocomplete.vue.d.ts +32 -30
  288. package/es/packages/components/backtop/src/backtop.d.ts +2 -0
  289. package/es/packages/components/breadcrumb/index.d.ts +8 -8
  290. package/es/packages/components/breadcrumb/src/breadcrumb-item.vue.d.ts +4 -5
  291. package/es/packages/components/calendar/index.d.ts +3 -3
  292. package/es/packages/components/calendar/src/calendar.vue.d.ts +3 -3
  293. package/es/packages/components/card/index.d.ts +3 -3
  294. package/es/packages/components/card/src/card.d.ts +1 -1
  295. package/es/packages/components/card/src/card.vue.d.ts +3 -3
  296. package/es/packages/components/cascader/index.d.ts +18 -18
  297. package/es/packages/components/cascader/src/index.vue.d.ts +9 -9
  298. package/es/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  299. package/es/packages/components/date-picker/src/utils.d.ts +1 -1
  300. package/es/packages/components/dropdown/index.d.ts +9 -9
  301. package/es/packages/components/dropdown/src/dropdown.vue.d.ts +9 -9
  302. package/es/packages/components/input-number/index.d.ts +471 -109
  303. package/es/packages/components/input-number/src/input-number.vue.d.ts +471 -110
  304. package/es/packages/components/pagination/src/components/sizes.vue.d.ts +9 -9
  305. package/es/packages/components/popconfirm/index.d.ts +14 -14
  306. package/es/packages/components/popconfirm/src/popconfirm.vue.d.ts +14 -14
  307. package/es/packages/components/popover/index.d.ts +22 -22
  308. package/es/packages/components/popover/src/index.vue.d.ts +11 -11
  309. package/es/packages/components/popover/src/popover.d.ts +1 -1
  310. package/es/packages/components/progress/index.d.ts +66 -18
  311. package/es/packages/components/progress/src/progress.d.ts +5 -4
  312. package/es/packages/components/progress/src/progress.vue.d.ts +93 -44
  313. package/es/packages/components/rate/index.d.ts +13 -13
  314. package/es/packages/components/rate/src/rate.d.ts +4 -4
  315. package/es/packages/components/rate/src/rate.vue.d.ts +13 -13
  316. package/es/packages/components/select/index.d.ts +9 -9
  317. package/es/packages/components/select/src/select.vue.d.ts +9 -9
  318. package/es/packages/components/select/src/useSelect.d.ts +9 -9
  319. package/es/packages/components/select-v2/index.d.ts +18 -18
  320. package/es/packages/components/select-v2/src/select.vue.d.ts +9 -9
  321. package/es/packages/components/select-v2/src/useSelect.d.ts +9 -9
  322. package/es/packages/components/table/src/filter-panel.vue.d.ts +9 -9
  323. package/es/packages/components/time-picker/src/common/picker.vue.d.ts +9 -9
  324. package/es/packages/components/time-select/index.d.ts +36 -36
  325. package/es/packages/components/time-select/src/time-select.vue.d.ts +18 -18
  326. package/es/packages/components/tooltip/index.d.ts +5 -5
  327. package/es/packages/components/tooltip/src/content.vue.d.ts +2 -2
  328. package/es/packages/components/tooltip/src/tooltip.d.ts +2 -2
  329. package/es/packages/components/tooltip/src/tooltip.vue.d.ts +5 -5
  330. package/es/packages/components/upload/index.d.ts +66 -18
  331. package/es/packages/components/upload/src/upload-list.vue.d.ts +66 -18
  332. package/es/packages/components/upload/src/upload.vue.d.ts +66 -18
  333. package/es/packages/version.d.ts +1 -1
  334. package/es/version2.mjs +1 -1
  335. package/es/version2.mjs.map +1 -1
  336. package/lib/components/affix/src/affix3.js +5 -2
  337. package/lib/components/affix/src/affix3.js.map +1 -1
  338. package/lib/components/alert/src/alert4.js +5 -2
  339. package/lib/components/alert/src/alert4.js.map +1 -1
  340. package/lib/components/autocomplete/src/autocomplete3.js +2 -2
  341. package/lib/components/autocomplete/src/autocomplete3.js.map +1 -1
  342. package/lib/components/autocomplete/src/autocomplete4.js +42 -53
  343. package/lib/components/autocomplete/src/autocomplete4.js.map +1 -1
  344. package/lib/components/avatar/src/avatar3.js +2 -1
  345. package/lib/components/avatar/src/avatar3.js.map +1 -1
  346. package/lib/components/backtop/src/backtop3.js.map +1 -1
  347. package/lib/components/backtop/src/backtop4.js +1 -1
  348. package/lib/components/backtop/src/backtop4.js.map +1 -1
  349. package/lib/components/breadcrumb/src/breadcrumb-item4.js +3 -3
  350. package/lib/components/breadcrumb/src/breadcrumb-item4.js.map +1 -1
  351. package/lib/components/calendar/src/calendar3.js +5 -3
  352. package/lib/components/calendar/src/calendar3.js.map +1 -1
  353. package/lib/components/calendar/src/calendar4.js +31 -37
  354. package/lib/components/calendar/src/calendar4.js.map +1 -1
  355. package/lib/components/calendar/src/date-table4.js.map +1 -1
  356. package/lib/components/card/src/card3.js +1 -0
  357. package/lib/components/card/src/card3.js.map +1 -1
  358. package/lib/components/check-tag/src/check-tag3.js +3 -1
  359. package/lib/components/check-tag/src/check-tag3.js.map +1 -1
  360. package/lib/components/check-tag/src/check-tag4.js +3 -1
  361. package/lib/components/check-tag/src/check-tag4.js.map +1 -1
  362. package/lib/components/collapse-transition/src/collapse-transition2.js +61 -61
  363. package/lib/components/collapse-transition/src/collapse-transition2.js.map +1 -1
  364. package/lib/components/date-picker/src/date-picker-com/panel-date-range2.js +2 -2
  365. package/lib/components/date-picker/src/date-picker-com/panel-date-range2.js.map +1 -1
  366. package/lib/components/image-viewer/index.js +1 -1
  367. package/lib/components/image-viewer/index2.js +2 -2
  368. package/lib/components/image-viewer/src/image-viewer.js +1 -1
  369. package/lib/components/image-viewer/src/image-viewer3.js +399 -35
  370. package/lib/components/image-viewer/src/image-viewer3.js.map +1 -1
  371. package/lib/components/image-viewer/src/image-viewer4.js +35 -399
  372. package/lib/components/image-viewer/src/image-viewer4.js.map +1 -1
  373. package/lib/components/index.js +1 -1
  374. package/lib/components/input-number/src/input-number4.js +95 -123
  375. package/lib/components/input-number/src/input-number4.js.map +1 -1
  376. package/lib/components/progress/src/progress3.js.map +1 -1
  377. package/lib/components/progress/src/progress4.js +125 -154
  378. package/lib/components/progress/src/progress4.js.map +1 -1
  379. package/lib/components/rate/src/rate3.js +7 -10
  380. package/lib/components/rate/src/rate3.js.map +1 -1
  381. package/lib/components/tooltip/src/tooltip3.js +7 -5
  382. package/lib/components/tooltip/src/tooltip3.js.map +1 -1
  383. package/lib/directives/repeat-click/index2.js +2 -2
  384. package/lib/directives/repeat-click/index2.js.map +1 -1
  385. package/lib/index.js +1 -1
  386. package/lib/packages/components/alert/index.d.ts +3 -3
  387. package/lib/packages/components/alert/src/alert.vue.d.ts +3 -3
  388. package/lib/packages/components/autocomplete/index.d.ts +32 -30
  389. package/lib/packages/components/autocomplete/src/autocomplete.d.ts +1 -3
  390. package/lib/packages/components/autocomplete/src/autocomplete.vue.d.ts +32 -30
  391. package/lib/packages/components/backtop/src/backtop.d.ts +2 -0
  392. package/lib/packages/components/breadcrumb/index.d.ts +8 -8
  393. package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue.d.ts +4 -5
  394. package/lib/packages/components/calendar/index.d.ts +3 -3
  395. package/lib/packages/components/calendar/src/calendar.vue.d.ts +3 -3
  396. package/lib/packages/components/card/index.d.ts +3 -3
  397. package/lib/packages/components/card/src/card.d.ts +1 -1
  398. package/lib/packages/components/card/src/card.vue.d.ts +3 -3
  399. package/lib/packages/components/cascader/index.d.ts +18 -18
  400. package/lib/packages/components/cascader/src/index.vue.d.ts +9 -9
  401. package/lib/packages/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  402. package/lib/packages/components/date-picker/src/utils.d.ts +1 -1
  403. package/lib/packages/components/dropdown/index.d.ts +9 -9
  404. package/lib/packages/components/dropdown/src/dropdown.vue.d.ts +9 -9
  405. package/lib/packages/components/input-number/index.d.ts +471 -109
  406. package/lib/packages/components/input-number/src/input-number.vue.d.ts +471 -110
  407. package/lib/packages/components/pagination/src/components/sizes.vue.d.ts +9 -9
  408. package/lib/packages/components/popconfirm/index.d.ts +14 -14
  409. package/lib/packages/components/popconfirm/src/popconfirm.vue.d.ts +14 -14
  410. package/lib/packages/components/popover/index.d.ts +22 -22
  411. package/lib/packages/components/popover/src/index.vue.d.ts +11 -11
  412. package/lib/packages/components/popover/src/popover.d.ts +1 -1
  413. package/lib/packages/components/progress/index.d.ts +66 -18
  414. package/lib/packages/components/progress/src/progress.d.ts +5 -4
  415. package/lib/packages/components/progress/src/progress.vue.d.ts +93 -44
  416. package/lib/packages/components/rate/index.d.ts +13 -13
  417. package/lib/packages/components/rate/src/rate.d.ts +4 -4
  418. package/lib/packages/components/rate/src/rate.vue.d.ts +13 -13
  419. package/lib/packages/components/select/index.d.ts +9 -9
  420. package/lib/packages/components/select/src/select.vue.d.ts +9 -9
  421. package/lib/packages/components/select/src/useSelect.d.ts +9 -9
  422. package/lib/packages/components/select-v2/index.d.ts +18 -18
  423. package/lib/packages/components/select-v2/src/select.vue.d.ts +9 -9
  424. package/lib/packages/components/select-v2/src/useSelect.d.ts +9 -9
  425. package/lib/packages/components/table/src/filter-panel.vue.d.ts +9 -9
  426. package/lib/packages/components/time-picker/src/common/picker.vue.d.ts +9 -9
  427. package/lib/packages/components/time-select/index.d.ts +36 -36
  428. package/lib/packages/components/time-select/src/time-select.vue.d.ts +18 -18
  429. package/lib/packages/components/tooltip/index.d.ts +5 -5
  430. package/lib/packages/components/tooltip/src/content.vue.d.ts +2 -2
  431. package/lib/packages/components/tooltip/src/tooltip.d.ts +2 -2
  432. package/lib/packages/components/tooltip/src/tooltip.vue.d.ts +5 -5
  433. package/lib/packages/components/upload/index.d.ts +66 -18
  434. package/lib/packages/components/upload/src/upload-list.vue.d.ts +66 -18
  435. package/lib/packages/components/upload/src/upload.vue.d.ts +66 -18
  436. package/lib/packages/version.d.ts +1 -1
  437. package/lib/version2.js +1 -1
  438. package/lib/version2.js.map +1 -1
  439. package/package.json +2 -2
  440. package/web-types.json +1 -1
@@ -1,23 +1,32 @@
1
- import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, renderSlot, normalizeProps, guardReactiveProps, toDisplayString, createCommentVNode, createBlock, withCtx, resolveDynamicComponent } from 'vue';
1
+ import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, normalizeStyle, renderSlot, toDisplayString, createCommentVNode, createBlock, withCtx, resolveDynamicComponent } from 'vue';
2
2
  import { ElIcon } from '../../icon/index2.mjs';
3
- import { CircleCheck, CircleClose, Check, Close, WarningFilled } from '@element-plus/icons-vue';
3
+ import { WarningFilled, CircleCheck, CircleClose, Check, Close } from '@element-plus/icons-vue';
4
4
  import '../../../hooks/index2.mjs';
5
+ import '../../../utils/index2.mjs';
5
6
  import { progressProps } from './progress3.mjs';
6
7
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
8
  import { useNamespace } from '../../../hooks/use-namespace/index2.mjs';
9
+ import { isString, isFunction } from '@vue/shared';
8
10
 
9
- const _sfc_main = defineComponent({
10
- name: "ElProgress",
11
- components: {
12
- ElIcon,
13
- CircleCheck,
14
- CircleClose,
15
- Check,
16
- Close,
17
- WarningFilled
18
- },
11
+ const _hoisted_1 = ["aria-valuenow"];
12
+ const _hoisted_2 = { viewBox: "0 0 100 100" };
13
+ const _hoisted_3 = ["d", "stroke", "stroke-width"];
14
+ const _hoisted_4 = ["d", "stroke", "opacity", "stroke-linecap", "stroke-width"];
15
+ const _hoisted_5 = { key: 0 };
16
+ const __default__ = {
17
+ name: "ElProgress"
18
+ };
19
+ const _sfc_main = /* @__PURE__ */ defineComponent({
20
+ ...__default__,
19
21
  props: progressProps,
20
- setup(props) {
22
+ setup(__props) {
23
+ const props = __props;
24
+ const STATUS_COLOR_MAP = {
25
+ success: "#13ce66",
26
+ exception: "#ff4949",
27
+ warning: "#e6a23c",
28
+ default: "#20a0ff"
29
+ };
21
30
  const ns = useNamespace("progress");
22
31
  const barStyle = computed(() => ({
23
32
  width: `${props.percentage}%`,
@@ -26,11 +35,10 @@ const _sfc_main = defineComponent({
26
35
  }));
27
36
  const relativeStrokeWidth = computed(() => (props.strokeWidth / props.width * 100).toFixed(1));
28
37
  const radius = computed(() => {
29
- if (props.type === "circle" || props.type === "dashboard") {
38
+ if (["circle", "dashboard"].includes(props.type)) {
30
39
  return Number.parseInt(`${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`, 10);
31
- } else {
32
- return 0;
33
40
  }
41
+ return 0;
34
42
  });
35
43
  const trackPath = computed(() => {
36
44
  const r = radius.value;
@@ -62,19 +70,7 @@ const _sfc_main = defineComponent({
62
70
  if (props.color) {
63
71
  ret = getCurrentColor(props.percentage);
64
72
  } else {
65
- switch (props.status) {
66
- case "success":
67
- ret = "#13ce66";
68
- break;
69
- case "exception":
70
- ret = "#ff4949";
71
- break;
72
- case "warning":
73
- ret = "#e6a23c";
74
- break;
75
- default:
76
- ret = "#20a0ff";
77
- }
73
+ ret = STATUS_COLOR_MAP[props.status] || STATUS_COLOR_MAP.default;
78
74
  }
79
75
  return ret;
80
76
  });
@@ -92,25 +88,28 @@ const _sfc_main = defineComponent({
92
88
  return props.type === "line" ? 12 + props.strokeWidth * 0.4 : props.width * 0.111111 + 2;
93
89
  });
94
90
  const content = computed(() => props.format(props.percentage));
91
+ function getColors(color) {
92
+ const span = 100 / color.length;
93
+ const seriesColors = color.map((seriesColor, index) => {
94
+ if (isString(seriesColor)) {
95
+ return {
96
+ color: seriesColor,
97
+ percentage: (index + 1) * span
98
+ };
99
+ }
100
+ return seriesColor;
101
+ });
102
+ return seriesColors.sort((a, b) => a.percentage - b.percentage);
103
+ }
95
104
  const getCurrentColor = (percentage) => {
96
105
  var _a;
97
106
  const { color } = props;
98
- if (typeof color === "function") {
107
+ if (isFunction(color)) {
99
108
  return color(percentage);
100
- } else if (typeof color === "string") {
109
+ } else if (isString(color)) {
101
110
  return color;
102
111
  } else {
103
- const span = 100 / color.length;
104
- const seriesColors = color.map((seriesColor, index) => {
105
- if (typeof seriesColor === "string") {
106
- return {
107
- color: seriesColor,
108
- percentage: (index + 1) * span
109
- };
110
- }
111
- return seriesColor;
112
- });
113
- const colors = seriesColors.sort((a, b) => a.percentage - b.percentage);
112
+ const colors = getColors(color);
114
113
  for (const color2 of colors) {
115
114
  if (color2.percentage > percentage)
116
115
  return color2.color;
@@ -118,120 +117,92 @@ const _sfc_main = defineComponent({
118
117
  return (_a = colors[colors.length - 1]) == null ? void 0 : _a.color;
119
118
  }
120
119
  };
121
- const slotData = computed(() => {
122
- return {
123
- percentage: props.percentage
124
- };
125
- });
126
- return {
127
- ns,
128
- barStyle,
129
- relativeStrokeWidth,
130
- radius,
131
- trackPath,
132
- perimeter,
133
- rate,
134
- strokeDashoffset,
135
- trailPathStyle,
136
- circlePathStyle,
137
- stroke,
138
- statusIcon,
139
- progressTextSize,
140
- content,
141
- slotData
142
- };
143
- }
144
- });
145
- const _hoisted_1 = ["aria-valuenow"];
146
- const _hoisted_2 = { viewBox: "0 0 100 100" };
147
- const _hoisted_3 = ["d", "stroke", "stroke-width"];
148
- const _hoisted_4 = ["d", "stroke", "opacity", "stroke-linecap", "stroke-width"];
149
- const _hoisted_5 = { key: 0 };
150
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
151
- const _component_el_icon = resolveComponent("el-icon");
152
- return openBlock(), createElementBlock("div", {
153
- class: normalizeClass([
154
- _ctx.ns.b(),
155
- _ctx.ns.m(_ctx.type),
156
- _ctx.ns.is(_ctx.status),
157
- {
158
- [_ctx.ns.m("without-text")]: !_ctx.showText,
159
- [_ctx.ns.m("text-inside")]: _ctx.textInside
160
- }
161
- ]),
162
- role: "progressbar",
163
- "aria-valuenow": _ctx.percentage,
164
- "aria-valuemin": "0",
165
- "aria-valuemax": "100"
166
- }, [
167
- _ctx.type === "line" ? (openBlock(), createElementBlock("div", {
168
- key: 0,
169
- class: normalizeClass(_ctx.ns.b("bar"))
170
- }, [
171
- createElementVNode("div", {
172
- class: normalizeClass(_ctx.ns.be("bar", "outer")),
173
- style: normalizeStyle({ height: `${_ctx.strokeWidth}px` })
120
+ return (_ctx, _cache) => {
121
+ return openBlock(), createElementBlock("div", {
122
+ class: normalizeClass([
123
+ unref(ns).b(),
124
+ unref(ns).m(_ctx.type),
125
+ unref(ns).is(_ctx.status),
126
+ {
127
+ [unref(ns).m("without-text")]: !_ctx.showText,
128
+ [unref(ns).m("text-inside")]: _ctx.textInside
129
+ }
130
+ ]),
131
+ role: "progressbar",
132
+ "aria-valuenow": _ctx.percentage,
133
+ "aria-valuemin": "0",
134
+ "aria-valuemax": "100"
174
135
  }, [
175
- createElementVNode("div", {
176
- class: normalizeClass([
177
- _ctx.ns.be("bar", "inner"),
178
- { [_ctx.ns.bem("bar", "inner", "indeterminate")]: _ctx.indeterminate }
179
- ]),
180
- style: normalizeStyle(_ctx.barStyle)
136
+ _ctx.type === "line" ? (openBlock(), createElementBlock("div", {
137
+ key: 0,
138
+ class: normalizeClass(unref(ns).b("bar"))
181
139
  }, [
182
- (_ctx.showText || _ctx.$slots.default) && _ctx.textInside ? (openBlock(), createElementBlock("div", {
183
- key: 0,
184
- class: normalizeClass(_ctx.ns.be("bar", "innerText"))
140
+ createElementVNode("div", {
141
+ class: normalizeClass(unref(ns).be("bar", "outer")),
142
+ style: normalizeStyle({ height: `${_ctx.strokeWidth}px` })
185
143
  }, [
186
- renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(_ctx.slotData)), () => [
187
- createElementVNode("span", null, toDisplayString(_ctx.content), 1)
188
- ])
189
- ], 2)) : createCommentVNode("v-if", true)
190
- ], 6)
191
- ], 6)
192
- ], 2)) : (openBlock(), createElementBlock("div", {
193
- key: 1,
194
- class: normalizeClass(_ctx.ns.b("circle")),
195
- style: normalizeStyle({ height: `${_ctx.width}px`, width: `${_ctx.width}px` })
196
- }, [
197
- (openBlock(), createElementBlock("svg", _hoisted_2, [
198
- createElementVNode("path", {
199
- class: normalizeClass(_ctx.ns.be("circle", "track")),
200
- d: _ctx.trackPath,
201
- stroke: `var(${_ctx.ns.cssVarName("fill-color-light")}, #e5e9f2)`,
202
- "stroke-width": _ctx.relativeStrokeWidth,
203
- fill: "none",
204
- style: normalizeStyle(_ctx.trailPathStyle)
205
- }, null, 14, _hoisted_3),
206
- createElementVNode("path", {
207
- class: normalizeClass(_ctx.ns.be("circle", "path")),
208
- d: _ctx.trackPath,
209
- stroke: _ctx.stroke,
210
- fill: "none",
211
- opacity: _ctx.percentage ? 1 : 0,
212
- "stroke-linecap": _ctx.strokeLinecap,
213
- "stroke-width": _ctx.relativeStrokeWidth,
214
- style: normalizeStyle(_ctx.circlePathStyle)
215
- }, null, 14, _hoisted_4)
216
- ]))
217
- ], 6)),
218
- (_ctx.showText || _ctx.$slots.default) && !_ctx.textInside ? (openBlock(), createElementBlock("div", {
219
- key: 2,
220
- class: normalizeClass(_ctx.ns.e("text")),
221
- style: normalizeStyle({ fontSize: `${_ctx.progressTextSize}px` })
222
- }, [
223
- renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(_ctx.slotData)), () => [
224
- !_ctx.status ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(_ctx.content), 1)) : (openBlock(), createBlock(_component_el_icon, { key: 1 }, {
225
- default: withCtx(() => [
226
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.statusIcon)))
227
- ]),
228
- _: 1
229
- }))
230
- ])
231
- ], 6)) : createCommentVNode("v-if", true)
232
- ], 10, _hoisted_1);
233
- }
234
- var Progress = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/progress/src/progress.vue"]]);
144
+ createElementVNode("div", {
145
+ class: normalizeClass([
146
+ unref(ns).be("bar", "inner"),
147
+ { [unref(ns).bem("bar", "inner", "indeterminate")]: _ctx.indeterminate }
148
+ ]),
149
+ style: normalizeStyle(unref(barStyle))
150
+ }, [
151
+ (_ctx.showText || _ctx.$slots.default) && _ctx.textInside ? (openBlock(), createElementBlock("div", {
152
+ key: 0,
153
+ class: normalizeClass(unref(ns).be("bar", "innerText"))
154
+ }, [
155
+ renderSlot(_ctx.$slots, "default", { percentage: _ctx.percentage }, () => [
156
+ createElementVNode("span", null, toDisplayString(unref(content)), 1)
157
+ ])
158
+ ], 2)) : createCommentVNode("v-if", true)
159
+ ], 6)
160
+ ], 6)
161
+ ], 2)) : (openBlock(), createElementBlock("div", {
162
+ key: 1,
163
+ class: normalizeClass(unref(ns).b("circle")),
164
+ style: normalizeStyle({ height: `${_ctx.width}px`, width: `${_ctx.width}px` })
165
+ }, [
166
+ (openBlock(), createElementBlock("svg", _hoisted_2, [
167
+ createElementVNode("path", {
168
+ class: normalizeClass(unref(ns).be("circle", "track")),
169
+ d: unref(trackPath),
170
+ stroke: `var(${unref(ns).cssVarName("fill-color-light")}, #e5e9f2)`,
171
+ "stroke-width": unref(relativeStrokeWidth),
172
+ fill: "none",
173
+ style: normalizeStyle(unref(trailPathStyle))
174
+ }, null, 14, _hoisted_3),
175
+ createElementVNode("path", {
176
+ class: normalizeClass(unref(ns).be("circle", "path")),
177
+ d: unref(trackPath),
178
+ stroke: unref(stroke),
179
+ fill: "none",
180
+ opacity: _ctx.percentage ? 1 : 0,
181
+ "stroke-linecap": _ctx.strokeLinecap,
182
+ "stroke-width": unref(relativeStrokeWidth),
183
+ style: normalizeStyle(unref(circlePathStyle))
184
+ }, null, 14, _hoisted_4)
185
+ ]))
186
+ ], 6)),
187
+ (_ctx.showText || _ctx.$slots.default) && !_ctx.textInside ? (openBlock(), createElementBlock("div", {
188
+ key: 2,
189
+ class: normalizeClass(unref(ns).e("text")),
190
+ style: normalizeStyle({ fontSize: `${unref(progressTextSize)}px` })
191
+ }, [
192
+ renderSlot(_ctx.$slots, "default", { percentage: _ctx.percentage }, () => [
193
+ !_ctx.status ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(unref(content)), 1)) : (openBlock(), createBlock(unref(ElIcon), { key: 1 }, {
194
+ default: withCtx(() => [
195
+ (openBlock(), createBlock(resolveDynamicComponent(unref(statusIcon))))
196
+ ]),
197
+ _: 1
198
+ }))
199
+ ])
200
+ ], 6)) : createCommentVNode("v-if", true)
201
+ ], 10, _hoisted_1);
202
+ };
203
+ }
204
+ });
205
+ var Progress = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/progress/src/progress.vue"]]);
235
206
 
236
207
  export { Progress as default };
237
208
  //# sourceMappingURL=progress4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress4.mjs","sources":["../../../../../../packages/components/progress/src/progress.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(type),\n ns.is(status),\n {\n [ns.m('without-text')]: !showText,\n [ns.m('text-inside')]: textInside,\n },\n ]\"\n role=\"progressbar\"\n :aria-valuenow=\"percentage\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div v-if=\"type === 'line'\" :class=\"ns.b('bar')\">\n <div\n :class=\"ns.be('bar', 'outer')\"\n :style=\"{ height: `${strokeWidth}px` }\"\n >\n <div\n :class=\"[\n ns.be('bar', 'inner'),\n { [ns.bem('bar', 'inner', 'indeterminate')]: indeterminate },\n ]\"\n :style=\"barStyle\"\n >\n <div\n v-if=\"(showText || $slots.default) && textInside\"\n :class=\"ns.be('bar', 'innerText')\"\n >\n <slot v-bind=\"slotData\">\n <span>{{ content }}</span>\n </slot>\n </div>\n </div>\n </div>\n </div>\n <div\n v-else\n :class=\"ns.b('circle')\"\n :style=\"{ height: `${width}px`, width: `${width}px` }\"\n >\n <svg viewBox=\"0 0 100 100\">\n <path\n :class=\"ns.be('circle', 'track')\"\n :d=\"trackPath\"\n :stroke=\"`var(${ns.cssVarName('fill-color-light')}, #e5e9f2)`\"\n :stroke-width=\"relativeStrokeWidth\"\n fill=\"none\"\n :style=\"trailPathStyle\"\n />\n <path\n :class=\"ns.be('circle', 'path')\"\n :d=\"trackPath\"\n :stroke=\"stroke\"\n fill=\"none\"\n :opacity=\"percentage ? 1 : 0\"\n :stroke-linecap=\"strokeLinecap\"\n :stroke-width=\"relativeStrokeWidth\"\n :style=\"circlePathStyle\"\n />\n </svg>\n </div>\n <div\n v-if=\"(showText || $slots.default) && !textInside\"\n :class=\"ns.e('text')\"\n :style=\"{ fontSize: `${progressTextSize}px` }\"\n >\n <slot v-bind=\"slotData\">\n <span v-if=\"!status\">{{ content }}</span>\n <el-icon v-else><component :is=\"statusIcon\" /></el-icon>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n CircleClose,\n Close,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElProgress',\n components: {\n ElIcon,\n CircleCheck,\n CircleClose,\n Check,\n Close,\n WarningFilled,\n },\n props: progressProps,\n\n setup(props) {\n const ns = useNamespace('progress')\n\n const barStyle = computed(\n (): CSSProperties => ({\n width: `${props.percentage}%`,\n animationDuration: `${props.duration}s`,\n backgroundColor: getCurrentColor(props.percentage),\n })\n )\n\n const relativeStrokeWidth = computed(() =>\n ((props.strokeWidth / props.width) * 100).toFixed(1)\n )\n\n const radius = computed(() => {\n if (props.type === 'circle' || props.type === 'dashboard') {\n return Number.parseInt(\n `${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,\n 10\n )\n } else {\n return 0\n }\n })\n\n const trackPath = computed(() => {\n const r = radius.value\n const isDashboard = props.type === 'dashboard'\n return `\n M 50 50\n m 0 ${isDashboard ? '' : '-'}${r}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '-' : ''}${r * 2}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '' : '-'}${r * 2}\n `\n })\n\n const perimeter = computed(() => 2 * Math.PI * radius.value)\n\n const rate = computed(() => (props.type === 'dashboard' ? 0.75 : 1))\n\n const strokeDashoffset = computed(() => {\n const offset = (-1 * perimeter.value * (1 - rate.value)) / 2\n return `${offset}px`\n })\n\n const trailPathStyle = computed(\n (): CSSProperties => ({\n strokeDasharray: `${perimeter.value * rate.value}px, ${\n perimeter.value\n }px`,\n strokeDashoffset: strokeDashoffset.value,\n })\n )\n\n const circlePathStyle = computed(\n (): CSSProperties => ({\n strokeDasharray: `${\n perimeter.value * rate.value * (props.percentage / 100)\n }px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n transition:\n 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s',\n })\n )\n\n const stroke = computed(() => {\n let ret: string\n if (props.color) {\n ret = getCurrentColor(props.percentage)\n } else {\n switch (props.status) {\n case 'success':\n ret = '#13ce66'\n break\n case 'exception':\n ret = '#ff4949'\n break\n case 'warning':\n ret = '#e6a23c'\n break\n default:\n ret = '#20a0ff'\n }\n }\n return ret\n })\n\n const statusIcon = computed(() => {\n if (props.status === 'warning') {\n return WarningFilled\n }\n if (props.type === 'line') {\n return props.status === 'success' ? CircleCheck : CircleClose\n } else {\n return props.status === 'success' ? Check : Close\n }\n })\n\n const progressTextSize = computed(() => {\n return props.type === 'line'\n ? 12 + props.strokeWidth * 0.4\n : props.width * 0.111111 + 2\n })\n\n const content = computed(() => props.format(props.percentage))\n\n const getCurrentColor = (percentage: number) => {\n const { color } = props\n if (typeof color === 'function') {\n return color(percentage)\n } else if (typeof color === 'string') {\n return color\n } else {\n const span = 100 / color.length\n const seriesColors = color.map((seriesColor, index) => {\n if (typeof seriesColor === 'string') {\n return {\n color: seriesColor,\n percentage: (index + 1) * span,\n }\n }\n return seriesColor\n })\n const colors = seriesColors.sort((a, b) => a.percentage - b.percentage)\n\n for (const color of colors) {\n if (color.percentage > percentage) return color.color\n }\n return colors[colors.length - 1]?.color\n }\n }\n\n const slotData = computed(() => {\n return {\n percentage: props.percentage,\n }\n })\n\n return {\n ns,\n barStyle,\n relativeStrokeWidth,\n radius,\n trackPath,\n perimeter,\n rate,\n strokeDashoffset,\n trailPathStyle,\n circlePathStyle,\n stroke,\n statusIcon,\n progressTextSize,\n content,\n slotData,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_renderSlot","_toDisplayString","_normalizeProps","_guardReactiveProps","_createBlock","_withCtx","_resolveDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"progress4.mjs","sources":["../../../../../../packages/components/progress/src/progress.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(type),\n ns.is(status),\n {\n [ns.m('without-text')]: !showText,\n [ns.m('text-inside')]: textInside,\n },\n ]\"\n role=\"progressbar\"\n :aria-valuenow=\"percentage\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div v-if=\"type === 'line'\" :class=\"ns.b('bar')\">\n <div\n :class=\"ns.be('bar', 'outer')\"\n :style=\"{ height: `${strokeWidth}px` }\"\n >\n <div\n :class=\"[\n ns.be('bar', 'inner'),\n { [ns.bem('bar', 'inner', 'indeterminate')]: indeterminate },\n ]\"\n :style=\"barStyle\"\n >\n <div\n v-if=\"(showText || $slots.default) && textInside\"\n :class=\"ns.be('bar', 'innerText')\"\n >\n <slot :percentage=\"percentage\">\n <span>{{ content }}</span>\n </slot>\n </div>\n </div>\n </div>\n </div>\n <div\n v-else\n :class=\"ns.b('circle')\"\n :style=\"{ height: `${width}px`, width: `${width}px` }\"\n >\n <svg viewBox=\"0 0 100 100\">\n <path\n :class=\"ns.be('circle', 'track')\"\n :d=\"trackPath\"\n :stroke=\"`var(${ns.cssVarName('fill-color-light')}, #e5e9f2)`\"\n :stroke-width=\"relativeStrokeWidth\"\n fill=\"none\"\n :style=\"trailPathStyle\"\n />\n <path\n :class=\"ns.be('circle', 'path')\"\n :d=\"trackPath\"\n :stroke=\"stroke\"\n fill=\"none\"\n :opacity=\"percentage ? 1 : 0\"\n :stroke-linecap=\"strokeLinecap\"\n :stroke-width=\"relativeStrokeWidth\"\n :style=\"circlePathStyle\"\n />\n </svg>\n </div>\n <div\n v-if=\"(showText || $slots.default) && !textInside\"\n :class=\"ns.e('text')\"\n :style=\"{ fontSize: `${progressTextSize}px` }\"\n >\n <slot :percentage=\"percentage\">\n <span v-if=\"!status\">{{ content }}</span>\n <el-icon v-else><component :is=\"statusIcon\" /></el-icon>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n CircleClose,\n Close,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction, isString } from '@element-plus/utils'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\nimport type { ProgressColor } from './progress'\n\ndefineOptions({\n name: 'ElProgress',\n})\n\nconst STATUS_COLOR_MAP = {\n success: '#13ce66',\n exception: '#ff4949',\n warning: '#e6a23c',\n default: '#20a0ff',\n}\n\nconst props = defineProps(progressProps)\n\nconst ns = useNamespace('progress')\n\nconst barStyle = computed<CSSProperties>(() => ({\n width: `${props.percentage}%`,\n animationDuration: `${props.duration}s`,\n backgroundColor: getCurrentColor(props.percentage),\n}))\n\nconst relativeStrokeWidth = computed(() =>\n ((props.strokeWidth / props.width) * 100).toFixed(1)\n)\n\nconst radius = computed(() => {\n if (['circle', 'dashboard'].includes(props.type)) {\n return Number.parseInt(\n `${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,\n 10\n )\n }\n return 0\n})\n\nconst trackPath = computed(() => {\n const r = radius.value\n const isDashboard = props.type === 'dashboard'\n return `\n M 50 50\n m 0 ${isDashboard ? '' : '-'}${r}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '-' : ''}${r * 2}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '' : '-'}${r * 2}\n `\n})\n\nconst perimeter = computed(() => 2 * Math.PI * radius.value)\n\nconst rate = computed(() => (props.type === 'dashboard' ? 0.75 : 1))\n\nconst strokeDashoffset = computed(() => {\n const offset = (-1 * perimeter.value * (1 - rate.value)) / 2\n return `${offset}px`\n})\n\nconst trailPathStyle = computed<CSSProperties>(() => ({\n strokeDasharray: `${perimeter.value * rate.value}px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n}))\n\nconst circlePathStyle = computed<CSSProperties>(() => ({\n strokeDasharray: `${\n perimeter.value * rate.value * (props.percentage / 100)\n }px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n transition:\n 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s',\n}))\n\nconst stroke = computed(() => {\n let ret: string\n if (props.color) {\n ret = getCurrentColor(props.percentage)\n } else {\n ret = STATUS_COLOR_MAP[props.status] || STATUS_COLOR_MAP.default\n }\n return ret\n})\n\nconst statusIcon = computed(() => {\n if (props.status === 'warning') {\n return WarningFilled\n }\n if (props.type === 'line') {\n return props.status === 'success' ? CircleCheck : CircleClose\n } else {\n return props.status === 'success' ? Check : Close\n }\n})\n\nconst progressTextSize = computed(() => {\n return props.type === 'line'\n ? 12 + props.strokeWidth * 0.4\n : props.width * 0.111111 + 2\n})\n\nconst content = computed(() => props.format(props.percentage))\n\nfunction getColors(color: ProgressColor[]) {\n const span = 100 / color.length\n const seriesColors = color.map((seriesColor, index) => {\n if (isString(seriesColor)) {\n return {\n color: seriesColor,\n percentage: (index + 1) * span,\n }\n }\n return seriesColor\n })\n return seriesColors.sort((a, b) => a.percentage - b.percentage)\n}\n\nconst getCurrentColor = (percentage: number) => {\n const { color } = props\n if (isFunction(color)) {\n return color(percentage)\n } else if (isString(color)) {\n return color\n } else {\n const colors = getColors(color)\n for (const color of colors) {\n if (color.percentage > percentage) return color.color\n }\n return colors[colors.length - 1]?.color\n }\n}\n</script>\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,8 @@ import { buildProps, definePropType } from '../../../utils/vue/props2.mjs';
5
5
  import { mutable } from '../../../utils/typescript2.mjs';
6
6
  import { iconPropType } from '../../../utils/vue/icon2.mjs';
7
7
  import { isValidComponentSize } from '../../../utils/vue/validator2.mjs';
8
- import { UPDATE_MODEL_EVENT } from '../../../constants/event2.mjs';
8
+ import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '../../../constants/event2.mjs';
9
+ import { isNumber } from '@vueuse/core';
9
10
 
10
11
  const rateProps = buildProps({
11
12
  modelValue: {
@@ -53,20 +54,16 @@ const rateProps = buildProps({
53
54
  default: () => StarFilled
54
55
  },
55
56
  disabled: {
56
- type: Boolean,
57
- default: false
57
+ type: Boolean
58
58
  },
59
59
  allowHalf: {
60
- type: Boolean,
61
- default: false
60
+ type: Boolean
62
61
  },
63
62
  showText: {
64
- type: Boolean,
65
- default: false
63
+ type: Boolean
66
64
  },
67
65
  showScore: {
68
- type: Boolean,
69
- default: false
66
+ type: Boolean
70
67
  },
71
68
  textColor: {
72
69
  type: String,
@@ -96,8 +93,8 @@ const rateProps = buildProps({
96
93
  }
97
94
  });
98
95
  const rateEmits = {
99
- change: (value) => typeof value === "number",
100
- [UPDATE_MODEL_EVENT]: (value) => typeof value === "number"
96
+ [CHANGE_EVENT]: (value) => isNumber(value),
97
+ [UPDATE_MODEL_EVENT]: (value) => isNumber(value)
101
98
  };
102
99
 
103
100
  export { rateEmits, rateProps };
@@ -1 +1 @@
1
- {"version":3,"file":"rate3.mjs","sources":["../../../../../../packages/components/rate/src/rate.ts"],"sourcesContent":["import { Star, StarFilled } from '@element-plus/icons-vue'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n isValidComponentSize,\n mutable,\n} from '@element-plus/utils'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Component, ExtractPropTypes, PropType } from 'vue'\nimport type Rate from './rate.vue'\n\nexport const rateProps = buildProps({\n modelValue: {\n type: Number,\n default: 0,\n },\n id: {\n type: String,\n default: undefined,\n },\n lowThreshold: {\n type: Number,\n default: 2,\n },\n highThreshold: {\n type: Number,\n default: 4,\n },\n max: {\n type: Number,\n default: 5,\n },\n colors: {\n type: definePropType<string[] | Record<number, string>>([Array, Object]),\n default: () => mutable(['', '', ''] as const),\n },\n voidColor: {\n type: String,\n default: '',\n },\n disabledVoidColor: {\n type: String,\n default: '',\n },\n icons: {\n type: definePropType<\n Array<string | Component> | Record<number, string | Component>\n >([Array, Object]),\n default: () => [StarFilled, StarFilled, StarFilled],\n },\n voidIcon: {\n type: iconPropType,\n default: () => Star,\n },\n disabledVoidIcon: {\n type: iconPropType,\n default: () => StarFilled,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n allowHalf: {\n type: Boolean,\n default: false,\n },\n showText: {\n type: Boolean,\n default: false,\n },\n showScore: {\n type: Boolean,\n default: false,\n },\n textColor: {\n type: String,\n default: '',\n },\n texts: {\n type: definePropType<string[]>(Array),\n default: () =>\n mutable([\n 'Extremely bad',\n 'Disappointed',\n 'Fair',\n 'Satisfied',\n 'Surprise',\n ] as const),\n },\n scoreTemplate: {\n type: String,\n default: '{value}',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n label: {\n type: String,\n default: undefined,\n },\n} as const)\n\nexport type RateProps = ExtractPropTypes<typeof rateProps>\n\nexport const rateEmits = {\n change: (value: number) => typeof value === 'number',\n [UPDATE_MODEL_EVENT]: (value: number) => typeof value === 'number',\n}\nexport type RateEmits = typeof rateEmits\n\nexport type RateInstance = InstanceType<typeof Rate>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate3.mjs","sources":["../../../../../../packages/components/rate/src/rate.ts"],"sourcesContent":["import { Star, StarFilled } from '@element-plus/icons-vue'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n isNumber,\n isValidComponentSize,\n mutable,\n} from '@element-plus/utils'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Component, ExtractPropTypes, PropType } from 'vue'\nimport type Rate from './rate.vue'\n\nexport const rateProps = buildProps({\n modelValue: {\n type: Number,\n default: 0,\n },\n id: {\n type: String,\n default: undefined,\n },\n lowThreshold: {\n type: Number,\n default: 2,\n },\n highThreshold: {\n type: Number,\n default: 4,\n },\n max: {\n type: Number,\n default: 5,\n },\n colors: {\n type: definePropType<string[] | Record<number, string>>([Array, Object]),\n default: () => mutable(['', '', ''] as const),\n },\n voidColor: {\n type: String,\n default: '',\n },\n disabledVoidColor: {\n type: String,\n default: '',\n },\n icons: {\n type: definePropType<\n Array<string | Component> | Record<number, string | Component>\n >([Array, Object]),\n default: () => [StarFilled, StarFilled, StarFilled],\n },\n voidIcon: {\n type: iconPropType,\n default: () => Star,\n },\n disabledVoidIcon: {\n type: iconPropType,\n default: () => StarFilled,\n },\n disabled: {\n type: Boolean,\n },\n allowHalf: {\n type: Boolean,\n },\n showText: {\n type: Boolean,\n },\n showScore: {\n type: Boolean,\n },\n textColor: {\n type: String,\n default: '',\n },\n texts: {\n type: definePropType<string[]>(Array),\n default: () =>\n mutable([\n 'Extremely bad',\n 'Disappointed',\n 'Fair',\n 'Satisfied',\n 'Surprise',\n ] as const),\n },\n scoreTemplate: {\n type: String,\n default: '{value}',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n label: {\n type: String,\n default: undefined,\n },\n} as const)\n\nexport type RateProps = ExtractPropTypes<typeof rateProps>\n\nexport const rateEmits = {\n [CHANGE_EVENT]: (value: number) => isNumber(value),\n [UPDATE_MODEL_EVENT]: (value: number) => isNumber(value),\n}\nexport type RateEmits = typeof rateEmits\n\nexport type RateInstance = InstanceType<typeof Rate>\n"],"names":[],"mappings":"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"}
@@ -7,12 +7,12 @@ import { ArrowUp, ArrowDown } from '@element-plus/icons-vue';
7
7
  import '../../../../hooks/index2.mjs';
8
8
  import { getTimeLists } from './useTimePicker2.mjs';
9
9
  import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
10
- import RepeatClick from '../../../../directives/repeat-click/index2.mjs';
10
+ import vRepeatClick from '../../../../directives/repeat-click/index2.mjs';
11
11
  import { useNamespace } from '../../../../hooks/use-namespace/index2.mjs';
12
12
 
13
13
  const _sfc_main = defineComponent({
14
14
  directives: {
15
- repeatClick: RepeatClick
15
+ repeatClick: vRepeatClick
16
16
  },
17
17
  components: {
18
18
  ElScrollbar,
@@ -1 +1 @@
1
- {"version":3,"file":"basic-time-spinner2.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=\"(scollbar) => setRef(scollbar, 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 listMap[item].value\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartsMap[item].value),\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=\"onDecreaseClick\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncreaseClick\"\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 arrowListMap[item].value\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartsMap[item].value),\n ns.is('disabled', listMap[item].value[time]),\n ]\"\n >\n <template v-if=\"typeof time === 'number'\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, onMounted, ref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { RepeatClick } 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 { getTimeLists } from './useTimePicker'\n\nimport type { PropType, Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n directives: {\n repeatClick: RepeatClick,\n },\n\n components: {\n ElScrollbar,\n ElIcon,\n ArrowUp,\n ArrowDown,\n },\n\n props: {\n role: {\n type: String,\n required: true,\n },\n spinnerDate: {\n type: Object as PropType<Dayjs>,\n required: true,\n },\n showSeconds: {\n type: Boolean,\n default: true,\n },\n arrowControl: Boolean,\n amPmMode: {\n type: String,\n default: '', // 'a': am/pm; 'A': AM/PM\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n },\n\n emits: ['change', 'select-range', 'set-option'],\n\n setup(props, ctx) {\n const ns = useNamespace('time')\n // data\n let isScrolling = false\n const debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n }, 200)\n const currentScrollbar = ref(null)\n const listHoursRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listMinutesRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listSecondsRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listRefsMap = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n }\n\n // computed\n const spinnerItems = computed(() => {\n const arr = ['hours', 'minutes', 'seconds']\n return props.showSeconds ? arr : arr.slice(0, 2)\n })\n const hours = computed(() => {\n return props.spinnerDate.hour()\n })\n const minutes = computed(() => {\n return props.spinnerDate.minute()\n })\n const seconds = computed(() => {\n return props.spinnerDate.second()\n })\n const timePartsMap = computed(() => ({\n hours,\n minutes,\n seconds,\n }))\n const hoursList = computed(() => {\n return getHoursList(props.role)\n })\n const minutesList = computed(() => {\n return getMinutesList(hours.value, props.role)\n })\n const secondsList = computed(() => {\n return getSecondsList(hours.value, minutes.value, props.role)\n })\n const listMap = computed(() => ({\n hours: hoursList,\n minutes: minutesList,\n seconds: secondsList,\n }))\n const arrowHourList = computed(() => {\n const hour = hours.value\n return [\n hour > 0 ? hour - 1 : undefined,\n hour,\n hour < 23 ? hour + 1 : undefined,\n ]\n })\n const arrowMinuteList = computed(() => {\n const minute = minutes.value\n return [\n minute > 0 ? minute - 1 : undefined,\n minute,\n minute < 59 ? minute + 1 : undefined,\n ]\n })\n const arrowSecondList = computed(() => {\n const second = seconds.value\n return [\n second > 0 ? second - 1 : undefined,\n second,\n second < 59 ? second + 1 : undefined,\n ]\n })\n const arrowListMap = computed(() => ({\n hours: arrowHourList,\n minutes: arrowMinuteList,\n seconds: arrowSecondList,\n }))\n const getAmPmFlag = (hour) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n }\n\n const emitSelectRange = (type) => {\n if (type === 'hours') {\n ctx.emit('select-range', 0, 2)\n } else if (type === 'minutes') {\n ctx.emit('select-range', 3, 5)\n } else if (type === 'seconds') {\n ctx.emit('select-range', 6, 8)\n }\n currentScrollbar.value = type\n }\n\n const adjustCurrentSpinner = (type) => {\n adjustSpinner(type, timePartsMap.value[type].value)\n }\n\n // NOTE: used by datetime / date-range panel\n // renamed from adjustScrollTop\n // should try to refactory it\n const adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n }\n\n const getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\n const adjustSpinner = (type, value) => {\n if (props.arrowControl) return\n const el = listRefsMap[type]\n if (el && el.$el) {\n getScrollbarElement(el.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n }\n\n const typeItemHeight = (type) => {\n const el = listRefsMap[type]\n return el.$el.querySelector('li').offsetHeight\n }\n\n const onIncreaseClick = () => {\n scrollDown(1)\n }\n\n const onDecreaseClick = () => {\n scrollDown(-1)\n }\n\n const scrollDown = (step) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value\n let now = timePartsMap.value[label].value\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n now = (now + step + total) % total\n\n modifyDateField(label, now)\n adjustSpinner(label, now)\n nextTick(() => emitSelectRange(currentScrollbar.value))\n }\n\n const modifyDateField = (type, value) => {\n const list = listMap.value[type].value\n const isDisabled = list[value]\n if (isDisabled) return\n switch (type) {\n case 'hours':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(value)\n .minute(minutes.value)\n .second(seconds.value)\n )\n break\n case 'minutes':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(value)\n .second(seconds.value)\n )\n break\n case 'seconds':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(minutes.value)\n .second(value)\n )\n break\n }\n }\n\n const handleClick = (type, { value, disabled }) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n }\n\n const handleScroll = (type) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(listRefsMap[type].$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\n const scrollBarHeight = (type) => {\n return listRefsMap[type].$el.offsetHeight\n }\n\n const bindScrollEvent = () => {\n const bindFunction = (type) => {\n if (listRefsMap[type] && listRefsMap[type].$el) {\n getScrollbarElement(listRefsMap[type].$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n }\n\n onMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n })\n\n const setRef = (scrollbar, type) => {\n listRefsMap[type] = scrollbar\n }\n\n ctx.emit('set-option', [`${props.role}_scrollDown`, scrollDown])\n ctx.emit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n )\n\n watch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n )\n\n return {\n ns,\n\n setRef,\n spinnerItems,\n currentScrollbar,\n hours,\n minutes,\n seconds,\n hoursList,\n minutesList,\n arrowHourList,\n arrowMinuteList,\n arrowSecondList,\n getAmPmFlag,\n emitSelectRange,\n adjustCurrentSpinner,\n typeItemHeight,\n listHoursRef,\n listMinutesRef,\n listSecondsRef,\n onIncreaseClick,\n onDecreaseClick,\n handleClick,\n secondsList,\n timePartsMap,\n arrowListMap,\n listMap,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_openBlock","_Fragment","_renderList","_createBlock","_createTextVNode","_toDisplayString","_createVNode","_createElementVNode"],"mappings":";;;;;;;;;;;;AA6FA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,UAAY,EAAA;AAAA,IACV,WAAa,EAAA,WAAA;AAAA,GACf;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,WAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,GACF;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA,WAAa,EAAA;AAAA,MACX,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA,WAAa,EAAA;AAAA,MACX,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,IACA,YAAc,EAAA,OAAA;AAAA,IACd,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,aAAe,EAAA;AAAA,MACb,IAAM,EAAA,QAAA;AAAA,KACR;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA,QAAA;AAAA,KACR;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA,QAAA;AAAA,KACR;AAAA,GACF;AAAA,EAEA,KAAO,EAAA,CAAC,QAAU,EAAA,cAAA,EAAgB,YAAY,CAAA;AAAA,EAE9C,KAAA,CAAM,OAAO,GAAK,EAAA;AAChB,IAAM,MAAA,EAAA,GAAK,aAAa,MAAM,CAAA,CAAA;AAE9B,IAAA,IAAI,WAAc,GAAA,KAAA,CAAA;AAClB,IAAM,MAAA,oBAAA,GAAuB,QAAS,CAAA,CAAC,IAAS,KAAA;AAC9C,MAAc,WAAA,GAAA,KAAA,CAAA;AACd,MAAA,oBAAA,CAAqB,IAAI,CAAA,CAAA;AAAA,OACxB,GAAG,CAAA,CAAA;AACN,IAAM,MAAA,gBAAA,GAAmB,IAAI,IAAI,CAAA,CAAA;AACjC,IAAM,MAAA,YAAA,GAA2C,IAAI,IAAI,CAAA,CAAA;AACzD,IAAM,MAAA,cAAA,GAA6C,IAAI,IAAI,CAAA,CAAA;AAC3D,IAAM,MAAA,cAAA,GAA6C,IAAI,IAAI,CAAA,CAAA;AAC3D,IAAA,MAAM,WAAc,GAAA;AAAA,MAClB,KAAO,EAAA,YAAA;AAAA,MACP,OAAS,EAAA,cAAA;AAAA,MACT,OAAS,EAAA,cAAA;AAAA,KACX,CAAA;AAGA,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,MAAM,GAAM,GAAA,CAAC,OAAS,EAAA,SAAA,EAAW,SAAS,CAAA,CAAA;AAC1C,MAAA,OAAO,MAAM,WAAc,GAAA,GAAA,GAAM,GAAI,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AACD,IAAM,MAAA,KAAA,GAAQ,SAAS,MAAM;AAC3B,MAAO,OAAA,KAAA,CAAM,YAAY,IAAK,EAAA,CAAA;AAAA,KAC/B,CAAA,CAAA;AACD,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAC7B,MAAO,OAAA,KAAA,CAAM,YAAY,MAAO,EAAA,CAAA;AAAA,KACjC,CAAA,CAAA;AACD,IAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAC7B,MAAO,OAAA,KAAA,CAAM,YAAY,MAAO,EAAA,CAAA;AAAA,KACjC,CAAA,CAAA;AACD,IAAM,MAAA,YAAA,GAAe,SAAS,OAAO;AAAA,MACnC,KAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,KACA,CAAA,CAAA,CAAA;AACF,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAO,OAAA,YAAA,CAAa,MAAM,IAAI,CAAA,CAAA;AAAA,KAC/B,CAAA,CAAA;AACD,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,OAAO,cAAe,CAAA,KAAA,CAAM,KAAO,EAAA,KAAA,CAAM,IAAI,CAAA,CAAA;AAAA,KAC9C,CAAA,CAAA;AACD,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,OAAO,eAAe,KAAM,CAAA,KAAA,EAAO,OAAQ,CAAA,KAAA,EAAO,MAAM,IAAI,CAAA,CAAA;AAAA,KAC7D,CAAA,CAAA;AACD,IAAM,MAAA,OAAA,GAAU,SAAS,OAAO;AAAA,MAC9B,KAAO,EAAA,SAAA;AAAA,MACP,OAAS,EAAA,WAAA;AAAA,MACT,OAAS,EAAA,WAAA;AAAA,KACT,CAAA,CAAA,CAAA;AACF,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAA,MAAM,OAAO,KAAM,CAAA,KAAA,CAAA;AACnB,MAAO,OAAA;AAAA,QACL,IAAA,GAAO,CAAI,GAAA,IAAA,GAAO,CAAI,GAAA,KAAA,CAAA;AAAA,QACtB,IAAA;AAAA,QACA,IAAA,GAAO,EAAK,GAAA,IAAA,GAAO,CAAI,GAAA,KAAA,CAAA;AAAA,OACzB,CAAA;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,MAAM,SAAS,OAAQ,CAAA,KAAA,CAAA;AACvB,MAAO,OAAA;AAAA,QACL,MAAA,GAAS,CAAI,GAAA,MAAA,GAAS,CAAI,GAAA,KAAA,CAAA;AAAA,QAC1B,MAAA;AAAA,QACA,MAAA,GAAS,EAAK,GAAA,MAAA,GAAS,CAAI,GAAA,KAAA,CAAA;AAAA,OAC7B,CAAA;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,MAAM,SAAS,OAAQ,CAAA,KAAA,CAAA;AACvB,MAAO,OAAA;AAAA,QACL,MAAA,GAAS,CAAI,GAAA,MAAA,GAAS,CAAI,GAAA,KAAA,CAAA;AAAA,QAC1B,MAAA;AAAA,QACA,MAAA,GAAS,EAAK,GAAA,MAAA,GAAS,CAAI,GAAA,KAAA,CAAA;AAAA,OAC7B,CAAA;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA,YAAA,GAAe,SAAS,OAAO;AAAA,MACnC,KAAO,EAAA,aAAA;AAAA,MACP,OAAS,EAAA,eAAA;AAAA,MACT,OAAS,EAAA,eAAA;AAAA,KACT,CAAA,CAAA,CAAA;AACF,IAAM,MAAA,WAAA,GAAc,CAAC,IAAS,KAAA;AAC5B,MAAM,MAAA,cAAA,GAAiB,CAAC,CAAC,KAAM,CAAA,QAAA,CAAA;AAC/B,MAAA,IAAI,CAAC,cAAA;AAAgB,QAAO,OAAA,EAAA,CAAA;AAC5B,MAAM,MAAA,SAAA,GAAY,MAAM,QAAa,KAAA,GAAA,CAAA;AAErC,MAAI,IAAA,OAAA,GAAU,IAAO,GAAA,EAAA,GAAK,KAAQ,GAAA,KAAA,CAAA;AAClC,MAAI,IAAA,SAAA;AAAW,QAAA,OAAA,GAAU,QAAQ,WAAY,EAAA,CAAA;AAC7C,MAAO,OAAA,OAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAM,MAAA,eAAA,GAAkB,CAAC,IAAS,KAAA;AAChC,MAAA,IAAI,SAAS,OAAS,EAAA;AACpB,QAAI,GAAA,CAAA,IAAA,CAAK,cAAgB,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAAA,OAC/B,MAAA,IAAW,SAAS,SAAW,EAAA;AAC7B,QAAI,GAAA,CAAA,IAAA,CAAK,cAAgB,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAAA,OAC/B,MAAA,IAAW,SAAS,SAAW,EAAA;AAC7B,QAAI,GAAA,CAAA,IAAA,CAAK,cAAgB,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAAA,OAC/B;AACA,MAAA,gBAAA,CAAiB,KAAQ,GAAA,IAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAM,MAAA,oBAAA,GAAuB,CAAC,IAAS,KAAA;AACrC,MAAA,aAAA,CAAc,IAAM,EAAA,YAAA,CAAa,KAAM,CAAA,IAAA,CAAA,CAAM,KAAK,CAAA,CAAA;AAAA,KACpD,CAAA;AAKA,IAAA,MAAM,iBAAiB,MAAM;AAC3B,MAAA,oBAAA,CAAqB,OAAO,CAAA,CAAA;AAC5B,MAAA,oBAAA,CAAqB,SAAS,CAAA,CAAA;AAC9B,MAAA,oBAAA,CAAqB,SAAS,CAAA,CAAA;AAAA,KAChC,CAAA;AAEA,IAAM,MAAA,mBAAA,GAAsB,CAAC,EAC3B,KAAA,EAAA,CAAG,cAAc,CAAI,CAAA,EAAA,EAAA,CAAG,UAAU,KAAuB,CAAA,gBAAA,CAAA,CAAA,CAAA;AAE3D,IAAM,MAAA,aAAA,GAAgB,CAAC,IAAA,EAAM,KAAU,KAAA;AACrC,MAAA,IAAI,KAAM,CAAA,YAAA;AAAc,QAAA,OAAA;AACxB,MAAA,MAAM,KAAK,WAAY,CAAA,IAAA,CAAA,CAAA;AACvB,MAAI,IAAA,EAAA,IAAM,GAAG,GAAK,EAAA;AAChB,QAAoB,mBAAA,CAAA,EAAA,CAAG,GAAG,CAAA,CAAE,SAAY,GAAA,IAAA,CAAK,IAC3C,CACA,EAAA,KAAA,GAAQ,cAAe,CAAA,IAAI,CAC7B,CAAA,CAAA;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,cAAA,GAAiB,CAAC,IAAS,KAAA;AAC/B,MAAA,MAAM,KAAK,WAAY,CAAA,IAAA,CAAA,CAAA;AACvB,MAAA,OAAO,EAAG,CAAA,GAAA,CAAI,aAAc,CAAA,IAAI,CAAE,CAAA,YAAA,CAAA;AAAA,KACpC,CAAA;AAEA,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAA,UAAA,CAAW,CAAC,CAAA,CAAA;AAAA,KACd,CAAA;AAEA,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAA,UAAA,CAAW,CAAE,CAAA,CAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,CAAC,IAAS,KAAA;AAC3B,MAAI,IAAA,CAAC,iBAAiB,KAAO,EAAA;AAC3B,QAAA,eAAA,CAAgB,OAAO,CAAA,CAAA;AAAA,OACzB;AAEA,MAAA,MAAM,QAAQ,gBAAiB,CAAA,KAAA,CAAA;AAC/B,MAAI,IAAA,GAAA,GAAM,YAAa,CAAA,KAAA,CAAM,KAAO,CAAA,CAAA,KAAA,CAAA;AACpC,MAAA,MAAM,KAAQ,GAAA,gBAAA,CAAiB,KAAU,KAAA,OAAA,GAAU,EAAK,GAAA,EAAA,CAAA;AACxD,MAAO,GAAA,GAAA,CAAA,GAAA,GAAM,OAAO,KAAS,IAAA,KAAA,CAAA;AAE7B,MAAA,eAAA,CAAgB,OAAO,GAAG,CAAA,CAAA;AAC1B,MAAA,aAAA,CAAc,OAAO,GAAG,CAAA,CAAA;AACxB,MAAA,QAAA,CAAS,MAAM,eAAA,CAAgB,gBAAiB,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KACxD,CAAA;AAEA,IAAM,MAAA,eAAA,GAAkB,CAAC,IAAA,EAAM,KAAU,KAAA;AACvC,MAAM,MAAA,IAAA,GAAO,OAAQ,CAAA,KAAA,CAAM,IAAM,CAAA,CAAA,KAAA,CAAA;AACjC,MAAA,MAAM,aAAa,IAAK,CAAA,KAAA,CAAA,CAAA;AACxB,MAAI,IAAA,UAAA;AAAY,QAAA,OAAA;AAChB,MAAQ,QAAA,IAAA;AAAA,QACD,KAAA,OAAA;AACH,UAAA,GAAA,CAAI,IACF,CAAA,QAAA,EACA,KAAM,CAAA,WAAA,CACH,KAAK,KAAK,CAAA,CACV,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAA,CACpB,MAAO,CAAA,OAAA,CAAQ,KAAK,CACzB,CAAA,CAAA;AACA,UAAA,MAAA;AAAA,QACG,KAAA,SAAA;AACH,UAAA,GAAA,CAAI,IACF,CAAA,QAAA,EACA,KAAM,CAAA,WAAA,CACH,KAAK,KAAM,CAAA,KAAK,CAChB,CAAA,MAAA,CAAO,KAAK,CAAA,CACZ,MAAO,CAAA,OAAA,CAAQ,KAAK,CACzB,CAAA,CAAA;AACA,UAAA,MAAA;AAAA,QACG,KAAA,SAAA;AACH,UAAA,GAAA,CAAI,IACF,CAAA,QAAA,EACA,KAAM,CAAA,WAAA,CACH,KAAK,KAAM,CAAA,KAAK,CAChB,CAAA,MAAA,CAAO,OAAQ,CAAA,KAAK,CACpB,CAAA,MAAA,CAAO,KAAK,CACjB,CAAA,CAAA;AACA,UAAA,MAAA;AAAA,OAAA;AAAA,KAEN,CAAA;AAEA,IAAA,MAAM,WAAc,GAAA,CAAC,IAAM,EAAA,EAAE,OAAO,QAAe,EAAA,KAAA;AACjD,MAAA,IAAI,CAAC,QAAU,EAAA;AACb,QAAA,eAAA,CAAgB,MAAM,KAAK,CAAA,CAAA;AAC3B,QAAA,eAAA,CAAgB,IAAI,CAAA,CAAA;AACpB,QAAA,aAAA,CAAc,MAAM,KAAK,CAAA,CAAA;AAAA,OAC3B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,IAAS,KAAA;AAC7B,MAAc,WAAA,GAAA,IAAA,CAAA;AACd,MAAA,oBAAA,CAAqB,IAAI,CAAA,CAAA;AACzB,MAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,GAAA,CACjB,IAAK,CAAA,KAAA,CACF,CAAoB,mBAAA,CAAA,WAAA,CAAY,IAAM,CAAA,CAAA,GAAG,CAAE,CAAA,SAAA,GACzC,CAAgB,eAAA,CAAA,IAAI,CAAI,GAAA,GAAA,GAAM,EAAM,IAAA,cAAA,CAAe,IAAI,CAAA,GACxD,CACA,IAAA,cAAA,CAAe,IAAI,CACvB,CACA,EAAA,IAAA,KAAS,OAAU,GAAA,EAAA,GAAK,EAC1B,CAAA,CAAA;AACA,MAAA,eAAA,CAAgB,MAAM,KAAK,CAAA,CAAA;AAAA,KAC7B,CAAA;AAEA,IAAM,MAAA,eAAA,GAAkB,CAAC,IAAS,KAAA;AAChC,MAAO,OAAA,WAAA,CAAY,MAAM,GAAI,CAAA,YAAA,CAAA;AAAA,KAC/B,CAAA;AAEA,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAM,MAAA,YAAA,GAAe,CAAC,IAAS,KAAA;AAC7B,QAAA,IAAI,WAAY,CAAA,IAAA,CAAA,IAAS,WAAY,CAAA,IAAA,CAAA,CAAM,GAAK,EAAA;AAC9C,UAAA,mBAAA,CAAoB,WAAY,CAAA,IAAA,CAAA,CAAM,GAAG,CAAA,CAAE,WAAW,MAAM;AAG1D,YAAA,YAAA,CAAa,IAAI,CAAA,CAAA;AAAA,WACnB,CAAA;AAAA,SACF;AAAA,OACF,CAAA;AACA,MAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AACpB,MAAA,YAAA,CAAa,SAAS,CAAA,CAAA;AACtB,MAAA,YAAA,CAAa,SAAS,CAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,QAAA,CAAS,MAAM;AACb,QAAC,CAAA,KAAA,CAAM,gBAAgB,eAAgB,EAAA,CAAA;AACvC,QAAe,cAAA,EAAA,CAAA;AAEf,QAAA,IAAI,MAAM,IAAS,KAAA,OAAA;AAAS,UAAA,eAAA,CAAgB,OAAO,CAAA,CAAA;AAAA,OACpD,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,CAAC,SAAA,EAAW,IAAS,KAAA;AAClC,MAAA,WAAA,CAAY,IAAQ,CAAA,GAAA,SAAA,CAAA;AAAA,KACtB,CAAA;AAEA,IAAA,GAAA,CAAI,KAAK,YAAc,EAAA,CAAC,GAAG,KAAM,CAAA,IAAA,CAAA,WAAA,CAAA,EAAmB,UAAU,CAAC,CAAA,CAAA;AAC/D,IAAA,GAAA,CAAI,KAAK,YAAc,EAAA,CAAC,GAAG,KAAM,CAAA,IAAA,CAAA,gBAAA,CAAA,EAAwB,eAAe,CAAC,CAAA,CAAA;AAEzE,IAAM,MAAA,EAAE,YAAc,EAAA,cAAA,EAAgB,cAAmB,EAAA,GAAA,YAAA,CACvD,MAAM,aACN,EAAA,KAAA,CAAM,eACN,EAAA,KAAA,CAAM,eACR,CAAA,CAAA;AAEA,IACE,KAAA,CAAA,MAAM,KAAM,CAAA,WAAA,EACZ,MAAM;AACJ,MAAI,IAAA,WAAA;AAAa,QAAA,OAAA;AACjB,MAAe,cAAA,EAAA,CAAA;AAAA,KAEnB,CAAA,CAAA;AAEA,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,MAEA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,gBAAA;AAAA,MACA,KAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,oBAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA,OAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;;;;;;;sBA5aCA,kBA4EM,CAAA,KAAA,EAAA;AAAA,IA5EA,KAAK,EAAAC,cAAA,CAAA,CAAG,IAAG,CAAA,EAAA,CAAA,CAAA,CAAC,6BAA8B,IAAW,CAAA,WAAA,EAAA,CAAA,CAAA;AAAA,GAAA,EAAA;AACxC,IAAA,CAAA,IAAA,CAAA,YAAA,IAAAC,SAAA,CAAA,IAAA,CAAA,EACfF,kBA8Be,CAAAG,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAAC,UAAA,CA7BE,IAAY,CAAA,YAAA,EAAA,CAApB,IAAI,KAAA;0BADbC,WA8Be,CAAA,uBAAA,EAAA;AAAA,QA5BZ,GAAK,EAAA,IAAA;AAAA,QAAA,OAAA,EAAA,IAAA;AACL,QAAA,GAAA,EAAG,CAAG,QAAA,KAAa,IAAO,CAAA,MAAA,CAAA,QAAA,EAAU,IAAI,CAAA;AAAA,QACxC,KAAA,EAAKJ,cAAE,CAAA,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,SAAA,EAAA,SAAA,CAAA,CAAA;AAAA,QACb,YAAW,EAAA,sBAAA;AAAA,QACV,YAAA,EAAY,QAAG,EAAE,CAAA,SAAA,EAAA,MAAA,CAAA;AAAA,QAClB,QAAA,EAAA,EAAA;AAAA,QACA,GAAI,EAAA,IAAA;AAAA,QACH,YAAA,EAAU,CAAE,MAAA,KAAA,IAAA,CAAA,eAAA,CAAgB,IAAI,CAAA;AAAA,QAChC,WAAA,EAAS,CAAE,MAAA,KAAA,IAAA,CAAA,oBAAA,CAAqB,IAAI,CAAA;AAAA,OAAA,EAAA;yBAGnC,MAA8C;AAAA,WAAAC,SAAA,CAAA,IAAA,CAAA,EADhDF,mBAiBKG,QAhBuB,EAAA,IAAA,EAAAC,UAAA,CAAA,IAAA,CAAA,OAAA,CAAQ,MAAM,KAAK,EAAA,CAArC,UAAU,GAAG,KAAA;gCADvBJ,kBAiBK,CAAA,IAAA,EAAA;AAAA,cAfF,GAAA;AAAA,cACA,KAAK,EAAAC,cAAA,CAAA;AAAA,gBAAgB,QAAG,EAAE,CAAA,SAAA,EAAA,MAAA,CAAA;AAAA,gBAAiC,QAAG,EAAE,CAAA,QAAA,EAAW,GAAQ,KAAA,IAAA,CAAA,YAAA,CAAa,MAAM,KAAK,CAAA;AAAA,gBAAe,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,UAAA,EAAa,QAAQ,CAAA;AAAA,eAAA,CAAA;AAKpJ,cAAA,OAAA,EAAK,CAAE,MAAA,KAAA,IAAA,CAAA,WAAA,CAAY,IAAI,EAAA,EAAA,KAAA,EAAW,KAAK,QAAQ,EAAA,CAAA;AAAA,aAAA,EAAA;AAEhC,cAAA,IAAA,KAAI,wBAApBD,kBAGW,CAAAG,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,gBAAAG,eAAA,CAAAC,eAAA,CAAA,CAAA,GAAA,oBAFa,GAAG,GAAA,EAAA,IAAA,EAAA,GAAc,MAAM,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,GAAAA,eAAA,CAC7C,iBAAY,GAAG,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,eAAA,EAAA,IAAA,CAAA,KAAAL,SAAA,EAAA,EAEtBF,kBAEW,CAAAG,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,gBAAAG,eAAA,CAAAC,eAAA,CAAA,CAAA,GAAA,GADC,KAAK,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,eAAA,EAAA,IAAA,CAAA,CAAA;;;;;;;AAKZ,IAAA,IAAA,CAAA,YAAA,IAAAL,SAAA,CAAA,IAAA,CAAA,EACdF,kBAuCM,CAAAG,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAAC,UAAA,CAtCW,IAAY,CAAA,YAAA,EAAA,CAApB,IAAI,KAAA;0BADbJ,kBAuCM,CAAA,KAAA,EAAA;AAAA,QArCH,GAAK,EAAA,IAAA;AAAA,QACL,OAAKC,cAAG,CAAA,CAAA,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,SAAA,EAAA,SAAA,CAAA,EAAwB,QAAG,EAAE,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,QAC1C,YAAA,EAAU,CAAE,MAAA,KAAA,IAAA,CAAA,eAAA,CAAgB,IAAI,CAAA;AAAA,OAAA,EAAA;qCAEjCI,WAKU,CAAA,kBAAA,EAAA;AAAA,UAHP,KAAA,EAAKJ,cAAe,CAAA,CAAA,UAAA,EAAA,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,SAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,SAAA,EAAA;2BAE1B,MAAY;AAAA,YAAZO,WAAY,CAAA,mBAAA,CAAA;AAAA,WAAA,CAAA;;;oCAHI,IAAe,CAAA,eAAA,CAAA;AAAA,SAAA,CAAA;qCAKjCH,WAKU,CAAA,kBAAA,EAAA;AAAA,UAHP,KAAA,EAAKJ,cAAiB,CAAA,CAAA,YAAA,EAAA,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,SAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,SAAA,EAAA;2BAE5B,MAAc;AAAA,YAAdO,WAAc,CAAA,qBAAA,CAAA;AAAA,WAAA,CAAA;;;oCAHE,IAAe,CAAA,eAAA,CAAA;AAAA,SAAA,CAAA;QAKjCC,kBAoBK,CAAA,IAAA,EAAA;AAAA,UApBA,KAAA,EAAKR,cAAE,CAAA,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA;AAAA,SAAA,EAAA;AACf,WAAAC,SAAA,CAAA,IAAA,CAAA,EAAAF,kBAAA,CAkBKG,2BAjBmB,IAAa,CAAA,YAAA,CAAA,IAAA,CAAA,CAAM,KAAK,EAAA,CAAtC,MAAM,GAAG,KAAA;gCADnBH,kBAkBK,CAAA,IAAA,EAAA;AAAA,cAhBF,GAAA;AAAA,cACA,KAAK,EAAAC,cAAA,CAAA;AAAA,gBAAkB,QAAG,EAAE,CAAA,SAAA,EAAA,MAAA,CAAA;AAAA,gBAAmC,QAAG,EAAE,CAAA,QAAA,EAAW,IAAS,KAAA,IAAA,CAAA,YAAA,CAAa,MAAM,KAAK,CAAA;AAAA,gBAAiB,QAAG,EAAE,CAAA,UAAA,EAAa,IAAQ,CAAA,OAAA,CAAA,IAAA,CAAA,CAAM,MAAM,IAAI,CAAA,CAAA;AAAA,eAAA,CAAA;;AAMrJ,cAAA,OAAA,IAAA,KAAI,yBAA3BD,kBAQW,CAAAG,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,gBAPO,IAAA,KAAI,wBAApBH,kBAGW,CAAAG,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,kBAAAG,eAAA,CAAAC,eAAA,CAAA,CAAA,GAAA,oBAFa,IAAI,GAAA,EAAA,IAAA,EAAA,GAAc,OAAO,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,GAAAA,eAAA,CAC/C,iBAAY,IAAI,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,iBAAA,EAAA,IAAA,CAAA,KAAAL,SAAA,EAAA,EAEvBF,kBAEW,CAAAG,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,kBAAAG,eAAA,CAAAC,eAAA,CAAA,CAAA,GAAA,GADC,MAAM,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,iBAAA,EAAA,IAAA,CAAA,CAAA;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"basic-time-spinner2.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=\"(scollbar) => setRef(scollbar, 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 listMap[item].value\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartsMap[item].value),\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=\"onDecreaseClick\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncreaseClick\"\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 arrowListMap[item].value\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartsMap[item].value),\n ns.is('disabled', listMap[item].value[time]),\n ]\"\n >\n <template v-if=\"typeof time === 'number'\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, onMounted, ref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { RepeatClick } 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 { getTimeLists } from './useTimePicker'\n\nimport type { PropType, Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n directives: {\n repeatClick: RepeatClick,\n },\n\n components: {\n ElScrollbar,\n ElIcon,\n ArrowUp,\n ArrowDown,\n },\n\n props: {\n role: {\n type: String,\n required: true,\n },\n spinnerDate: {\n type: Object as PropType<Dayjs>,\n required: true,\n },\n showSeconds: {\n type: Boolean,\n default: true,\n },\n arrowControl: Boolean,\n amPmMode: {\n type: String,\n default: '', // 'a': am/pm; 'A': AM/PM\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n },\n\n emits: ['change', 'select-range', 'set-option'],\n\n setup(props, ctx) {\n const ns = useNamespace('time')\n // data\n let isScrolling = false\n const debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n }, 200)\n const currentScrollbar = ref(null)\n const listHoursRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listMinutesRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listSecondsRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listRefsMap = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n }\n\n // computed\n const spinnerItems = computed(() => {\n const arr = ['hours', 'minutes', 'seconds']\n return props.showSeconds ? arr : arr.slice(0, 2)\n })\n const hours = computed(() => {\n return props.spinnerDate.hour()\n })\n const minutes = computed(() => {\n return props.spinnerDate.minute()\n })\n const seconds = computed(() => {\n return props.spinnerDate.second()\n })\n const timePartsMap = computed(() => ({\n hours,\n minutes,\n seconds,\n }))\n const hoursList = computed(() => {\n return getHoursList(props.role)\n })\n const minutesList = computed(() => {\n return getMinutesList(hours.value, props.role)\n })\n const secondsList = computed(() => {\n return getSecondsList(hours.value, minutes.value, props.role)\n })\n const listMap = computed(() => ({\n hours: hoursList,\n minutes: minutesList,\n seconds: secondsList,\n }))\n const arrowHourList = computed(() => {\n const hour = hours.value\n return [\n hour > 0 ? hour - 1 : undefined,\n hour,\n hour < 23 ? hour + 1 : undefined,\n ]\n })\n const arrowMinuteList = computed(() => {\n const minute = minutes.value\n return [\n minute > 0 ? minute - 1 : undefined,\n minute,\n minute < 59 ? minute + 1 : undefined,\n ]\n })\n const arrowSecondList = computed(() => {\n const second = seconds.value\n return [\n second > 0 ? second - 1 : undefined,\n second,\n second < 59 ? second + 1 : undefined,\n ]\n })\n const arrowListMap = computed(() => ({\n hours: arrowHourList,\n minutes: arrowMinuteList,\n seconds: arrowSecondList,\n }))\n const getAmPmFlag = (hour) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n }\n\n const emitSelectRange = (type) => {\n if (type === 'hours') {\n ctx.emit('select-range', 0, 2)\n } else if (type === 'minutes') {\n ctx.emit('select-range', 3, 5)\n } else if (type === 'seconds') {\n ctx.emit('select-range', 6, 8)\n }\n currentScrollbar.value = type\n }\n\n const adjustCurrentSpinner = (type) => {\n adjustSpinner(type, timePartsMap.value[type].value)\n }\n\n // NOTE: used by datetime / date-range panel\n // renamed from adjustScrollTop\n // should try to refactory it\n const adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n }\n\n const getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\n const adjustSpinner = (type, value) => {\n if (props.arrowControl) return\n const el = listRefsMap[type]\n if (el && el.$el) {\n getScrollbarElement(el.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n }\n\n const typeItemHeight = (type) => {\n const el = listRefsMap[type]\n return el.$el.querySelector('li').offsetHeight\n }\n\n const onIncreaseClick = () => {\n scrollDown(1)\n }\n\n const onDecreaseClick = () => {\n scrollDown(-1)\n }\n\n const scrollDown = (step) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value\n let now = timePartsMap.value[label].value\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n now = (now + step + total) % total\n\n modifyDateField(label, now)\n adjustSpinner(label, now)\n nextTick(() => emitSelectRange(currentScrollbar.value))\n }\n\n const modifyDateField = (type, value) => {\n const list = listMap.value[type].value\n const isDisabled = list[value]\n if (isDisabled) return\n switch (type) {\n case 'hours':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(value)\n .minute(minutes.value)\n .second(seconds.value)\n )\n break\n case 'minutes':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(value)\n .second(seconds.value)\n )\n break\n case 'seconds':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(minutes.value)\n .second(value)\n )\n break\n }\n }\n\n const handleClick = (type, { value, disabled }) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n }\n\n const handleScroll = (type) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(listRefsMap[type].$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\n const scrollBarHeight = (type) => {\n return listRefsMap[type].$el.offsetHeight\n }\n\n const bindScrollEvent = () => {\n const bindFunction = (type) => {\n if (listRefsMap[type] && listRefsMap[type].$el) {\n getScrollbarElement(listRefsMap[type].$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n }\n\n onMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n })\n\n const setRef = (scrollbar, type) => {\n listRefsMap[type] = scrollbar\n }\n\n ctx.emit('set-option', [`${props.role}_scrollDown`, scrollDown])\n ctx.emit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n )\n\n watch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n )\n\n return {\n ns,\n\n setRef,\n spinnerItems,\n currentScrollbar,\n hours,\n minutes,\n seconds,\n hoursList,\n minutesList,\n arrowHourList,\n arrowMinuteList,\n arrowSecondList,\n getAmPmFlag,\n emitSelectRange,\n adjustCurrentSpinner,\n typeItemHeight,\n listHoursRef,\n listMinutesRef,\n listSecondsRef,\n onIncreaseClick,\n onDecreaseClick,\n handleClick,\n secondsList,\n timePartsMap,\n arrowListMap,\n listMap,\n }\n },\n})\n</script>\n"],"names":["RepeatClick","_createElementBlock","_normalizeClass","_openBlock","_Fragment","_renderList","_createBlock","_createTextVNode","_toDisplayString","_createVNode","_createElementVNode"],"mappings":"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"}