@element-plus/nightly 0.0.20250527 → 0.0.20250529

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 (510) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +31 -13
  4. package/dist/index.full.min.js +10 -10
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +14 -14
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +31 -13
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lo.js +1 -1
  142. package/dist/locale/lo.min.js +1 -1
  143. package/dist/locale/lo.min.mjs +1 -1
  144. package/dist/locale/lo.mjs +1 -1
  145. package/dist/locale/lt.js +1 -1
  146. package/dist/locale/lt.min.js +1 -1
  147. package/dist/locale/lt.min.mjs +1 -1
  148. package/dist/locale/lt.mjs +1 -1
  149. package/dist/locale/lv.js +1 -1
  150. package/dist/locale/lv.min.js +1 -1
  151. package/dist/locale/lv.min.mjs +1 -1
  152. package/dist/locale/lv.mjs +1 -1
  153. package/dist/locale/mg.js +1 -1
  154. package/dist/locale/mg.min.js +1 -1
  155. package/dist/locale/mg.min.mjs +1 -1
  156. package/dist/locale/mg.mjs +1 -1
  157. package/dist/locale/mn.js +1 -1
  158. package/dist/locale/mn.min.js +1 -1
  159. package/dist/locale/mn.min.mjs +1 -1
  160. package/dist/locale/mn.mjs +1 -1
  161. package/dist/locale/ms.js +1 -1
  162. package/dist/locale/ms.min.js +1 -1
  163. package/dist/locale/ms.min.mjs +1 -1
  164. package/dist/locale/ms.mjs +1 -1
  165. package/dist/locale/my.js +1 -1
  166. package/dist/locale/my.min.js +1 -1
  167. package/dist/locale/my.min.mjs +1 -1
  168. package/dist/locale/my.mjs +1 -1
  169. package/dist/locale/nb-no.js +1 -1
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.mjs +1 -1
  172. package/dist/locale/nb-no.mjs +1 -1
  173. package/dist/locale/nl.js +1 -1
  174. package/dist/locale/nl.min.js +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/no.js +1 -1
  178. package/dist/locale/no.min.js +1 -1
  179. package/dist/locale/no.min.mjs +1 -1
  180. package/dist/locale/no.mjs +1 -1
  181. package/dist/locale/pa.js +1 -1
  182. package/dist/locale/pa.min.js +1 -1
  183. package/dist/locale/pa.min.mjs +1 -1
  184. package/dist/locale/pa.mjs +1 -1
  185. package/dist/locale/pl.js +1 -1
  186. package/dist/locale/pl.min.js +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +1 -1
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.mjs +1 -1
  192. package/dist/locale/pt-br.mjs +1 -1
  193. package/dist/locale/pt.js +1 -1
  194. package/dist/locale/pt.min.js +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +1 -1
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.mjs +1 -1
  200. package/dist/locale/ro.mjs +1 -1
  201. package/dist/locale/ru.js +1 -1
  202. package/dist/locale/ru.min.js +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.mjs +1 -1
  205. package/dist/locale/sk.js +1 -1
  206. package/dist/locale/sk.min.js +1 -1
  207. package/dist/locale/sk.min.mjs +1 -1
  208. package/dist/locale/sk.mjs +1 -1
  209. package/dist/locale/sl.js +1 -1
  210. package/dist/locale/sl.min.js +1 -1
  211. package/dist/locale/sl.min.mjs +1 -1
  212. package/dist/locale/sl.mjs +1 -1
  213. package/dist/locale/sr.js +1 -1
  214. package/dist/locale/sr.min.js +1 -1
  215. package/dist/locale/sr.min.mjs +1 -1
  216. package/dist/locale/sr.mjs +1 -1
  217. package/dist/locale/sv.js +1 -1
  218. package/dist/locale/sv.min.js +1 -1
  219. package/dist/locale/sv.min.mjs +1 -1
  220. package/dist/locale/sv.mjs +1 -1
  221. package/dist/locale/sw.js +1 -1
  222. package/dist/locale/sw.min.js +1 -1
  223. package/dist/locale/sw.min.mjs +1 -1
  224. package/dist/locale/sw.mjs +1 -1
  225. package/dist/locale/ta.js +1 -1
  226. package/dist/locale/ta.min.js +1 -1
  227. package/dist/locale/ta.min.mjs +1 -1
  228. package/dist/locale/ta.mjs +1 -1
  229. package/dist/locale/te.js +1 -1
  230. package/dist/locale/te.min.js +1 -1
  231. package/dist/locale/te.min.mjs +1 -1
  232. package/dist/locale/te.mjs +1 -1
  233. package/dist/locale/th.js +1 -1
  234. package/dist/locale/th.min.js +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +1 -1
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.mjs +1 -1
  240. package/dist/locale/tk.mjs +1 -1
  241. package/dist/locale/tr.js +1 -1
  242. package/dist/locale/tr.min.js +1 -1
  243. package/dist/locale/tr.min.mjs +1 -1
  244. package/dist/locale/tr.mjs +1 -1
  245. package/dist/locale/ug-cn.js +1 -1
  246. package/dist/locale/ug-cn.min.js +1 -1
  247. package/dist/locale/ug-cn.min.mjs +1 -1
  248. package/dist/locale/ug-cn.mjs +1 -1
  249. package/dist/locale/uk.js +1 -1
  250. package/dist/locale/uk.min.js +1 -1
  251. package/dist/locale/uk.min.mjs +1 -1
  252. package/dist/locale/uk.mjs +1 -1
  253. package/dist/locale/uz-uz.js +1 -1
  254. package/dist/locale/uz-uz.min.js +1 -1
  255. package/dist/locale/uz-uz.min.mjs +1 -1
  256. package/dist/locale/uz-uz.mjs +1 -1
  257. package/dist/locale/vi.js +1 -1
  258. package/dist/locale/vi.min.js +1 -1
  259. package/dist/locale/vi.min.mjs +1 -1
  260. package/dist/locale/vi.mjs +1 -1
  261. package/dist/locale/zh-cn.js +1 -1
  262. package/dist/locale/zh-cn.min.js +1 -1
  263. package/dist/locale/zh-cn.min.mjs +1 -1
  264. package/dist/locale/zh-cn.mjs +1 -1
  265. package/dist/locale/zh-hk.js +1 -1
  266. package/dist/locale/zh-hk.min.js +1 -1
  267. package/dist/locale/zh-hk.min.mjs +1 -1
  268. package/dist/locale/zh-hk.mjs +1 -1
  269. package/dist/locale/zh-mo.js +1 -1
  270. package/dist/locale/zh-mo.min.js +1 -1
  271. package/dist/locale/zh-mo.min.mjs +1 -1
  272. package/dist/locale/zh-mo.mjs +1 -1
  273. package/dist/locale/zh-tw.js +1 -1
  274. package/dist/locale/zh-tw.min.js +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/components/alert/index.mjs +2 -2
  278. package/es/components/alert/src/alert.mjs +41 -108
  279. package/es/components/alert/src/alert.mjs.map +1 -1
  280. package/es/components/alert/src/alert2.mjs +108 -41
  281. package/es/components/alert/src/alert2.mjs.map +1 -1
  282. package/es/components/avatar/index.mjs +2 -2
  283. package/es/components/avatar/src/avatar.mjs +31 -65
  284. package/es/components/avatar/src/avatar.mjs.map +1 -1
  285. package/es/components/avatar/src/avatar2.mjs +65 -31
  286. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  287. package/es/components/breadcrumb/index.mjs +4 -4
  288. package/es/components/breadcrumb/src/breadcrumb-item.mjs +8 -56
  289. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  290. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +56 -8
  291. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  292. package/es/components/breadcrumb/src/breadcrumb.mjs +10 -37
  293. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  294. package/es/components/breadcrumb/src/breadcrumb2.mjs +37 -10
  295. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  296. package/es/components/cascader-panel/src/index.mjs +2 -2
  297. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  298. package/es/components/cascader-panel/src/menu.mjs +1 -1
  299. package/es/components/cascader-panel/src/node.mjs +115 -206
  300. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  301. package/es/components/cascader-panel/src/node2.mjs +206 -115
  302. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  303. package/es/components/cascader-panel/src/store.mjs +1 -1
  304. package/es/components/checkbox/index.mjs +2 -2
  305. package/es/components/checkbox/src/checkbox-group.mjs +30 -72
  306. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  307. package/es/components/checkbox/src/checkbox-group2.mjs +72 -30
  308. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  309. package/es/components/color-picker/src/color-picker2.mjs +0 -4
  310. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  311. package/es/components/countdown/index.mjs +2 -2
  312. package/es/components/countdown/src/countdown.mjs +79 -21
  313. package/es/components/countdown/src/countdown.mjs.map +1 -1
  314. package/es/components/countdown/src/countdown2.mjs +21 -79
  315. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  316. package/es/components/index.mjs +13 -13
  317. package/es/components/input-number/src/input-number2.mjs +1 -2
  318. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  319. package/es/components/mention/src/mention-dropdown.mjs +166 -15
  320. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  321. package/es/components/mention/src/mention-dropdown2.mjs +15 -166
  322. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  323. package/es/components/mention/src/mention2.mjs +1 -1
  324. package/es/components/menu/index.mjs +2 -2
  325. package/es/components/menu/src/menu-item.mjs +97 -15
  326. package/es/components/menu/src/menu-item.mjs.map +1 -1
  327. package/es/components/menu/src/menu-item2.mjs +15 -97
  328. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  329. package/es/components/popper/index.mjs +2 -2
  330. package/es/components/popper/src/content.mjs +94 -130
  331. package/es/components/popper/src/content.mjs.map +1 -1
  332. package/es/components/popper/src/content2.mjs +130 -94
  333. package/es/components/popper/src/content2.mjs.map +1 -1
  334. package/es/components/scrollbar/src/scrollbar.d.ts +2 -0
  335. package/es/components/scrollbar/src/scrollbar.mjs +1 -0
  336. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  337. package/es/components/scrollbar/src/scrollbar.vue.d.ts +3 -0
  338. package/es/components/scrollbar/src/scrollbar2.mjs +19 -2
  339. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  340. package/es/components/scrollbar/src/thumb2.mjs +3 -1
  341. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  342. package/es/components/select-v2/src/useSelect.mjs +3 -1
  343. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  344. package/es/components/steps/index.mjs +2 -2
  345. package/es/components/steps/src/item.mjs +190 -19
  346. package/es/components/steps/src/item.mjs.map +1 -1
  347. package/es/components/steps/src/item2.mjs +19 -190
  348. package/es/components/steps/src/item2.mjs.map +1 -1
  349. package/es/components/text/src/text2.mjs +2 -2
  350. package/es/components/text/src/text2.mjs.map +1 -1
  351. package/es/components/time-select/index.mjs +2 -2
  352. package/es/components/time-select/src/time-select.mjs +132 -54
  353. package/es/components/time-select/src/time-select.mjs.map +1 -1
  354. package/es/components/time-select/src/time-select2.mjs +54 -132
  355. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  356. package/es/components/tooltip/src/content.mjs +1 -1
  357. package/es/components/tooltip/src/content2.mjs +1 -1
  358. package/es/components/tooltip-v2/index.mjs +3 -3
  359. package/es/components/tooltip-v2/src/content2.mjs +1 -1
  360. package/es/components/tooltip-v2/src/tooltip.mjs +77 -19
  361. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  362. package/es/components/tooltip-v2/src/tooltip2.mjs +19 -77
  363. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  364. package/es/components/tooltip-v2/src/trigger.mjs +12 -89
  365. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  366. package/es/components/tooltip-v2/src/trigger2.mjs +89 -12
  367. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  368. package/es/components/transfer/index.mjs +2 -2
  369. package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
  370. package/es/components/transfer/src/transfer-panel.mjs +1 -1
  371. package/es/components/transfer/src/transfer.mjs +68 -164
  372. package/es/components/transfer/src/transfer.mjs.map +1 -1
  373. package/es/components/transfer/src/transfer2.mjs +164 -68
  374. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  375. package/es/components/upload/index.mjs +1 -1
  376. package/es/components/upload/src/upload-content2.mjs +1 -1
  377. package/es/components/upload/src/upload-dragger.mjs +10 -56
  378. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  379. package/es/components/upload/src/upload-dragger2.mjs +56 -10
  380. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  381. package/es/components/visual-hidden/index.mjs +3 -3
  382. package/es/components/visual-hidden/src/visual-hidden.mjs +6 -35
  383. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  384. package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -6
  385. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  386. package/es/index.d.ts +4 -0
  387. package/es/index.mjs +13 -13
  388. package/es/version.d.ts +1 -1
  389. package/es/version.mjs +1 -1
  390. package/es/version.mjs.map +1 -1
  391. package/lib/components/alert/index.js +2 -2
  392. package/lib/components/alert/src/alert.js +42 -107
  393. package/lib/components/alert/src/alert.js.map +1 -1
  394. package/lib/components/alert/src/alert2.js +107 -42
  395. package/lib/components/alert/src/alert2.js.map +1 -1
  396. package/lib/components/avatar/index.js +2 -2
  397. package/lib/components/avatar/src/avatar.js +32 -65
  398. package/lib/components/avatar/src/avatar.js.map +1 -1
  399. package/lib/components/avatar/src/avatar2.js +65 -32
  400. package/lib/components/avatar/src/avatar2.js.map +1 -1
  401. package/lib/components/breadcrumb/index.js +4 -4
  402. package/lib/components/breadcrumb/src/breadcrumb-item.js +8 -56
  403. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  404. package/lib/components/breadcrumb/src/breadcrumb-item2.js +56 -8
  405. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  406. package/lib/components/breadcrumb/src/breadcrumb.js +10 -37
  407. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  408. package/lib/components/breadcrumb/src/breadcrumb2.js +37 -10
  409. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  410. package/lib/components/cascader-panel/src/index.js +2 -2
  411. package/lib/components/cascader-panel/src/index.js.map +1 -1
  412. package/lib/components/cascader-panel/src/menu.js +1 -1
  413. package/lib/components/cascader-panel/src/node.js +115 -206
  414. package/lib/components/cascader-panel/src/node.js.map +1 -1
  415. package/lib/components/cascader-panel/src/node2.js +206 -115
  416. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  417. package/lib/components/cascader-panel/src/store.js +1 -1
  418. package/lib/components/checkbox/index.js +2 -2
  419. package/lib/components/checkbox/src/checkbox-group.js +30 -71
  420. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  421. package/lib/components/checkbox/src/checkbox-group2.js +71 -30
  422. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  423. package/lib/components/color-picker/src/color-picker2.js +0 -4
  424. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  425. package/lib/components/countdown/index.js +2 -2
  426. package/lib/components/countdown/src/countdown.js +79 -22
  427. package/lib/components/countdown/src/countdown.js.map +1 -1
  428. package/lib/components/countdown/src/countdown2.js +22 -79
  429. package/lib/components/countdown/src/countdown2.js.map +1 -1
  430. package/lib/components/index.js +13 -13
  431. package/lib/components/input-number/src/input-number2.js +1 -2
  432. package/lib/components/input-number/src/input-number2.js.map +1 -1
  433. package/lib/components/mention/src/mention-dropdown.js +166 -16
  434. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  435. package/lib/components/mention/src/mention-dropdown2.js +16 -166
  436. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  437. package/lib/components/mention/src/mention2.js +1 -1
  438. package/lib/components/menu/index.js +2 -2
  439. package/lib/components/menu/src/menu-item.js +97 -16
  440. package/lib/components/menu/src/menu-item.js.map +1 -1
  441. package/lib/components/menu/src/menu-item2.js +16 -97
  442. package/lib/components/menu/src/menu-item2.js.map +1 -1
  443. package/lib/components/popper/index.js +2 -2
  444. package/lib/components/popper/src/content.js +99 -130
  445. package/lib/components/popper/src/content.js.map +1 -1
  446. package/lib/components/popper/src/content2.js +130 -99
  447. package/lib/components/popper/src/content2.js.map +1 -1
  448. package/lib/components/scrollbar/src/scrollbar.d.ts +2 -0
  449. package/lib/components/scrollbar/src/scrollbar.js +1 -0
  450. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  451. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +3 -0
  452. package/lib/components/scrollbar/src/scrollbar2.js +19 -2
  453. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  454. package/lib/components/scrollbar/src/thumb2.js +3 -1
  455. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  456. package/lib/components/select-v2/src/useSelect.js +3 -1
  457. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  458. package/lib/components/steps/index.js +2 -2
  459. package/lib/components/steps/src/item.js +190 -19
  460. package/lib/components/steps/src/item.js.map +1 -1
  461. package/lib/components/steps/src/item2.js +19 -190
  462. package/lib/components/steps/src/item2.js.map +1 -1
  463. package/lib/components/text/src/text2.js +1 -1
  464. package/lib/components/text/src/text2.js.map +1 -1
  465. package/lib/components/time-select/index.js +2 -2
  466. package/lib/components/time-select/src/time-select.js +137 -54
  467. package/lib/components/time-select/src/time-select.js.map +1 -1
  468. package/lib/components/time-select/src/time-select2.js +54 -137
  469. package/lib/components/time-select/src/time-select2.js.map +1 -1
  470. package/lib/components/tooltip/src/content.js +1 -1
  471. package/lib/components/tooltip/src/content2.js +1 -1
  472. package/lib/components/tooltip-v2/index.js +3 -3
  473. package/lib/components/tooltip-v2/src/content2.js +1 -1
  474. package/lib/components/tooltip-v2/src/tooltip.js +77 -19
  475. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  476. package/lib/components/tooltip-v2/src/tooltip2.js +19 -77
  477. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  478. package/lib/components/tooltip-v2/src/trigger.js +12 -89
  479. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  480. package/lib/components/tooltip-v2/src/trigger2.js +89 -12
  481. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  482. package/lib/components/transfer/index.js +2 -2
  483. package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
  484. package/lib/components/transfer/src/transfer-panel.js +1 -1
  485. package/lib/components/transfer/src/transfer.js +72 -164
  486. package/lib/components/transfer/src/transfer.js.map +1 -1
  487. package/lib/components/transfer/src/transfer2.js +164 -72
  488. package/lib/components/transfer/src/transfer2.js.map +1 -1
  489. package/lib/components/upload/index.js +1 -1
  490. package/lib/components/upload/src/upload-content2.js +1 -1
  491. package/lib/components/upload/src/upload-dragger.js +11 -56
  492. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  493. package/lib/components/upload/src/upload-dragger2.js +56 -11
  494. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  495. package/lib/components/visual-hidden/index.js +2 -2
  496. package/lib/components/visual-hidden/src/visual-hidden.js +6 -35
  497. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  498. package/lib/components/visual-hidden/src/visual-hidden2.js +35 -6
  499. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  500. package/lib/index.d.ts +4 -0
  501. package/lib/index.js +13 -13
  502. package/lib/version.d.ts +1 -1
  503. package/lib/version.js +1 -1
  504. package/lib/version.js.map +1 -1
  505. package/package.json +2 -2
  506. package/tags.json +1 -1
  507. package/theme-chalk/el-color-picker.css +1 -1
  508. package/theme-chalk/index.css +1 -1
  509. package/theme-chalk/src/color-picker.scss +10 -24
  510. package/web-types.json +1 -1
@@ -2,38 +2,79 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var index = require('../../../hooks/use-size/index.js');
7
- var index$1 = require('../../../hooks/use-aria/index.js');
5
+ var vue = require('vue');
6
+ var lodashUnified = require('lodash-unified');
7
+ var checkboxGroup = require('./checkbox-group.js');
8
+ var constants = require('./constants.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var index = require('../../../hooks/use-namespace/index.js');
11
+ var useFormItem = require('../../form/src/hooks/use-form-item.js');
12
+ var error = require('../../../utils/error.js');
8
13
  var event = require('../../../constants/event.js');
9
- var shared = require('@vue/shared');
10
14
 
11
- const checkboxGroupProps = runtime.buildProps({
12
- modelValue: {
13
- type: runtime.definePropType(Array),
14
- default: () => []
15
- },
16
- disabled: Boolean,
17
- min: Number,
18
- max: Number,
19
- size: index.useSizeProp,
20
- fill: String,
21
- textColor: String,
22
- tag: {
23
- type: String,
24
- default: "div"
25
- },
26
- validateEvent: {
27
- type: Boolean,
28
- default: true
29
- },
30
- ...index$1.useAriaProps(["ariaLabel"])
15
+ const __default__ = vue.defineComponent({
16
+ name: "ElCheckboxGroup"
31
17
  });
32
- const checkboxGroupEmits = {
33
- [event.UPDATE_MODEL_EVENT]: (val) => shared.isArray(val),
34
- change: (val) => shared.isArray(val)
35
- };
18
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
+ ...__default__,
20
+ props: checkboxGroup.checkboxGroupProps,
21
+ emits: checkboxGroup.checkboxGroupEmits,
22
+ setup(__props, { emit }) {
23
+ const props = __props;
24
+ const ns = index.useNamespace("checkbox");
25
+ const { formItem } = useFormItem.useFormItem();
26
+ const { inputId: groupId, isLabeledByFormItem } = useFormItem.useFormItemInputId(props, {
27
+ formItemContext: formItem
28
+ });
29
+ const changeEvent = async (value) => {
30
+ emit(event.UPDATE_MODEL_EVENT, value);
31
+ await vue.nextTick();
32
+ emit(event.CHANGE_EVENT, value);
33
+ };
34
+ const modelValue = vue.computed({
35
+ get() {
36
+ return props.modelValue;
37
+ },
38
+ set(val) {
39
+ changeEvent(val);
40
+ }
41
+ });
42
+ vue.provide(constants.checkboxGroupContextKey, {
43
+ ...lodashUnified.pick(vue.toRefs(props), [
44
+ "size",
45
+ "min",
46
+ "max",
47
+ "disabled",
48
+ "validateEvent",
49
+ "fill",
50
+ "textColor"
51
+ ]),
52
+ modelValue,
53
+ changeEvent
54
+ });
55
+ vue.watch(() => props.modelValue, () => {
56
+ if (props.validateEvent) {
57
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => error.debugWarn(err));
58
+ }
59
+ });
60
+ return (_ctx, _cache) => {
61
+ var _a;
62
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.tag), {
63
+ id: vue.unref(groupId),
64
+ class: vue.normalizeClass(vue.unref(ns).b("group")),
65
+ role: "group",
66
+ "aria-label": !vue.unref(isLabeledByFormItem) ? _ctx.ariaLabel || "checkbox-group" : void 0,
67
+ "aria-labelledby": vue.unref(isLabeledByFormItem) ? (_a = vue.unref(formItem)) == null ? void 0 : _a.labelId : void 0
68
+ }, {
69
+ default: vue.withCtx(() => [
70
+ vue.renderSlot(_ctx.$slots, "default")
71
+ ]),
72
+ _: 3
73
+ }, 8, ["id", "class", "aria-label", "aria-labelledby"]);
74
+ };
75
+ }
76
+ });
77
+ var CheckboxGroup = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "checkbox-group.vue"]]);
36
78
 
37
- exports.checkboxGroupEmits = checkboxGroupEmits;
38
- exports.checkboxGroupProps = checkboxGroupProps;
79
+ exports["default"] = CheckboxGroup;
39
80
  //# sourceMappingURL=checkbox-group2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-group2.js","sources":["../../../../../../packages/components/checkbox/src/checkbox-group.ts"],"sourcesContent":["import { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport { buildProps, definePropType, isArray } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type checkboxGroup from './checkbox-group.vue'\nimport type { CheckboxValueType } from './checkbox'\n\nexport type CheckboxGroupValueType = Exclude<CheckboxValueType, boolean>[]\n\nexport const checkboxGroupProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<CheckboxGroupValueType>(Array),\n default: () => [],\n },\n /**\n * @description whether the nesting checkboxes are disabled\n */\n disabled: Boolean,\n /**\n * @description minimum number of checkbox checked\n */\n min: Number,\n /**\n * @description maximum number of checkbox checked\n */\n max: Number,\n /**\n * @description size of checkbox\n */\n size: useSizeProp,\n /**\n * @description border and background color when button is active\n */\n fill: String,\n /**\n * @description font color when button is active\n */\n textColor: String,\n /**\n * @description element tag of the checkbox group\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport const checkboxGroupEmits = {\n [UPDATE_MODEL_EVENT]: (val: CheckboxGroupValueType) => isArray(val),\n change: (val: CheckboxValueType[]) => isArray(val),\n}\n\nexport type CheckboxGroupProps = ExtractPropTypes<typeof checkboxGroupProps>\nexport type CheckboxGroupEmits = typeof checkboxGroupEmits\nexport type CheckboxGroupInstance = InstanceType<typeof checkboxGroup> & unknown\n"],"names":["buildProps","definePropType","useSizeProp","useAriaProps","UPDATE_MODEL_EVENT","isArray"],"mappings":";;;;;;;;;;AAGY,MAAC,kBAAkB,GAAGA,kBAAU,CAAC;AAC7C,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,GAAGC,oBAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,kBAAkB,GAAG;AAClC,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKC,cAAO,CAAC,GAAG,CAAC;AAC7C,EAAE,MAAM,EAAE,CAAC,GAAG,KAAKA,cAAO,CAAC,GAAG,CAAC;AAC/B;;;;;"}
1
+ {"version":3,"file":"checkbox-group2.js","sources":["../../../../../../packages/components/checkbox/src/checkbox-group.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n :id=\"groupId\"\n :class=\"ns.b('group')\"\n role=\"group\"\n :aria-label=\"\n !isLabeledByFormItem ? ariaLabel || 'checkbox-group' : undefined\n \"\n :aria-labelledby=\"isLabeledByFormItem ? formItem?.labelId : undefined\"\n >\n <slot />\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, provide, toRefs, watch } from 'vue'\nimport { pick } from 'lodash-unified'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { checkboxGroupEmits, checkboxGroupProps } from './checkbox-group'\nimport { checkboxGroupContextKey } from './constants'\n\nimport type { CheckboxGroupValueType } from './checkbox-group'\n\ndefineOptions({\n name: 'ElCheckboxGroup',\n})\n\nconst props = defineProps(checkboxGroupProps)\nconst emit = defineEmits(checkboxGroupEmits)\nconst ns = useNamespace('checkbox')\n\nconst { formItem } = useFormItem()\nconst { inputId: groupId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst changeEvent = async (value: CheckboxGroupValueType) => {\n emit(UPDATE_MODEL_EVENT, value)\n await nextTick()\n emit(CHANGE_EVENT, value)\n}\n\nconst modelValue = computed({\n get() {\n return props.modelValue\n },\n set(val: CheckboxGroupValueType) {\n changeEvent(val)\n },\n})\n\nprovide(checkboxGroupContextKey, {\n ...pick(toRefs(props), [\n 'size',\n 'min',\n 'max',\n 'disabled',\n 'validateEvent',\n 'fill',\n 'textColor',\n ]),\n modelValue,\n changeEvent,\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":["useNamespace","useFormItem","useFormItemInputId","UPDATE_MODEL_EVENT","nextTick","CHANGE_EVENT","computed","provide","checkboxGroupContextKey","pick","toRefs","watch","debugWarn","_openBlock","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;;;;;;;;uCA2Bc,CAAA;AAAA,EACZ,IAAM,EAAA,iBAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAM,MAAA,EAAA,GAAKA,mBAAa,UAAU,CAAA,CAAA;AAElC,IAAM,MAAA,EAAE,QAAS,EAAA,GAAIC,uBAAY,EAAA,CAAA;AACjC,IAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,mBAAoB,EAAA,GAAIC,+BAAmB,KAAO,EAAA;AAAA,MAC1E,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,OAAO,KAAkC,KAAA;AAC3D,MAAA,IAAA,CAAKC,0BAAoB,KAAK,CAAA,CAAA;AAC9B,MAAA,MAAMC,YAAS,EAAA,CAAA;AACf,MAAA,IAAA,CAAKC,oBAAc,KAAK,CAAA,CAAA;AAAA,KAC1B,CAAA;AAEA,IAAA,MAAM,aAAaC,YAAS,CAAA;AAAA,MAC1B,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,UAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAA6B,EAAA;AAC/B,QAAA,WAAA,CAAY,GAAG,CAAA,CAAA;AAAA,OACjB;AAAA,KACD,CAAA,CAAA;AAED,IAAAC,WAAA,CAAQC,iCAAyB,EAAA;AAAA,MAC/B,GAAGC,kBAAA,CAAKC,UAAO,CAAA,KAAK,CAAG,EAAA;AAAA,QACrB,MAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,UAAA;AAAA,QACA,eAAA;AAAA,QACA,MAAA;AAAA,QACA,WAAA;AAAA,OACD,CAAA;AAAA,MACD,UAAA;AAAA,MACA,WAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAAC,SAAA,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AAAA,MACE,SAAY,CAAA,aAAA,EAAA;AAAA,QACN,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAAC,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACJ,OAAA;AACE,KAAU,CAAA,CAAA;AAAgD,IAC5D,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MACF,IAAA,EAAA,CAAA;AAAA,MACF,OAAAC,aAAA,EAAA,EAAAC,eAAA,CAAAC,2BAAA,CAAA,IAAA,CAAA,GAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;"}
@@ -363,10 +363,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
363
363
  onFocus: vue.unref(handleFocus),
364
364
  onBlur: vue.unref(handleBlur)
365
365
  }), [
366
- vue.unref(colorDisabled) ? (vue.openBlock(), vue.createElementBlock("div", {
367
- key: 0,
368
- class: vue.normalizeClass(vue.unref(ns).be("picker", "mask"))
369
- }, null, 2)) : vue.createCommentVNode("v-if", true),
370
366
  vue.createElementVNode("div", {
371
367
  class: vue.normalizeClass(vue.unref(ns).be("picker", "trigger")),
372
368
  onClick: handleTrigger
@@ -1 +1 @@
1
- {"version":3,"file":"color-picker2.js","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n :visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n :teleported=\"teleported\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @hide=\"setShowPicker(false)\"\n >\n <template #content>\n <div\n v-click-outside:[triggerRef]=\"handleClickOutside\"\n @keydown.esc=\"handleEsc\"\n >\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"sv\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :enable-alpha=\"showAlpha\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n ref=\"inputRef\"\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n :class=\"ns.be('dropdown', 'link-btn')\"\n text\n size=\"small\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :id=\"buttonId\"\n ref=\"triggerRef\"\n v-bind=\"$attrs\"\n :class=\"btnKls\"\n role=\"button\"\n :aria-label=\"buttonAriaLabel\"\n :aria-labelledby=\"buttonAriaLabelledby\"\n :aria-description=\"\n t('el.colorpicker.description', { color: modelValue || '' })\n \"\n :aria-disabled=\"colorDisabled\"\n :tabindex=\"colorDisabled ? undefined : tabindex\"\n @keydown=\"handleKeyDown\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n >\n <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\" />\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-show=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElInput } from '@element-plus/components/input'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './utils/color'\nimport {\n colorPickerContextKey,\n colorPickerEmits,\n colorPickerProps,\n} from './color-picker'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\n\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst hue = ref<InstanceType<typeof HueSlider>>()\nconst sv = ref<InstanceType<typeof SvPanel>>()\nconst alpha = ref<InstanceType<typeof AlphaSlider>>()\nconst popper = ref<TooltipInstance>()\nconst triggerRef = ref()\nconst inputRef = ref()\n\nconst { isFocused, handleFocus, handleBlur } = useFocusController(triggerRef, {\n beforeFocus() {\n return colorDisabled.value\n },\n beforeBlur(event) {\n return popper.value?.isFocusInsideContent(event)\n },\n afterBlur() {\n setShowPicker(false)\n resetColor()\n },\n})\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n) as Color\n\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\nconst customInput = ref('')\n\nconst displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n return !isLabeledByFormItem.value\n ? props.ariaLabel || t('el.colorpicker.defaultLabel')\n : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n return [\n ns.b('picker'),\n ns.is('disabled', colorDisabled.value),\n ns.bm('picker', colorSize.value),\n ns.is('focused', isFocused.value),\n ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n if (!(color instanceof Color)) {\n throw new TypeError('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100, { leading: true })\nfunction show() {\n if (colorDisabled.value) return\n setShowPicker(true)\n}\n\nfunction hide() {\n debounceSetShowPicker(false)\n resetColor()\n}\n\nfunction resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n color.value = ''\n if (!currentColor.value && customInput.value) {\n customInput.value = ''\n }\n nextTick(() => {\n showPanelColor.value = false\n })\n }\n })\n}\n\nfunction handleTrigger() {\n if (colorDisabled.value) return\n if (showPicker.value) {\n resetColor()\n }\n debounceSetShowPicker(!showPicker.value)\n}\n\nfunction handleConfirm() {\n color.fromString(customInput.value)\n if (color.value !== customInput.value) {\n customInput.value = color.value\n }\n}\n\nfunction confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n}\n\nfunction clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit(CHANGE_EVENT, null)\n if (props.modelValue !== null && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n resetColor()\n}\n\nfunction handleClickOutside() {\n if (!showPicker.value) return\n hide()\n isFocused.value && focus()\n}\n\nfunction handleEsc(event: KeyboardEvent) {\n event.preventDefault()\n event.stopPropagation()\n setShowPicker(false)\n resetColor()\n}\n\nfunction handleKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n case EVENT_CODE.space:\n event.preventDefault()\n event.stopPropagation()\n show()\n inputRef.value.focus()\n break\n case EVENT_CODE.esc:\n handleEsc(event)\n break\n }\n}\n\nfunction focus() {\n triggerRef.value.focus()\n}\n\nfunction blur() {\n triggerRef.value.blur()\n}\n\nonMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n shouldActiveChange = false\n color.fromString(newVal)\n }\n }\n)\n\nwatch(\n () => [props.colorFormat, props.showAlpha],\n () => {\n color.enableAlpha = props.showAlpha\n color.format = props.colorFormat || color.format\n color.doOnChange()\n emit(UPDATE_MODEL_EVENT, color.value)\n }\n)\n\nwatch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n shouldActiveChange && emit('activeChange', val)\n shouldActiveChange = true\n }\n)\n\nwatch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n)\n\nwatch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n sv.value?.update()\n alpha.value?.update()\n })\n }\n)\n\nprovide(colorPickerContextKey, {\n currentColor,\n})\n\ndefineExpose({\n /**\n * @description current color object\n */\n color,\n /**\n * @description manually show ColorPicker\n */\n show,\n /**\n * @description manually hide ColorPicker\n */\n hide,\n /**\n * @description focus the input element\n */\n focus,\n /**\n * @description blur the input element\n */\n blur,\n})\n</script>\n"],"names":["useLocale","useNamespace","useFormItem","useFormSize","useFormDisabled","useFormItemInputId","ref","useFocusController","color","reactive","Color","computed","debounce","nextTick","UPDATE_MODEL_EVENT","debugWarn","CHANGE_EVENT","EVENT_CODE","onMounted","watch","provide","colorPickerContextKey","_openBlock","_createBlock","_unref","ElTooltip","_withCtx","_withDirectives","_createElementBlock","_withKeys","_createElementVNode","_normalizeClass","_createVNode","HueSlider"],"mappings":"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"}
1
+ {"version":3,"file":"color-picker2.js","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n :visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n :teleported=\"teleported\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @hide=\"setShowPicker(false)\"\n >\n <template #content>\n <div\n v-click-outside:[triggerRef]=\"handleClickOutside\"\n @keydown.esc=\"handleEsc\"\n >\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"sv\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :enable-alpha=\"showAlpha\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n ref=\"inputRef\"\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n :class=\"ns.be('dropdown', 'link-btn')\"\n text\n size=\"small\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :id=\"buttonId\"\n ref=\"triggerRef\"\n v-bind=\"$attrs\"\n :class=\"btnKls\"\n role=\"button\"\n :aria-label=\"buttonAriaLabel\"\n :aria-labelledby=\"buttonAriaLabelledby\"\n :aria-description=\"\n t('el.colorpicker.description', { color: modelValue || '' })\n \"\n :aria-disabled=\"colorDisabled\"\n :tabindex=\"colorDisabled ? undefined : tabindex\"\n @keydown=\"handleKeyDown\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n >\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-show=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElInput } from '@element-plus/components/input'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './utils/color'\nimport {\n colorPickerContextKey,\n colorPickerEmits,\n colorPickerProps,\n} from './color-picker'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\n\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst hue = ref<InstanceType<typeof HueSlider>>()\nconst sv = ref<InstanceType<typeof SvPanel>>()\nconst alpha = ref<InstanceType<typeof AlphaSlider>>()\nconst popper = ref<TooltipInstance>()\nconst triggerRef = ref()\nconst inputRef = ref()\n\nconst { isFocused, handleFocus, handleBlur } = useFocusController(triggerRef, {\n beforeFocus() {\n return colorDisabled.value\n },\n beforeBlur(event) {\n return popper.value?.isFocusInsideContent(event)\n },\n afterBlur() {\n setShowPicker(false)\n resetColor()\n },\n})\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n) as Color\n\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\nconst customInput = ref('')\n\nconst displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n return !isLabeledByFormItem.value\n ? props.ariaLabel || t('el.colorpicker.defaultLabel')\n : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n return [\n ns.b('picker'),\n ns.is('disabled', colorDisabled.value),\n ns.bm('picker', colorSize.value),\n ns.is('focused', isFocused.value),\n ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n if (!(color instanceof Color)) {\n throw new TypeError('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100, { leading: true })\nfunction show() {\n if (colorDisabled.value) return\n setShowPicker(true)\n}\n\nfunction hide() {\n debounceSetShowPicker(false)\n resetColor()\n}\n\nfunction resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n color.value = ''\n if (!currentColor.value && customInput.value) {\n customInput.value = ''\n }\n nextTick(() => {\n showPanelColor.value = false\n })\n }\n })\n}\n\nfunction handleTrigger() {\n if (colorDisabled.value) return\n if (showPicker.value) {\n resetColor()\n }\n debounceSetShowPicker(!showPicker.value)\n}\n\nfunction handleConfirm() {\n color.fromString(customInput.value)\n if (color.value !== customInput.value) {\n customInput.value = color.value\n }\n}\n\nfunction confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n}\n\nfunction clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit(CHANGE_EVENT, null)\n if (props.modelValue !== null && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n resetColor()\n}\n\nfunction handleClickOutside() {\n if (!showPicker.value) return\n hide()\n isFocused.value && focus()\n}\n\nfunction handleEsc(event: KeyboardEvent) {\n event.preventDefault()\n event.stopPropagation()\n setShowPicker(false)\n resetColor()\n}\n\nfunction handleKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n case EVENT_CODE.space:\n event.preventDefault()\n event.stopPropagation()\n show()\n inputRef.value.focus()\n break\n case EVENT_CODE.esc:\n handleEsc(event)\n break\n }\n}\n\nfunction focus() {\n triggerRef.value.focus()\n}\n\nfunction blur() {\n triggerRef.value.blur()\n}\n\nonMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n shouldActiveChange = false\n color.fromString(newVal)\n }\n }\n)\n\nwatch(\n () => [props.colorFormat, props.showAlpha],\n () => {\n color.enableAlpha = props.showAlpha\n color.format = props.colorFormat || color.format\n color.doOnChange()\n emit(UPDATE_MODEL_EVENT, color.value)\n }\n)\n\nwatch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n shouldActiveChange && emit('activeChange', val)\n shouldActiveChange = true\n }\n)\n\nwatch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n)\n\nwatch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n sv.value?.update()\n alpha.value?.update()\n })\n }\n)\n\nprovide(colorPickerContextKey, {\n currentColor,\n})\n\ndefineExpose({\n /**\n * @description current color object\n */\n color,\n /**\n * @description manually show ColorPicker\n */\n show,\n /**\n * @description manually hide ColorPicker\n */\n hide,\n /**\n * @description focus the input element\n */\n focus,\n /**\n * @description blur the input element\n */\n blur,\n})\n</script>\n"],"names":["useLocale","useNamespace","useFormItem","useFormSize","useFormDisabled","useFormItemInputId","ref","useFocusController","color","reactive","Color","computed","debounce","nextTick","UPDATE_MODEL_EVENT","debugWarn","CHANGE_EVENT","EVENT_CODE","onMounted","watch","provide","colorPickerContextKey","_openBlock","_createBlock","_unref","ElTooltip","_withCtx","_withDirectives","_createElementBlock","_withKeys","_createElementVNode","_normalizeClass","_createVNode","HueSlider"],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var countdown$1 = require('./src/countdown2.js');
6
- var countdown = require('./src/countdown.js');
5
+ var countdown$1 = require('./src/countdown.js');
6
+ var countdown = require('./src/countdown2.js');
7
7
  var install = require('../../utils/vue/install.js');
8
8
 
9
9
  const ElCountdown = install.withInstall(countdown$1["default"]);
@@ -2,31 +2,88 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
5
+ var vue = require('vue');
6
+ var index = require('../../statistic/index.js');
7
+ var countdown = require('./countdown2.js');
8
+ var utils = require('./utils.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var raf = require('../../../utils/raf.js');
6
11
  var event = require('../../../constants/event.js');
7
- var types = require('../../../utils/types.js');
8
12
 
9
- const countdownProps = runtime.buildProps({
10
- format: {
11
- type: String,
12
- default: "HH:mm:ss"
13
- },
14
- prefix: String,
15
- suffix: String,
16
- title: String,
17
- value: {
18
- type: runtime.definePropType([Number, Object]),
19
- default: 0
20
- },
21
- valueStyle: {
22
- type: runtime.definePropType([String, Object, Array])
13
+ const __default__ = vue.defineComponent({
14
+ name: "ElCountdown"
15
+ });
16
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
+ ...__default__,
18
+ props: countdown.countdownProps,
19
+ emits: countdown.countdownEmits,
20
+ setup(__props, { expose, emit }) {
21
+ const props = __props;
22
+ let timer;
23
+ const rawValue = vue.ref(0);
24
+ const displayValue = vue.computed(() => utils.formatTime(rawValue.value, props.format));
25
+ const formatter = (val) => utils.formatTime(val, props.format);
26
+ const stopTimer = () => {
27
+ if (timer) {
28
+ raf.cAF(timer);
29
+ timer = void 0;
30
+ }
31
+ };
32
+ const startTimer = () => {
33
+ const timestamp = utils.getTime(props.value);
34
+ const frameFunc = () => {
35
+ let diff = timestamp - Date.now();
36
+ emit(event.CHANGE_EVENT, diff);
37
+ if (diff <= 0) {
38
+ diff = 0;
39
+ stopTimer();
40
+ emit("finish");
41
+ } else {
42
+ timer = raf.rAF(frameFunc);
43
+ }
44
+ rawValue.value = diff;
45
+ };
46
+ timer = raf.rAF(frameFunc);
47
+ };
48
+ vue.onMounted(() => {
49
+ rawValue.value = utils.getTime(props.value) - Date.now();
50
+ vue.watch(() => [props.value, props.format], () => {
51
+ stopTimer();
52
+ startTimer();
53
+ }, {
54
+ immediate: true
55
+ });
56
+ });
57
+ vue.onBeforeUnmount(() => {
58
+ stopTimer();
59
+ });
60
+ expose({
61
+ displayValue
62
+ });
63
+ return (_ctx, _cache) => {
64
+ return vue.openBlock(), vue.createBlock(vue.unref(index.ElStatistic), {
65
+ value: rawValue.value,
66
+ title: _ctx.title,
67
+ prefix: _ctx.prefix,
68
+ suffix: _ctx.suffix,
69
+ "value-style": _ctx.valueStyle,
70
+ formatter
71
+ }, vue.createSlots({
72
+ _: 2
73
+ }, [
74
+ vue.renderList(_ctx.$slots, (_, name) => {
75
+ return {
76
+ name,
77
+ fn: vue.withCtx(() => [
78
+ vue.renderSlot(_ctx.$slots, name)
79
+ ])
80
+ };
81
+ })
82
+ ]), 1032, ["value", "title", "prefix", "suffix", "value-style"]);
83
+ };
23
84
  }
24
85
  });
25
- const countdownEmits = {
26
- finish: () => true,
27
- [event.CHANGE_EVENT]: (value) => types.isNumber(value)
28
- };
86
+ var Countdown = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "countdown.vue"]]);
29
87
 
30
- exports.countdownEmits = countdownEmits;
31
- exports.countdownProps = countdownProps;
88
+ exports["default"] = Countdown;
32
89
  //# sourceMappingURL=countdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"countdown.js","sources":["../../../../../../packages/components/countdown/src/countdown.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\n\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type Countdown from './countdown.vue'\n\nexport const countdownProps = buildProps({\n /**\n * @description Formatting the countdown display\n */\n format: {\n type: String,\n default: 'HH:mm:ss',\n },\n /**\n * @description Sets the prefix of a countdown\n */\n prefix: String,\n /**\n * @description Sets the suffix of a countdown\n */\n suffix: String,\n /**\n * @description countdown titles\n */\n title: String,\n /**\n * @description target time\n */\n value: {\n type: definePropType<number | Dayjs>([Number, Object]),\n default: 0,\n },\n /**\n * @description Styles countdown values\n */\n valueStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n },\n} as const)\nexport type CountdownProps = ExtractPropTypes<typeof countdownProps>\n\nexport const countdownEmits = {\n finish: () => true,\n [CHANGE_EVENT]: (value: number) => isNumber(value),\n}\nexport type CountdownEmits = typeof countdownEmits\n\nexport type CountdownInstance = InstanceType<typeof Countdown> & unknown\n"],"names":["buildProps","definePropType","CHANGE_EVENT","isNumber"],"mappings":";;;;;;;;AAEY,MAAC,cAAc,GAAGA,kBAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,CAACC,kBAAY,GAAG,CAAC,KAAK,KAAKC,cAAQ,CAAC,KAAK,CAAC;AAC5C;;;;;"}
1
+ {"version":3,"file":"countdown.js","sources":["../../../../../../packages/components/countdown/src/countdown.vue"],"sourcesContent":["<template>\n <el-statistic\n :value=\"rawValue\"\n :title=\"title\"\n :prefix=\"prefix\"\n :suffix=\"suffix\"\n :value-style=\"valueStyle\"\n :formatter=\"formatter\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]>\n <slot :name=\"name\" />\n </template>\n </el-statistic>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { ElStatistic } from '@element-plus/components/statistic'\nimport { cAF, rAF } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { countdownEmits, countdownProps } from './countdown'\nimport { formatTime, getTime } from './utils'\n\ndefineOptions({\n name: 'ElCountdown',\n})\n\nconst props = defineProps(countdownProps)\nconst emit = defineEmits(countdownEmits)\n\nlet timer: ReturnType<typeof rAF> | undefined\nconst rawValue = ref<number>(0)\nconst displayValue = computed(() => formatTime(rawValue.value, props.format))\n\nconst formatter = (val: number) => formatTime(val, props.format)\n\nconst stopTimer = () => {\n if (timer) {\n cAF(timer)\n timer = undefined\n }\n}\n\nconst startTimer = () => {\n const timestamp = getTime(props.value)\n const frameFunc = () => {\n let diff = timestamp - Date.now()\n emit(CHANGE_EVENT, diff)\n if (diff <= 0) {\n diff = 0\n stopTimer()\n emit('finish')\n } else {\n timer = rAF(frameFunc)\n }\n rawValue.value = diff\n }\n timer = rAF(frameFunc)\n}\n\nonMounted(() => {\n rawValue.value = getTime(props.value) - Date.now()\n\n watch(\n () => [props.value, props.format],\n () => {\n stopTimer()\n startTimer()\n },\n {\n immediate: true,\n }\n )\n})\n\nonBeforeUnmount(() => {\n stopTimer()\n})\n\ndefineExpose({\n /**\n * @description current display value\n */\n displayValue,\n})\n</script>\n"],"names":["ref","computed","formatTime","cAF","getTime","CHANGE_EVENT","rAF","onMounted","watch","onBeforeUnmount","_openBlock","_createBlock","_unref","ElStatistic"],"mappings":";;;;;;;;;;;;uCAuBc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAI,IAAA,KAAA,CAAA;AACJ,IAAM,MAAA,QAAA,GAAWA,QAAY,CAAC,CAAA,CAAA;AAC9B,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAMC,gBAAA,CAAW,SAAS,KAAO,EAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAE5E,IAAA,MAAM,YAAY,CAAC,GAAA,KAAgBA,gBAAW,CAAA,GAAA,EAAK,MAAM,MAAM,CAAA,CAAA;AAE/D,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,KAAO,EAAA;AACT,QAAAC,OAAA,CAAI,KAAK,CAAA,CAAA;AACT,QAAQ,KAAA,GAAA,KAAA,CAAA,CAAA;AAAA,OACV;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAM,MAAA,SAAA,GAAYC,aAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACrC,MAAA,MAAM,YAAY,MAAM;AACtB,QAAI,IAAA,IAAA,GAAO,SAAY,GAAA,IAAA,CAAK,GAAI,EAAA,CAAA;AAChC,QAAA,IAAA,CAAKC,oBAAc,IAAI,CAAA,CAAA;AACvB,QAAA,IAAI,QAAQ,CAAG,EAAA;AACb,UAAO,IAAA,GAAA,CAAA,CAAA;AACP,UAAU,SAAA,EAAA,CAAA;AACV,UAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,SACR,MAAA;AACL,UAAA,KAAA,GAAQC,QAAI,SAAS,CAAA,CAAA;AAAA,SACvB;AACA,QAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,OACnB,CAAA;AACA,MAAA,KAAA,GAAQA,QAAI,SAAS,CAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,QAAA,CAAS,QAAQH,aAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,GAAI,KAAK,GAAI,EAAA,CAAA;AAEjD,MAAAI,SAAA,CAAA,MAAA,CAAA,KAAA,CAAA,KAAA,EAAA,KAAA,CAAA,MAAA,CAAA,EAAA,MAAA;AAAA,QACE,SAAa,EAAA,CAAA;AAAmB,QAChC,UAAM,EAAA,CAAA;AACJ,OAAU,EAAA;AACV,QAAW,SAAA,EAAA,IAAA;AAAA,OACb,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,IAAAC,mBACa,CAAA,MAAA;AAAA,MACb,SAAA,EAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,IACF,MAAC,CAAA;AAED,MAAA,YAAA;AACE,KAAU,CAAA,CAAA;AAAA,IACZ,OAAC,CAAA,IAAA,EAAA,MAAA,KAAA;AAED,MAAa,OAAAC,aAAA,EAAA,EAAAC,eAAA,CAAAC,SAAA,CAAAC,iBAAA,CAAA,EAAA;AAAA,QAAA,KAAA,EAAA,QAAA,CAAA,KAAA;AAAA,QAAA,KAAA,EAAA,IAAA,CAAA,KAAA;AAAA,QAAA,MAAA,EAAA,IAAA,CAAA,MAAA;AAAA,QAIX,MAAA,EAAA,IAAA,CAAA,MAAA;AAAA,QACD,aAAA,EAAA,IAAA,CAAA,UAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,88 +2,31 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var index = require('../../statistic/index.js');
7
- var countdown = require('./countdown.js');
8
- var utils = require('./utils.js');
9
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
- var raf = require('../../../utils/raf.js');
5
+ var runtime = require('../../../utils/vue/props/runtime.js');
11
6
  var event = require('../../../constants/event.js');
7
+ var types = require('../../../utils/types.js');
12
8
 
13
- const __default__ = vue.defineComponent({
14
- name: "ElCountdown"
15
- });
16
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
- ...__default__,
18
- props: countdown.countdownProps,
19
- emits: countdown.countdownEmits,
20
- setup(__props, { expose, emit }) {
21
- const props = __props;
22
- let timer;
23
- const rawValue = vue.ref(0);
24
- const displayValue = vue.computed(() => utils.formatTime(rawValue.value, props.format));
25
- const formatter = (val) => utils.formatTime(val, props.format);
26
- const stopTimer = () => {
27
- if (timer) {
28
- raf.cAF(timer);
29
- timer = void 0;
30
- }
31
- };
32
- const startTimer = () => {
33
- const timestamp = utils.getTime(props.value);
34
- const frameFunc = () => {
35
- let diff = timestamp - Date.now();
36
- emit(event.CHANGE_EVENT, diff);
37
- if (diff <= 0) {
38
- diff = 0;
39
- stopTimer();
40
- emit("finish");
41
- } else {
42
- timer = raf.rAF(frameFunc);
43
- }
44
- rawValue.value = diff;
45
- };
46
- timer = raf.rAF(frameFunc);
47
- };
48
- vue.onMounted(() => {
49
- rawValue.value = utils.getTime(props.value) - Date.now();
50
- vue.watch(() => [props.value, props.format], () => {
51
- stopTimer();
52
- startTimer();
53
- }, {
54
- immediate: true
55
- });
56
- });
57
- vue.onBeforeUnmount(() => {
58
- stopTimer();
59
- });
60
- expose({
61
- displayValue
62
- });
63
- return (_ctx, _cache) => {
64
- return vue.openBlock(), vue.createBlock(vue.unref(index.ElStatistic), {
65
- value: rawValue.value,
66
- title: _ctx.title,
67
- prefix: _ctx.prefix,
68
- suffix: _ctx.suffix,
69
- "value-style": _ctx.valueStyle,
70
- formatter
71
- }, vue.createSlots({
72
- _: 2
73
- }, [
74
- vue.renderList(_ctx.$slots, (_, name) => {
75
- return {
76
- name,
77
- fn: vue.withCtx(() => [
78
- vue.renderSlot(_ctx.$slots, name)
79
- ])
80
- };
81
- })
82
- ]), 1032, ["value", "title", "prefix", "suffix", "value-style"]);
83
- };
9
+ const countdownProps = runtime.buildProps({
10
+ format: {
11
+ type: String,
12
+ default: "HH:mm:ss"
13
+ },
14
+ prefix: String,
15
+ suffix: String,
16
+ title: String,
17
+ value: {
18
+ type: runtime.definePropType([Number, Object]),
19
+ default: 0
20
+ },
21
+ valueStyle: {
22
+ type: runtime.definePropType([String, Object, Array])
84
23
  }
85
24
  });
86
- var Countdown = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "countdown.vue"]]);
25
+ const countdownEmits = {
26
+ finish: () => true,
27
+ [event.CHANGE_EVENT]: (value) => types.isNumber(value)
28
+ };
87
29
 
88
- exports["default"] = Countdown;
30
+ exports.countdownEmits = countdownEmits;
31
+ exports.countdownProps = countdownProps;
89
32
  //# sourceMappingURL=countdown2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"countdown2.js","sources":["../../../../../../packages/components/countdown/src/countdown.vue"],"sourcesContent":["<template>\n <el-statistic\n :value=\"rawValue\"\n :title=\"title\"\n :prefix=\"prefix\"\n :suffix=\"suffix\"\n :value-style=\"valueStyle\"\n :formatter=\"formatter\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]>\n <slot :name=\"name\" />\n </template>\n </el-statistic>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { ElStatistic } from '@element-plus/components/statistic'\nimport { cAF, rAF } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { countdownEmits, countdownProps } from './countdown'\nimport { formatTime, getTime } from './utils'\n\ndefineOptions({\n name: 'ElCountdown',\n})\n\nconst props = defineProps(countdownProps)\nconst emit = defineEmits(countdownEmits)\n\nlet timer: ReturnType<typeof rAF> | undefined\nconst rawValue = ref<number>(0)\nconst displayValue = computed(() => formatTime(rawValue.value, props.format))\n\nconst formatter = (val: number) => formatTime(val, props.format)\n\nconst stopTimer = () => {\n if (timer) {\n cAF(timer)\n timer = undefined\n }\n}\n\nconst startTimer = () => {\n const timestamp = getTime(props.value)\n const frameFunc = () => {\n let diff = timestamp - Date.now()\n emit(CHANGE_EVENT, diff)\n if (diff <= 0) {\n diff = 0\n stopTimer()\n emit('finish')\n } else {\n timer = rAF(frameFunc)\n }\n rawValue.value = diff\n }\n timer = rAF(frameFunc)\n}\n\nonMounted(() => {\n rawValue.value = getTime(props.value) - Date.now()\n\n watch(\n () => [props.value, props.format],\n () => {\n stopTimer()\n startTimer()\n },\n {\n immediate: true,\n }\n )\n})\n\nonBeforeUnmount(() => {\n stopTimer()\n})\n\ndefineExpose({\n /**\n * @description current display value\n */\n displayValue,\n})\n</script>\n"],"names":["ref","computed","formatTime","cAF","getTime","CHANGE_EVENT","rAF","onMounted","watch","onBeforeUnmount","_openBlock","_createBlock","_unref","ElStatistic"],"mappings":";;;;;;;;;;;;uCAuBc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAI,IAAA,KAAA,CAAA;AACJ,IAAM,MAAA,QAAA,GAAWA,QAAY,CAAC,CAAA,CAAA;AAC9B,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAMC,gBAAA,CAAW,SAAS,KAAO,EAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAE5E,IAAA,MAAM,YAAY,CAAC,GAAA,KAAgBA,gBAAW,CAAA,GAAA,EAAK,MAAM,MAAM,CAAA,CAAA;AAE/D,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,KAAO,EAAA;AACT,QAAAC,OAAA,CAAI,KAAK,CAAA,CAAA;AACT,QAAQ,KAAA,GAAA,KAAA,CAAA,CAAA;AAAA,OACV;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAM,MAAA,SAAA,GAAYC,aAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACrC,MAAA,MAAM,YAAY,MAAM;AACtB,QAAI,IAAA,IAAA,GAAO,SAAY,GAAA,IAAA,CAAK,GAAI,EAAA,CAAA;AAChC,QAAA,IAAA,CAAKC,oBAAc,IAAI,CAAA,CAAA;AACvB,QAAA,IAAI,QAAQ,CAAG,EAAA;AACb,UAAO,IAAA,GAAA,CAAA,CAAA;AACP,UAAU,SAAA,EAAA,CAAA;AACV,UAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,SACR,MAAA;AACL,UAAA,KAAA,GAAQC,QAAI,SAAS,CAAA,CAAA;AAAA,SACvB;AACA,QAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,OACnB,CAAA;AACA,MAAA,KAAA,GAAQA,QAAI,SAAS,CAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,QAAA,CAAS,QAAQH,aAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,GAAI,KAAK,GAAI,EAAA,CAAA;AAEjD,MAAAI,SAAA,CAAA,MAAA,CAAA,KAAA,CAAA,KAAA,EAAA,KAAA,CAAA,MAAA,CAAA,EAAA,MAAA;AAAA,QACE,SAAa,EAAA,CAAA;AAAmB,QAChC,UAAM,EAAA,CAAA;AACJ,OAAU,EAAA;AACV,QAAW,SAAA,EAAA,IAAA;AAAA,OACb,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,IAAAC,mBACa,CAAA,MAAA;AAAA,MACb,SAAA,EAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,IACF,MAAC,CAAA;AAED,MAAA,YAAA;AACE,KAAU,CAAA,CAAA;AAAA,IACZ,OAAC,CAAA,IAAA,EAAA,MAAA,KAAA;AAED,MAAa,OAAAC,aAAA,EAAA,EAAAC,eAAA,CAAAC,SAAA,CAAAC,iBAAA,CAAA,EAAA;AAAA,QAAA,KAAA,EAAA,QAAA,CAAA,KAAA;AAAA,QAAA,KAAA,EAAA,IAAA,CAAA,KAAA;AAAA,QAAA,MAAA,EAAA,IAAA,CAAA,MAAA;AAAA,QAIX,MAAA,EAAA,IAAA,CAAA,MAAA;AAAA,QACD,aAAA,EAAA,IAAA,CAAA,UAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"countdown2.js","sources":["../../../../../../packages/components/countdown/src/countdown.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\n\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type Countdown from './countdown.vue'\n\nexport const countdownProps = buildProps({\n /**\n * @description Formatting the countdown display\n */\n format: {\n type: String,\n default: 'HH:mm:ss',\n },\n /**\n * @description Sets the prefix of a countdown\n */\n prefix: String,\n /**\n * @description Sets the suffix of a countdown\n */\n suffix: String,\n /**\n * @description countdown titles\n */\n title: String,\n /**\n * @description target time\n */\n value: {\n type: definePropType<number | Dayjs>([Number, Object]),\n default: 0,\n },\n /**\n * @description Styles countdown values\n */\n valueStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n },\n} as const)\nexport type CountdownProps = ExtractPropTypes<typeof countdownProps>\n\nexport const countdownEmits = {\n finish: () => true,\n [CHANGE_EVENT]: (value: number) => isNumber(value),\n}\nexport type CountdownEmits = typeof countdownEmits\n\nexport type CountdownInstance = InstanceType<typeof Countdown> & unknown\n"],"names":["buildProps","definePropType","CHANGE_EVENT","isNumber"],"mappings":";;;;;;;;AAEY,MAAC,cAAc,GAAGA,kBAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,CAACC,kBAAY,GAAG,CAAC,KAAK,KAAKC,cAAQ,CAAC,KAAK,CAAC;AAC5C;;;;;"}